InvoiceKit

For freelancers who bill hours and milestones

Open the generatorGo Pro

Freelance invoice generator with hours and milestones

Enter your rate and your hours, pick a payment stage, and the preview becomes an invoice a client can actually pay from. The arithmetic and the PDF run in your browser, so your client list and bank details never leave your machine.

1 · Invoice details

2 · From (you)

3 · Bill to (client)

4 · Line items

DescriptionQtyUnit priceAmount

5 · Project details

6 · Adjustments

7 · Notes on the invoice

8 · Saved invoices

Saved in this browser only. Free keeps 3; Pro keeps unlimited and exports them together.

      What makes a freelance invoice different

      A freelance invoice bills for your time or for a stage of a project, not for units sitting on a shelf. That difference shows up in three places. The line item is a rate multiplied by hours, so a reviewer can check it against the timesheet they approved. The header names the deliverable or the milestone rather than a product code. And the terms reflect how freelancers actually get paid: often part of a fee up front, more at a checkpoint, and the balance at handover.

      Everything else is the same as any invoice a client can pay from, and the same rules about what makes the document payable apply. It needs a unique number, an issue date, a due date or stated terms, who is billing, who is being billed, what you supplied, the amount, and the currency. This page takes the general generator and adds the freelance fields in the Project details block: hourly rate, hours to bill, payment stage, a project or milestone name, and a late-payment note. The tool does not store your clients and there is no recurring billing here. You fill the form and you download a PDF. That is the whole product, which is why it is free and why your figures are not sitting on anyone's server.

      How your hours become line items

      Enter a rate and the hours, and the maths runs the way a timesheet does. A 12-hour row at 85 per hour prints as 1,020 and joins the subtotal immediately. If a job mixes time and reimbursables, keep the hours on their own row and add separate rows for expenses. Do not fold a flight or a stock license into an hourly figure, because a blended rate is the first line a cautious reviewer questions, and it makes your margin look arbitrary.

      • Round hours to a quarter at most so a reviewer can tie them to an approved timesheet
      • Name the row for the task, not for you: 'Editorial pass, rounds 1 and 2' beats 'Work done'
      • Put expenses on their own lines with a real amount, never buried inside a rate
      • If you bill a fixed fee instead of time, set hours to one and enter the fee as the amount
      • Apply tax and any discount after the rate-times-hours row so the base total stays visible

      Milestone, retainer, or fixed fee

      The payment-stage selector changes how the document reads to a client and to their accounts team, but it never changes the arithmetic on its own: it is a label and a prompt to number things sensibly. The three setups below are the ones you will run into most. Give each its own numbering so two invoices for the same project never look like a duplicate you resent by mistake.

      1. Full amount One project, one fee, one invoice due on your terms. The simplest case. Use a plain sequence such as INV-2026-041 and let auto-increment handle the next job.
      2. Milestone Split the fee across stages, for example a third to begin, a third at a checkpoint, the rest at handover. Append a stage suffix so order is visible: 2026-041-1, 2026-041-2, 2026-041-3. A clerk can then see the second invoice is not a resend.
      3. Retainer A fixed monthly amount for ongoing availability. Put the period in the number, like RET-2026-09, so it reads clearly three months later and never collides with your per-project sequence.
      Numbering that keeps freelance billing stages straight
      Billing styleNumber patternWhen the balance is commonly due
      Full amountINV-2026-041Net 14 or Net 30 from the issue date
      Milestone2026-041-1, then 2026-041-2Each stage on its own terms
      RetainerRET-2026-09On receipt, once each month

      What accounts payable rejects, and why

      When a bigger client's payment team bounces an invoice back, it is rarely about the amount. It is almost always a missing or mismatched field, and fixing those before you send beats chasing after. These are the reasons a freelance invoice gets held rather than paid.

      • No purchase order or job number when one exists: reference it in the client block or the notes
      • A duplicate invoice number, the single most common rejection, which auto-increment is there to prevent
      • Your address or registration number missing where the client is required to record it
      • A total that does not match the contract or the approved estimate, with nothing to explain the gap
      • A due date earlier than the issue date, or terms that contradict the date you printed
      • A currency mismatch, where the amount is in one currency and the payment instruction assumes another
      • No stated way to pay: put your bank details or a payment reference where it prints on the document

      Late payment, in plain terms

      Chasing unpaid invoices is the part of freelancing nobody prepares you for. A late-payment note is a small deterrent and a large clarity win: if interest on overdue balances is stated on the very document the client accepted, raising it later is not an ambush. Keep the wording factual and match it to whatever your contract already says, because an invoice cannot invent a right your agreement did not grant. Whether you may charge interest at all, and at what level, varies by place, and some jurisdictions cap it or offer a statutory scheme; confirm what you can actually claim before you put a percentage on the page. If a payment slips, send a short reminder with the original PDF attached rather than a summary from memory, then a firmer one on a fixed interval. For ongoing work, pausing at the next milestone is usually more effective than any interest line.

      1. State the term once, on the document The late-payment note prints on the invoice, so the condition is agreed when you issue the bill, not argued when you chase it.
      2. Remind with the file attached Forward the original PDF with one line of text. A clerk searching for a number finds the attachment faster than they can unpick a paraphrased summary.
      3. Escalate on a schedule you set Pick intervals, say day 7 and day 14, and hold them. Predictable pressure works better than one angry email on day 40.
      4. Use the leverage you have Where the project is still running, a clean pause at a milestone is the clearest signal you can send, and it costs you nothing to write.

      Tax and paperwork, briefly

      Whether your invoice must show tax separately, and whether it needs a registration number, depends on where you are, what you sell, and whether you are registered. None of what follows is tax advice; it is a map of the questions to bring to your accountant or tax authority.

      In the United States a freelancer usually hands a client a W-9 rather than adding sales tax, and the client issues a 1099 where required, but whether either applies turns on your state, your client, and your structure. In the United Kingdom, the European Union, Australia, and elsewhere, sellers registered for VAT or GST commonly show that tax as its own line together with a registration number, and the point at which registration becomes required varies and changes. There are special regimes you may meet as a contractor, such as IR35 in the UK or self-billing by some clients, and those change what the document needs to say.

      What this tool can honestly do is arithmetic and formatting. Enter a tax rate and it appears as a line computed on the discounted subtotal; type a registration number in your business block and it prints; keep the numbering consistent with auto-increment. It will not know your jurisdiction or your registration status, so treat the tax fields as a calculator, not as a compliance guarantee. If you want those fields laid out and named by country, the tax invoice generator page on this site does that.

      Frequently asked questions

      Do I have to itemize hours, or can I bill a flat fee?

      Both are acceptable. A flat fee is one line for the deliverable and reads well when the client agreed to a price rather than a timesheet; set the hours to one and enter the fee as the amount. Itemized hours fit time-and-materials work, where the client expects to see the rate multiplied by the time. If you go the flat route, keep the underlying hours in a file anyway, because a reviewer sometimes asks how a number was reached.

      Should every freelance invoice carry a late-payment note?

      Only if you are entitled to say it. If your contract provides for interest on overdue balances, put the term on the invoice so it is agreed at issue rather than raised later. If there is no such clause, a plain line asking for payment within a set window is honest and avoids claiming what you cannot enforce. Whether you may charge interest, and how much, varies by place, so confirm it before you write a percentage on the document.

      Milestone or retainer: how do I number them so they never collide?

      Give each scheme its own prefix and keep the sequence unique across the lot. A milestone series can append a stage suffix, so 2026-041-1 and 2026-041-2 sit under one project without ever looking like a duplicate. A retainer series can carry the month, like RET-2026-09. Auto-increment handles the plain running number; the suffixes you add by hand. What actually matters is that no two documents you send out share the same number.

      A client is disputing the hours. What do I send them?

      Send the original invoice PDF plus whatever you tracked the time against: the timesheet, the task list, or the messages that booked the work. Do not reissue a new total from memory, because a second figure invites a second argument. If a line genuinely needs correcting, keep the original on file and issue a clean replacement that references the old number. Holding that paper trail is exactly why you saved the draft here rather than sending a throwaway file you can no longer find.

      Does a freelance invoice need to be signed?

      No. An invoice is a request for payment, not an agreement, so it does not normally need a signature to be payable. Some clients ask for a signed statement for their own records, or you may want to initial an approved change. If so, download the PDF and sign it, or use the invoice-with-logo page on this site, which adds an optional signature line to the document. For ordinary billing, leave the space for clearer payment details instead.

      Can I bill in the currency my client pays in?

      Yes. Choose the currency in the invoice details block and every amount, including tax, discount, and totals, formats with the right symbol and decimal places; zero-decimal currencies such as yen drop the minor unit. Keep one invoice to one currency and never mix. If your client wants to pay in a different currency than the one you bill in, invoice in the currency on the contract and let your bank or payment provider handle the conversion, rather than inventing an exchange rate on the document.

      Sources and official references

      The field requirements described on this page follow published guidance from the tax authorities below. Rules differ by jurisdiction and change, so check the primary source for your own case - nothing here is tax or legal advice.

      Next tools & guides