Eコマース在庫会計:期末棚卸法 vs. 継続棚卸法

Eコマース在庫会計:期末棚卸法 vs. 継続棚卸法

Shopify knows you have 214 tumblers left. It has no idea what they're worth — and neither, right now, do your books.


It's January, and your CPA asks a simple question: "What was your inventory value on December 31?"

You open Shopify. It says you have 214 tumblers, 387 mugs, and 96 carafe sets — precise to the unit, updated to the minute. You open QuickBooks. The Inventory asset account says $31,400, a number that hasn't moved since a journal entry you don't quite remember making. You've never done a physical count. Three sources, three answers, and the honest one is: you don't know.

Here's the part that stings. You've been running the store off Shopify's inventory screen all year, and it's been good — it stops overselling, it flags reorder points, it's never let you down operationally. So you assumed the accounting side was handled too. That assumption is the Lie this post exists to correct: "Shopify tracks my inventory, so my inventory accounting is done."

It isn't, because Shopify tracks units and your books track dollars — and the dollars side runs on one of two systems, periodic or perpetual. This post explains how ecommerce inventory accounting actually works in both, which one fits your store, what FIFO versus weighted average does to your margin, and where shrinkage quietly hides.

Units Aren't Dollars: Why the Platform Count Isn't a Book Value

Shopify's inventory system is operational. Its job is quantity: how many units exist, at which location, and whether the next order can be fulfilled. It does that job well, and you should keep using it for exactly that.

Your books have a different job. The balance sheet needs inventory as a dollar value — units on hand multiplied by what each unit cost you to acquire, landed. The P&L needs cost of goods sold — the value of the units that left this period. Quantity is an input to both numbers, but it is neither of them. A count of 214 tumblers is not an asset value until you can say what a tumbler cost, and "what it cost" changes shipment to shipment.

That's the whole gap. The platform answers "how many?" The books must answer "how much?" — and answering "how much," continuously and correctly, is what the periodic and perpetual systems are two different strategies for.

The Two Systems of E-commerce Inventory Accounting

Both systems agree on the destination: inventory sits on the balance sheet as an asset, and cost moves to COGS when goods sell. (If the why of that timing is new to you, read our COGS guide for Shopify sellers first — this post assumes it.) Where they differ is when the books find out.

Periodic: count, then true-up

Under a periodic system, your Inventory account sits untouched during the period. Purchases accumulate as they're billed. Then, at month- or quarter-end, you establish what you actually have — a physical count, or a trusted quantity report priced out at cost — and back into COGS with one formula:

Beginning inventory + purchases − ending inventory = COGS

One adjusting entry sets the Inventory balance to reality and sends the difference to COGS. Done.

What it costs you: you're blind between counts. Mid-month, your Inventory balance is stale and your gross margin doesn't exist yet. And the formula has a trap built in: everything that isn't on the shelf at count time becomes COGS — including theft, damage, and miscounts. Shrinkage doesn't get its own line; it silently inflates your product cost.

What it gives you: simplicity. No per-order cost tracking, no sync requirements, no software. A count, a spreadsheet, one entry.

Perpetual: every sale moves inventory

Under a perpetual system, each sale posts its own COGS at the moment it happens. Sell a tumbler, and that tumbler's cost moves from Inventory to COGS on the spot. The Inventory balance is live, gross margin is real on any day of the month, and a physical count changes jobs — it stops being how you measure inventory and becomes how you verify it. Any gap between the book number and the counted number is shrinkage, visible and quantified, instead of noise buried in COGS.

What it costs you: tooling and discipline. Every order needs to arrive in your books itemized, SKU-matched, and carrying a cost — which means clean per-order data flowing from your store, and a maintained cost per unit. Perpetual accuracy is only ever as good as that pipeline.

Periodic Perpetual
COGS recorded Once per period, via count formula Per sale, automatically
Inventory balance Accurate only at count dates ライブ
Shrinkage Hidden inside COGS Exposed as book-vs-count gap
要件 A count and a spreadsheet Per-order itemized data + cost tracking
Fails when Counts slip or costs go stale SKU mapping or sync discipline breaks

Which System Fits Your Store — Honestly

There's no virtue ranking here. The right system is the one your operation can actually sustain.

Under ~200 orders a month, single location, stable catalog: periodic, monthly. A count (or a priced-out Shopify quantity report) and one entry beat a perpetual setup you won't maintain. A fragile perpetual system is worse than an honest periodic one — it produces confident-looking numbers that are quietly wrong.

Mid-size stores — roughly 200 to 5,000 orders a month: most run the hybrid described in the COGS guide: a monthly journal entry computed from landed cost × units sold per SKU. That's periodic in cadence but perpetual in logic — it uses sales data rather than the count formula, so shrinkage doesn't automatically vanish into COGS. Pair it with a quarterly cycle count and it's the best effort-to-accuracy ratio in e-commerce.

High volume, multiple locations, bundles, a 3PL, or an aging-inventory problem: perpetual, run by dedicated inventory software, with your accounting system receiving summarized entries. At that complexity the live balance stops being nice-to-have — reordering, cash planning, and margin management all depend on it.

A useful tell: if a lender, a tax return, or a potential acquirer asked for your inventory value today, how wrong would your answer be? If the honest answer is "very," your system — whichever one — isn't being run; it's being assumed.

FIFO vs Weighted Average: What Cost Moves When a Unit Sells

Whichever system you run, there's a second choice hiding underneath it. When you sell one tumbler and the warehouse holds tumblers from a $6.00 shipment and an $7.20 shipment, which cost just became COGS? That's the cost-flow assumption, and in practice e-commerce uses one of two:

FIFO (first-in, first-out) assumes the oldest cost sells first. When your costs are rising — the default lately, between freight and tariffs — FIFO sends the older, cheaper costs to COGS first. Result: higher reported gross margin now, and an inventory balance valued at your newest, highest costs. When costs fall, it flips: margin looks worse than your current buying reality.

Weighted average blends every unit on hand into one average cost, re-averaged as each shipment lands. Cost swings get smoothed — your margin sits between the extremes, moves gradually, and one expensive air-freighted top-up doesn't whipsaw the month.

Neither changes what you actually paid; they only change which month reports it. Practical guidance: QuickBooks Online's built-in tracking is FIFO-only, most dedicated inventory tools default to weighted/moving average, and LIFO is effectively a non-option for online sellers. The choice has tax consequences and you can't flip it casually — confirm the method with your CPA, then stay consistent. A store that switches assumptions when it flatters the numbers has margins that mean nothing year over year.

Shrinkage and Write-Downs: Where Counts Earn Their Keep

Sooner or later, the physical count disagrees with the books. Units get stolen, damaged in the 3PL, miscounted at receiving, or lost in a return that never got restocked. The gap is shrinkage, and the entry is simple: reduce Inventory to the counted value, and take the difference to COGS — or better, to a dedicated shrinkage line so you can see whether the problem is growing.

The system-level difference matters here. Perpetual exposes shrinkage — book says 220, count says 214, you've lost six units and you know it. Pure periodic absorbs it — those six units just become part of "COGS," indistinguishable from product you actually sold. If shrinkage is material for you, that's an argument for perpetual logic all by itself.

Write-downs are the other adjustment: stock that still exists but will never sell at full value — dead SKUs, seasonal leftovers, damaged-but-sellable goods — should be written down to what it's realistically worth. Both adjustments come to a head at year-end, when the December 31 number feeds your tax return; our year-end inventory count and write-down guide walks the full process.

The QuickBooks Online Reality

QBO Plus and Advanced can run a native perpetual system — item costs, quantity on hand, FIFO COGS on every sale. At small scale it genuinely works. At store scale it strains: it needs every order arriving itemized and SKU-mapped, it only knows the costs your bills give it (landed cost included only if you allocate freight and duties yourself), and a large tracked catalog makes the file heavy and every mismapped SKU a data incident.

Past that point, the pattern that works is separation of duties: a dedicated inventory tool owns quantities, costs, and the perpetual ledger, and posts summarized inventory and COGS entries to QBO. QuickBooks stays the financial system of record; it stops pretending to be a warehouse system.

Either way, one dependency never goes away: the sales side. Perpetual COGS fires off itemized orders; periodic math runs on units sold per SKU; and both are matched against revenue that has to be right. That per-order pipeline — orders, refunds, fees, and payouts landing in QuickBooks correctly — is what LedgerPort does. It won't value your inventory, and we won't pretend otherwise; it makes sure orders sync on the method you choose with products mapped to the right QBO items, so whichever inventory system you run has clean data underneath it. There's a free plan up to 30 orders a month; paid plans start at $25/month.

Pick the System You'll Actually Run

Back to January. The version of you that fixed this answers the CPA in one sentence: "Ending inventory was $38,150 — counted December 30, valued at weighted average landed cost, shrinkage was 1.1% and it's on its own line." Shopify still runs the warehouse. The books run the dollars. Nobody confuses the two.

Getting there is three decisions: periodic or perpetual (match it to your volume and tooling, not your ambitions), FIFO or weighted average (ask your CPA, then never waver), and a count cadence that makes shrinkage a number instead of a mystery. Set up the accounts first — our e-commerce chart of accounts template has Inventory, COGS, and a shrinkage line pre-drawn — and if you're building the whole ledger from scratch, start with the complete guide to e-commerce accounting.

See how LedgerPort keeps the per-order data your inventory method depends on →

手入力作業を永遠にやめる

ストアをQuickBooksに15分で接続し、残りはLedgerPortに任せましょう。

無料で始める 料金を見る →

つながりましょう:

Eコマース会計を今日から自動化

ShopifyまたはWooCommerceストアを15分以内にQuickBooksに接続 — コーディング不要。

14日間返金保証 · 無料プランあり