Perpetual vs periodic inventory is a choice about when your stock records change. A perpetual system updates each product's balance with every sale, delivery and loss; a periodic system changes nothing until you count. Both reach the same profit, but only perpetual records show what is left between counts and what went missing.
This guide runs one month of a Kampala hardware shop through both systems in Ugandan shillings. It ends with a table for choosing, and the steps to switch from periodic to perpetual in ArmPOS.
What is a periodic inventory system?
A periodic inventory system leaves the stock figure alone until you count. Purchases are recorded as they happen, but sales take nothing off stock. The count, at the end of each month, quarter or year, gives the closing stock and from it the cost of goods sold (COGS):
COGS = beginning inventory + purchases − ending inventory
Whatever is not on the shelf at the count is treated as sold. That includes goods that broke, expired or walked out of the door, which is the system's main weakness.
The periodic inventory system guide works the formula and its journal entries through a full month.
Pros and cons of periodic inventory
Periodic inventory costs little to run and tells you little between counts. Its strengths and its weaknesses both come from having no record to keep.
Pros
- Cheap to run. Count sheets, a calculator and the hours of the count itself are all it needs.
- Little daily work. A sale needs a receipt and nothing else; nobody updates a stock record.
- Fits stock you use rather than sell by the unit. A café's coffee beans or a bakery's flour are easier to count each week than to record spoon by spoon.
Cons
- No stock figure between counts. You reorder by looking at the shelf, which works for one pile of cement and fails for 300 lines.
- Losses hide in cost of goods sold. Broken, expired and stolen goods are counted as sold, so you never see them on their own.
- No profit until you count. The month's result waits for the count, and so does every decision that depends on it.
- Big counts. Everything is counted at once, often with the shop closed or after hours.
What is a perpetual inventory system?
A perpetual inventory system keeps a running balance for each product and changes it with every movement as it happens. A sale takes units off, a delivery adds them, and a recorded breakage takes them off too. The balance is what should be on the shelf right now.
Think of the perpetual record as a live video of the store room, and the periodic count as a photo taken now and then. The video still needs checking: theft and unrecorded breakage never appear in it, so perpetual shops count too, a few lines at a time.
At a till, software runs it, with barcodes scanned at each sale. It also works on paper: a pharmacy's bin card, updated at every issue, is a perpetual record.
The perpetual inventory system guide works one product's record through a month, line by line.
Pros and cons of perpetual inventory
Perpetual inventory gives you a figure for every product at any moment, at the price of recording every movement. One unrecorded delivery leaves the balance wrong until the next count.
Pros
- A balance for each product, in each place. The record shows what the store room and each branch should hold, without a count.
- Losses show product by product. The gap between the record and a count is what went missing, line by line.
- Profit without a full count. Each sale carries its cost, so the month's gross profit is ready on the last day.
- Small counts instead of big ones. A few lines a day, a cycle count, replaces closing the shop to count everything.
- Low-stock alerts. The record can warn you when a product falls to its reorder level, which helps you avoid stockouts and overstocking.
Cons
- Every movement, every time. Each delivery, return, breakage and transfer must be recorded, or the balance drifts.
- Setup. You need a starting count, one code per product (see SKU management) and staff who ring up every sale.
- It still needs counts. The record holds only what was recorded, so theft and unrecorded damage stay hidden until someone counts.
- Software or time. Paper cards take writing at every movement; software takes a phone or a computer, and a plan.
Key differences: perpetual vs periodic inventory
The two systems differ in when the record changes, and every other difference follows from that one.
| Feature | Periodic inventory | Perpetual inventory |
|---|---|---|
| When the records change | At each count | With every sale, delivery, return and recorded loss |
| Accuracy between counts | No stock figure until the count | As good as the recording; unrecorded losses build up until a count corrects them |
| Purchases are recorded in | A purchases account, an expense | The inventory account, an asset |
| Cost of goods sold | Worked out once a period, from the count | Recorded with each sale |
| Losses | Hidden inside cost of goods sold | The gap between the record and the count, product by product |
| What it needs | Count sheets and a calculator | A record per product, on a card or in software, and every movement entered |
| Counting | Everything at once, often with the shop closed | A few lines at a time, plus a full count at the year end |
| Reordering | By looking at the shelf | From the record, with a low-stock alert |
| Audit and tracing | Period totals only | Each product's movements, by date and document |
| Cost to run | Low | A device and software, or the time to write cards |
| Suits | One person selling a few slow lines; stock used rather than sold | Anyone with staff, credit sales, a store room or branches |
The key takeaway: both systems give the same profit when the count is right. The difference is what you can see, and Investopedia notes that under periodic inventory, shrinkage "isn't necessarily evident".
The entries behind the purchases and cost of goods sold rows are set out in OpenStax's Principles of Accounting. It also notes that US accounting standards do not require either system, and that IFRS is similar.
One month, both ways: a worked example in UGX
For example, a hardware shop in Kampala buys cement at UGX 32,000 a bag and sells it at UGX 36,000. The figures are illustrative, not a real shop's, and the cost stays the same all month.
| Date | What happened | Bags |
|---|---|---|
| 1 March | Opening stock, counted on 28 February | 120 |
| 4 and 18 March | Two deliveries of 200 bags, on credit | 400 |
| 1 to 31 March | Sold at the till, 210 of them by 15 March | 430 |
| 22 March | Torn while being stacked | 4 |
| 31 March | Counted at the month end | 82 |
The perpetual record ends the month at 86 bags: 120 + 400 − 430 − 4. The count finds 82, so 4 more bags went missing with no record at all.
| Perpetual | Periodic | |
|---|---|---|
| Cement left on 15 March | 110 bags, read from the record | Not known until the count |
| Cement sold in March | 430 bags, from the sales | 438 bags: 120 + 400 − 82 |
| Sales | 15,480,000 | 15,480,000 |
| Cost of goods sold | 13,760,000 | 14,016,000 |
| Losses shown on their own | 256,000: 4 torn bags and 4 missing | None: they sit inside cost of goods sold |
| Gross profit before losses | 1,720,000 | Not shown |
| Gross profit after losses | 1,464,000 | 1,464,000 |
| Gross margin | 11.1% before losses, 9.5% after | 9.5%, cause unknown |
The profit is the same, UGX 1,464,000, because the same 8 bags are gone either way. What differs is what the owner knows.
The perpetual shop sees 8 lost bags worth UGX 256,000, nearly 15% of the month's gross profit on cement. The periodic shop sees only a margin of 9.5% where its price list promised 11.1%.
The middle of the month shows the other gap. On 15 March the record says 110 bags, about eight days of sales at 14 a day, so the owner orders for the 18th. The periodic owner looks at the pile, which works for cement and fails for the 300 other lines on the shelves.
The same kind of month in the books, entry by entry for a whole shop, is in inventory accounting.
Which system is right for you?
Choose by who handles your stock and cash, not by how big the business is. Most advice says periodic suits small shops, but a small shop with one helper at the till already needs to know which lines go missing.
| If | Choose | Because |
|---|---|---|
| You sell alone, from a few dozen lines that sell slowly | Periodic can work | You see every sale yourself, and a monthly count is quick |
| Anyone else sells, receives or stacks stock | Perpetual | Only a record per product shows which lines go missing |
| You sell on credit or take orders to deliver later | Perpetual | You need each product's balance to promise stock you really have |
| You keep stock in a store room and a shop, or in branches | Perpetual | Each place needs its own balance, and a transfer must leave one and arrive in the other |
| Goods expire or carry serial numbers | Perpetual | Batches and serial numbers are traced through their movements |
| You use stock rather than sell it by the unit: ingredients, flour, fuel | Periodic counts, weekly | Recording each spoonful costs more than it tells you |
| You want a profit figure every month | Perpetual, or periodic with a monthly count | Periodic gives no profit until you count |
Many businesses run both. The goods on the shelf are perpetual and the kitchen's ingredients are counted each week. The whole shop is counted once a year as the check.
How to switch from periodic to perpetual in ArmPOS
ArmPOS keeps a perpetual record for every product in each warehouse. Switching takes one full count, then the habit of putting every movement through it.
- Put your products in. Import them from a spreadsheet, one row each with its code, cost and price (Import products from a spreadsheet).
- Count, and load the count as opening stock. Products › Opening Stock takes a file of product_code and qty for one warehouse, and adds the quantities to what is there.
- Ring every sale through the POS. A sale takes its units off the warehouse you sell from (Make your first sale).
- Receive every delivery as a purchase with the status received. A purchase saved as ordered or pending adds nothing until you edit it to received (Record a purchase).
- Record losses as they happen. Damages › Create Damage takes broken or spoiled goods off and keeps the reason (Record damaged stock).
- Set a Stock Alert on each product you reorder. Reports › Product Quantity Alerts lists everything at or below it, and the alert can reach your phone (Get alerts on your phone).
- Keep a periodic check. Count one category a week with Products › Count Stock, and correct the gaps with Adjustment › Create Adjustment (Count and adjust stock).
Reports › Profit and Loss then costs each sale by FIFO and by average cost (Reports to check every day). The month's profit no longer waits for a count.
On plans with Accounting, ArmPOS posts each purchase to 1200-INV by itself, but no cost of goods sold, damage or write-down entry. The month-end entry brings 1200-INV to Inventory Valuation at cost, as inventory accounting shows step by step.
The Starter plan is free, with no card needed, and pricing shows what each plan includes. Start the record with your fastest lines. ArmPOS works the same way for shops in Uganda and in South Africa.
Frequently asked questions
Which is better for a small business, perpetual or periodic?
Perpetual, once anyone besides you sells or handles stock, or you sell on credit. Periodic suits one person selling a few slow lines, and stock used rather than sold.
Do perpetual and periodic inventory give the same profit?
Yes, when the count is right. Periodic puts losses inside cost of goods sold, while perpetual shows them on their own, like the cement example's UGX 256,000.
Can you use both systems at once?
Yes, and a perpetual shop has to. Its record runs day to day, and counts check it: a few lines each week and everything at the year-end inventory count.
Do IFRS or US GAAP require a perpetual system?
No, neither requires one system. FIFO and weighted average work under either, and IFRS does not allow LIFO, as FIFO vs LIFO explains.
Is a POS system a perpetual inventory system?
A POS that takes each sale off stock keeps the sales side of a perpetual record. It becomes a full perpetual system only when deliveries, returns and losses go through it too.
Run the cement test on your own fastest line this month: write down the opening count, the deliveries and the sales, then count. If the gap surprises you, create a free ArmPOS account and start a perpetual record with that line.