What a general ledger is, and why your store needs one set up right

The general ledger is the complete record of every financial transaction your business makes, sorted into accounts, and the chart of accounts is the numbered list of those accounts. For a retail store, getting that list right matters more than most owners expect, because accounts like inventory, sales tax payable, customer deposits, and cost of goods sold by department are where your margin by department either becomes visible or disappears into one lump number nobody can read.

Everything else in your bookkeeping flows from the ledger. Your profit and loss and your balance sheet are both built from it, so if the ledger is messy, the reports your accountant hands you at year end are messy too, and you end up making buying and pricing decisions off numbers you shouldn't fully trust.

General ledger vs. journal vs. trial balance

These three terms get tangled together, so here is the plain version. The journal is the chronological list of every entry, in the order the transactions happened, like a diary of the store's money. The general ledger takes those same entries and re-sorts them by account, with a running balance on each one, so you can answer questions like "how much do we owe vendors right now" or "what did paint do last month" without reading the whole diary.

The trial balance is a checkpoint: a list of every account's balance at a moment in time, where total debits have to equal total credits. That equality comes from double-entry bookkeeping, the convention underneath all of this, which says every transaction posts equal debits and credits. Sell a gallon of paint and one account goes up while others move to match. If your trial balance doesn't balance, something was entered wrong, and it's worth finding before your accountant finds it for you at their hourly rate.

How the chart of accounts is numbered

The numbering scheme is a convention, not a law, but it's a convention nearly everyone follows, and your accountant will thank you for sticking to it:

Range Category
1000s Assets (cash, receivables, inventory, equipment)
2000s Liabilities (payables, sales tax, deposits, loans)
3000s Equity (owner's equity, retained earnings)
4000s Income (sales by department, delivery income)
5000s Cost of goods sold
6000s-7000s Operating expenses (wages, rent, utilities)
8000s-9000s Other income and expense

Two habits make this work long term. First, leave gaps in the numbering (1010, 1020, 1030 rather than 1001, 1002, 1003) so you can slot in a new account later without renumbering everything. Second, only create accounts that answer questions you ask. A chart of accounts with forty near-duplicate expense accounts that nobody posts to consistently is worse than a short one that's kept clean.

A sample chart of accounts for a supply store

Here is a starter chart built for a store with a counter, charge accounts, and a few departments. Yours will differ, but this covers the accounts that tend to matter in hardware, paint, lumber, and farm & feed:

Number Account Why it exists
1000 Cash, operating bank Your main checking account
1010 Cash drawers / undeposited funds What's in the tills before the bank run
1020 Petty cash The small float for odds and ends (see petty cash for retail stores)
1100 Accounts receivable, house accounts What charge-account customers owe you
1200 Inventory Optionally split by department: paint, hardware, lumber, feed
1300 Prepaid expenses Insurance and the like, paid ahead
1500 Equipment and fixtures The forklift, the shaker, the racking
2000 Accounts payable, vendors What you owe vendors
2100 Sales tax payable Tax collected, owed to the state, not your money
2150 Use tax payable Tax you owe on untaxed purchases you consumed
2200 Customer deposits Money taken on special orders before pickup
2250 Gift cards and store credit outstanding A liability until redeemed
2300 Payroll liabilities Withholdings waiting to be remitted
2500 Loans Bank and equipment financing
3000 Owner's equity / retained earnings Your stake, plus accumulated profit
4000 Sales by department 4010 Paint, 4020 Hardware, 4030 Lumber, 4040 Feed
4500 Delivery income Delivery fees charged to customers
4900 Sales returns and discounts Contra account that nets against sales
5000 Cost of goods sold by department Mirrors the 4000s so margin by department is real
5100 Freight in Inbound freight, part of what inventory costs you
5200 Vendor rebates Recorded as a reduction of COGS
5300 Inventory shrink / count variance The dollar difference found at count time
6000 Wages Counter, yard, and delivery staff
6100 Rent The building
6200 Utilities Heat, power, water
6300 Card processing fees Kept visible instead of netted away
6400 Advertising Circulars, radio, sponsorships
6500 Repairs Fixing what breaks
6600 Cash over/short Till discrepancies
6700 Bank fees Account charges

Notice the pattern in the 4000s and 5000s: the departments match. That's deliberate, and we'll come back to it.

What the entries look like in practice

Double-entry stops being abstract once you see it with real counter numbers. Here are three everyday transactions.

A cash sale at the paint counter. A homeowner buys a gallon of paint for $24.99, and your state charges 7% sales tax, so they hand you $26.74. The gallon cost you $13.40 from your vendor.

Account Debit Credit
1010 Cash drawers 26.74
4010 Sales, Paint 24.99
2100 Sales tax payable 1.75
5010 COGS, Paint 13.40
1200 Inventory, Paint 13.40

Two things are happening at once: the money side (cash in, sales and tax liability recorded) and the inventory side (cost moves out of inventory and into cost of goods sold). The $1.75 of tax is never your income. It goes straight to a liability account because you're holding it for the state.

A contractor charges lumber to their house account. A contractor puts $480.00 of lumber on their charge account, with a tax-exempt resale certificate on file, so there's no tax line.

Account Debit Credit
1100 Accounts receivable 480.00
4030 Sales, Lumber 480.00

No cash moved, but the sale is real, and the receivable sits on the books until their statement payment arrives. Whether you record revenue at the sale or at payment is the cash-versus-accrual question, and it's worth a deliberate choice rather than an accidental one. There's a full walkthrough in cash vs. accrual accounting for retailers.

A vendor bill arrives. Your fastener vendor invoices you $1,240.00 for a shipment you've received.

Account Debit Credit
1200 Inventory, Hardware 1,240.00
2000 Accounts payable 1,240.00

The purchase goes into inventory, an asset, not into an expense. It only becomes cost of goods sold when the fasteners sell. That single distinction is the difference between books that show your true margin and books that swing wildly depending on which week the truck showed up. Inbound freight complicates this a bit, since freight is part of what the inventory cost you, and landed cost for retail inventory covers how to handle it.

Mistakes that make a store's ledger useless

Most ledger problems at independent stores trace back to a handful of habits, and none of them are hard to fix once you see them.

One lump "Sales" account. If paint, hardware, lumber, and feed all post to a single sales account, you can never see margin by department. You might be carrying a department that loses money while a stronger one covers for it, and the lump will never tell you. Split sales, and split cost of goods sold to match.

Inventory purchases booked straight to expense. Booking a $12.40 box of screws (or a truckload of them) directly to an expense makes the month you bought look terrible and the months you sell look artificially great. Inventory is an asset until it sells.

Sales tax booked as income. Tax collected is money you're holding for the state. Booking it as revenue inflates your sales and leaves you scrambling when the remittance comes due.

Customer deposits booked as sales. A deposit on a special order is a liability until the customer picks up the goods. Book it as a sale early and your income is overstated, plus you've created a tax mess on top of it.

Card deposits booked net of fees. If the bank deposit lands net of processing fees and you book only what arrived, your fees vanish from the books entirely. Record sales at gross and the fees as their own expense line (6300 above), so you can see what card acceptance costs you and question it once a year.

Account sprawl. The opposite failure: dozens of near-duplicate accounts, half of them empty, with expenses posted inconsistently across three versions of the same thing. Prune ruthlessly. The best chart of accounts is the shortest one that still answers your real questions.

Your POS departments and your chart of accounts should match

This is the piece store owners most often miss, because the chart of accounts usually gets built by an accountant who has never walked your aisles. If your POS rings departments as paint, hardware, lumber, and feed, but your books track sales as "merchandise" and "other," then margin by department is fiction no matter how good either system is on its own.

Set the departments up identically in both places. Then the sales and cost of goods sold figures flowing from the counter land in accounts that line up, and the question "is lumber carrying its weight" has a number behind it instead of a hunch. The same logic applies to inventory accounts and shrink: when a count finds a variance, it should post somewhere visible (the 5300 account above), not evaporate into a general expense. If you're thinking about how all of this fits with the rest of your back office, from purchasing to receiving to the GL, ERP for hardware stores lays out the bigger picture.

Where Rundoo fits in all this

Rundoo keeps its own general ledger with a chart of accounts, a profit and loss, and a balance sheet under Admin > Reporting, and purchase orders you've received and vouchered create payables automatically. Every general ledger entry drills back to the underlying transaction, so when a number looks off you can click through to the exact sale or receipt that caused it instead of searching through a paper trail. When a cycle count is completed, Rundoo adjusts on hand by the variance and posts a journal entry for the dollar difference to an inventory-variance expense account, and a freight fee on a received purchase order can be distributed into product cost or posted to a general ledger account you pick.

Rundoo doesn't replace your accounting system, and payroll stays in QuickBooks. You or your bookkeeper map the Rundoo chart of accounts to your QuickBooks accounts under Admin > Accounting > QuickBooks; QuickBooks Online receives a nightly summary journal, Desktop gets a daily .IIF file, and Rundoo exports to Sage too. The mapping step is exactly where the department-matching advice above gets put into practice, and POS that syncs with QuickBooks Online walks through the mechanics.