Financial Accounting

Month-End Close for Ecommerce: The Process, the Review and the Inventory Tie-Out

This is not a promise that you will close in an afternoon. It is the close as ecommerce accountants describe it, the mistakes that make it slow, the checks you can run on your own books this week, and then what SKU.io does about each step and what it doesn’t do.

What the close is for

A month-end close is the point where someone says “these are March’s numbers” and means it. Revenue, cost of goods sold, inventory, what you owe and what you’re owed all agree with the outside evidence: the bank, the marketplace statements, the supplier bills and the stock on the shelf. After that, the month is a fixed reference. Your accountant files from it, your lender reads it, and next month starts from its closing balances.

An ecommerce close is harder than a service business’s close for three reasons.

  1. Revenue arrives in payouts, not invoices. Amazon, Walmart, TikTok Shop and Shopify each send one deposit that is sales minus fees minus refunds minus reserves. The deposit is the only number your bank sees. Everything else has to be rebuilt from the statement behind it.
  2. Inventory is usually the largest asset, and two systems hold it. The inventory system knows units and layers of cost. The general ledger knows one dollar balance. They drift apart every month unless someone ties them back together.
  3. Payout periods ignore the calendar. An Amazon settlement that runs from March 26 to April 9 has March sales in it and pays out in April.

The close, in the order that works

This is the standard practice, written for a seller with one to five people touching the books. Each step leans on the one before it.

1. Let the month settle. Don’t start on the 1st. Late payouts, marketplace reports and supplier bills keep arriving for a few days. Starting on the 4th means what’s left on your list is a real exception, not work that hasn’t come due.

2. Account for every payout. List every settlement and payout that ended in the month. Each one needs a bank deposit, a recorded card charge (when the payout was negative), or a reason it has neither. A payout that spans month end gets split so each month carries its own sales, fees and refunds.

3. Make sure revenue is counted once. If orders post an invoice and the payout also posts the sale, the same revenue is in your books twice. Pick one owner per channel. For marketplace channels it should be the payout.

4. Tie inventory to the ledger. Compare the inventory system’s value at month end with the inventory accounts in the general ledger. Explain the difference and post an adjustment. Inbound freight is the usual cause.

5. Clear the in-between accounts. Clearing accounts, inventory in transit, vendor deposits and accrued landed cost should hold only what is genuinely still in motion at month end. Anything older is a posting that never finished.

6. Reconcile bank, card and merchant accounts to their statements. A connected bank feed is not a reconciliation. The statement balance has to equal the ledger balance, and when they disagree, the bank is right.

7. Review the statements. Read the income statement, the balance sheet and the inventory valuation side by side with last month’s. Gross margin that jumps three points, or an inventory balance that rose while you sold through stock, is a question to answer before you sign.

8. Have a second person close it. The person who prepared the month should not be the person who signs it off. A reviewer reads the work, the overrides and the open items, then closes.

9. Lock it later. Sign each month off as it ends. Freeze the books (a closing date in QuickBooks, a lock date in Xero) at quarter end or year end, once the months it covers are signed off and filed.

The month-end close checklist post turns these steps into a list you can copy, with the line items under each one.

The common mistakes

Letting the inventory system post marketplace income by calendar day. Daily summaries of order revenue rarely match a deposit. The bookkeeper ends up with a clearing account that grows a little every month, and nobody can say what is in it.

Booking the payout net. A $12,480 deposit booked as $12,480 of revenue hides $5,050 of fees and $670 of refunds. Margin by channel becomes impossible to read, and so does the fee trend.

Treating a negative settlement as nothing. When a settlement closes negative, Amazon charges your card or takes it from the next settlement. There is no deposit to match, so it gets skipped. The refunds and fees in it still happened.

Posting freight-in to an expense account. The inventory system capitalizes the freight into each unit’s cost. The ledger puts the same bill in Freight Expense. Now inventory in the ledger is low, gross margin is low this month and high when the stock sells, and the two systems disagree by the full bill.

Netting errors against each other. A $3,900 understatement and a $1,140 overstatement look like a $2,760 problem. They are two problems, and the second one comes back next month.

One person does everything. In a two-person finance team, the person who keys the entries also approves them. Not out of carelessness. Nobody decided otherwise.

Locking too early, or never. Lock the month on the 5th and the supplier bill that arrives on the 12th has to go into April, which moves March’s cost into April. Never lock and someone edits a filed quarter by accident in October.

Closing with known differences and no record of them. Everyone knew about the small receivable difference. Six months later nobody remembers why March was signed off with it open.

How to check your own books this week

You can run each of these in an hour or less with what you already have.

  1. The deposit test. Pull last month’s settlement list from each marketplace. Next to each settlement, write the bank deposit date and amount, or the card charge. Any blank row is money you haven’t accounted for.
  2. The double-revenue test. Run sales by channel from your ledger for last month and compare it with the marketplace’s own sales report. If the ledger is close to double on a channel, both the orders and the payouts are posting revenue.
  3. The inventory tie-out. Take the inventory system’s valuation report at last month end and the ledger’s inventory account balance on the same day. Write down the difference. If you have never done this, do it for three months in a row and see whether the gap grows.
  4. The clearing account age test. Open each clearing account in the ledger. If it holds anything dated more than a week before month end, that money was received and never matched.
  5. The reviewer test. For last month, write down who prepared the books and who approved them. If it is the same name, you have one-person review.

The inventory reconciliation post walks through test 3 in detail, and the Amazon settlement post walks through test 1 for Amazon.

Two worked examples

These use invented numbers.

Splitting a settlement that crosses month end

An Amazon settlement runs from March 26 to April 9 and deposits $12,480 on April 11.

Mar 26 to Mar 31Apr 1 to Apr 9Whole settlement
Sales7,400.0010,800.0018,200.00
Fees(2,060.00)(2,990.00)(5,050.00)
Refunds(290.00)(380.00)(670.00)
Net5,050.007,430.0012,480.00

Booked as one document in April, March is missing $7,400 of sales and $2,060 of fees. Split, March carries its part, dated March 31, and April carries the rest. The two parts still add up to the one $12,480 deposit, so the bank match doesn’t change.

Tying inventory to the ledger

At March 31 the inventory system values stock at $184,600. The ledger’s inventory account says $179,320. The gap is $5,280. Working through it:

CauseEffect on the ledgerAmount
A container’s $3,900 freight bill was posted to Freight ExpenseLedger inventory too low(3,900.00)
A $1,140 stock-take write-off was recorded in the inventory system, but its journal never reached the ledgerLedger inventory too high1,140.00
A $2,520 receipt on March 30 had its supplier bill entered in the ledger in AprilLedger inventory too low(2,520.00)
Net gap(5,280.00)

The net gap is $5,280, but $7,560 of errors sit behind it, because the write-off pulls the other way. Each line gets its own correcting entry. Posting one $5,280 plug would make March tie and leave all three causes to repeat in April.

Soft close and hard close

There are two different acts at month end, and most small teams run them together.

A soft close signs the month off. The numbers are reviewed, the report pack is saved, and that pack becomes March’s numbers of record. If a late bill lands in March afterward, it posts on its real date, and the month shows that it changed and needs signing off again.

A hard close freezes the books. Nothing dated on or before the lock date can be posted or edited. It suits a quarter you have filed or a year your accountant has finished.

Sign off every month. Lock at quarter end or year end. The post on QuickBooks closing dates and Xero lock dates covers how each provider’s lock works and how to keep it in line with your inventory system.

How SKU.io handles the close

SKU.io keeps its own ledger of the entries it sends to Xero or QuickBooks Online, and the close runs against that ledger and against your provider. Your accountant still keeps the books in Xero or QuickBooks. SKU.io does not replace either, or the person who reviews them.

The checklist

The close is on Accounting → Close. A month’s checklist has 31 built-in rows: 28 automated checks that SKU.io grades, and three review items a person ticks (income statement, balance sheet, inventory valuation and COGS). You can add your own items below them.

Some checks block the close until they’re fixed. Others are warnings, which you acknowledge one by one in the close dialog before it will let you sign. A few blocking checks can be closed over with a written reason, by someone with the override permission. Your provider’s trial balance is fetched fresh when you start the close and on each re-check. Months close oldest first, and a closed month’s report pack is saved as its numbers of record.

The checks cover most of the steps above:

  • Payouts: “Amazon settlement deposits accounted for” (a warning) and “Payout-channel order AR cleared”, which blocks a close while an order invoice still carries a receivable its payout already booked. That second one is the double-revenue test, run for you.
  • Inventory: “Inventory reconciled to GL” compares inventory value with the ledger accounts you earmark, adding each account’s gap as an absolute figure so opposite errors can’t cancel. It is a warning by default. Making it block the close is a setting you turn on.
  • Receivables and payables: “A/R and A/P match open documents” blocks the close, and can be closed over with a reason.
  • Your provider: “Trial balance reconciled to provider”, “Entries synced” and “Provider lock aligned”.

The steps are in the close a month guide, and every row is listed in the close checks reference.

This two-minute video walks through a close from the year board to the sign-off banner:

Watch on YouTube

The second reviewer

With two or more people doing accounting in your account, the default setting (Automatic) requires a second person. Whoever prepared the month, ticked an item or recorded an override can’t close it, administrators included. The reviewer sees each override with the preparer’s name and reason, and the sign-off records both names. The same rule applies when a changed month is signed off again. The segregation of duties post covers how to set this up in a small team, and the steps are in the guide to reviewing a month someone else prepared.

Watch on YouTube

Soft close and one hard close date

Closing a month in SKU.io is a soft close. Late entries still land on their own dates, and a change over your review threshold marks the month “Closed – restated” until someone signs it off again. You don’t reopen the month to do that, and the earlier report pack stays in its history. There is one hard close date for the whole account, and it is the only thing that locks a month. Every move of it is recorded with the person and the reason, and moving it needs the Period Hard Close permission, which only the Admin role has by default. SKU.io reads your Xero or QuickBooks lock date once a day and warns you when the two disagree, but it never changes your provider’s lock. See how the hard close date works.

Splitting payouts at month end

A settlement or payout that spans two months posts one part per month, with the earlier part dated that month’s last day, and the parts still add up to the one deposit. Amazon, Walmart, eBay and TikTok Shop share the setting. Shopify and Temu have their own. New connections start with it on. Settlements already sent to Xero or QuickBooks keep the shape they were sent with. See split settlements at month end.

Checking the books against Xero or QuickBooks

The books health check compares SKU.io’s figures with your Xero or QuickBooks trial balance, month by month, in four sections: income, income by channel, cost of goods sold, and the balance sheet (inventory, inventory in transit and vendor deposits). Each difference gets a grade against bands you can change, from “Close match” at 5% or less to “Rebuild suggested” above 90%, with a trust level beside it. It only reads your books, it covers up to 24 months a run, and it is free. Run it before your first close to see where the two sides disagree. See check your books against Xero or QuickBooks.

Watch on YouTube

What it doesn’t do

  • Bank statement matching is not part of the close. No checklist row reads it. If bank reconciliation is part of your routine, and it should be, add it as a custom checklist item so it is signed off with everything else.
  • It doesn’t make the close fast by itself. The controls tell you what is wrong. Someone still has to fix it.
  • The inventory tie-out is a warning unless you make it block. By default you can acknowledge an inventory gap and close.
  • Cost and count trust doesn’t cover FBA or AWD stock yet. The trust levels on your costs and counts leave out stock held at Amazon.
  • It doesn’t write your provider’s lock. After you move the hard close date, set the same date in Xero or QuickBooks yourself.
  • The second reviewer is a user in your account. There is no separate workflow for an outside reviewer. An outside accountant who reviews your close needs a login with the close permission.

Who this is not for

If you sell on one channel, carry a few hundred SKUs and do under $1M a year, a spreadsheet tie-out and your accountant’s own close checklist will do. Zoho Inventory or inFlow will hold your stock. The close above starts to earn its keep when several marketplaces, a 3PL or Amazon’s warehouses mean that no single report shows you the month.

Further reading

This is the month-end close part of the ecommerce accounting standards. The posts under it each answer one question in full:

  • Month-end close checklist for ecommerce sellers
  • Segregation of duties in a small finance team: who should review the close
  • Inventory reconciliation: tying inventory to the general ledger every month
  • QuickBooks closing dates and Xero lock dates
  • Did Amazon pay every settlement?

For what SKU.io sends to your ledger in the first place, see the accounting feature page. If you want to see a close on your own data, book a demo and bring last month’s settlement list.

Newsletter

Get the next one by email

Short, practical writing on inventory, fulfilment and multi-channel operations — sent when there is something worth sending.

Double opt-in — we send a confirmation link and you are not on the list until you click it. One-click unsubscribe on every email. See our privacy policy.

Ready to see SKU.io in action?

Bring your real numbers and the messy questions — we'll walk the system against an operation like yours, not a slide deck.

Book a Demo

Founder-led demo · 2-day onboarding · no onboarding fees