Let’s talk

Enterprise software · Software and SaaS

Enterprise software contracts recognised by what was delivered, not by what was invoiced

Enterprise software is sold in large contracts that bundle licences, implementation, customisation and years of support. Payment follows milestones tied to the customer's approvals rather than the work. We separate each contract into its parts, recognise each as it is delivered, and keep unbilled revenue and receivables tied to named milestones.

In one paragraph

Enterprise software firms — ERP and vertical-software vendors, banking and insurance platforms, suppliers to government and public-sector buyers — usually turn over ₹20–300 crore from a few dozen large customers. Owners and finance heads live with the lumpiness. A handful of contracts make the year. Each has its own acceptance terms, retention and payment cycle.

Who usually engages us

Managing director or CFO, often with the head of delivery

The economics

How the money moves in this trade

A typical contract combines a perpetual or term licence, an implementation project, change requests and annual support, each delivered on a different pattern. Invoicing follows milestones such as go-live or user acceptance, which can sit months away from the work. Revenue recognised, revenue billed and cash collected therefore diverge for long stretches. The gap sits in unbilled revenue and contract balances that are rarely analysed contract by contract.

Large customers, and government buyers in particular, add retention money, performance bank guarantees, liquidated damages for delay and tax deducted at source on every payment. The cash a contract finally produces can be well below its headline value. The difference only becomes visible when receivables are aged by milestone rather than by invoice.

The problem

Where the numbers usually break down

Bundled contracts recognised as one stream

Licence, implementation and support are booked together, so revenue timing follows invoices rather than delivery of each part.

Unbilled revenue with no milestone behind it

Work done but not invoiced accumulates as a single balance, and nobody can say which acceptance it is waiting on.

Implementation overruns hidden in the project

Effort beyond the estimate on fixed-price implementations is absorbed without being costed, so contract margin is overstated until the project closes.

Customer TDS not matched to invoices

Tax deducted by customers is not reconciled to the annual tax statement invoice by invoice, so credits are missed or claimed late.

Retention and guarantees outside the receivables view

Retention money, bank guarantees and liquidated-damage deductions are tracked by the sales team, not in the ledger.

What we do

The work, and the result each part produces

Contract decomposition

Each contract separated into licence, implementation, customisation and support, with the price allocated on a stated basis and a recognition pattern for each.

Revenue follows delivery, part by part.

Unbilled revenue by milestone

Every unbilled balance linked to the milestone and acceptance it depends on, and reviewed monthly with delivery heads.

Unbilled revenue becomes a list of approvals to chase.

Implementation project costing

Effort and third-party cost booked against each implementation and compared with the estimate at completion.

Overruns appear while the project is still live.

Customer TDS reconciliation

Deductions shown in the annual tax statement matched to invoices and customers, with mismatches raised with the customer.

Tax credits are claimed in full.

Retention, guarantee and deduction register

Retention money, bank guarantees and liquidated-damage deductions recorded against each contract with release dates.

The cash each contract will actually produce is known.

Support renewal tracking

Annual support contracts tracked for renewal, price escalation and lapse.

Support revenue is not lost to missed renewals.

Where we start

The first steps of an engagement

  1. Contracts and milestone schedules

    We ask for signed contracts and change orders, the milestone and acceptance schedule, the receivables ledger and effort data from your project management tool.

  2. Contract-by-contract revenue review

    Each large contract is split into licence, implementation, customisation and support. Revenue to date is compared with what was actually delivered.

  3. Unbilled revenue tied to milestones

    Every unbilled balance is linked to the milestone and acceptance it depends on, and retention, guarantees and deductions are recorded against each contract.

  4. Revenue, billing and cash report

    The first report shows revenue recognised, billed and collected for each contract, with unbilled revenue aged by milestone.

How it is measured

The reports the work is judged on

Each is recorded as a baseline before the work starts, so later reports have an honest comparison.

  • Revenue recognised, billed and collected, by contract
  • Unbilled revenue by milestone and age
  • Estimate-at-completion margin on live implementations
  • Customer TDS reconciled to the annual tax statement
  • Retention and guarantees outstanding, with release dates
  • Support renewals due, renewed and lapsed

Who it suits

Written for, and not the right fit for

Not the right fit if
  • You need the statutory audit or the tax-audit report signed; an independently engaged CA signs both.
  • You want help preparing tender bids; we support the financial schedules but do not manage bids.
Written for
  • Software vendors selling licences with implementation and support to large enterprises or banks.
  • Suppliers to government and public-sector buyers working with retention, guarantees and milestone acceptance.
  • Firms whose unbilled revenue has grown faster than their revenue.

Common questions

Questions owners in this trade ask

Why change a revenue method our auditor already accepts?

If the method follows invoices and your contracts follow delivery, the difference eventually shows up — often as a large adjustment in the year a big contract slips. Splitting contracts now makes the timing defensible and the margin on each part visible.

How should disputed liquidated damages from government customers be recorded?

Record the deduction as it happened and track the disputed amount separately with its status. That way the receivable isn't overstated, and a recovery is recognised when it's actually agreed.

Will this work with our project management tool?

Yes. Effort and milestone data usually already exist there. The work is in linking them to contracts in the ledger, not in replacing the tool.

Explore further

Other trades in this sector

SaaS companiesGateway payouts and annual plans tend to be booked as revenue the day the cash lands, until deferred revenue is rebuilt contract by contract and every payout is matched to its invoices.View trade ↗AI productsModel and GPU bills usually land as one cloud expense with no link to customers, so gross margin stays unknown until each customer and feature is costed from its inference.View trade ↗IT servicesUtilisation is usually measured on hours logged rather than hours billed; matching timesheets to invoices and costing projects from the people on them shows where margin goes.View trade ↗CybersecurityLicence resale, managed services and testing usually share one revenue line, which hides what each earns after the vendor's cost and which business the firm is really in.View trade ↗Cloud and infrastructure servicesHyperscaler bills, customer invoices and committed-spend discounts are rarely matched account by account, so unbilled consumption and misapplied credits stay hidden in the total.View trade ↗Engineering R&D servicesMilestone-billed design programmes often run for months without an estimate to complete, until each is costed from engineer hours, lab time and tool licences against the work left.View trade ↗Product development studiosFixed-price builds slip and change requests go unbilled at many studios, and costing each engagement sprint by sprint against the signed scope makes both visible.View trade ↗Global capability centresThe cost-plus invoice to the parent is often raised on budget and never trued up, and a written cost base, with cross-charges reconciled to it each quarter, is what fixes that.View trade ↗
Back to Software and SaaS ↗

Tell us how your business actually runs.

Discuss your requirements