FIFO COGS: how ShipWave costs your inventory
Why First-In-First-Out costing matters for accounting accuracy, how cost layers are built from receipts and adjustments, and how consumption stays atomic at ship time.
What FIFO costing is
Why it matters
How layers are created
assembled_kit mode, or current most-recent layer cost in components mode), and MO completions for BOM-produced finished goods (cost = components consumed + labor). Each layer stores: SKU, qtyReceived, qtyRemaining, unitCost, source (PO/MO/Return/Adjustment), and timestamp.Atomic consumption at ship time
qtyRemaining > 0, (2) consumes as much as it can, (3) moves to the next layer if more is needed, (4) writes a CogsConsumption record per layer touched, (5) commits. If any step fails, the entire transaction rolls back and the ship action retries cleanly.Opening balance backfill
cogs field as the unit cost and your current on-hand as the quantity. This layer is treated as the oldest, so it's consumed first—exactly the right behavior for legacy stock. You can see the backfill layers in the SKU's cost history with source OPENING_BALANCE.FAQs
More in Profitability & COGS
- Marketplace fee ingestion
How ShipWave pulls real fee data from Amazon, Shopify, eBay, and Walmart so your profitability numbers reflect what each channel actually charges you.
- The profitability dashboard
See revenue, COGS, fees, shipping, and overhead stacked together to understand real net margin per order, SKU, channel, and warehouse.
- Inventory valuation
See the dollar value of every SKU sitting on your shelves and snapshot month-end totals for accounting.
- Opportunities Found: 8 ways ShipWave spots money on the table
Heuristics that surface SKUs losing money, declining margins, cheaper suppliers, slow movers, and shipping outliers—capped to a human-reviewable cadence.
- Overhead allocation
Spread fixed monthly overhead (rent, utilities, software, salaries) across SKUs so the profitability dashboard shows fully-loaded margin.