Most finance leaders I talk to can tell me their revenue number to the dollar. What they often cannot tell me, at least not without a pause, is how confident they are in it on any given day before the month is closed. That pause is the whole story. It is the sound of a controller who knows that somewhere between the checkout button and the general ledger, the number is being assembled by a chain of systems that do not always agree with each other. The order to cash process is where that disagreement lives, and for a fast-growing eCommerce brand it is the single most important process the finance team does not fully see.
I have spent a long time inside this problem, first building commerce capability inside NetSuite and now running an operations consultancy that does this work every day. The pattern is consistent across brands and across categories. The storefront knows what the customer bought. NetSuite knows what the business recorded. In between sits an order to cash flow that has to translate one into the other, faithfully, thousands of times a day, without anyone watching each transaction. When that translation is clean, finance trusts the number. When it’s not, finance spends the close hunting for the gap, and the gap always seems to surface at the worst possible time.
What the blind spot actually is
The order to cash process sounds like a finance term, and it is, but in an eCommerce business it’s really an integration story. A customer places an order on Shopify. That order needs to become a sales order in NetSuite. The payment needs to post. The fulfillment needs to flow back so the item ships and the inventory decrements. The refund, if there is one, needs to reverse cleanly. The marketplace settlement needs to reconcile against what the channel actually paid out. Each of those steps is a handoff between systems, and each handoff is a place where a small mismatch can hide.
The blind spot is not that finance does not understand accounting. It is that the accounting depends on data that originates outside finance, in systems finance does not control, carried by an integration layer finance rarely looks at directly. A controller can reconcile a bank statement with confidence because the inputs are stable. Reconciling a day of eCommerce orders is a different exercise, because the inputs are arriving from a Shopify NetSuite integration, an Amazon settlement feed, a TikTok Shop payout, and an EDI trading partner, each on its own cadence and each with its own quirks. The number is only as trustworthy as the weakest pipe feeding it.
How the gap opens
The gap rarely opens with a dramatic failure. It opens quietly. A brand launches a new payment method at checkout, and the order to cash flow was not designed to recognize the way that method reports its fees, so a small slice of orders starts posting with a tax or fee line that lands in the wrong account. Nobody notices at low volume because the dollars are small and the team resolves the exceptions by hand. Then volume triples during a promotion, the manual resolution falls behind, and the error queue becomes a backlog the close cannot ignore.
Or a brand adds a marketplace channel. The orders flow in, but the settlement decomposition was never fully wired, so the payouts land as a single lump that finance has to break apart manually every month. For a while that is a two-hour task. Eighteen months later it is a two-day task, and it is the reason the close slips. The underlying integration was not wrong. The business simply grew past the shape the original flow assumed, and the order to cash design did not grow with it.
Returns are the version of this I see most often. Refund and return flows are the silent driver of messy financials because they touch revenue recognition, inventory, and the customer record all at once. A return that double-posts, or posts to the wrong period, or fails silently and never reverses, will not announce itself. It will sit in the data until someone reconciling the period finds a number that does not tie. By then the work is forensic rather than preventive, and forensic work during the close is expensive in both hours and confidence.
Why this is a NetSuite and integration question, not just an accounting one
When a brand asks me to help them trust their revenue number, the instinct is to look at the close process. That is the wrong starting point. The close is where the gap surfaces, but it’s almost never where the gap originates. The gap originates upstream, in the order to cash flow, in the way the storefront data is captured and carried into the system of record.
This is the layered reality of an eCommerce operations stack, and it is worth stating plainly because it reframes the whole problem. The channels and marketplaces hold the truth about what the customer ordered and what they paid. NetSuite holds the record of what the business did about it, and it is the system of record that finance closes against. The integration platform carries the truth across, in both directions, between the storefront, the financial system, and the warehouse. Celigo is what does that carrying for most of the brands we work with, and when it is configured to match how the business actually operates, the order to cash flow runs clean and the close gets boring in the best possible way.
That phrase, a boring close, is the goal. A boring close means the data tied out before anyone opened the period. It means the sales orders, the cash and payment postings, the item fulfillments, and the customer refunds all reconciled into the period they belong to, automatically, because the integration was designed to make that happen. Boring is what trust looks like in practice. The brands that get there did not get there by working harder during the close. They got there by investing in the order to cash design before the volume forced the issue.
The questions a finance leader should be asking now
If you run finance for an eCommerce brand and you feel that pause when someone asks how confident you are in the daily number, there are a handful of questions worth putting to your operations and technology partners. The first is whether every channel posting revenue is reconciling cleanly into NetSuite without manual intervention, and if not, which channels require a human to close the gap each period. That list of exceptions is your risk map.
The second is whether your refund and return flows reverse cleanly and land in the correct period. This is the question most likely to expose a problem, and it is the one most worth fixing early, because return volume is seasonal and the cost of a broken return flow compounds at exactly the moment the close is already under pressure.
The third is whether your marketplace settlements decompose automatically into their component parts, or whether someone is breaking apart a payout by hand every month. Manual settlement work is a tax on the finance team that grows linearly with the business, and it is almost always solvable in the integration layer.
The fourth is whether anyone owns the health of the order to cash flow on a daily basis, rather than discovering problems during the close. Revenue recognition for an eCommerce brand is a continuous process, not a monthly event, and it deserves continuous attention. The brands that treat it that way are the ones whose CFOs can answer the confidence question without pausing.
What continued success looks like
There is a line I use with the brands we work with, which is that NetSuite is not a project, it is a practice. The same is true of the order to cash flow that feeds it. The implementation goes live and the integration starts running, and then the business changes underneath it, every quarter, in ways the original design could not have fully anticipated. New channels, new payment methods, new fulfillment models, new platform releases from Shopify and from every marketplace. A Shopify NetSuite integration that produced a clean order to cash flow last year can be quietly dropping data this year simply because the business evolved and the flow did not evolve with it.
Keeping that flow current is the work that turns a good NetSuite instance into a durable one. It is why we think about our role with clients as continued NetSuite success rather than a single implementation event, and it is why a strong Celigo integration, maintained as infrastructure rather than treated as a utility that runs in the background, is the difference between a finance team that trusts its number and one that hopes the number holds. As a top Celigo implementation partner, the work I care most about is not the go-live. It is the boring close that comes twelve months later, when the storefront and NetSuite agree on every transaction and finance can finally say the number with no pause at all.
If your order to cash flow is overdue for a hard look, the middle of the year is the right time to take it, while there’s still room to fix what you find before the season turns. Trust in the number is not a reporting problem. It’s built upstream, one clean handoff at a time, and it is worth building on purpose.