Retail is the one small business where the books can be wrong in a way that feels right. Sales are up, the register tape agrees with the deposits, nothing looks out of place, and the profit number on the P&L is still fiction, because the single largest cost in the business is sitting on the shelves rather than in a bank feed.
Everything difficult about retail bookkeeping comes back to two things: inventory, which the bank never sees, and the gap between what a point-of-sale system records and what actually lands in your account. Get those two right and the rest of a retail ledger is ordinary.
Inventory is what decides whether your profit is real
Buying inventory is not an expense. It is a swap of one asset for another, cash for goods, and it sits on the balance sheet until the goods sell. The cost only becomes cost of goods sold in the period the item leaves the store. A shop that books every supplier invoice straight to expense will show a terrible month whenever it restocks and a wonderful month whenever it runs the shelves down, and neither number means anything.
The arithmetic that fixes it is short: opening inventory, plus purchases, minus closing inventory, equals cost of goods sold. Two of those three inputs come from your records. The third, closing inventory, comes from counting, and there is no substitute for it. A perpetual system that decrements a quantity on every scan gets you a running estimate, which is genuinely useful for ordering, but it drifts from reality through theft, breakage, miscounted deliveries, and items rung up under the wrong code.
So count. A full physical count at year end is the minimum, because the closing figure feeds your tax return. Cycle counting, where you count a section of the store each week rather than the whole thing at once, catches the drift while it is small and spares you a shutdown. Whichever you choose, the count you record has to be the count you took, valued at what you paid rather than what you hope to sell it for.
Your POS and your bank will never agree, and that is normal
A day of retail sales arrives in your bank as a net figure that matches nothing on the sales report, and owners lose hours trying to force the two together. The deposit is gross sales, minus refunds, minus processor fees, minus any chargebacks, split across settlement batches that may not follow calendar days, with cash taken to the bank on a different schedule entirely. Card sales on a Saturday can land Monday or Tuesday.
The fix is to stop reconciling day to day and start recording the day properly. A daily sales entry should break the day out into its parts: gross sales by category, discounts, refunds, sales tax collected as a liability rather than revenue, tips if you take them, and then the split between cash and card that tells you what to expect in the bank. The deposit that eventually arrives clears against that entry, and the processor fee is booked as its own expense rather than quietly shaving your revenue.
That last point is the one worth being stubborn about. If you record only the net deposit, your revenue is understated by every fee you paid, your margins look worse than they are, and the cost of card processing becomes invisible at exactly the point you might have negotiated it. Fees are an expense line. Give them one.
Sales tax deserves the same discipline. Tax you collect is money you are holding for a state, so it belongs on the balance sheet as a liability until you remit it. Folded into revenue, it inflates your sales, overstates your profit, and gets spent before the return comes due.
Shrinkage and markdowns: where the margin actually goes
Shrinkage is the difference between the inventory your records say you have and the inventory you can physically count. Theft is part of it, but so are damaged goods, expired stock, delivery shortages you accepted without checking, and receiving errors. It is a real cost of running a store and it should be visible as one rather than buried in cost of goods sold, because a shrinkage figure you can see by month or by department tells you something you can act on, while a blended COGS number tells you nothing.
Markdowns work the same way. A category that only moves at thirty percent off is not running the margin its price tag implies, and the difference between your intended markup and your realised margin is one of the most useful numbers in retail. Tracking discounts as their own line instead of just ringing items at a lower price is what makes that comparison possible.
Both of these depend on categories that match how you buy and sell. A chart of accounts and an item structure that separate your real departments let you see which part of the store earns its floor space. One undifferentiated sales line and one COGS line will balance perfectly and teach you nothing.
Keeping it current instead of reconstructing it
Retail generates more transactions than almost any other small business of its size, which means a backlog compounds faster here than anywhere else. Three months behind in a service business is a few dozen invoices. Three months behind in a shop is thousands of line items, several inventory counts you never took, and a cost of goods sold figure that can no longer be built from anything but a guess.
Evolv Bookkeeping is $199 per month flat. Every account reconciled to the statement, transactions categorized against a chart of accounts built for how your store actually runs, and your P&L and Balance Sheet closed and delivered by day 2 of the following month, with 1099 prep at year end. If the last several months never got recorded, catching up a backlog is a flat $500 one time however far back it goes, done within 2 days and guaranteed in writing.
No contracts, cancel anytime, and you can get an instant quote on our homepage. You count the stock; we will make sure the numbers around it are right.