PriceProof

PriceProof Landed Cost — Merchant Guide

Quick summary: Allocate freight to your variants and see the true landed cost per unit. Four allocation methods, append-only version history, audit CSV export, and optional one-click sync to Shopify's cost per item — all free, no caps.

Why this app exists

Merchants who outgrew spreadsheets after tools like Stocky left the space need a freight-allocation ledger that:

This app does exactly that — and nothing more. No accounting, no currency conversion, no tax reporting. Just clean freight allocation with an audit trail that survives supplier and freight changes alike.

What you get (every feature is free)

FeatureWhat it does for you
Four allocation methodsSplit freight by line value, by quantity, by weight, or evenly — the question from merchants replacing spreadsheets, answered per shipment instead of per cell.
Your original costs stay on recordLanded cost lives in its own layer; the unit costs you entered are never modified, and every version is kept for audit.
By weight — for mixed shipments where weight drives the freight billSplit freight by total weight (quantity × weight per unit). Lines without a weight are excluded from the split with a warning — never guessed.
Optional sync to Shopify costPush landed costs to Shopify's cost per item with one click. It is explicit, logged per variant (old → new value), and reversible with a one-click undo.
Append-only historyRe-running an allocation creates a new version — nothing is overwritten, so the audit trail survives supplier and freight changes alike.
Audit CSV exportEvery version of every item (group, version, date, method, weight, shares) in one file — the record you'd want if freight splits are ever questioned.
Fail-closed mathZero totals leave freight unallocated with a warning instead of a guessed split; rounding residuals land on the highest-value eligible line and say so.
HS code audit trailEvery variant's HS code is recorded, and the app logs each time the code Shopify reports stops matching what you set — with the previous value, the current value, and a timestamp. It reads codes through the products/update webhook, never edits them, and never calculates duty.

How it works (5 minutes to first shipment)

  1. Install — the dashboard opens with an empty shipment list.
  2. Create a shipment — freight total, allocation method, optional note.
  3. Add items — variant, SKU, quantity, unit cost. Add a weight per unit to use the by-weight method. Or import the flow per your catalog routine.
  4. Run allocation — a new version appears with per-variant landed costs.
  5. Optional: Sync landed costs to Shopify — writes each variant's landed cost to Shopify's cost per item, with an undo button to restore the originals.
  6. Export the history CSV — any time for your records.

What this app is / isn't (honest framing)

FAQ

Does it change my product costs?
The unit costs you enter are read-only inputs and are never modified — landed figures live in separate shipment versions. If you use the optional sync, Shopify's cost per item is updated to the landed cost; your original values stay in the shipment history and can be restored with one click.

What if freight or items change?
Re-run allocation: a new version is created, previous versions stay untouched.

Why does the app request write_products?
The write scope is used only when you press "Sync landed costs to Shopify" — it writes the landed unit cost to each variant's cost per item. It is never used automatically, and every write is logged with the previous value so it can be undone.

Do you access my customers or orders?
No customer data — the app does not request the customers scope and processes no consumer personal data. It does request read_orders, used only to read the duty totals Shopify records on an order (for the returns dashboard). Customer names, addresses, emails, payment details and fulfilments are not queried or stored.

Why does the app read my HS codes?
To keep an audit trail: it stores each variant's HS code (baseline) and records only the moments the reported code changes, so a code that was altered after you set it is visible instead of silent. Codes come from Shopify via the products/update webhook, are stored on our server in Japan, are deleted when you uninstall, and are never written back — the app does not request write_inventory and does not calculate duty.

Where is my data stored?
Japan (Tokyo), on Oracle Cloud Infrastructure.

Need more compliance coverage?

AppWhat it handlesLink
EPR Verpackung: LUCID FiguresGerman VerpackG packaging kilograms — calculate, reconcile dual-system & LUCID, audit CSVepr.priceproof.app
GPSR Product Safety InfoEU General Product Safety Regulation — manufacturer, Responsible Person, safety warnings in buyer's languagegpsr.priceproof.app
二重価格・価格履歴 景表법チェックJapan dual-pricing (景品表示法) — 8-week rule, joint-disclosure draftingpricejp.priceproof.app
EU Textile Fibre LabelsRegulation 1007/2011 — validated fibre composition in shopper's languagetextile.priceproof.app
PriceProof: Price ProofUK/AU/CA was-price substantiation — CMA, ACCC, Competition Act benchmarkspriceport.priceproof.app
PriceProof WishlistHeart button + wishlist page, guest-friendly, free demand signalswishlist.priceproof.app

All apps are free with every feature included — no caps, no locked tiers, no billing flow.

Support