StockroomInstall free

Shopify keeps one cost. Your books need the history.

Shopify stores a single cost per variant and overwrites it, so the recorded cost of stock you already own changes the moment your next delivery is priced differently. Stockroom keeps every receipt as its own cost layer - freight and duty folded in - and reports COGS on the same basis your accountant already uses.

  • Cost layers, never overwritten
  • FIFO or weighted average
  • Exports your accountant can read
Receiving

Cost is decided when the invoice arrives

The purchase order records what you agreed. The receipt records what it actually cost - and the two are allowed to disagree.

  • Edit costs at receiving. Key the real invoice costs against what arrived, with the supplier invoice reference on the receipt. The order stays the agreement record.
  • Allocate the charges. Freight, duty and handling spread across the order by value, by quantity, by weight, by a split you type, or not at all.
  • Late freight invoice? Still fine. Charges stay correctable until the order closes, and changing one re-books the receipts already taken so the freight reaches landed cost instead of just the document total.
  • Snapshots are immutable. Each receipt keeps its own landed costs forever. A price change next quarter never rewrites what a delivery cost you last quarter.
  • Push a real weighted average. Choosing "Receive & update costs" reads on-hand across locations before the stock moves and writes a weighted-average cost to Shopify - not a naive overwrite.
  • See the margin that counts. Product pages show last landed cost and true margin next to the Shopify-cost margin. Receiving previews margin at landed cost as you key the invoice.
Reporting

Numbers that survive a year-end

COGS in Stockroom is a cost-layer walk, not an average multiplied by units sold.

  • FIFO or weighted average. Pick the method your books use. QuickBooks Online costs FIFO, QuickBooks Desktop costs average - both reconcile.
  • Refunds handled properly. A refund reverses COGS only when the units were actually restocked, and reversals are clamped to the cost this walk booked.
  • Stock on hand as of a date. Units and value at cost as of any past date, for the year-end number your bookkeeper asks for.
  • Landed cost report. By supplier, product or purchase order, with per-currency totals kept separate and never summed together.
  • It tells you what it cannot see. Uncosted units, foreign-currency items and stock moved outside Stockroom are counted and footnoted, with a reconciliation line - rather than quietly folded into a number that looks clean.
  • Everything exports. Every report has CSV export, purchase-order and received lines export with landed columns, and any report can be emailed or posted to Slack on a schedule.
For your accountant

The three questions your accountant will ask

Bring them to the demo. These are the answers.

  • Which valuation method does it use? Whichever one your books use. FIFO consumes the oldest cost layer first; weighted average consumes at a pool average that every receipt re-weights. You choose once in Settings, and the choice governs what Stockroom reports and what it sends to your accounting sync.
  • Can we report on our own fiscal periods? Any date range, not just calendar months - a fiscal year starting in October is the same query as any other. Stock value as of a past date answers the opening and closing balance for a period that has already ended, and any report can arrive by email on the first of the month without anyone remembering to run it.
  • Will it tie out? The totals cover every product, and the CSV export carries every row behind them, so the file you reconcile sums to the figure on screen. Where a number is an estimate, Stockroom says so on the report: uncosted units, foreign-currency items and stock moved outside Stockroom are each counted, with a reconciliation line rather than a clean-looking total that hides them.
  • One honest limit, up front. COGS is calculated per item across your whole store, not per location, so a business that wants retail and online margin reported separately gets split revenue and blended cost of goods. Per-location costing is on the roadmap and not built.
Accounting

Into QuickBooks, without retyping

Stockroom is free. MyWorks Sync, our accounting sync, is the paid part - and it is the only paid part.

  • Push purchase orders and bills. Send a purchase order to QuickBooks Online or Desktop from the order itself, with a synced deep link back to the QuickBooks document and a clear error and retry if it fails.
  • Stock adjustments too. Applied adjustments sync as documents with a stable reason code you can map to your own accounts.
  • Xero is coming. The Stockroom side is built and waiting on the MyWorks Xero app.
  • Costs that update themselves. A supplier connected through Stockroom Network publishes the prices you pay, so your cost basis stops drifting out of date between orders.

Common questions

What is landed cost?

The true cost of getting a unit onto your shelf: what the supplier charged, plus the freight, duty and handling attached to that delivery, spread across the items on it. It is the number your real margin is calculated from.

Does it overwrite the cost in Shopify?

Only if you ask it to, per action. When you choose to update costs at receiving, Stockroom reads your on-hand across locations first and writes a weighted-average cost. Zero-cost lines never overwrite anything.

What about orders in another currency?

Purchase orders carry their supplier currency from day one and per-currency totals are always reported separately, never blended into one figure. Automatic FX conversion is not built yet, so cost pushes and landed-cost math are held to your shop currency rather than guessing a rate.

Do I have to pay for the reporting?

No. Landed cost, COGS, the ten reports and every CSV export are part of the free app. The only paid piece is MyWorks if you want purchasing to flow into QuickBooks automatically.

Free on the Shopify App Store

Run it on your own catalog

Install Stockroom free from the Shopify App Store. No trials, no credit card.