Accounting
ERP
Inventory Management
Perpetual vs Periodic Inventory: How Each System Records Purchases, Sales and COGS

Last updated: October 10, 2026 · Independent guide · We do not sell rankings or coverage.
The difference between perpetual vs periodic inventory is when the books learn what your stock cost. A perpetual system debits inventory on every purchase and moves cost to cost of goods sold (COGS) on every sale, so the inventory account is always current. A periodic system records purchases in a temporary purchases account, records only the revenue side of each sale, and calculates COGS once per period from a physical count. Both reach the same total COGS for the period, but only perpetual tells you what was sold, what was lost and what is left before you count.
The rule and the journal entries
Both systems rest on one identity: COGS equals beginning inventory plus net purchases minus ending inventory, where net purchases are purchases less purchase returns, allowances and discounts (OpenStax, Principles of Financial Accounting, April 11, 2019). A perpetual system applies that identity one transaction at a time. A periodic system applies it once, after the count.
| Account | Debit | Credit | Note |
|---|---|---|---|
| Purchase on account | |||
| Inventory (perpetual) or Purchases (periodic) | Invoice cost | Periodic uses a temporary account; inventory does not move | |
| Accounts payable | Invoice cost | Same in both systems | |
| Purchase return to supplier | |||
| Accounts payable | Cost returned | Same in both systems | |
| Inventory (perpetual) or Purchase returns and allowances (periodic) | Cost returned | Periodic uses a contra account to Purchases | |
| Sale on account | |||
| Accounts receivable | Selling price | Same in both systems | |
| Sales revenue | Selling price | Same in both systems | |
| Cost of goods sold | Cost of units shipped | Perpetual only | |
| Inventory | Cost of units shipped | Perpetual only | |
| Customer return of resaleable goods | |||
| Sales returns and allowances | Selling price | Same in both systems; credit accounts receivable | |
| Inventory | Cost of units returned | Perpetual only; credit cost of goods sold | |
| Period end | |||
| Inventory shrinkage (COGS sub-account) | Missing units at cost | Perpetual: book-to-physical adjustment; credit inventory | |
| Inventory (ending) | Counted units at cost | Periodic closing entry | |
| Cost of goods sold | Balancing figure | Periodic; shrinkage is inside this number | |
| Inventory (beginning), Purchases | Their balances | Periodic; debit Purchase returns to close it | |
OpenStax notes that under a periodic system the inventory balance “will remain unchanged until the company counts and verifies its inventory balance,” and that a sales return under periodic records only the revenue side, because the cost side was never booked.
A worked example: one month under both systems
The figures below are an illustration, not real company data. A small distributor sells one SKU, buys on account and uses first-in, first-out (FIFO) costing.
- Beginning inventory: 500 units at $10.00, or $5,000.
- Purchase: 1,000 units at $12.00, or $12,000.
- Purchase return: 50 damaged units sent back to the supplier, $600.
- Sales: 900 units at $25.00, or $22,500.
- Customer return: 30 resaleable units, $750 of revenue.
- Month-end count: 575 units on the shelf.
Step 1: the transactions during the month
Under perpetual, FIFO cost of the 900 units sold is 500 units at $10.00 ($5,000) plus 400 units at $12.00 ($4,800), or $9,800. The 30 returned units came from the $12.00 layer, so the return puts $360 back into inventory. Under periodic, none of these cost entries exist.
| Event | Perpetual entry | Periodic entry |
|---|---|---|
| Purchase | Dr Inventory $12,000; Cr Accounts payable $12,000 | Dr Purchases $12,000; Cr Accounts payable $12,000 |
| Purchase return | Dr Accounts payable $600; Cr Inventory $600 | Dr Accounts payable $600; Cr Purchase returns $600 |
| Sale | Dr Accounts receivable $22,500; Cr Sales $22,500. Dr COGS $9,800; Cr Inventory $9,800 | Dr Accounts receivable $22,500; Cr Sales $22,500 |
| Customer return | Dr Sales returns $750; Cr Accounts receivable $750. Dr Inventory $360; Cr COGS $360 | Dr Sales returns $750; Cr Accounts receivable $750 |
Step 2: the count and the period-end entries
The perpetual record now shows 580 units: 500 + 1,000 − 50 − 900 + 30. All 580 sit in the $12.00 layer, so the book balance is $6,960. The count found 575 units, so you post a shrinkage entry: debit inventory shrinkage $60, credit inventory $60. Ending inventory is $6,900 and total COGS is $9,800 − $360 + $60 = $9,500.
Under periodic, you value the 575 counted units at the most recent FIFO cost, $12.00, for $6,900. Net purchases are $12,000 − $600 = $11,400. COGS is $5,000 + $11,400 − $6,900 = $9,500. The closing entry is:
| Account | Debit | Credit | Note |
|---|---|---|---|
| Inventory (ending) | $6,900 | 575 counted units at $12.00 | |
| Purchase returns and allowances | $600 | Closes the contra account | |
| Cost of goods sold | $9,500 | Balancing figure | |
| Inventory (beginning) | $5,000 | Removes the opening balance | |
| Purchases | $12,000 | Closes the temporary account |
Step 3: what the two sets of books tell you
COGS is $9,500 and ending inventory is $6,900 in both systems. The perpetual books also separate $60 of lost stock you can investigate, and they had a current inventory balance all month. The periodic books show one number, available only after the count.
The rules behind the entries
Tax. IRS Publication 538 says you can figure the cost of goods on hand “by either a perpetual or book inventory” kept under sound accounting practices, and that “you must take a physical inventory at reasonable intervals and the book amount for inventory must be adjusted to agree with the actual inventory” (IRS Publication 538, revision January 2022). The same publication says businesses that keep inventories value them at the beginning and end of each tax year. Small business taxpayers that meet the section 448(c) gross receipts test can choose not to keep an inventory under the general rules; for tax years beginning in 2026, the test is average annual gross receipts of $32,000,000 or less over the prior three years (IRS Rev. Proc. 2025-32, section 4.30, no date shown).
Book (US GAAP). ASC 330 measures inventory at cost, which PwC’s inventory guide describes as “the sum of the applicable expenditures and charges” incurred to bring an item to its condition and location (PwC, Inventory guide, December 2021). Either recording system can produce that number. The PwC guide also notes that at most retailers shrinkage “can only be identified upon the performance of a physical inventory,” which is why both systems still need counts.
When periodic still makes sense
- Low-value, high-volume stock. A café or a gift shop with hundreds of low-cost items may not justify scanning every movement. A monthly or quarterly count costs less.
- Software that cannot track quantity. QuickBooks Online Simple Start and Essentials do not include inventory tracking; Intuit says inventory features “are available for QuickBooks Online Plus and Advanced” (Intuit QuickBooks Help, updated June 17, 2026). On those plans you are effectively periodic.
- Annual reporting only. If no lender or owner needs monthly margins, a year-end count may be enough.
Periodic stops working once you need monthly gross margin, reorder points, available-to-promise quantities or online stock levels. It also hides shrinkage inside COGS until the next count.
What moving to perpetual requires
- An item master. Every stocked item needs a unique SKU, a unit of measure, a costing method, and an inventory asset account and COGS account. In QuickBooks Online the costing method choice (FIFO or moving average) “can’t be changed later,” so decide before you create items (Intuit QuickBooks Help, September 22, 2026).
- Receiving transactions. Stock must enter the system through a receipt or vendor bill against the item. Intuit notes that a purchase order alone “does not change your inventory levels” (Intuit QuickBooks Help, updated June 17, 2026). Purchases posted to an expense account bypass the inventory record.
- Shipping and sales transactions. Every invoice, sales receipt or fulfillment must use the item, not a free-text line, so the system can relieve inventory and post COGS.
- An opening balance. Do a full count on the cutover date, enter quantities and unit costs for each item, and make the item valuation total equal the general ledger inventory balance. Our QuickBooks to NetSuite migration guide covers cutover timing.
- Cycle counts. Perpetual records drift. Count high-value items more often than slow movers and post differences to a shrinkage account. Our guide to cycle counting software covers count frequency and variance approvals.
- A month-end reconciliation. Compare the inventory valuation report with the inventory control account each month and investigate manual journal entries posted to inventory.
Common mistakes
- Mixing the two systems. Posting some purchases to a Purchases or expense account while sales relieve inventory leaves the item record and the ledger out of step.
- Booking customer returns without restocking. Under perpetual, a credit memo that does not return the item to stock leaves COGS overstated. Damaged returns should go to a write-off account, not back to saleable stock.
- Skipping count cutoff. Goods received but not yet billed, or shipped but not yet invoiced, distort the ending count and the shrinkage figure.
How to report it
On the income statement, COGS sits below net sales (sales less sales returns and allowances), and gross profit is the difference. Under perpetual, shrinkage belongs in a COGS sub-account so margin reflects it. Interim statements from a periodic system need an estimated ending inventory.
For tax, sole proprietors report cost of goods sold on Schedule C, which follows the periodic formula: line 35 is inventory at beginning of year, line 41 is inventory at end of year and line 42 is cost of goods sold (IRS Publication 334 (2025)).
How we researched this
We read the pages ranking for “perpetual vs periodic inventory” on October 10, 2026, including pages from MRPeasy and Concentrus (both sell software or ERP services), Double Entry Bookkeeping and OpenStax. None worked one month with returns through both systems or explained what a switch requires in software. We checked tax rules against IRS publications and software behavior against vendor documentation. The example uses constructed figures.
How ERP and accounting systems support each method
QuickBooks Online runs perpetual inventory on Plus and Advanced only. It supports FIFO and moving average cost and “will adjust your assets and Cost of Sales (COS) accordingly whenever sales of inventory items are entered” (Intuit, September 22, 2026). Simple Start and Essentials have no quantity tracking.
Microsoft Dynamics 365 Business Central keeps a perpetual item ledger, but COGS only posts to the general ledger with each sale when Automatic Cost Posting is selected in Inventory Setup. Otherwise you run Adjust Cost – Item Entries and Post Inventory Cost to G/L as batch jobs, and the Inventory – G/L Reconciliation page shows differences (Microsoft Learn, last updated August 29, 2024).
Oracle NetSuite is perpetual. When you fulfill an item, “the item cost posts to your ledger,” reducing the inventory asset and increasing COGS. It offers FIFO, LIFO and average costing, with average as the default (Oracle NetSuite Help, no date shown).
Odoo lets you choose. In Odoo 19, the periodic setting posts vendor bills as expenses and updates stock valuation in a closing entry, while the perpetual setting posts bills to stock valuation and reports COGS when goods are sold (Odoo documentation, no date shown).
Related guides
- Inventory Costing Methods: FIFO, Average, Standard, Specific
- COGS Journal Entry: Perpetual vs Periodic, With Examples
Frequently asked questions
Which is better, perpetual or periodic inventory?
Perpetual is better if you need monthly margins, reorder points or live stock levels, because it updates inventory and COGS with every transaction. Periodic is cheaper and can suit a small business with low-value items and annual reporting.
Do you still need a physical count with a perpetual system?
Yes. IRS Publication 538 says you must take a physical inventory at reasonable intervals and adjust the book amount to agree. Most perpetual users replace a single annual count with cycle counts during the year.
How do you record a sales return under each system?
Both systems debit sales returns and allowances and credit accounts receivable or cash. Perpetual also debits inventory and credits COGS for the cost of resaleable units. Periodic records nothing on the cost side; the units are picked up in the next count.
Does perpetual inventory change my COGS?
Not in total, if your counts and costing method are the same. In our illustration, COGS was $9,500 under both systems. Perpetual separates shrinkage from the cost of goods sold and gives you the figure every day instead of at period end.
What do I need before switching to perpetual inventory?
You need an item master with SKUs, units and costing method, receiving and shipping transactions that use those items, a counted opening balance that ties to the ledger, and a cycle count plan. Decide the costing method first, because some systems do not let you change it.
Sources
- OpenStax, Principles of Financial Accounting, 6.2 Compare and Contrast Perpetual versus Periodic Inventory Systems, April 11, 2019. openstax.org
- IRS, Publication 538, Accounting Periods and Methods, revision January 2022. irs.gov
- IRS, Publication 334 (2025), Tax Guide for Small Business, no date shown. irs.gov
- IRS, Rev. Proc. 2025-32 (PDF), section 4.30, no date shown. irs.gov
- PwC, Inventory guide (PDF), December 2021. PwC is an audit and advisory firm. viewpoint.pwc.com
- Intuit QuickBooks Help, Set up and track your inventory in QuickBooks Online, updated June 17, 2026. Intuit sells QuickBooks. quickbooks.intuit.com
- Intuit QuickBooks Help, What is FIFO and how is it used for inventory cost accounting, September 22, 2026. Intuit sells QuickBooks. quickbooks.intuit.com
- Microsoft Learn, Post inventory costs to the general ledger (Business Central), last updated August 29, 2024. Microsoft sells Business Central. learn.microsoft.com
- Oracle NetSuite Help, Cost of Goods Sold (COGS) GL Impact, no date shown. Oracle sells NetSuite. docs.oracle.com
- Odoo documentation (Odoo 19), Valuation cheat sheet, no date shown. Odoo sells Odoo. odoo.com