The month-end close for a D2C brand: a checklist that fits inventory
Closing the month is the ritual that turns a pile of transactions into numbers you can actually trust — the point where "money moved around" becomes "here's what we made, what we own, and what we owe." Skip it, or do it loosely, and every decision after is built on sand: you scale ad spend against a margin that isn't real, or discover in month three that inventory's been wrong since January.
The trouble is that almost every "month-end close checklist" you can find was written for a services business — one with no inventory, no payment processors skimming every sale, and no revenue tied to a physical box leaving a warehouse. For a D2C brand, those three things are exactly where the numbers go wrong. So here's the close built for the way you actually operate.
Why a D2C close is its own animal
Three things a services business never has to think about, and all three are landmines at month-end:
- Inventory that becomes COGS. Your biggest asset is a pile of stuff that turns into an expense only when it sells. Get the timing or the cost wrong and both your balance sheet and your margin are off — usually flatteringly.
- Processors and marketplaces.Shopify, Stripe, Amazon, and PayPal don't hand you your sales — they hand you a deposit, net of fees, refunds, and reserves, often days late. Booking that deposit as revenue quietly buries both real sales and real costs.
- Physical cut-off.Revenue follows the box, not the order. An order placed on the 31st and shipped on the 2nd belongs to next month — and pre-orders and gift cards aren't revenue at all until you deliver.
Everything below is ordered the way you'd actually work it: get the raw material in, reconcile the cash, settle inventory, recognize revenue, then review and report. Check items off as you go — it remembers where you stopped, so you can close over two sittings or come back next month and hit reset.
1 · Get the raw material in
0/22 · Reconcile the cash
0/33 · Settle inventory & COGS
0/44 · Recognize revenue correctly
0/35 · Accrue, review & report
0/3The step everyone gets wrong: inventory to COGS
Here's the one that sinks more D2C books than any other. Inventory is an asset— it sits on the balance sheet at cost — right up until the moment a unit sells, when exactly that unit's cost moves to cost of goods sold. If your books instead expense inventory when you pay the supplier (an easy cash-basis habit), COGS lurches around with your purchase orders, margin swings for no real reason, and no month tells the truth. Two rules keep it honest: landed cost — inbound freight and duty — gets capitalized into the unit, not dumped in a freight expense; and COGS is recognized against what sold, not what shipped in.
Then, once a month, you check the book against reality — because units walk off, break, and get miscounted, and none of that tells your accounting software what happened.
| Inventory true-up | At cost |
|---|---|
| Book value — what QuickBooks says | $84,200 |
| Counted on-hand — what's on the shelf | $81,050 |
| = Variance to write off to COGS | -$3,150 |
This is also the single biggest reason to keep the books clean all month, not just at close — the reconciliation is only as trustworthy as the data under it. It's the same discipline behind keeping your QuickBooks clean, applied on a deadline.
The deposit is not the sale
The second D2C landmine hides in your bank feed. When Shopify Payments or Stripe pays you, the number that lands is net— gross sales minus refunds, minus the processor's cut, minus any rolling reserve. Book that one figure as revenue and you've erased both sales and fees in a single stroke, then spend the rest of the quarter wondering why margin looks strange. The fix is to reconcile the whole bridge, every payout:
| Payout bridge | Amount |
|---|---|
| Gross sales in the batch | $12,400 |
| − Refunds | -$540 |
| − Processing fees (2.9% + 30¢) | -$372 |
| − Rolling reserve held back | -$300 |
| = Deposit that hits the bank | $11,188 |
Cut-off and the pre-order trap
Revenue recognition is where a good month can borrow from a bad one without anyone noticing. The rule for a physical-goods brand is simple: recognize revenue when the order ships, not when it's placed and not when the cash clears. Orders sitting in the pack queue on the last day are a liability, not a sale. And anything you've been paid for but haven't delivered — pre-orders, gift cards, a subscription's future boxes — is deferred revenue, cash you're holding on someone else's behalf until you ship. (Each industry has its own version of this line; it's worth reading when a sale becomes revenue for yours.)
The four numbers a close should hand you
A close isn't bookkeeping for its own sake — it exists to produce numbers you steer by. When you finish, these should fall out clean:
Gross margin
58%
sales minus real, landed COGS
Contribution / order
$22
after fulfillment & CAC — the atom
Inventory days
74days
cash sitting on the shelf
Gross margin tells you the product works; contribution margin — the real unit economics of an order after fulfillment and acquisition — tells you the business works; and inventory days tells you how long your cash is trapped on a shelf before it sells, the front half of your cash conversion cycle. Together they're the difference between knowing you had a good month and just hoping you did — and they're how a brand avoids being profitable but broke.
See what a report like this looks like on your own numbers.
Meet your AI CFO →