ERP by industry

ERP software for SaaS and software companies

Revenue recognition is the reason software companies leave QuickBooks, and it arrives on a deadline — a round, an acquisition, or an audit. ASC 606 schedules driven from contracts rather than spreadsheets, deferred revenue you can explain, and SaaS metrics that agree with the ledger.

Pressure-test your rev rec

Your size, your billing system, and your contract types. We will tell you where ASC 606 will break under diligence.

1 / 3
ASC 606 from contract termsStripe reconciled to the ledgerDiligence-ready deferred revenue

The problems

Six things that surface right before a raise.

ASC 606 lives in a spreadsheet

Multi-element contracts, ramped pricing, mid-term upgrades, and usage overage produce schedules no accounting system this size handles — so they get built by hand, quarterly, by one person.

Board metrics disagree with the ledger

ARR from the billing system, revenue from the GL, and bookings from the CRM produce three numbers. Reconciling them before every board meeting is a recurring tax.

Deferred revenue is a black box

The balance moves and nobody can explain the movement without rebuilding it. This is the first thing a diligence team pulls on, and the first place a deal slows down.

Stripe data never quite ties

Fees, refunds, disputes, proration, and failed retries mean gross bookings in Stripe rarely equal revenue in the ledger, and the difference is reconciled manually.

Cost of revenue is guessed

Hosting, support salaries, customer success, and third-party APIs belong in COGS. Most software companies this size have them scattered across operating expense, so gross margin is fiction.

Audit readiness arrives suddenly

A funding round or an acquisition turns a working close into an urgent problem. Rev rec, deferred revenue, and controls are what get examined, in that order.

Where revenue goes

Recognised revenue to operating margin.

A representative growth-stage shape. The first two deductions are cost of revenue and belong in gross margin — which is why misclassifying them makes every SaaS benchmark you report meaningless.

100%Recognised revenue9%Hosting & infra12%Support & success26%R&D34%Sales & marketing13%G&A6%Operating marginrepresentative growth-stage SaaS economics · your mix will differ
Gross margin is a definition problem before it is a cost problem

Hosting, support, customer success, and third-party APIs consumed to deliver the product are cost of revenue. Where they sit in operating expense instead, reported gross margin is overstated by ten to twenty points — and an investor will find that in an afternoon.

Your stack

Keep the go-to-market tools.

Consolidated into erp.io

  • ASC 606 revenue schedules
  • Deferred revenue rollforward
  • Stripe-to-ledger reconciliation
  • Board metric assembly
  • Commission calculation workbook
  • AP coding and approvals

Kept and integrated

  • Stripe, Chargebee or Recurly
  • Salesforce or HubSpot
  • Gusto, Rippling or Deel
  • AWS, GCP or Azure billing
  • Ramp, Brex or Navan
  • QuickBooks, Xero or Intacct

Benchmarks

What good looks like for a software company.

From our engagements with software businesses between $5M and $60M ARR. The bar is a typical customer after two quarters; the marker is the segment median.

Days to close the month
5 daysmedian 12 days
Rev rec produced by system
100%median 19%
Deferred revenue explained
100%median 34%
ARR ties to recognised revenue
yesmedian rarely
Bills keyed by hand
5%median 78%
Diligence prep time
4 daysmedian 5 weeks

ASC 606 is the reason, and it is usually urgent

Almost every software company we work with arrives on a deadline. A term sheet is signed, a quality-of-earnings review is scheduled, or an auditor has asked for the revenue schedules — and the honest answer is that they live in a workbook that one person maintains and nobody else can reproduce.

That workbook is usually not wrong. It is unverifiable, which for diligence purposes is the same thing. A reviewer cannot tie the schedule to contracts, cannot see how a mid-term upgrade was handled, and cannot confirm the deferred balance rolls forward correctly — so they discount what they cannot verify, and the conversation about multiple becomes a conversation about risk.

A revenue schedule nobody can reproduce is not wrong. It is unverifiable, which in diligence costs the same.

What driving it from contracts changes

  • Performance obligations captured at signature by the person who negotiated them, rather than reconstructed from a PDF by finance a quarter later.
  • Ramps, mid-term upgrades, and downgrades handled as contract modifications with the correct prospective or cumulative treatment, instead of a manual re-plot.
  • Usage and overage recognised as consumed, tied to the billing system rather than estimated.
  • A deferred revenue rollforward that reconciles automatically, each movement traceable to the contract that caused it.
  • An audit trail from any revenue line to the contract, the invoice, and the schedule — which is the drill path every reviewer asks for.

Making the metrics agree

ARR, bookings, and recognised revenue measure different things and should never be identical — but they should be reconcilable, and in most companies this size they are not. Because contracts, invoices, payments, and schedules are objects on one graph here, the bridge between them is computed rather than assembled: bookings to ARR to recognised revenue to cash, with each step explainable.

The practical effect is that the board pack stops being a two-day assembly exercise, and that the numbers in it survive being questioned.

Where we are not the right answer

Companies with heavy international entity structures and local statutory filing across many jurisdictions should look at NetSuite. Very early companies under roughly $3M ARR with simple annual contracts genuinely do not need this yet, and we will say so.

Questions

What software companies ask.

Do you handle multi-element and ramped contracts?
Yes — multiple performance obligations with standalone selling price allocation, ramps, mid-term upgrades and downgrades as contract modifications, and usage-based overage recognised as consumed.
How does Stripe reconcile?
Charges, refunds, disputes, fees, and payouts are read and matched to invoices and payouts in the ledger. Fees post to their own account rather than netting against revenue, which is the most common Stripe accounting error we find.
Can you produce SaaS metrics?
ARR, net revenue retention, gross retention, and cohort views computed from the same contract records the revenue schedules use — so the metric and the ledger cannot drift apart.
Will this satisfy an auditor?
The schedules, the rollforward, and the drill path from revenue to contract are what auditors ask for, and auditors get a read-only role with full access. We also engage an attest firm to review our accounting engine, which is a separate assurance from SOC 2.
We are pre-revenue-recognition-complexity. Should we wait?
Probably, and we will tell you so. Under roughly $3M ARR with simple annual contracts, QuickBooks plus a good spreadsheet is genuinely adequate. Come back when contracts get multi-element or a raise appears on the horizon.

Find out where rev rec breaks.

Before a diligence team does. Send your contract types and a billing export and we will tell you what will not survive review.