Accounting · Portsmouth

Finance rebuilds milestone billing in Excel every month because QuickBooks only knows invoices

The short answer

Custom accounting software, or more often a custom billing layer over your accounts, for a Portsmouth defence subcontractor runs £40,000 to £100,000 over 3 to 6 months. QuickBooks, Xero, and FreshBooks handle bookkeeping well, but they can't represent milestone billing against a MoD prime contract, so finance rebuilds it in Excel every single month.

Your accounts package handles the ledger fine, but your actual revenue comes from staged milestones on long subcontracts, and QuickBooks only understands invoices. So every month finance exports data, rebuilds the milestone position in Excel, works out what to bill against which contract gate, and re-enters it. The accounts and the spreadsheet drift, and reconciliation eats days.

Xero and FreshBooks make the same assumption: a sale is an invoice that gets paid. Defence and marine subcontracting doesn't work that way. Revenue is earned against milestones, retentions are held, and billing is tied to a prime's contract structure. You don't need to replace your bookkeeping; you need a billing and revenue layer that understands milestones and feeds clean numbers into the accounts you already keep.

The problems nobody warns you about

  • Milestone billing against MoD primes has no home in QuickBooks, so finance rebuilds it in Excel monthly
  • Retentions and staged revenue recognition aren't handled by off-the-shelf bookkeeping tools
  • The accounts and the billing spreadsheet drift, making reconciliation a multi-day chore
  • Contract-level revenue position is invisible because the tools only see invoices

The case for owning your accounting

A custom billing and revenue layer understands your real contracts: it tracks milestones, retentions, and staged revenue against each prime's contract structure, generates the right billing at each gate, and feeds clean figures into Xero or QuickBooks. Finance stops rebuilding the position in Excel, the accounts and contracts stay aligned, and you can see your true revenue position by contract at any time.

Budgeting a accounting build in Portsmouth

Project scopeTypical costTimeline
Milestone billing layer over existing accounts£40k to £60k3 to 4 months
Plus retentions and revenue recognition£60k to £80k4 to 5 months
Plus cost capture and contract reporting£80k to £100k5 to 6 months
Cost by project scopeCost by project scopeMilestone billing layer over existing accounts$40k to $60kPlus retentions and revenue recognition$60k to $80kPlus cost capture and contract reporting$80k to $100k
Typical project cost bands. Source: Digital Heroes 2026 delivery benchmarks.

What your build should include

What to build in
+Milestone and contract-gate billing tied to each prime's structure
+Retention tracking and release scheduling
+Staged revenue recognition with a clear contract-level position
+Two-way integration with Xero or QuickBooks for clean ledgers
+Subcontractor and supplier cost capture against contracts
+Reporting on revenue, retentions, and milestone status by contract

Accounting services we deliver in Portsmouth

The engagements Portsmouth teams bring us most often: Xero integration, invoicing software, bookkeeping software, financial reporting and accounts payable automation.

Exactly what you get

A billing and revenue layer that understands milestone subcontracts: it tracks milestones, retentions, and staged revenue against each prime's contract structure, generates billing at each gate, and feeds clean figures into Xero or QuickBooks. Finance stops rebuilding the position in Excel, the accounts and contracts stay aligned, and you see your true revenue position by contract whenever you need it.

How to choose a developer in Portsmouth

Hire a team that has built finance-adjacent software and understands revenue recognition, not just CRUD apps. Ask how they'd model milestone billing, retentions, and staged recognition, and how they'd feed your existing accounts package cleanly. Insist your finance lead is in discovery. A developer who proposes replacing QuickBooks wholesale, rather than layering milestone logic over it, is taking on risk you don't need.

Red flags when hiring (and what to ask instead)
  • !They propose replacing your accounts package. Ask why a layer isn't smarter and safer
  • !No revenue-recognition experience. Ask how they'll model staged recognition
  • !No accounts integration plan. Ask how clean figures reach Xero or QuickBooks
  • !They skip retentions. Ask how held amounts are tracked and released
  • !No finance involvement in discovery. Ask who validates the billing rules
Want a fixed quote instead of estimates?
One scoping call, then a named senior team and a fixed price within 48 hours.
Talk to Digital Heroes

Teams investing in accounting in Portsmouth usually scope it next to warehouse management, field service management, erp, since these systems share data and budgets.

Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Should we replace QuickBooks or build a layer over it?

Usually a layer. Your bookkeeping is fine; what's missing is milestone billing, retentions, and staged recognition. A custom layer adds those and feeds clean figures into the accounts package you already trust, which is lower-risk than replacing it.

Why does QuickBooks struggle with milestone billing?

QuickBooks models a sale as an invoice. Defence subcontracting earns revenue against staged milestones with retentions tied to a prime's contract structure, which the invoice model can't represent, so finance rebuilds it in Excel.

How does it handle retentions?

Retentions are tracked as held amounts against each contract with a release schedule, so you always know what's owed but withheld and when it's due, instead of guessing from a spreadsheet.

Will it keep our ledgers clean?

Yes. The layer integrates two-way with Xero or QuickBooks, so milestone billing produces correct entries in your ledger and the accounts never drift from the contract position.

Why involve finance in the build?

Because revenue-recognition rules must be modelled exactly, and only finance can confirm them. Their involvement in discovery is what prevents costly, visible billing errors later.

Keep reading