Perpetual inventory journal entries: keep Inventory current with every transaction
In a perpetual inventory system, the Inventory account changes every time goods come in or go out. Buy merchandise, and Inventory goes up. Sell it, and Inventory goes down at cost, at the same moment the sale is recorded. This page explains the system in plain language, walks through each common transaction with real numbers, and shows the mistakes that most often slip in, especially when periodic-system habits creep in.
What "perpetual" means
"Perpetual" means continuous. The Inventory account is kept up to date all the time, so at any moment it shows the cost of the goods the business should have on hand. Modern point-of-sale and inventory software makes this practical even for small shops, because every scan at the register updates the record.
The key consequence is that every sale has two halves:
- The revenue half: what the customer agreed to pay. Debit Cash or Accounts Receivable, credit Sales Revenue, at the selling price.
- The cost half: what the goods cost the business. Debit Cost of Goods Sold, credit Inventory, at cost.
Cost of Goods Sold is an expense. Recording it at the time of the sale means gross profit (sales minus cost of goods sold) is always current, not just at year end.
The other habit to learn is that, in a perpetual system, anything that changes the cost of goods on hand goes straight into Inventory. Freight to bring goods in, returns to the supplier and discounts for paying early all adjust Inventory directly. The separate accounts you may have seen, such as Purchases, Freight-In, Purchase Returns and Allowances and Purchase Discounts, belong to the periodic system.
The entries at a glance
| Transaction | Debit | Credit |
|---|---|---|
| Buy merchandise on account | Inventory | Accounts Payable |
| Pay freight to bring goods in | Inventory | Cash |
| Return goods to the supplier | Accounts Payable | Inventory |
| Pay within the discount period | Accounts Payable | Inventory (discount), Cash |
| Sell merchandise on account | Accounts Receivable; Cost of Goods Sold | Sales Revenue; Inventory |
| Customer returns goods to stock | Sales Returns and Allowances; Inventory | Accounts Receivable; Cost of Goods Sold |
Worked example 1: a sale and its cost
Copperleaf Studio sold 13 garden hoses on account at $70.00 each. Each one cost Copperleaf Studio $43.62. Record the sale and its cost in one entry.
Work out the two amounts separately, because they use different prices:
Revenue: 13 × $70.00 = $910.00Cost: 13 × $43.62 = $567.06
| Account | Debit | Credit |
|---|---|---|
| Accounts Receivable | $910.00 | |
| Sales Revenue | $910.00 | |
| Cost of Goods Sold | $567.06 | |
| Inventory | $567.06 |
The gross profit on this sale is $910.00 − $567.06 = $342.94. Because the cost half is recorded right away, that figure is already in the books.
Worked example 2: a purchase with freight-in
Copperleaf Studio bought garden hoses for resale costing $5,280.00 on account. It paid the shipping company $188.55 in cash to deliver them. Record the purchase and the freight in one entry.
Shipping that brings goods in is called freight-in, and it is part of the cost of getting the goods ready to sell. In a perpetual system it goes into Inventory:
$5,280.00 + $188.55 = $5,468.55
| Account | Debit | Credit |
|---|---|---|
| Inventory | $5,468.55 | |
| Accounts Payable | $5,280.00 | |
| Cash | $188.55 |
The supplier is owed only the price of the goods. The freight was paid in cash to someone else, so it gets its own credit line.
Worked example 3: paying within the discount period
Suppliers often offer a discount for early payment. Terms of "3/10, n/30" mean a 3% discount if paid within 10 days; otherwise the full amount is due in 30 days.
Pine Street Dental owes a supplier $8,500.00 for merchandise bought on terms 3/10, n/30. It pays within the 10-day discount period.
Discount: $8,500.00 × 3% = $255.00Cash paid: $8,500.00 − $255.00 = $8,245.00
| Account | Debit | Credit |
|---|---|---|
| Accounts Payable | $8,500.00 | |
| Inventory | $255.00 | |
| Cash | $8,245.00 |
The whole payable is cleared, because the supplier accepts $8,245.00 as full payment. The discount lowers what the goods really cost, so it reduces Inventory.
Worked example 4: returning goods to a supplier
Copperleaf Studio returned damaged picture frames costing $2,397.28 to the supplier, which had sold them on account. The goods leave, and the debt shrinks by the same amount:
| Account | Debit | Credit |
|---|---|---|
| Accounts Payable | $2,397.28 | |
| Inventory | $2,397.28 |
Worked example 5: a customer return
A customer returned 7 picture frames it had bought on account from Copperleaf Studio for $81.00 each. Each cost Copperleaf Studio $46.31, and they are back in stock in perfect condition.
Reverse both halves of the original sale:
Selling price: 7 × $81.00 = $567.00Cost: 7 × $46.31 = $324.17
| Account | Debit | Credit |
|---|---|---|
| Sales Returns and Allowances | $567.00 | |
| Accounts Receivable | $567.00 | |
| Inventory | $324.17 | |
| Cost of Goods Sold | $324.17 |
Sales Returns and Allowances is a contra revenue account. Using it, instead of debiting Sales Revenue directly, lets the business see how much it gives back to customers.
Following the Inventory account through
A good way to check perpetual entries is to follow the Inventory account like a running total. Suppose Copperleaf Studio starts a month with no hoses, then records the purchase with freight from example 2 and the sale from example 1.
| Event | Change | Inventory balance |
|---|---|---|
| Opening balance | $0.00 | |
| Purchase on account | +$5,280.00 | $5,280.00 |
| Freight-in | +$188.55 | $5,468.55 |
| Sale of 13 hoses at cost | −$567.06 | $4,901.49 |
Every line has a matching entry, and the balance at the bottom is what the business should find on the shelf. Purchases and freight add to it, returns to suppliers and discounts take away from it, sales take away from it at cost, and restocked customer returns add back to it at cost. If a transaction changes what the goods on hand cost, it shows up in this column.
This is also why cost per unit matters so much. When the business sells a hose, it needs to know what that hose cost, including its share of freight. Real businesses use a cost-flow method such as first-in, first-out or average cost to decide which cost to use when prices change. The exercises in this lesson give you the unit cost directly, so you can focus on the entries.
Perpetual and periodic side by side
Many mistakes come from mixing the two systems. This table shows the same transactions in each:
| Transaction | Perpetual | Periodic |
|---|---|---|
| Buy merchandise | Debit Inventory | Debit Purchases |
| Pay freight-in | Debit Inventory | Debit Freight-In |
| Return goods to supplier | Credit Inventory | Credit Purchase Returns and Allowances |
| Take a purchase discount | Credit Inventory | Credit Purchase Discounts |
| Sell merchandise | Revenue entry plus cost entry | Revenue entry only |
If a question says the business uses a perpetual system, the word "Inventory" should appear in almost every entry that involves merchandise.
Common mistakes and how to avoid them
These are the mistakes our exercises check for and explain.
Recording only the revenue on a sale
The revenue half alone leaves Inventory too high and cost of goods sold at zero. In a perpetual system, every sale also needs Cost of Goods Sold (debit) and Inventory (credit) at cost.
Using the selling price for the cost
Inventory is carried at what the goods cost, not what they sell for. In the hose example, a cost of $910.00 would wipe out the $342.94 of gross profit. Multiply units by unit cost.
Expensing freight-in
Delivery Expense is for shipping goods to customers. Shipping goods in is part of their cost, so it belongs in Inventory.
Using periodic-system accounts
Purchases, Freight-In, Purchase Discounts and Purchase Returns and Allowances are periodic-system accounts. In a perpetual system, debit or credit Inventory instead.
Ignoring the discount
Paying $8,500.00 when only $8,245.00 is required means the discount was missed. If the payment is inside the discount period, cash paid is the invoice minus the discount.
Debiting Inventory on a return to a supplier
The goods are leaving, so Inventory decreases with a credit, and the amount owed decreases with a debit to Accounts Payable.
Forgetting to restock a customer return
If the returned goods are back on the shelf, Inventory goes back up and Cost of Goods Sold comes back down, both at cost. Recording only the revenue reversal leaves the goods missing from the books.
Debiting Sales Revenue for a return
Debiting Sales Revenue gets the totals right but hides the returns. Use the contra account Sales Returns and Allowances.
To see how the same transactions look when Inventory is updated only once a year, read periodic inventory and cost of goods sold. For the year-end count in a perpetual system, see supplies and inventory shrinkage.
Frequently asked questions
Why does a perpetual sale need two entries?
One records the revenue at the selling price. The other moves the goods out of Inventory and into Cost of Goods Sold at cost. They are often written as one compound entry with four lines.
Is freight-in an expense?
Not directly. Freight-in is part of the cost of the goods, so in a perpetual system it is added to Inventory and becomes part of cost of goods sold when the goods are sold.
What does 2/10, n/30 mean?
A 2% discount if the invoice is paid within 10 days; otherwise the full amount is due within 30 days. The numbers vary by supplier.
What happens if I pay after the discount period?
The discount is lost, so the full invoice is paid. Debit Accounts Payable and credit Cash for the whole amount, and Inventory does not change.
Is Sales Returns and Allowances an expense?
No. It is a contra revenue account with a debit balance. It is subtracted from Sales Revenue to show net sales on the income statement.
Do I still need a physical count with a perpetual system?
Yes. The record shows what should be on hand. A count shows what is actually there, and any shortfall is recorded as shrinkage.