Skip to content

PDF Invoice Generator for Freelancers: Automatic vs Manual

7 min readUpdated

PDF invoice generator turns the hours you already tracked into a finished, client-ready PDF, instead of retyping them by hand into a blank template. The automatic route generates the invoice straight from billable-flagged time entries, so nothing gets re-keyed and no hour goes missing.

Two ways to make a freelance invoice

Every freelance PDF invoice comes from one of two places: a blank form you fill in, or a record of work you convert.

Manual generators and templates start empty. You open a Word, Google Docs, or spreadsheet template (or a free online invoice maker) and type in the line items, dates, rates, and totals yourself. The output looks professional, but every number is copied from somewhere else by hand.

Generating from tracked time starts with data you already have. If you logged your hours during the week, the invoice is a view of that log: pick the client and the date range, and the line items, quantities, and amounts assemble themselves. You review instead of retype.

The difference matters most at the end of the month, when memory is thin and the billable hours are spread across days you've half-forgotten.

Generate a PDF invoice in the browser

If you want a finished PDF right now without installing anything, the free invoice generator runs in the browser and downloads a PDF you can send. It does not track your time; it is the blank-form route done well, for the fixed-price and occasional invoices where that is the right tool. The walk-through:

  1. Fill your details and the client's. Add your business name, address, and email, then the client's billing entity and address. These are the fields an accounts team checks first.
  2. Set the invoice number, dates, and terms. Give it a unique number, pick the issue date, and choose terms: due on receipt, Net 7, Net 14, Net 30, or a custom due date, which sets the payment deadline for you.
  3. Add line items. For each row, type the description, the hours, and the rate. Hours accept either a decimal like 7.5 or an h:mm value like 7:30, and both resolve to the same number, so you can copy straight from a timesheet in whichever format you keep. Hours times rate fills the line total.
  4. Add tax and any discount. Label the tax (sales tax or VAT) and set the percent, and apply a percentage or fixed discount if you offer one. The subtotal, tax, and total recalculate as you type.
  5. Pick a currency and download. Choose USD, EUR, GBP, CAD, or AUD, then download the PDF, export a CSV, or print. The file is built in your browser, so nothing is uploaded.

The tool is the fast path for a one-off or fixed-price invoice. For recurring hourly work across clients, the next sections are why converting from tracked time beats retyping into any generator, this one included.

What belongs on a freelance PDF invoice

Whichever route you take, a complete, payable invoice needs the same fields. Missing any of these is the usual reason a client's accounts team sends it back.

FieldWhy it matters
Invoice numberUnique, sequential, for the client's records and your bookkeeping
Issue + due dateSets the payment clock and your terms (e.g. net 14)
Your detailsLegal name, address, tax/VAT ID where required
Client detailsTheir billing entity and address, not just a contact name
Line itemsWhat you did, the quantity (hours), the unit rate, the line total
Subtotal, tax, totalTax broken out separately; the grand total unmistakable
Payment instructionsBank/IBAN or a payment link, plus accepted methods

The line items are where the two approaches diverge. A template gives you empty rows. A time-based generator fills those rows from the entries you flagged as billable. Each task already carries its duration and its project.

Why retyping costs you money

Manual entry has two failure modes, and both are quiet.

You miss hours. The 20 minutes on a Tuesday call, the quick fix on Friday night, if you're reconstructing the month from memory, those don't make the invoice. They're real work that goes unbilled, every month, on every client.

You make errors. Transposed rates, a date in the wrong month, a line item double-counted. Each one is either money lost or an awkward correction after the client has already received the PDF.

Generating from tracked time removes the retyping step entirely, so there's nothing to mis-key and nothing to forget. The hours on the invoice are the hours you recorded, not the hours you could remember. Our guide on how to invoice from time tracking walks through that handoff end to end.

The billable flag does the filtering

The piece that makes time-based invoicing trustworthy is a billable flag on each entry.

Not all tracked time is chargeable. Internal admin, business development, a coffee break, the hour you spent learning a tool. You want that recorded for your own visibility, but it must not land on a client's bill. A billable flag lets you separate the two as you work, so generating an invoice is just "every billable entry for this client, this period."

This is why a clean freelance timesheet is the real source document. If the timesheet is accurate and each entry is correctly flagged, the invoice is automatic and correct. If the timesheet is a guess, no generator can save it, manual or otherwise.

When a manual generator still makes sense

Automatic isn't always the answer. A blank template is fine when:

  • You bill fixed-price, not hourly: the invoice is one line, no hours to sum.
  • You invoice rarely: one client, once a quarter, and tracking would be overkill.
  • You need a one-off document: a deposit, a reimbursement, a credit note.

For recurring hourly work across several clients, though, the manual route taxes you a little every cycle: the reconstruction, the cross-checking, the hours that slip through.

Choosing your approach

Match the tool to how you actually bill:

  1. Mostly fixed-price, invoice occasionally → a template or the free hourly and contractor invoice generator is enough.
  2. Hourly, one or two clients → tracked time helps, but a spreadsheet can keep up.
  3. Hourly, multiple clients, monthly → generate from tracked, billable-flagged time; the time saved and the hours recovered compound fast.

If you're in that third group, BillNotch tracks your hours automatically in the background and turns the billable ones into a native PDF invoice, so the document you send is a faithful record of the work, with nothing retyped and nothing left off. However you invoice, the principle holds: the most accurate invoice is the one you convert from a real log of your time, not the one you rebuild from memory at month's end.

Related: what to look for in freelance billing software, and the best freelance time tracking with invoicing.

Frequently asked questions

How do I make a PDF invoice for free?

Use a browser invoice generator: fill in your details and the client's, add line items with hours and rates, set tax and terms, and download the PDF. BillNotch's free tool does this with no signup and no upload. If you track your hours, a better route is to generate the invoice from that log so nothing is retyped.

What should a freelance PDF invoice include?

A unique invoice number, issue and due dates, your legal details, the client's billing entity, itemized line items with quantity and rate, the subtotal, any tax broken out, the total due, and payment instructions. Missing any of these is the usual reason a client's accounts team sends the invoice back.

Should I generate an invoice from tracked time or a template?

It depends on how you bill. For fixed-price or occasional invoices, a blank template or the browser generator is enough. For recurring hourly work across several clients, generating from tracked, billable-flagged time is more accurate: the hours on the invoice are the hours you recorded, not the ones you could remember at month-end.

Can I enter hours as h:mm on an invoice?

In the browser generator, yes. Each line item accepts hours as a decimal like 7.5 or as h:mm like 7:30, and both resolve to the same value, so you can copy straight from a timesheet in whichever format you keep. It multiplies hours by rate to fill the line total for you.