Two stores can sell the exact same items and end the period with the same inventory balance, yet record cost of goods sold in very different ways during the period. That is the difference between perpetual and periodic inventory systems. Perpetual updates inventory and COGS every time a sale happens. Periodic only updates them at the end of the period. The choice between the two changes journal entries, controls, and what the books look like on a Tuesday morning in the middle of the month.

The Core Difference: Continuous vs. End-of-Period

A perpetual inventory system updates Inventory and Cost of Goods Sold continuously, with every purchase and every sale. The books always reflect, in real time, how much inventory the company has and what it cost. Barcode scanners and point-of-sale systems make this practical.

A periodic inventory system updates inventory and COGS only at the end of the period. During the period, purchases go into a temporary Purchases account, and Inventory sits at its beginning-of-period balance. At period end, the company takes a physical count and computes COGS from one equation:

COGS = Beginning Inventory + Purchases − Ending Inventory

Rather than tracking each sale's cost as it happens, the periodic system lets the unaccounted-for inventory tell you, retroactively, what must have been sold.

A Worked Example: Same Transactions, Two Sets of Entries

A bookstore called Marlin's begins July with $10,000 of inventory. During July it has three transactions:

  • July 5: Purchases $4,000 of books on account.
  • July 14: Sells books for $3,500 cash. The cost of those books was $2,100.
  • July 28: Sells books for $5,000 on account. The cost of those books was $3,000.

At the end of July, a physical count shows $8,900 of inventory remaining.

Perpetual system entries

Every sale triggers two entries: one for the revenue side, one for the cost side.

July 5 — purchase

Inventory                    4,000
    Accounts Payable                4,000
(Purchase of books on account)

Inventory itself is debited because the perpetual system tracks it directly.

July 14 — sale ($3,500 cash, cost $2,100)

Cash                         3,500
    Sales Revenue                   3,500
(Cash sale)

Cost of Goods Sold           2,100
    Inventory                       2,100
(Record cost of goods sold for July 14)

The second entry is what makes the system "perpetual" — COGS hits the books at the moment of the sale, and Inventory drops at the same time.

July 28 — sale ($5,000 on account, cost $3,000)

Accounts Receivable          5,000
    Sales Revenue                   5,000
(Sale on account)

Cost of Goods Sold           3,000
    Inventory                       3,000
(Record cost of goods sold for July 28)

After July's three transactions, the perpetual books show:

  • Inventory: $10,000 + $4,000 − $2,100 − $3,000 = $8,900
  • Cost of Goods Sold: $2,100 + $3,000 = $5,100

At period end, a physical count is still done to verify the book balance. If the count shows $8,750 instead of $8,900, the $150 difference is shrinkage — likely theft or damage — and is recorded by debiting an Inventory Shrinkage / Loss account and crediting Inventory $150. The fact that the difference can be spotted is one of the perpetual system's main advantages.

Periodic system entries

The same three transactions look very different under periodic.

July 5 — purchase

Purchases                    4,000
    Accounts Payable                4,000
(Purchase of books on account)

Notice Purchases, not Inventory. The Inventory account is untouched during the period.

July 14 — sale ($3,500 cash)

Cash                         3,500
    Sales Revenue                   3,500
(Cash sale)

There is no cost entry. Periodic does not record COGS at the moment of sale.

July 28 — sale ($5,000 on account)

Accounts Receivable          5,000
    Sales Revenue                   5,000
(Sale on account)

Again, no cost entry.

July 31 — period-end COGS calculation

A physical count gives $8,900. Apply the equation: COGS = $10,000 + $4,000 − $8,900 = $5,100. A single closing entry adjusts Inventory and recognizes COGS:

Cost of Goods Sold           5,100
Inventory (ending, $8,900)   8,900    
    Inventory (beginning, $10,000)        10,000
    Purchases                              4,000
(Adjust to ending inventory and record COGS)

(Different texts show this entry in slightly different forms; the net effect is the same: Inventory updates from $10,000 to $8,900, Purchases closes to zero, and COGS picks up the $5,100.)

A barcode scanner over a stack of books on a counter next to a clipboard with a physical count sheet
A barcode scanner over a stack of books on a counter next to a clipboard with a physical count sheet

Same Result, Different Path

Compare at July 31:

AccountPerpetualPeriodic
Inventory$8,900$8,900
COGS$5,100$5,100
Sales$8,500$8,500

The financial statements look identical. The path is what differs. Perpetual carries an always-current Inventory balance and COGS total — management can read the books any day and know the cost picture so far. Periodic carries a stale Inventory balance and no COGS until the period closes.

A key practical consequence: under periodic, you cannot detect inventory shrinkage. The equation forces ending inventory to absorb everything that is not on hand — 50 stolen books are simply rolled into COGS as if they were sold. Under perpetual, the book balance is independent of the count, so the count reveals the shrinkage.

When Each System Fits

Perpetual is the default for any business with barcode scanning or high-value inventory where shrinkage matters. Modern retail, e-commerce, and manufacturing almost all run perpetual systems.

Periodic is still used in low-tech, high-volume environments where individually tracking every item would cost more than it is worth — small convenience stores, certain restaurants. It is also common in textbook problems because the math is cleaner.

A note on cost flow: FIFO, LIFO, and weighted-average interact with the choice of system. Under perpetual the cost flow is applied at each sale; under periodic it is applied once at period end. The two can produce different COGS under LIFO because the "layers" of cost assigned differ. FIFO usually produces the same result either way.

Getting Help

Inventory systems set up the cost flow assumptions that decide which costs end up in COGS versus ending inventory. For how FIFO and LIFO actually assign those costs, see FIFO vs. LIFO. And for the underlying entries that record purchases and sales, see recording journal entries.

Conclusion

Perpetual vs. periodic inventory systems is a question of when inventory and COGS hit the books. Perpetual updates both with every transaction and supports tight, real-time inventory control. Periodic waits until period-end, computes COGS from beginning inventory plus purchases minus ending inventory, and is simpler but gives up visibility — and the ability to detect shrinkage — in the middle of the period. The financial statements at period end look identical either way; the operational picture during the period is very different.