Your Stripe Accounting Is Probably Wrong. Here's What to Fix.

March 12, 2026
Cody Leach, CPA
Accounting

Recap: Mastering Stripe Accounting: Manual Reconciliations to Daily Close | CPE Webinar with Cody Leach, CPA If you're a Controller at a SaaS company running on Stripe, there's a good chance your revenue numbers aren't telling the full story. That was the central takeaway from our latest CPE webinar, where HubiFi's Cody Leach, CPA, walked attendees through Stripe's data model, the most common accounting errors he sees across high-volume customers, and what it takes to get the order-to-cash cycle right.Here's what you need to know.

Stripe Wasn't Built for Accountants

Cody started with a reality check: Stripe was built for engineers, not accountants. A founder needs to collect payments, an engineer drops in six lines of code, and Stripe is live. A few funding rounds later, the first accounting hire walks into an environment never designed with GAAP compliance in mind.

Stripe's data model has over 30 API endpoints, and the relationships between customers, subscriptions, invoices, payment intents, charges, and payouts all matter for correct accounting. One key point: Stripe stores performance obligations on the invoice line item, not the subscription. If you're not digging into invoice line items, you're working with incomplete data.

The Nine Most Common Stripe Accounting Errors

Cody shared nine errors he consistently sees across HubiFi's customer base, which includes some of Stripe's largest and most high-profile accounts.

1. Cash basis accounting. The number one issue, confirmed by the live polling data. Most teams default to pulling the payout reconciliation report and working backward. That's a cash basis. It skips the invoice and contract layer entirely, which means revenue recognition is wrong before you even open the spreadsheet.

2. Hidden liabilities from customer balance transactions. Stripe lets you issue credits to customers, but there's no native report that surfaces those balances. Cody shared examples of companies discovering millions in unrecorded liabilities from old promotions that finance never knew about.

3. Under-recorded revenue and bad debt. If you're only recognizing revenue on paid invoices, you're under-reporting. Under ASC 606, every invoice goes through the five-step process. Collectability is one factor, not the only one. This approach also hides revenue leakage the business could be recovering.

4. Inaccurate performance obligations. If your rev ops team configures subscription items as immediate when they should be recognized over time, that bad metadata flows straight into your rev rec.

5. Discount and contra revenue accounting. If a discount is given over time and would reverse on cancellation, it should technically be a provision for discounts. If it's upfront and non-refundable, it can net against deferred revenue. Most teams skip the distinction entirely.

6. Fee timing. If you're pulling fees from the payout report, you're booking them two to three days after the charge actually occurred. That creates a timing mismatch between incurred and recorded.

7. FX gain and loss. Without invoice-level accounting, there's no way to calculate the difference between what you accrued at booking and what you actually received. The FX impact just disappears.

8. Sales tax liability errors. Even teams using third-party tax tools like Avalara frequently have mismatches. These tools are strong operationally but often fail to reverse tax liabilities correctly on refunds or lost disputes.

9. Unused time credit fraud. This one is growing fast, especially among AI companies. Bad actors create fake users to generate fraudulent credits. Beyond the operational headache, it raises real questions about whether that revenue should be recognized at all under ASC 606.

Key ASC 606 Decisions You Still Need to Make

Beyond the errors, Cody outlined accounting policy decisions every Stripe-using finance team should actively address: how to classify Stripe fees (cost of revenue under ASC 340 vs. operating expense), how to handle proration and variable consideration on canceled subscriptions, and whether to apply principal vs. agent treatment when using connected accounts. These are the questions auditors will ask, and they all need to be documented in your ASC 606 model.

When Manual Breaks Down

Cody wrapped with what happens when spreadsheets stop working (sooner than most teams expect). Companies like Cursor, Perplexity, and Eero have moved to automated daily closes using HubiFi. Cursor's revenue accounting manager used HubiFi data to prove FP&A had been calculating revenue incorrectly for two years. Now FP&A runs analysis directly on accounting-governed data, and the accounting function has shifted from compliance exercise to source of truth.

The Bottom Line

If you're doing Stripe accounting from the payout reconciliation report, you're on cash basis. If you're not tracking customer balance transactions, you have hidden liabilities. And if you're only recognizing revenue on paid invoices, you're leaving money and compliance on the table.

Want to see what a fully automated Stripe order-to-cash cycle looks like? Schedule a demo with HubiFi.

Cody Leach, CPA

Accounting Automation | Product | Technical Accounting | Accounting Systems Nerd

A technology and automation focused CPA helping finance leaders bring their processes into the 21st century.If you're interested in talking finance systems - https://calendly.com/cody-hubifi Feel free to set up some time on my calendar. I like talking about this stuff too much

Join a monthly demo of HubiFi with Cody Leach, CPA

Register Here →
HubiFi Dynamic Financial Reporting dashboard showing a detailed table of assets and liabilities with monthly financial data from January to December 2024.Smiling man with short hair and beard wearing a blue zip-up jacket against a light background.