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
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.
Technical work deserves specific line items
Name the deliverable, milestone, or covered period instead of relying on a generic “development services” row.
| Line item | What it can cover |
|---|---|
| Frontend application build — Phase 2 milestone | Named screens, components, accepted functionality, or a defined sprint delivery. |
| Accessibility audit & remediation | Audit scope, covered pages or components, findings, and agreed fixes. |
| API integration | Specified endpoints, authentication work, data mapping, and error handling. |
| Production deployment & monitoring setup | Release support, deployment work, monitoring setup, or a defined post-launch window. |
| Code review and remediation | Repository scope, review period, findings, and agreed corrections. |
| Maintenance retainer | Covered period, included hours, support scope, and any agreed rollover rule. |
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.
| Stage | What to record | Example |
|---|---|---|
| Quote · before approval | Proposed 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 delivered | What 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 payment | The 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.
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 ChromeKeep 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.