Reconcile the payouts, COGS, and reserves that generic checklists miss, and close your books by the fifth business day, every month.
It is the twelfth of the month and you still cannot answer a simple question: did you make money in October? The bank balance went up, but the bank balance always goes up in the weeks after a good sale, right before the ad invoices and the inventory restock clear it back out. The books are not closed. The Shopify payout report does not line up with the deposits. Two refunds went out last week against orders from a month ago and nobody recorded them anywhere. So you guess, and then you buy inventory on the guess.
This is how most growing DTC brands run their finances: a close that happens late, differently each time, or not really at all, because the process lives in the founder's head or a bookkeeper's inbox and was never written down. It works at $500k. It breaks somewhere past a million, when the payout timing, the COGS swings, the subscription revenue, and the sales tax across a dozen states stop fitting in one person's memory.
This is the SOP that closes your books by the fifth business day, the same way every month, built for the specific mess that DTC accounting actually is. Not a generic checklist, and not a pitch for a bookkeeper. A repeatable sequence, the reconciliations that are unique to a Shopify brand, the reserves everyone forgets, and a way to keep the whole thing from rotting as your stack changes underneath it.
A corner store's month-end close is genuinely simple. Sales in, expenses out, reconcile one bank account, done. A DTC brand's close has landmines the generic checklist never mentions, and every one of them can push a number into the wrong month.
The payout one is the killer, because it silently corrupts revenue, the number every other number leans on. Reconcile to the Shopify payout report period, not the date the money hit your bank, and route it all through a Shopify Payments clearing account so each payout matches its own report. Skip that and your revenue lands in the wrong month, and every margin, tax accrual, and decision downstream inherits the error.
A late or missing close is not a bookkeeping inconvenience. It is decisions made blind. When you cannot close October until the middle of November, you spend the first half of November not knowing whether October worked. So you set the ad budget, approve the restock, and weigh a new hire on last month's gut feel or a number that is still moving. In a business where a single inventory buy can be the largest check you write, that is an expensive way to fly.
Then there is the close hero. At most brands the books get closed because one person, the founder or a fractional bookkeeper, carries the whole routine in their head and just does it. It holds right up until they are slammed, on holiday, or gone, and then the close simply stops, or someone else attempts it and books half of it to the wrong month. The knowledge was never on paper.
And errors compound. An uncaught COGS variance or a payout booked to the wrong period does not stay in that month. It rolls forward, so next month's opening numbers are already wrong, and you spend the following close chasing a discrepancy that started two months ago. A clean close is not about tidiness. It is the thing that keeps last month's mistake from becoming this month's mystery.
A month-end close is not data entry. It is finalizing the period so the numbers can be trusted, on a schedule, by a process that does not depend on one person's memory. The goal is accurate books by day 5, produced the same way whether the founder or a second-week hire runs the close.
Even a two-person finance function needs the roles named, because "we will both keep an eye on it" is how a close falls through the cracks.
Write those three roles down with names next to them. The point is not bureaucracy. It is that when the preparer is out the review still happens, and when a bill shows up on the sixth everyone already knows which month it belongs to.
The target is a close finished by the fifth business day of the new month. Here is the sequence that gets you there. Run it in this order, because each step depends on the one before it being right.
This is the reconciliation that decides whether the rest of your close is built on sand. The money Shopify deposits is not your sales. It is your sales, minus processing fees, minus refunds it clawed back, netted across whatever orders happened to fall in that payout window, which almost never lines up with a calendar month.
The fix is a Shopify Payments clearing account. Record gross sales, fees, and refunds against the clearing account as they happen, then match each actual payout to its Shopify payout report and clear it to the bank. Reconcile to the report period, not the day the deposit landed. Do this and your October revenue is October's orders, full stop. Skip it and a payout that hit the bank on November first drags three days of October sales into November, and every downstream number inherits the lie.
Your cost of goods sold is only as good as your inventory count, and your inventory count lives at a 3PL you cannot see. So COGS is a reconciliation, not a lookup. Book the cost of what shipped this month, then tie your book inventory to the physical count from the warehouse.
Set a tolerance and hold to it. For most ecommerce brands a book-to-physical variance under two percent of total inventory value is acceptable and not worth chasing to the unit. Anything larger gets investigated before you close, because an uncaught inventory swing is an uncaught COGS swing, and COGS is usually the single biggest cost between your revenue and your profit.
The upstream process that makes your COGS trustworthy: how to reconcile book inventory to the physical count and keep the variance inside tolerance.
This is where a close quietly lies to you, because the easy sins are all sins of omission. Three to book every month:
One more, small but chronic: date payroll journals to the period the work happened in, not the day the payment cleared. A payroll run that pays on the second for the last half of the prior month belongs to the prior month.
The workflow behind the chargeback side of your reserve: how to fight disputes, track the loss, and book it to the right period.
Almost every broken DTC close traces back to the same five errors, in roughly this order of frequency:
Notice that four of the five are timing errors, not arithmetic errors. The math is rarely wrong. What breaks a DTC close is money landing in the wrong month, which is exactly why the sequence and the cutoff matter more than the spreadsheet.
The advice to "just book it when the cash moves" feels simpler and is wrong. Cash-timing your books means refunds, payouts, shipping bills, and payroll all land in whatever month they happen to clear, not the month they belong to. Every profit number becomes a function of banking timing rather than the health of the business, and you cannot trust a single one of them.
A close SOP does not stay accurate on its own, because the thing it documents keeps changing. You add Recharge and now there is deferred revenue to recognize. You switch 3PLs and the inventory report you reconcile against has a different format. You cross a sales-tax threshold in two new states. You move ESPs, add a marketplace, change your payout schedule. Each one makes a step in the doc wrong, and the doc does not tell you.
That is SOP drift, and in a finance process it is expensive, because a close that follows a stale procedure produces numbers that look finished and are wrong. Documented and wrong is worse than undocumented, since undocumented at least makes you check. Review the SOP whenever your stack changes, and re-record the close the first time you run it under a new tool.
The pillar behind the drift problem this close SOP is built to survive: a finance doc that looks finished and is quietly wrong is the worst kind.
How the close fits into a maintained system of procedures instead of rotting in a shared drive between one bookkeeper and the next.
Do not rebuild your accounting. Close one month following a written sequence, in order, and time it. The first honest close is almost always slower and messier than you expect, and that mess is the map of what your process was silently skipping.
Then write three things down: your AP cutoff date, the fact that payouts reconcile to the report period through a clearing account, and the name of the person who reviews and locks the close. That single page survives a bookkeeper leaving, which no amount of tribal knowledge does.
The hard part is not knowing the steps. It is capturing what your bookkeeper actually clicks through each month, the small judgment calls they carry in their head, and keeping that record honest as your stack shifts. That is the exact problem we built ReccordSOP to solve. Record your bookkeeper running one close end to end, and ReccordSOP turns it into a screenshot-by-screenshot SOP the rest of the team can follow. When you switch 3PLs or add a subscription tool and a step goes stale, drift detection flags it before it corrupts a quarter of financials.
Record your next month-end close once and generate the SOP free at reccordsop.com.
The benchmark for a well-run ecommerce finance function is a close finished by the fifth business day of the new month. If yours takes until the middle of the month, or does not reliably happen at all, the fix is almost never working faster. It is a written sequence run in the same order every time, so the person closing is not re-deriving what to reconcile and in what order from scratch. Speed is a byproduct of a repeatable process, not effort.
Because a payout is a net figure that crosses periods. Shopify deposits your sales minus its processing fees minus any refunds it clawed back, bundled across whatever orders fell in that payout window, which rarely matches a calendar month. A payout landing in your bank on the first of the month usually contains the last few days of the prior month's orders. Reconcile through a Shopify Payments clearing account and match each payout to its report period rather than the deposit date, and the mismatch resolves.
Yes, arguably more. A bookkeeper does the reconciliations, but the SOP is what makes the close consistent and survivable. It documents the cutoff, the reserves, and the DTC-specific reconciliations so the close does not change character when your bookkeeper is busy, and does not stop entirely when you switch bookkeepers. A good bookkeeper welcomes it, because it is the same procedure they would want their own replacement to follow.
For most ecommerce brands, a book-to-physical inventory variance under two percent of total inventory value is considered acceptable and not worth chasing to the unit. Anything larger gets investigated before you close, because inventory drives COGS, and COGS is usually the largest cost standing between your revenue and your profit. An uncaught inventory swing is an uncaught profit swing.
Book them against the period the revenue belongs to, not the month the refund clears, by carrying a returns and chargeback reserve. If you only record refunds when they happen, the month of the sale looks more profitable than it was and the later month absorbs a loss it did not create. Estimating a reserve keeps each month honest and stops your profit from swinging on the timing of disputes rather than the health of the business.
I built ReccordSOP after watching too many DTC ops teams lose months to undocumented workflows. These SOPs are battle-tested with Shopify operators running $1M to $50M brands.
Last reviewed July 17, 2026
Your stock count drifts the same way your SOPs do. The difference is this one oversells products you don't have.
Manual responses win under 20 percent of the time. A repeatable process is how you flip that.
Most SOPs are wrong within 90 days of publishing. Here's how to detect it before it costs you a customer.
We use essential cookies for sign-in and a small amount of analytics to improve the product. Privacy policy.