Revenue recognition

Automated revenue recognition software for SaaS

Revenue recognition software turns every invoice into a schedule of earned and deferred revenue, month by month, and posts the journal entries to your ledger. Bunny does it from the same subscriptions and invoices that bill your customers, so the schedule is never out of step with the contract.

Bunny is SaaS billing, CPQ and RevOps for B2B SaaS. Revenue recognition comes with the Advanced Billing add-on: daily ratable schedules per invoice line, journal entries for QuickBooks Online and Xero, and an export your auditors can work from.

Worked example

An annual subscription, then a mid-term upgrade

A customer signs a $36,500 annual subscription for 2026, invoiced in advance on January 1. On April 1 they add seats, and the prorated upgrade is invoiced at $8,250 for April 1 to December 31.

Each invoice line is spread by day across its own service period: $100 a day for the subscription, $30 a day for the upgrade. Revenue moves from deferred to earned at the end of every month, so nobody rebuilds the schedule when the contract changes.

Monthly revenue recognition schedule for an annual subscription with a mid-term upgrade
Month Days Subscription line Upgrade line Revenue earned Deferred revenue at month end
January 2026 31$3,100—$3,100$33,400
February 28$2,800—$2,800$30,600
March 31$3,100—$3,100$27,500
April 30$3,000$900$3,900$31,850
May 31$3,100$930$4,030$27,820
June 30$3,000$900$3,900$23,920
July–December 184$18,400$5,520$23,920$0

The journal entry each month debits deferred revenue and credits earned revenue for the amount in the orange column. In Bunny those entries are posted to QuickBooks Online or Xero for you. Want to run your own numbers? Use the revenue recognition calculator.

In Bunny

Revenue recognition that runs itself

Most teams recognise revenue in a spreadsheet that someone exports from billing every month. Bunny skips the export. Every issued invoice creates its revenue schedule the moment it’s issued.

How Bunny recognises each type of charge
Charge How it’s recognised
Recurring Spread by day over the service period, booked monthly
Discounts and adjustments Spread over their own period, alongside the charge
One-time fees Immediately, or over a number of months you set on the charge
Usage In the month it’s invoiced
Credit notes Reverse revenue line by line, over the credited period

What finance gets

A revenue recognition table you can drill into Revenue and remaining balance for each month of the fiscal year, from customer account down to invoice and line. Export it to CSV for your auditors.
Journal entries in QuickBooks Online and Xero Double-entry deferred and earned revenue postings, synced to your ledger automatically or exported as CSV.
Revenue by product line Map each charge to its own deferred and earned revenue accounts, so platform, services and usage revenue report separately.
Every entity and currency Each legal entity keeps its own fiscal year and base currency, and foreign-currency invoices are converted at the invoice’s rate. See multi-entity billing.
ASC 606 and IFRS 15

ASC 606 revenue recognition software, step by step

ASC 606 (introduced by ASU 2014-09) and its international twin IFRS 15 set out five steps for recognising revenue from customer contracts. For a subscription business, most of the work is data: knowing exactly what was sold, at what price, over which period. That data is already in your billing system — if it’s the right one.

  1. Identify the contract

    In Bunny the contract is the accepted quote. It becomes the subscription directly, so there’s no gap between what was signed and what’s billed.

  2. Identify the performance obligations

    Each charge on the price list — platform, seats, usage, onboarding — is its own line with its own accounting code, so each performance obligation reports separately.

  3. Determine the transaction price

    The price on the quote, including negotiated discounts, flows through to every invoice line. Nothing is rekeyed.

  4. Allocate the price

    Discounts are set line by line on the quote, so a bundle discount can be split across its charges in proportion to their standalone selling prices. Each line then carries its allocated price into the revenue schedule.

  5. Recognise revenue as it’s earned

    This is the part Bunny automates end to end: daily ratable schedules, monthly journal entries, and automatic updates when a customer upgrades, downgrades or receives a credit.

Free trial

The RevOps expert your team never had.

Ask it anything about your book of business, and it answers from your live data. Point it at the renewal that needs a quote and it drafts one. All the digging, none of the digging.
  • Type "send upgrade quotes to all starter plan accounts" — done in seconds
  • Know which renewals need you this month, while there is still time to do something about it
  • Find every overdue invoice in one question, instead of one account at a time
Try free for 30 days

No credit card required. Cancel anytime.

FAQ

Frequently asked questions

What is revenue recognition software?
Revenue recognition software calculates when revenue is earned and records it in the right accounting period. For a SaaS company that means spreading each subscription invoice over the period it covers, moving revenue from deferred to earned each month and producing the journal entries for the general ledger.
What is automated revenue recognition?
Automated revenue recognition builds the revenue schedule straight from billing data instead of a spreadsheet. In Bunny every issued invoice creates its own schedule, and upgrades, downgrades and credit notes update it without anyone rebuilding the numbers at month end.
Is Bunny ASC 606 revenue recognition software?
Yes. Bunny is built around the ASC 606 and IFRS 15 model for subscription revenue. Each charge on the contract is its own line with its own accounting code, discounts can be split across line items on the quote to allocate the price, and every invoice line is recognised ratably over its service period, with monthly deferred and earned revenue entries and a drill-down table you can export for audit.
What is the ASU for revenue recognition?
ASU 2014-09, Revenue from Contracts with Customers, is the Accounting Standards Update that created ASC 606. It took effect for public companies in 2018 and private companies in 2019, replacing older industry-specific rules with one five-step model.
How does Bunny recognise usage-based charges?
Usage is billed in arrears, and Bunny recognises usage revenue in full in the month the usage invoice is issued. Recurring charges are spread by day over their service period, and one-time fees are recognised immediately or over a number of months you set on the charge.
Does Bunny post revenue recognition entries to QuickBooks or Xero?
Yes. Bunny creates double-entry journal entries for deferred and earned revenue and syncs them to QuickBooks Online or Xero, automatically if you turn it on. Journal entries can also be exported as CSV or XLS for any other ledger.
Which Bunny plan includes revenue recognition?
Revenue recognition is part of the Advanced Billing add-on, together with multi-entity and multi-currency billing. See Bunny's pricing page for current rates.