You open QuickBooks Online, glance at your inventory asset account, and the number staring back doesn't match what you expected. Again.
Maybe you just received a new shipment at a higher cost. Maybe you sold a batch of items you bought months ago at a discount. Either way, the value on your balance sheet shifted — and you're not entirely sure why Still holds up..
Here's the short version: QuickBooks Online uses FIFO. Which means that's the only method it supports. First In, First Out. Still, no LIFO. No weighted average. No specific identification. Just FIFO.
If you're coming from QuickBooks Desktop, that might feel like a limitation. If you're new to inventory accounting entirely, it might feel like a relief. Either way, understanding how FIFO actually works inside QuickBooks Online — and what it means for your numbers — is the difference between trusting your reports and second-guessing them every month And it works..
What Is FIFO in QuickBooks Online
FIFO stands for First In, First Out. That said, the concept is straightforward: the first units you purchase are the first units considered sold. When you record a sale, QuickBooks pulls the cost from your oldest remaining inventory layers.
Think of it like a grocery store milk shelf. The oldest cartons get pushed to the front. Customers grab those first. The newer, fresher stock stays in back until the older stuff is gone Worth keeping that in mind..
In QuickBooks Online, every time you enter a bill, check, or expense for inventory items, you're adding a new "layer" to that item's cost history. Each layer has:
- A date
- A quantity
- A unit cost
When you sell that item — whether through an invoice, sales receipt, or POS transaction — QuickBooks automatically deducts from the oldest layer first. Once that layer is exhausted, it moves to the next oldest. And so on And it works..
How layers actually look in practice
Say you buy 10 widgets at $5 each on January 1. So then 20 more at $6 each on February 1. Your inventory asset account shows 30 widgets valued at $170 (10 × $5 + 20 × $6) Still holds up..
Now you sell 15 widgets. QuickBooks doesn't ask you which ones. On the flip side, it assumes you sold the 10 from January ($5 each) and 5 from February ($6 each). Even so, cost of goods sold: $80. Remaining inventory: 15 widgets at $6 each = $90 Still holds up..
You don't see this layer breakdown on standard reports. But it's there, driving every COGS calculation, every inventory valuation, every gross margin number Nothing fancy..
Why It Matters / Why People Care
Inventory valuation isn't just an accounting exercise. It directly affects three things business owners actually care about: taxes, profitability, and borrowing power.
Tax implications
Under FIFO, when costs are rising — which they usually are — your cost of goods sold reflects older, lower costs. Still, higher taxable income. Still, that means higher gross profit. More tax owed now.
Compare that to LIFO (Last In, First Out), which matches current sales with current costs. LIFO typically lowers taxable income during inflation. But LIFO isn't allowed under IFRS, and QuickBooks Online doesn't support it anyway. So if you're on QBO, you're locked into FIFO's tax treatment Simple, but easy to overlook. Practical, not theoretical..
Some businesses actually prefer this. Higher reported profits look better to banks and investors. But come tax time, the bill is real And that's really what it comes down to..
Gross margin accuracy
If your costs fluctuate — seasonal pricing, supplier changes, volume discounts — FIFO smooths things out in a specific way. Now, your COGS lags behind current market costs. During rising costs, your margins look better than reality. During falling costs, they look worse Which is the point..
It sounds simple, but the gap is usually here Most people skip this — try not to..
This matters when you're pricing products, negotiating with suppliers, or deciding which SKUs to keep. If you don't realize FIFO is masking current reality, you might make decisions based on margins that don't exist anymore.
Balance sheet valuation
Your inventory asset account represents the cost of goods still on hand. Now, under FIFO, that's valued at the most recent purchase costs (since the oldest layers got sold first). In inflationary periods, this means your balance sheet shows inventory closer to current replacement cost Small thing, real impact..
That's generally considered more accurate for financial reporting. But it also means your inventory asset value can swing significantly with a single large purchase at a different price Simple, but easy to overlook..
How It Works in QuickBooks Online
QuickBooks Online handles FIFO automatically — but only if you set things up right and follow the workflow. Here's what actually happens under the hood.
Setting up inventory items correctly
Before FIFO can work, you need inventory tracking turned on. Day to day, gear icon → Account and Settings → Sales → Products and services → Track inventory quantity on hand. Turn it on That's the whole idea..
Then create your products as Inventory type items (not Non-inventory, not Service). Each inventory item needs:
- An initial quantity on hand (if you're migrating existing stock)
- An "as of" date for that initial quantity
- A cost per unit for that initial quantity
This initial entry creates your first cost layer. Get the date wrong, and your entire FIFO timeline shifts Which is the point..
Purchasing inventory: bills, checks, expenses
Every time you record a purchase for an inventory item — whether via Bill, Check, or Expense — QuickBooks adds a cost layer. The date on the transaction becomes the layer date. The quantity and rate become the layer details Took long enough..
Critical point: the date on the transaction determines layer order. Not the date you received the goods. Not the date you approved the PO. The transaction date.
If you enter a bill dated January 15 but the goods arrived January 10, your layer sits at January 15. If you later enter a bill dated January 10 for a different purchase, that layer now sits before the first one — even though you entered it later That's the whole idea..
This trips people up constantly. Enter transactions in chronological order by transaction date, not by when you sit down to do bookkeeping.
Selling inventory: invoices, sales receipts, POS
When you create an invoice or sales receipt with inventory items, QuickBooks instantly calculates COGS using FIFO. It looks at the item's cost layers, pulls from the oldest first, and posts:
- Debit COGS
- Credit Inventory Asset
You see the revenue on the invoice. You don't see the COGS entry — but it's there, in the background, attached to that same transaction date.
Inventory adjustments and their danger zone
Sometimes you need to adjust quantity on hand without a sale or purchase. In practice, shrinkage. Damage. Here's the thing — found stock. You use an Inventory Quantity Adjustment (Gear → Products and services → Adjust quantity) Not complicated — just consistent..
Here's where FIFO gets messy.
When you reduce quantity, QuickBooks removes layers from the oldest first — just like a sale. But there's no revenue. Just a debit to Inventory Shrinkage (or whatever expense account you choose) and a credit to Inventory Asset. The cost comes from the oldest layers.
When you increase quantity, you're adding a new layer. You must enter a "new value" — which becomes the unit cost for that layer. If you put the wrong cost here, you've just injected a bad layer into your FIFO stack Worth keeping that in mind..