Problem-aware

How Freelancers Should Invoice Clients Step by Step

WorkFocus Team4 min read

Freelancers do not get paid for work that sits in a repo. They get paid when a clear invoice hits a clear process.

If you have been sending "hey, can you pay me for last month?" DMs, you are improvising a billing system. Here is a step-by-step that holds up when you have more than one client.

Step 1: Agree money before you start work

The invoice is easy when the contract already says:

  • Amount or rate
  • Deposit (if any)
  • Milestones
  • Due terms (Net 15 is kinder to you than Net 30)
  • How they pay (transfer, card, whatever you actually check)

If they want to start before this is written, that is a risk, not a compliment. Scope and fees belong together - same discipline as writing a scope clients cannot misread.

Step 2: Use line items a non-developer can recognize

Bad: "Dev work - 12 hours."
Better: "Homepage checkout bugfix (staging + production) — fixed price as quoted" or "Week of May 12 retainer — 10 hours included."

Line items should map to something they remember asking for. That is how invoices get approved on the first pass instead of bouncing around their Slack.

If you billed hourly, attach or summarize dates and what moved. You do not need a surveillance timesheet. You need a story their finance person can file.

Step 3: Put the boring fields on every invoice

  • Unique invoice number
  • Issue date and due date
  • Your name / business name and their company name
  • Project name
  • Currency
  • Payment instructions
  • Amount due, clearly

Missing due dates are how "we'll get this out" becomes 45 days. If you charge late fees, say so in the terms you already agreed - then you can use a late payment calculator when you need the number, not as a surprise.

Step 4: Send it the day the milestone is real

Deposit: before you start.
Milestone: the day you hit the written done.
Retainer: a fixed calendar day each month.
Final: when done is done, not "when I remember on Sunday."

Delayed sending is self-inflicted late pay. Treat invoicing like a ship checklist, not like admin you will get to.

Step 5: Follow up without a personality crisis

A simple cadence:

  • Due date + 1 business day: "Checking this landed. Happy to resend."
  • +7 days: "This is now overdue. Please confirm payment date."
  • +14 days: Pause new work if that is your policy, said in writing.

Polite, dated, in email so there is a record. You are not being awkward. You are running a business. For the longer playbook, see what to do when a freelance client pays late and how to follow up on unpaid invoices without awkwardness.

Step 6: Reconcile before you hit send

Ten minutes:

  • Did I include the change orders they approved?
  • Did I exclude work still in progress?
  • Does the amount match the proposal?
  • Is the payment link / account correct?

Wrong invoices cost more time than writing them carefully once. If you sell hours, reconcile against what you actually planned to bill that week - not against a foggy feeling of being busy. A billable hours check helps you see leakage before it becomes a fight.

The bottom line

How to invoice as a freelancer, step by step:

  1. Agree terms first
  2. Write line items they recognize
  3. Include the boring fields every time
  4. Send the day the milestone is real
  5. Follow up on a schedule
  6. Reconcile before send

Cashflow is an operations habit. So is delivery. If invoices are clean but the week is chaos, you will still feel broke on time.

Try WorkFocus free to plan and finish the work you are about to bill - today's tasks across clients, so the invoice matches a week you can actually point to.