How software development companies typically bill
The choice between fixed-price and time-and-materials usually depends on how well-defined the scope is going in.
- Fixed-price: a total project fee split across milestones, each tied to a demoable deliverable
- Time-and-materials: billed weekly or bi-weekly against a signed SOW with an estimated hour range
- Hybrid: a fixed-price discovery/architecture phase, then either model for the build
Common invoice line items
Milestones read clearest when tied to what was actually built, not just a phase name.
- Product Discovery & Architecture — $4,000
- Sprint 1 — Core Backend & API — $8,000
- Sprint 2 — Frontend Integration — $8,000
- QA, Deployment & Handoff — $3,000
Tying invoices back to the SOW
A software invoice disputed after the fact is almost always a scope disagreement — was this milestone actually complete, or was this hour block actually authorized. Referencing the specific SOW and milestone number on every invoice removes the ambiguity before it becomes a conversation.
- Each invoice references its SOW number and milestone
- Acceptance criteria (from the SOW) determine when a milestone is billable, not just calendar time
- Change orders for anything outside the original SOW are priced and approved before work proceeds, then billed as their own line
International and contractor teams
Many software companies run distributed or offshore teams and bill international clients. Hanko invoices accept card, ACH, wire, or stablecoins on the same invoice, and batch payouts let a dev shop pay its own distributed contractors in a single transaction once the client invoice is collected.
Frequently asked questions
Fixed-price or time-and-materials — which should a software company use?
Fixed-price works when scope is well understood upfront; time-and-materials fits evolving requirements. A fixed-price discovery phase followed by a fixed quote for the build handles most ambiguous projects reasonably well.
How should a software development invoice reference the SOW?
Include the SOW number and the specific milestone being billed on every invoice, so there's no ambiguity about which agreed deliverable the payment corresponds to.
Can Hanko pay a distributed dev team after collecting client payment?
Yes. Hanko supports batch payouts, so a dev shop can pay multiple contractors in a single transaction after the client invoice is paid.