Want to learn more about the platform?
Book a DemoFinlens reads the service period from each invoice and from Stripe, builds the month-by-month recognition schedule, and prepares the deferred revenue journal for review before anything reaches QuickBooks Online.
| # | Txn Date | Name | Invoice Number | Recognized category | Start date | End date | Period | Recognized | May-26 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Recognition | Balance | |||||||||
| — | Northwind Labs2 | — | — | — | $20,820.51 36% of $57,600.00 | 4,820.51 | 36,779.49 | |||
| 1 | Jan 5, 2026 | Annual plan | INV-2041 | 4000 · Subscription revenue | Jan 2026 | Dec 2026 | 12 | $20,000.00 42% of $48,000.00 | 4,000.00 | 28,000.00 |
| 2 | May 12, 2026 | Seat upgrade | INV-2188 | 4000 · Subscription revenue | May 2026 | Dec 2026 | 8 | $820.51 9% of $9,600.00 | 820.51 | 8,779.49 |
| Feb 1, 2026 | Brightline Dental1 | — | — | — | $6,000.00 33% of $18,000.00 | 1,500.00 | 12,000.00 | |||
| 3 | Feb 1, 2026 | Support plan | INV-2057 | 4010 · Support plan revenue | Feb 2026 | Jan 2027 | 12 | $6,000.00 33% of $18,000.00 | 1,500.00 | 12,000.00 |
| Total | $26,820.51 35% of $75,600.00 | 6,320.51 | 48,779.49 | |||||||

As published on finlens.app.
Deferring one flat annual contract is easy. The four shapes below are where the spreadsheet gives out, and the fourth is the one SaaS teams on QuickBooks Online bring to us most.
Annual upfront, billed once, never amended. A spreadsheet handles this, and a business with thirty flat contracts has no reason to buy anything. Everything below is where that stops being true.
The common thread is the ledger. QuickBooks Online records the invoice and the cash. It does not know when the service starts, how long it runs, what changed mid-term, or what sat inside the Stripe deposit. The schedule has to know all four.
In the ledger it arrives as a new invoice with nothing linking it to the original. Periods already recognized have to stay untouched, so the schedule splits rather than rebuilds.
Consumption is reported after the period it belongs to. Nothing can be scheduled in advance, and the deferred balance is only known once usage is reported.
One invoice total covers platform, implementation and support, with no field holding the split. The allocation happens in somebody's head or not at all.
The deposit arrives as one number, so the charges, fees, refunds and disputes inside it never reach the schedule separately. Reconcile by payout, and gross revenue is understated by the fees and refunds inside it.
Four steps, every month. Your team touches it once, at review.
Taken from the invoice, the contract terms or the Stripe subscription, rather than from the billing date.
Month by month across the term, with part periods calculated and the deferred balance carried forward.
Missing dates, renewals, amendments and anything needing judgment are surfaced rather than estimated.
The journal is prepared with source detail attached. Drafted for review. Posts to QuickBooks Online when you approve it, or on schedule if you switch that on.
What reaches the schedule is the charge, not the deposit.
A Stripe payout is a net number. It is the charges for the period, less the processing fees, less any refunds, less whatever is held in dispute, landing as one deposit. Reconciling to that deposit nets the fees into revenue and buries the refunds.
Finlens takes the deposit apart first. Each charge is read with its subscription and its service period, the annual plans are deferred over their term, the monthly plans are recognized in the period, and the fees go to expense, as a principal's costs do under ASC 606, rather than being netted against revenue. Refunds reverse against the schedule they belong to; disputes are booked as contra revenue when they occur and reversed if the dispute is won. What reaches the schedule is the charge, not the deposit.
| Stripe payout received Feb 3, 2026 | USD |
|---|---|
| Payout deposited to the bank | 41,284.60 |
| Gross charges in the payout | 43,200.00 |
| Annual subscriptions, deferred over the term | 38,400.00 |
| Monthly subscriptions, recognized in the period | 4,800.00 |
| Processing fees, booked to expense | (1,252.80) |
| Refunds issued, reversed against the schedule | (610.00) |
| Disputes booked as contra revenue | (52.60) |
| Recognized in February | 8,000.00 |
Figures illustrative. February recognition is the monthly plans in full plus one twelfth of the annual plans.
The SaaS-specific cases a spreadsheet fails. Each one starts from the change date and leaves closed periods alone.
| Upgrade | Downgrade | Cancellation | Credit note | |
|---|---|---|---|---|
| Event | Seats or plan added mid-term, billed on a new invoice | Plan reduced at renewal or mid-term | Terminated in month seven of twelve | Issued against an open term |
| Effect | The unrecognized balance is spread across the remaining term from the change date | Future periods are reduced; periods already recognized are left untouched | Recognition stops, and the residual deferred balance is released or refunded | The deferred balance is reduced and the remaining schedule rebuilt |
| Closed periods | Not disturbed | Not disturbed | Not disturbed | Not disturbed |
Every rebuild starts from the change date. Nothing that has already been recognized and closed is re-opened.
A spreadsheet, a billing platform report and Finlens on your existing QuickBooks Online ledger.
| Requirement | Spreadsheet | Billing platform report | Finlens on QuickBooks |
|---|---|---|---|
| Service period read from the source | Keyed by hand | Billing dates only | Invoice, contract or Stripe |
| Part first period | Formula dependent | Varies | Calculated |
| Mid-term upgrade | Rebuild the tab | Not reflected in the ledger | Schedule rebuilt |
| Stripe fees separated from revenue | Manual | Netted in the payout | Decomposed |
| Refunds and disputes | Manual | Netted | Applied to the schedule |
| Journal posted to the ledger | Keyed | Export, then key | Drafted for review, posted when approved |
| Deferred balance by customer | Another worksheet | Partial | Standing report |
| Where the general ledger lives | QuickBooks | QuickBooks | QuickBooks, unchanged |
The alternative shown is a billing platform report, not an ERP, because for most teams on QuickBooks Online the real alternative is exporting from Stripe or a billing tool and keying the result.
What SaaS and services teams on QuickBooks Online ask about deferred revenue.
Partly. Every plan records the invoice and the cash, and will carry a deferred revenue liability if you post to one. QuickBooks Online Advanced adds a revenue recognition feature that builds a schedule from invoice line items for products or services set up with a recognition template, released straight-line on a monthly or daily schedule. Other plans release the balance with a manual journal or a recurring transaction, and a recurring transaction posts a fixed amount that cannot respond to an upgrade, a cancellation or a refund. No plan reads service periods from Stripe or takes a payout apart into charges, fees and refunds.
No. Finlens works on top of QuickBooks rather than instead of it. It automates the deferred revenue schedules and journal entries currently held in spreadsheets outside QuickBooks, then posts them back. Your existing QuickBooks setup stays intact and there is no second general ledger.
Finlens builds the schedule from your invoice and subscription data, taking the service period from the source rather than the billing date. As revenue is earned across the term it prepares the corresponding journal entry for each period, replacing the manual update of a spreadsheet schedule.
Yes. Finlens connects directly to Stripe and separates annual and multi-period subscriptions into the revenue earned in each period. It handles gross revenue, Stripe processing fees, refunds and payouts, so the amount recognized is the gross charge rather than the net payout, which is what ASC 606 requires.
Finlens connects to your existing QuickBooks account and to Stripe without a migration or a rebuild of your chart of accounts. Because it layers on top of what you already run, onboarding is materially faster than moving to a standalone revenue recognition platform.
Yes. Finlens maintains schedules across your contract base including deferred revenue, accruals, prepaids and amortization. This matters most for subscription businesses where recognition schedules have to be held across a high invoice volume rather than a handful of contracts.
The schedule rebuilds from the change date. An upgrade spreads the unrecognized balance across the remaining term, a downgrade reduces future periods while leaving recognized periods untouched, and a cancellation stops recognition and releases or refunds the residual deferred balance. Periods already closed are not disturbed.
Finlens holds each journal as a draft in its own review queue until a reviewer approves it. QuickBooks Online has no draft journal entries, so the entry reaches QuickBooks only once approved, or on schedule if you switch automatic posting on.
Bring one contract that changed mid-term
An upgrade, a cancellation or a Stripe annual plan. We will build the schedule against your own chart of accounts in the demo.
Book a demoCharges, fees, refunds and payouts read from Stripe and recognized per period, gross of fees.
Related feature Prepaid expense automationAmortization schedules built from the bills already in QuickBooks Online, with the release entry drafted each period.
Related feature Fixed asset depreciationEvery fixed asset on one register, with the monthly depreciation entry drafted for approval.
Manage Finances with Ease
Get started in minutes, no setup fees, no contracts.