Freelance developer billing guide

How to invoice freelance development milestones

When software work mixes fixed milestones, hourly remediation, deployments, maintenance, or approved changes, describe the billable event so the client can connect each charge to the agreed work. The example below shows how those choices can appear in an editable invoice.

Reviewed: 22 August 2026

See it in a document

Apply milestone billing to an editable developer example

The editor opens with frontend, accessibility, and deployment line items so you can see how a milestone, hourly task, and release activity can be separated before replacing the fictional details.

Open invoice editor
Describe the work

Technical work deserves specific line items

Name the deliverable, milestone, or covered period instead of relying on a generic “development services” row.

Common freelance developer invoice items
Line itemWhat it can cover
Frontend application build — Phase 2 milestoneNamed screens, components, accepted functionality, or a defined sprint delivery.
Accessibility audit & remediationAudit scope, covered pages or components, findings, and agreed fixes.
API integrationSpecified endpoints, authentication work, data mapping, and error handling.
Production deployment & monitoring setupRelease support, deployment work, monitoring setup, or a defined post-launch window.
Code review and remediationRepository scope, review period, findings, and agreed corrections.
Maintenance retainerCovered period, included hours, support scope, and any agreed rollover rule.
One project, three documents

Quote → Invoice → Receipt: keep the commercial story easy to follow

The same project can need different documents at different moments. InvoiceCraftly gives you the document types, but this is a manual document workflow rather than an automatic project-status or payment-tracking system.

Example document lifecycle for a fictional software project
StageWhat to recordExample
Quote · before approvalProposed scope, quantities, rates, price, validity, and commercial terms.Frontend application build — Phase 2 milestone; accessibility audit and remediation; production deployment and monitoring setup.
Invoice · after billable work is deliveredWhat was actually delivered or is now billable, the covered milestone or period, client reference, amount, and payment terms.Phase 2 frontend milestone delivered; 18 hours accessibility remediation; production deployment completed.
Receipt · after paymentThe payment that was actually received, with the paid amount, date, and reference you have verified.Payment received for invoice OD-2026-118 on the date recorded by the issuer.

Important boundary: InvoiceCraftly does not independently verify project acceptance, convert project status automatically, observe your bank account, or confirm settlement. Create a receipt only after you have verified that payment was actually received.

Connect milestone billing to observable delivery

For fixed-price software work, tie each invoice to an agreed milestone such as prototype acceptance, feature completion, staging deployment, or production handoff. Avoid vague labels like “phase two” unless the client can connect that phase to the statement of work. When billing hourly, include the covered date range and a concise activity summary; keep sensitive credentials, private repository data, and internal engineering specifics out of the invoice.

Change requests should not disappear inside the original line item. Identify approved out-of-scope work separately so the commercial record matches the project history. Retainers also benefit from stating whether unused hours expire, roll over, or require separate approval. The invoice documents the charge, while the contract or statement of work remains the source for sign-off requirements, warranties, ownership, and support obligations.

Already written somewhere else?

Reuse the work description instead of typing it again

If the task or deliverable already exists in a browser page, email, project portal, or issue tracker, Invoice Capture for Chrome can turn only the text you explicitly select into a reviewed, editable line item.

Select the exact text, review the description, quantity, unit, and rate in the extension side panel, then open the reviewed lines in an Invoice, Quote, or Estimate. The extension is optional; the normal editor works without it.

See Invoice Capture for Chrome
Before you send

Keep credentials and customer data out of the invoice

Invoices may be forwarded or retained for years. Use project names and useful delivery descriptions while keeping secrets such as passwords and private keys, plus customer data, confidential logs, and repository credentials, in the systems designed to protect them. InvoiceCraftly creates the document; project management, source control, tax validation, and payment processing remain in your chosen workflow.