Blog/Operations
OperationsJuly 17, 2026·12 min read

The Month-End Close SOP for Shopify DTC Brands

Reconcile the payouts, COGS, and reserves that generic checklists miss, and close your books by the fifth business day, every month.

AY
Anand Yadav · Founder, ReccordSOP
·Last reviewed July 17, 2026

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.

Why month-end close is harder for a DTC brand

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.

  • Your Shopify payouts do not match your sales or your bank. A payout that lands in your account on the first of the month is stuffed with orders from the last three days of the previous one, minus Shopify's fees, minus refunds it clawed back. The deposit is a net figure that crosses two periods.
  • Your COGS moves with inventory you cannot see. The stock sits at a 3PL, the counts drift, and the cost of what you sold this month depends on a number you have to reconcile, not one you can read off a screen.
  • Refunds and chargebacks land in different months than the sale. A customer buys in September and disputes in November. Book the loss in November and September looks more profitable than it was while November looks worse.
  • Subscription revenue recognizes on its own schedule. If you run Recharge, a prepaid three-month plan is cash today and revenue spread across three months, and your close has to know the difference.
  • Then the long tail: ad spend across three platforms, thirty app subscriptions to categorize, shipping costs that invoice after the fact, and sales tax accruing in every state you crossed a threshold in.

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.

The real cost of a close that limps (or never happens)

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.

The core idea

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.

Who owns 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.

  • The preparer does the reconciliations: payouts, bank, COGS, accruals. Usually the bookkeeper or the ops person who owns the numbers.
  • The reviewer checks the close before it is locked: does revenue tie to the payout reports, is the inventory variance inside tolerance, did the reserves get booked. Usually the founder or finance lead, and it should not be the same person who prepared it.
  • One owner sets the AP cutoff: the date each month after which a late vendor invoice goes into next period, not this one, so the close is not held hostage waiting for one straggler bill.

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 month-end close, step by step

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.

  1. Set the cutoff and pull the reports. Fix the AP cutoff date, then pull the month's Shopify payout report and transactions, the bank and credit card statements, the ad platform invoices, and the inventory counts from your 3PL or warehouse.
  2. Reconcile Shopify payouts through a clearing account. Match each payout to its report period, not the deposit date, so sales and fees land in the right month.
  3. Reconcile the bank and every payment processor. Tie deposits to payouts, catch anything that did not clear, and confirm nothing is double-counted.
  4. Post COGS and reconcile inventory. Book the cost of what shipped, reconcile book inventory to the physical count, and investigate any variance over your tolerance.
  5. Book the reserves and accruals. A returns and chargeback reserve, the shipping cost accrual for labels billed after the fact, and any accrued expenses from bills that fall after the AP cutoff.
  6. Categorize spend and reconcile subscription revenue. Sort ad spend, apps, and software to the right accounts, and if you run subscriptions, recognize prepaid revenue across the right periods instead of all at once.
  7. Accrue sales tax. Record the liability for every state you have nexus in, based on the month's taxable sales, so it is set aside before you look at profit.
  8. Review, then lock. The reviewer ties revenue to the payout reports, checks the inventory variance and the reserves, scans the P&L for anything that looks off, then locks the period so nobody edits it after the fact.

Reconcile your Shopify payouts first (the step everyone gets wrong)

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.

Post COGS and reconcile inventory

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.

Inventory reconciliation SOP for Shopify and 3PL

The upstream process that makes your COGS trustworthy: how to reconcile book inventory to the physical count and keep the variance inside tolerance.

Book the reserves and accruals nobody remembers

This is where a close quietly lies to you, because the easy sins are all sins of omission. Three to book every month:

  • A returns and chargeback reserve. Refunds and disputes land weeks after the sale. If you only record them when they hit, the month of the sale looks more profitable than it was. Estimate the reserve against the period the revenue belongs to.
  • A shipping cost accrual. Your carrier and 3PL invoice after the fact, so the labels you generated in the last week of the month often bill in the next one. Accrue the cost to the month you actually shipped.
  • Accrued expenses from the AP cutoff. Any bill for the month that lands after your cutoff date still belongs to the month. Accrue it now rather than letting it slip into next period's numbers.

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.

Chargeback dispute SOP for Shopify DTC

The workflow behind the chargeback side of your reserve: how to fight disputes, track the loss, and book it to the right period.

The five mistakes that break a DTC close

Almost every broken DTC close traces back to the same five errors, in roughly this order of frequency:

  1. Inventory and COGS discrepancies not caught before the close, so the biggest cost on the P&L is wrong and profit is a guess.
  2. Payout timing that books revenue in the wrong period, the sand-foundation problem, because the payout was matched to the deposit date instead of its report.
  3. Missed accruals from an early or fuzzy AP cutoff, so real expenses for the month never make it into the month.
  4. An unbooked returns or chargeback reserve, which flatters the month of the sale and punishes the month of the refund.
  5. Payroll journals dated to the pay date instead of the period the work was actually done.

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 tempting shortcut that costs you

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.

Keep the close from drifting

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.

SOP drift: why your documentation is lying to you

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.

Build a DTC SOP library that doesn't go stale

How the close fits into a maintained system of procedures instead of rotting in a shared drive between one bookkeeper and the next.

Where to start this week

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.

Frequently asked questions

How long should a DTC month-end close take?

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.

Why don't my Shopify payouts match my sales or my bank deposits?

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.

Do I still need a close SOP if I have a bookkeeper?

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.

What inventory variance is acceptable at month-end close?

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.

How do I handle refunds and chargebacks that hit in a different month than the sale?

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.

AY
Anand YadavFounder, ReccordSOP

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

Related reading