Every shelf sale requires two postings: the sales price (what the customer paid) and the cost of goods sold (what the stock cost the shop). Both must be recorded on the day of the sale to keep your margin and inventory accurate.
Key takeaways
- Debit cash or accounts receivable, credit sales for the sale price
- Debit cost of goods sold, credit inventory for the cost of the stock
- Post both entries the same day as the sale
- Keep sales tax separate in a payable account — it is not revenue or cost
- Reverse both entries at original cost when a customer returns stock
The two amounts you post on every shelf sale
When a customer buys stock off your shelf, you do not post one number. You post two. One shows what the customer paid you. The other shows what the stock cost your shop. The difference between them is your margin. Both numbers must land in your books on the day of the sale.
The first amount is the sales price. It is what the customer handed over, or what they owe you if you sold on credit. The second amount is the cost of goods sold. It is what you paid your supplier for those exact units. Your books need both so your stock count and your profit picture stay true.
A merchandising business sells ready goods it did not make. That is different from a service business, which sells time and skill. OpenStax lays out this contrast in its principles of accounting volume, showing how a nursery selling plants must track both what the plants sell for and what they cost to buy (OpenStax, section 6.1).
Why one entry is not enough
If you only post the sale price, your books show revenue but no cost. Your margin looks like the whole sale. Your stock count also stays wrong, because the units you sold are still sitting in inventory on paper.
If you only post the cost, your books show a cost with no matching sale. Your revenue vanishes. Your margin goes negative. Your stock count drops, but no one knows what the customer actually paid.
You need both entries because they answer two different questions. The sale price answers: how much did we earn? The cost of goods answers: how much did we spend to earn it? Your shop needs both answers to plan reorders and set shelf prices.
A store that sells on credit has a third thing to watch. The customer owes the money until they pay. That is a receivable, and it sits between the sale and the cash. The sale still counts on the day the goods leave the shelf, even though the cash has not arrived yet.
What the first entry records
The first entry is about the money coming to you. It has a debit side and a credit side. A debit sits on the left. A credit sits on the right. The two sides must be equal in value.
If the customer pays cash, you debit cash. If the customer buys on credit, you debit accounts receivable. Either way, the debit shows that something of value now belongs to your shop. It is the money or the promise of money.
The credit side of the first entry goes to sales. Sales is a revenue account. A credit increases it. When you credit sales, you record that your shop earned money from this transaction. Revenue is not the same as cash in the till. It is the value of what you sold.
OpenStax walks through a credit sale of printers and shows the shape of this entry. Accounts Receivable increases with a debit, and Sales increases with a credit, both by nineteen thousand two hundred fifty dollars — the full sales price of the sale ( OpenStax, section 6.4).
That example uses printers, but the pattern holds for any shelf item. The customer takes 55 units at $350 each. The first entry records the full $19,250 that the customer owes. It does not care what the units cost your shop. That is the second entry's job.
For a cash sale, swap the receivable for cash. The credit to sales stays the same. The cash debit shows money in hand. The sales credit shows revenue earned. Both are true at once, and both are needed. For a worked credit sale step by step, see Journal entry for a credit sale: the 2 entries to post.
What the second entry records
The second entry is about the stock leaving your shelf. It has its own debit and credit. The debit goes to cost of goods sold. The credit goes to your inventory account.
Cost of goods sold is an expense. A debit increases it. When you debit cost of goods, you record that this sale used up stock the shop had paid for. That expense will land on your profit statement and reduce your net income for the period.
Inventory is an asset. A credit decreases it. When you credit inventory, you remove the units the customer just took. Your stock count on paper now matches the stock on the shelf.
The same OpenStax printer case shows this second entry. Cost of goods increases with a debit, and Merchandise Inventory decreases with a credit, both by five thousand five hundred dollars — the cost side of the sale.
Fifty-five units at $100 each come to $5,500. That is what the shop paid for the stock, not what the customer paid. The gap between $19,250 and $5,500 is the gross margin on this one sale.
If you skip this entry, inventory on paper stays high while the shelf is empty. Your next count disagrees with your books. Your reorder logic, built on the books, buys too much or too little. For where the unit cost figure comes from, see Cost of goods sold: 5 steps from count to books.
Putting the two entries side by side
The table below shows how the two postings compare, using the printer sale figures from the OpenStax walkthrough.
| Entry | Debit side | Credit side | Amount |
|---|---|---|---|
| First entry — sale | Accounts Receivable | Sales | $19,250 (55 × $350) |
| Second entry — cost | Cost of goods sold | Merchandise Inventory–Printers | $5,500 (55 × $100) |
Both entries happen on the same day as the sale. Neither waits for payment. Neither waits for month end. The perpetual system — the one that keeps inventory current with every sale — depends on that timing.
Illustrative example: one shelf sale
A shopper buys 1 unit that cost your shop $100 and sells for $350. Post the first entry as a debit to cash for $350 and a credit to sales for $350. Post the second entry as a debit to cost of goods sold for $100 and a credit to inventory for $100.
What to do when a customer returns stock
Returns reverse both entries, in the opposite direction. The customer gives back the units, so your revenue goes down and your inventory goes back up.
In OpenStax's nursery example, a customer who bought 300 plants for $3,000 turns out to be unhappy with 100 of them. That return hits both sides of your books.
The first reversal lowers your sales. You credit the receivable (or cash) and debit a sales returns account. The plant customer's bill drops for those 100 plants.
The second reversal lifts your inventory. The plants come back on the shelf, so inventory rises. In the OpenStax printer case, when 10 units come back, Merchandise Inventory increases with a debit and cost of goods decreases with a credit by one thousand dollars — ten units at the hundred-dollar cost each.
Note that the return uses the same cost figure as the original sale. You do not re-price the returned goods at today's shelf price. You reverse at what they cost you when they left.
What sales tax does to your two amounts
Sales tax sits on top of your two amounts. It does not replace either one. The customer pays you the sale price plus the tax, but you do not count the tax as your revenue.
The New York State Department of Taxation and Finance explains how this works on a bill. Sales tax is calculated on the total purchase price paid for all taxable items or services on the bill ( New York State Department of Taxation and Finance).
Your two entries still post the same way. The sale entry records the pre-tax sales price against sales. The tax portion you collected goes to a sales tax payable account, not to revenue. When you pay the tax to the state, that payable account drops.
The cost of goods entry does not change with tax. The units cost what they cost your shop. Tax collected from the customer never enters your cost of goods figure.
Some owners fold tax into the sale price for simplicity. That muddies your margin report, because revenue now includes money you will hand to the state. Keep tax in its own account, and your margin stays clean.
The perpetual system, in plain terms
Perpetual means your inventory account updates with every sale and every return. You do not wait until the end of the month to count. The books track the shelf in near real time.
That is why the second entry matters so much. Each time stock leaves, inventory drops. Each time stock returns, inventory rises. The account balance, at any moment, should match what is physically on the shelf.
A periodic system works differently. You count at intervals and adjust the books after the fact. That approach can work for some shops, but it delays the cost of goods entry. Your margin for the period arrives late.
OpenStax's printer case runs on the perpetual model. Every sale of 55 units posts both entries immediately. Every return of 10 units reverses both immediately. The inventory account stays current.
Where the two amounts show up in your reports
The sale price flows into your income statement as revenue. It sits at the top of the statement, before any costs.
The cost of goods flows into the same income statement, just below revenue. Subtracting cost of goods from revenue gives your gross margin. That margin pays your rent, your staff, and everything else before you reach net profit.
Both amounts also touch your balance sheet. The receivable or cash from the first entry sits as an asset. The inventory reduced by the second entry sits as a smaller asset. Your books stay balanced because each entry has equal debits and credits.
Your cash flow statement cares about timing. A cash sale moves money now. A credit sale moves money when the customer pays.
This is why owners track both numbers, not just one. Revenue alone tells you nothing about whether the shop made money. Cost alone tells you nothing about what the customer paid. Together they show the health of each line on the shelf.
Practical habits that keep the two amounts straight
Post both entries the same day. Do not let the sale sit posted while the cost waits. A gap between them shows wrong margin and wrong stock for that window.
Use your unit cost, not your shelf price. The cost of goods entry uses what you paid your supplier. It never uses what the customer paid. Mixing the two destroys your margin report.
Keep sales tax separate. Tax collected belongs in a payable account. It is not revenue, and it is not cost. Fold it in and both your margin and your tax remittance go wrong.
Reconcile the shelf to the account. Walk the shelf, count the units, and compare to your inventory account. Perpetual only works if every sale and return posts both entries. For the count method, see Physical inventory reconciliation.
Handle returns at original cost. When stock comes back, reverse the cost entry at the same unit cost as the original sale. Do not re-price it at today's numbers.
Review your margin line by line. Some lines carry good margin. Others barely cover their cost. The two entries give you the data to see which is which and act on it.
These habits take minutes a day. They save hours of cleanup at month end. They also give you a clean picture of what each sale actually cost the shop.
Next step today: pull today's shelf sales and check that each one has both entries posted.
Questions shop staff and owners ask
Do I post both entries on a cash sale? Yes. Cash or credit changes the debit side of the first entry only. The credit to sales stays the same. The cost entry does not change at all.
What if I do not know the unit cost of an item? Find the unit cost on your supplier invoice, not on the shelf tag. Ask whoever handles purchasing if you cannot find it. Without it, your second entry cannot post correctly.
Does sales tax go into my sales figure? No. Sales tax you collect belongs in a payable account until you pay it to the state. The New York State Department of Taxation and Finance describes how tax applies to the total purchase price on a bill.
What happens if I only post the sale entry? Your revenue is right, but your cost of goods is missing and your inventory is too high. Your margin looks inflated. Your stock count disagrees with the shelf. Both errors compound over time.
Do discount sales change the entries? The first entry posts the price the customer actually paid after the discount. The cost entry posts your original unit cost. The gap between the two is your real margin on that sale.
Where do I learn the full pattern? OpenStax's principles of accounting volume walks through sale and return entries step by step. Your accountant can confirm how the pattern fits your shop's accounts.
If your shop's tax setup raises a question the state page does not answer, ask your tax preparer or the state's help line before you post. Getting the split right once saves a correction later.
General information, not legal or tax advice.