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.
