Try the Invoice Generator
Create invoices and download as PDF. Free, no sign-up.
The Freelancer's Invoicing Problem
A client asks for an invoice after a project. You need clear sender and recipient details, an agreed price, a record number and payment terms. A browser generator can organize these fields, but you still need to check the document and applicable legal requirements.
Some invoicing services ask you to create an account for stored records and accounting features. ToolKnit offers a simpler local form for an occasional commercial invoice, without those account-based services.
Open the Invoice Generator, fill in the details and download a PDF. The converter does not upload invoice fields. Page resources and ordinary website analytics are separate from that local processing.
What Makes a Professional Invoice
A well-structured invoice isn't just about getting paid — it's about looking professional and avoiding payment disputes. Here's what every invoice should include:
Essential Elements
- Invoice number — A unique identifier for tracking and record-keeping (e.g., INV-2026-001)
- Date — When the invoice was issued
- Your details — Business name, address, and contact information
- Client details — The person or company being billed
- Line items — Description, quantity, and unit price for each service or product
- Subtotal, tax, and total — Clear breakdown of amounts
Nice to Have
- Payment terms — "Due within 30 days" or "Net 15"
- Notes — Thank-you message, bank details, or late payment policy
- Currency symbol — Especially important for international clients
Tip: Use a consistent invoice numbering system. Sequential numbers (INV-001, INV-002) make it easy to track payments and spot missing invoices during tax season.
Multi-Currency: Why It Matters
If you work with international clients, you'll need to invoice in different currencies. A US client expects to see $, a European client expects €, and a Japanese client expects ¥.
Choose from 10 currency codes: USD, EUR, GBP, JPY, CNY, CAD, AUD, INR, KRW and BRL.
- $ — US Dollar (USD)
- € — Euro
- £ — British Pound
- ¥ — Japanese Yen, Chinese Yuan
- INR — Indian Rupee; the PDF uses the currency code because the bundled Chinese font does not include the rupee sign.
- ₩ — Korean Won
- R$ — Brazilian Real
- CA$ — Canadian Dollar (CAD)
- A$ — Australian Dollar (AUD)
- No exchange conversion — the selector changes the displayed currency, not the numerical value.
All amounts use two decimal places, including JPY and KRW. Confirm the currency, minor-unit rules and required presentation with your client; the tool does not perform currency conversion.
Tax Rates and Rounding
The applicable rate and required invoice fields depend on the transaction. Before issuing the document, check:
- Jurisdiction — where the transaction is taxed.
- Registration — whether you must register or provide a tax identifier.
- Tax treatment — whether a rate, exemption or reverse-charge rule applies.
- Rounding — whether tax is calculated per line or on the subtotal.
- Document format — whether a certified electronic invoicing system is required.
Enter a tax rate from 0% to 100%. Each line is rounded to two decimals before adding the subtotal; tax is then rounded once on that subtotal. For example, three units at 0.10 and one at 1.005 produce line totals 0.30 and 1.01; at 10% tax, the subtotal is 1.31, tax 0.13 and total 1.44. This convention may differ from your local rules.
PDF Generation: How It Works
The PDF is generated entirely in your browser using jsPDF, a JavaScript library. Here's what happens when you click "Download PDF":
- Your form data is read from the DOM
- jsPDF creates a new PDF document in memory
- The invoice layout is drawn programmatically (text, lines, rectangles)
- The finished PDF is offered as a download
Invoice conversion happens locally. The first export fetches the PDF library and an approximately 10 MB Chinese font from this site. Later exports in the same loaded tab can reuse those assets. Do not assume a fresh offline page will work. Common Chinese and Latin text is supported; unsupported glyphs are reported instead of silently producing a corrupted PDF.
Common Invoicing Mistakes to Avoid
1. Vague Descriptions
"Consulting services" tells the client nothing. Instead, use specific descriptions: "Website redesign —homepage and 3 inner pages" or "Logo design —3 concepts + 2 revision rounds."
2. Missing Invoice Numbers
Without unique invoice numbers, tracking payments becomes a nightmare. "That invoice from last month" could mean three different things.
3. Wrong Tax Calculation
Automatic arithmetic does not select the correct tax treatment for you. Check the rate, displayed line amounts, subtotal and rounding convention, then inspect the downloaded PDF before sending it.
4. No Payment Terms
If you don't specify when payment is due, clients will pay whenever they feel like it. Always include clear terms: "Payment due within 14 days of invoice date."
5. Forgetting to Save a Copy
Always keep a copy of every invoice you send. You'll need them for tax filing, payment tracking, and resolving disputes.
Pro tip: Name your invoice files consistently.INV-2026-015_ClientName.pdfis much easier to find thaninvoice-final-v2.pdf.
Who Needs This Tool
- Freelancers — Designers, developers, writers, consultants who invoice clients regularly
- Small businesses — Shops and service providers who need quick invoicing without expensive software
- Students & tutors — Billing for tutoring sessions or part-time work
- Side projects — people who need an itemized commercial invoice. An invoice is a request for payment, not proof that payment was received.
- One-time needs — Selling furniture, a car, or freelance work and need a single invoice
For recurring billing, audit trails, certified tax invoices or payment reconciliation, use a suitable accounting system. This generator supports up to 500 items, wraps long descriptions and paginates notes; it does not store a billing history.
Create your invoice now
Fill in the details, check the totals and download the PDF. No ToolKnit account required.
Open Invoice Generator