Ecommerce Finance: Fix the Gaps Between Systems
Ecommerce CFO
First establish which answer is missing: orders, settlements, inventory, contribution or cohort performance
Sam Yang, Level
Diagnose the boundary before replacing the stack
An order, processor payout, bank receipt and ledger posting use different clocks and definitions. Finaloop native cohorts answer customer acquisition questions on a different basis from the company P&L. Wholesale invoices and current B2B customer balances also require an application and population bridge. None of those differences alone proves that an ERP replacement is the right next step.
Start with one order or wholesale invoice. Trace return, discount, fee, settlement and application evidence into the ledger. Then inspect inventory valuation, purchased versus sold units and the report cutoff. Assign each exception to source, timing, mapping, missing cost or accounting interpretation. Use the ecommerce bookkeeping guide for the full cohort method, and the cash-flow forecast guide for funding decisions.
Give each system a specific question
| System | Question to answer | Evidence to compare |
|---|---|---|
| Shopify | Which orders, refunds and payouts belong in the period? | Native order identities, refund timing and settlement records |
| Triple Whale | Which marketing touchpoints receive credit? | Selected attribution model, window and included channels |
| Finaloop | What does an identified customer cohort contribute over time? | Acquisition population, observed age and provider cost definitions |
| QuickBooks | What was recorded in the accounting period? | Ledger detail, account purpose and supporting settlement evidence |
Triple Whale's model guide explicitly distinguishes platform optimization from total revenue reporting. Triple Attribution gives participating platforms full credit independently, so adding their claims can exceed business sales. Other models distribute credit across the journey. Preserve the chosen model before diagnosing a mismatch; a model-normalized revenue view still needs an independent bridge to orders, refunds and the ledger.
Finaloop: a report can add up while its coverage remains unresolved
When we review built-in reports, we check the download separately from whether the financial figures are accurate and the books are complete. This does not certify every export format or the trial balance. A retained report that reproduces its displayed equation supports an arithmetic check. It does not establish that every transaction, cost or accounting treatment is represented. A useful review result can therefore say "arithmetic checked; completeness unresolved" without alleging that the books are wrong.
For receivables, retain invoice status and distinguish open invoices from drafts and voids. Then reconcile the open-invoice population to the selected customer-balance report, explaining credits and payment applications. Verify the channels actually included in each native export. Our reviewed procedure used a B2B invoice scope; that procedure does not prove a universal Finaloop exclusion of Shopify or marketplace customers.
For cash planning, supplier-bill aging is one input. Check cards, financing, tax obligations and committed inventory separately, avoiding overlap where a liability has already been included. The next decision is whether the missing answer comes from a different native report, a population bridge or a genuinely unavailable source. Make that distinction before recommending an ERP migration. The Finaloop playbook shows the collection questions and current evidence limits.
Financial evidence in practice
Do mismatched ecommerce reports require a new ERP?
First establish which answer is missing: orders, settlements, inventory, contribution or cohort performance. Shopify payout objects and Finaloop native cohorts can already address parts of the question. A cross-system mismatch alone does not justify replacing the ledger.
Run the check
- Compare report clocks, stores, currency and included events.
- Trace one order through return, fee, payout and bank receipt.
- Review inventory valuation and booked COGS separately.
- For acquisition decisions, compare customer cohorts at the same observed age and cost scope.
Fictional example: Payment to bank totals bridge
Fictional $10,000 gross payments less $1,000 refunds, $250 fees and $1,750 not yet settled produce a $7,000 deposit. The totals tie; transaction identity still needs review.
Invented teaching inputs; downloadable files store these dollar amounts in USD cents.
Inspect the expected output
{
"fictional": true,
"unit": "USD cents",
"id": "payment-bank-bridge",
"expectedDepositCents": 700000,
"differenceCents": 0,
"totalsTie": true,
"transactionReconciliation": false,
"limitation": "This is teaching arithmetic from supplied invented inputs, not source authenticity, financial assurance or authority to post."
}Reproduce this calculation
Download the code and input into one folder, then run:
node reproduce.mjs payment-bank-bridge.input.jsonThe code checks declared units and identities and refuses unsupported inputs. No browser or customer account is used. Source authenticity and accounting approval require separate evidence.
Reviewed 2026-10-06. Level financial-control guidance, with visibly fictional teaching examples. The example shows a control boundary, not a measured customer outcome or industry benchmark.
Read this content revision history
Continue with the related financial decision →Free benchmark review
See how your operating numbers benchmark.
Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.
Compare settled cash with cohort contribution
Open the related financial check when the next question concerns that workflow. The Financial Systems Field Guide holds the named-system collection notes, pitfalls and bounded prompts.
Follow one order through the handoffs
Before recommending an ERP replacement, choose one order and retain its original identity. Follow any refund, the signed settlement activity, the payout identifier, the bank occurrence and the existing ledger posting. These are separate records, even when some amounts agree.
At each broken link, assign the right owner. A missing source record belongs with collection; a later bank arrival needs a timing explanation; an unexplained fee needs settlement detail; an unmatched posting needs accounting review. A balancing entry would hide the break rather than explain it.
The Shopify worked example exposes order and settlement populations. The Stripe gross-to-net example reproduces signed activity and fees in cents before converting to dollars. Use the account investigation guide to decide what evidence would resolve the remaining difference.
Sources and method
Field Guide; Finaloop LTV methodology; Shopify payout object. Product documentation checked October 6, 2026 where linked. This guide shows how to check whether the numbers are ready to use. The examples use made-up numbers, clearly labeled and available to download. They do not include private customer documents or measured customer results. Before using the method, check that your account has the required access and that your reports count the same things.
Get the next one
Want next week's benchmark in your inbox?
One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.
Related reads
Business Growth
Buying a Contractor: Who Funds the Unfinished Jobs?
Buying a contractor? Check who funds unfinished jobs, inherits customer cash and pays old commitments. Use this closing-to-cash checklist.
Business Growth
Fire Your Fractional CFO If Nothing Changes
If nothing changes between CFO meetings, you may be paying for commentary. Use this practical test for ownership, action, and measurable progress.
Business Growth
Why a Fractional CFO Won't Fix Your Business
A fractional CFO cannot fix unreliable books, broken finance workflows, or decisions an owner will not make. Here is what must come first.

About the author
Sam Yang
Founder & CEO
Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.
LinkedIn