This tutorial walks through the exact adjusting entries a Shopify brand books at month-end close. It covers Shopify Payments payout timing, unshipped orders, inventory shrinkage, and app subscription prepayments — the entries that actually move numbers on a DTC P&L, not the textbook wages-and-depreciation examples.
1What Are Adjusting Entries?
Adjusting entries are journal entries booked at the end of an accounting period to record revenue earned or expenses incurred that the day-to-day bookkeeping missed. They exist because cash movement and economic activity rarely happen on the same day. For a Shopify brand, the gap between a checkout on the last day of the month and the Shopify Payments payout three days later is the classic example.
There are two big categories. Accruals record something that happened but has not been paid or received in cash yet. Deferrals record cash that has moved but relates to a future period. Every adjusting entry on a Shopify close falls into one bucket or the other.
2What You'll Need
- Shopify admin access with reports permission
- QuickBooks Online or Xero with journal entry rights
- A Bookkeep connection between Shopify and the GL (this is what we use for the 100+ Shopify stores Ottit closes books for)
- Shopify Payments payout report for the last day of the month plus the following week
- 3PL invoice for the period (ShipBob, ShipMonk, or in-house 3PL bill)
- Inventory cycle count or ending inventory report from Cin7 or Shopify
- List of prepaid app subscriptions (Klaviyo, Recharge, Gorgias, Shopify Plus fees)
3Close the Sales Cutoff and Identify Unshipped Orders
Pull the Shopify Orders report filtered by created_at within the month and fulfillment_status not equal to fulfilled. These are orders where cash was collected but the product has not shipped. Under ASC 606, revenue is recognized at the point control transfers, which for most Shopify brands is shipment, not checkout.
The adjusting entry moves the value of unshipped orders out of revenue and into a deferred revenue liability. If a brand collected $42,000 in orders on the last two days of the month that ship in the new month, the entry looks like this:
This entry reverses on the first day of the next month. When the orders ship, revenue lands in the correct period. For more detail on the liability treatment, see the Ottit guide on unearned revenue vs deferred revenue.
You'll know this worked when the unshipped order balance on the balance sheet equals the sum of open, paid, unfulfilled orders in Shopify on the last day of the month.
Actionable takeaway: Any Shopify brand doing accrual accounting should run this unshipped-orders report every month-end and book the deferral. Skipping it overstates revenue in months with a strong final week.
4Accrue the Shopify Payments Payout Gap
Shopify Payments settles on a rolling basis, typically 2-3 business days after the sale. Cash sitting in the payout pipeline on the last day of the month is real earned revenue that has not yet hit the bank. Ignoring it creates a mismatch between the sales report and the cash account.
Pull the Shopify Payments Balance report on the last day of the month. It shows funds in transit — sales settled through the gateway but not yet deposited. This becomes an asset on the balance sheet.
When the deposits actually land in July, they credit the clearing account, bringing it back to zero. Ottit uses Bookkeep to automate this daily summary journal across the 100+ Shopify stores it closes books for — the payout gap is handled automatically because Bookkeep books revenue on the sale date and reconciles the deposit when it arrives.
Actionable takeaway: The Shopify Payments clearing account should always reconcile back to the Shopify Payments Balance report. If it does not, the payout gap accrual is off.
5Book the 3PL Invoice Accrual
Fulfillment fees are one of the largest COGS lines on a Shopify P&L, and 3PLs almost always invoice in arrears. ShipBob, ShipMonk, and most warehouse partners bill 5-15 days after month-end for services already performed. Without an accrual, June's fulfillment cost lands in July, making June margins look artificially strong.
The accrual estimates the invoice based on order volume already known. Pull shipped order count from Shopify, multiply by average pick-pack-ship cost, and add storage and receiving fees.
This entry reverses on the first of July. When the real ShipBob invoice arrives at $49,200, the variance ($313) hits July as a true-up. Bookkeepers targeting sub-2% variance track the accuracy of this estimate over time. For deeper detail on this pattern, see the Ottit accrued expenses playbook.
Actionable takeaway: Any Shopify brand using an external 3PL should accrue fulfillment monthly. The variance between estimate and actual should stay under 5% — larger variances mean the cost-per-order model needs updating.
6Record Inventory Shrinkage from the Cycle Count
Inventory on the books almost never matches inventory on the shelf. Damage, miscounts, warehouse errors, and theft all cause shrinkage. According to the National Retail Federation's 2025 National Retail Security Survey, total retail shrink represented approximately 1.6% of sales industry-wide, with a meaningful share tied to operational and process errors. For Shopify brands using a 3PL, shrinkage typically runs 0.5% to 2% of inventory value.
At month-end, compare the perpetual inventory balance in Cin7 or Shopify against the cycle count from the 3PL. The difference is the shrinkage adjustment.
This entry is not reversing. It is a permanent adjustment that writes inventory down to the true count. Brands running Cin7 or another ERP get this variance automatically. Brands relying on the basic Shopify inventory tool need to run the comparison manually. See the Ottit inventory turnover playbook for how shrinkage rolls into unit economics.
Actionable takeaway: Any Shopify brand carrying physical inventory should run a cycle count at least quarterly and book shrinkage monthly using a rolling estimate. Waiting until year-end creates a big surprise adjustment that distorts Q4 margins.
7Amortize App Subscription Prepayments
Shopify brands pay for a lot of software upfront. Annual Klaviyo plans, Shopify Plus fees paid quarterly, Recharge annual contracts, and Gorgias annual deals all create prepaid expense balances. Under accrual accounting, these get expensed over the period they cover, not in the month they were paid.
For each prepaid subscription over roughly $1,000, set up a prepaid expense schedule. Small monthly subscriptions can be expensed as paid without meaningful distortion.
| Subscription | Total Paid | Period Covered | Monthly Amortization |
|---|---|---|---|
| Klaviyo annual | $18,000 | 12 months | $1,500 |
| Shopify Plus quarterly | $6,000 | 3 months | $2,000 |
| Recharge annual | $9,600 | 12 months | $800 |
| Gorgias annual | $7,200 | 12 months | $600 |
| Total monthly | — | — | $4,900 |
Actionable takeaway: Any prepayment over $1,000 covering more than one month should hit a prepaid expense account first and amortize monthly. This keeps operating expenses smooth across the year.
8Handle Shop Pay Installments and Buy-Now-Pay-Later Timing
Shop Pay Installments (powered by Affirm) and other BNPL options like Afterpay and Klarna pay the merchant upfront, minus a fee. Revenue recognition is not the issue — cash is received at the time of sale. But the fee structure and reserve holdbacks create small timing adjustments.
Affirm's merchant fee is typically 5-6% versus Shopify Payments at ~3%. Some brands book the BNPL fee to a separate expense line to track the true cost of offering installment options. If Affirm holds a reserve (common for higher-risk categories), that reserve sits on the balance sheet as a receivable and requires no monthly adjustment beyond confirming the balance.
Actionable takeaway: Any brand where BNPL is more than 10% of orders should split BNPL fees from generic processing fees. It changes contribution margin materially and affects channel-level decisions.
9Post Sales Tax Liability Adjustments
Shopify calculates sales tax at checkout, but the liability sits until it's remitted to the state — sometimes months later depending on the filing frequency. At month-end, the sales tax liability account should equal the total sales tax collected less any remittances made during the period.
For brands using Bookkeep for sales tax automation, this reconciles automatically. Bookkeep pulls the tax collected per state and posts it to a state-specific liability account. When the return is filed, the payment clears the liability. For more on how sales tax posts through the P&L, see the Ottit ecommerce sales tax guide.
The adjusting entry, if needed, reconciles rounding differences and any tax collected but not yet posted to a liability account.
Actionable takeaway: Any Shopify brand collecting sales tax in multiple states should reconcile the sales tax liability by state every month. Waiting until filing time creates painful reconciliation work and often uncovers errors.
10The Reusable Shopify Month-End Adjusting Entry Checklist
Here is the checklist Ottit uses across the Shopify brands it closes books for. Every item ties to a specific Shopify data source and a specific adjusting entry.
| Adjustment | Shopify Data Source | Entry Type | Reverses? |
|---|---|---|---|
| Unshipped orders | Orders report (unfulfilled) | Deferral | Yes |
| Shopify Payments payout gap | Payments Balance report | Accrual | Yes |
| 3PL fulfillment accrual | Shipping report + 3PL rate card | Accrual | Yes |
| Inventory shrinkage | Cycle count vs Cin7/Shopify | Adjustment | No |
| Prepaid app amortization | Prepaid schedule | Deferral | No (amortize) |
| Sales tax liability true-up | Shopify tax report by state | Adjustment | No |
| BNPL fee reclass | Affirm/Shop Pay statements | Reclass | No |
| Gift card breakage | Gift card outstanding balance | Deferral | No (release) |
| Returns reserve | Historical return rate × sales | Accrual | Yes |
Gift card accounting deserves its own treatment — see the Ottit gift card GL playbook for the deferred revenue and breakage mechanics. Returns reserves are covered in the sales returns and allowances guide.
11Common Mistakes with Adjusting Entries
- Not reversing accruals. Accruals like the Shopify Payments payout gap and 3PL estimate must reverse in the next period. Forgetting to reverse doubles the expense or revenue.
- Booking gross instead of net for Shopify Payments. Sales revenue is gross; processing fees are a separate expense. Booking just the net deposit understates both revenue and fees.
- Using cash-basis for inventory. GAAP generally requires accrual accounting for inventory-based businesses. Expensing inventory purchases as paid instead of when sold overstates COGS in months with large POs.
- Ignoring the 3PL invoicing lag. A 3PL invoice covering June that arrives on July 12 belongs in June. Without an accrual, June margins look 3-8 points better than reality.
- Recognizing revenue at checkout on cross-period orders. Orders placed 2026-06-30 that ship 2026-07-02 are July revenue, not June.
12Troubleshooting
The Shopify Payments clearing account won't reconcile
Pull the Shopify Payments Balance report and the payout report for the first week of the new month. Reconstruct which sales fall in which payout batch. Common cause: refunds processed after month-end that offset the clearing balance. Post those refunds to the correct period.
The 3PL accrual variance is over 10%
Recalculate the average cost per order using the last three actual invoices. Storage fees also vary as inventory levels shift. If seasonality is the cause, use a rolling three-month average instead of a single prior month.
Inventory shrinkage is negative (a surplus)
A positive count variance usually means receipts weren't booked or returns weren't restocked in the ERP. Trace to POs received in the period and RMAs processed. Rarely is it real found inventory — almost always a data entry gap.
13Key Takeaways
- Adjusting entries align Shopify cash movement with the periods where revenue was earned and expenses were incurred.
- The seven entries most Shopify brands book monthly: unshipped orders deferral, payout gap accrual, 3PL accrual, shrinkage, prepaid app amortization, sales tax true-up, and returns reserve.
- Accruals reverse next period; adjustments and amortizations do not.
- Bookkeep automates the payout gap and sales tax entries for stores where Ottit closes books.
- Skipping adjusting entries makes monthly P&Ls swing wildly and hides real margin performance.
14Sources
- National Retail Federation, 2025 National Retail Security Survey — retail shrink percentage of sales
- FASB ASC 606, Revenue from Contracts with Customers — control-transfer principle
- Shopify Help Center, Payouts and Payments Balance report documentation
- IRS Publication 538, Accounting Periods and Methods — accrual method requirements for inventory-based businesses