Support › Inventory & COGS › Inventory & COGS
Inventory & COGS
Every SKU you sell, pulled live from Amazon, with the cost you actually paid sitting next to it — so your margins, your valuation and the Cost-of-Goods-Sold line on your Xero invoices all tie out to the same number.
The Inventory page
Open Inventory from the navigation. TrueBooks pulls every listing in your active marketplace from Amazon's Listings API and renders one row per SKU with the product image, brand, model number, condition, dimensions, the current Amazon offer price and the listing's buyable / discoverable status.
The page is hard-scoped to whichever marketplace you've selected in the header. Switch from Amazon.co.uk to Amazon.com and the table re-fetches against the US catalogue — the same SKU on two storefronts is treated as two separate listings, which matches how Amazon stores them.
What you see at the top
Five KPI cards sit above the table:
- Listings — the total count of SKUs in this marketplace.
- Buyable now — listings where a customer can press Buy today. Excludes anything Amazon has suppressed, stranded, or whose buyability toggle is off.
- Discoverable — listings visible in Amazon search. A listing can be discoverable without being buyable (e.g. when it's out of stock); the page calls that out explicitly.
- Average offer price — across every buyable SKU, with the median underneath so you can spot whether a few high-priced listings are pulling the average up.
- Cost coverage — what percentage of your SKUs have a cost recorded. The closer this is to 100%, the more accurate your COGS line will be on the next Xero invoice.
The breakdown cards
Underneath the KPIs we render six donut-style breakdowns. Each one slices your catalogue by a different attribute so you can scan for issues at a glance:
- Listing status — Available to buy / Visible in search only / Suppressed / Stranded / Inactive. Anything that's not buyable surfaces here first.
- Brand — top five brands by SKU count.
- Product type — Amazon's category taxonomy.
- Fulfilment channel — FBA vs FBM (you-ship).
- Condition — New, Refurbished, Used (with sub-grades), Collectible.
- Country of origin — useful for compliance, tariff and duty-of-care reporting.
SKUs missing any of these fields land in a labelled (unknown) bucket — “Brand not set”, “Category not set”, “Country not set”, etc. — so it's obvious which Listings rows need filling in on Seller Central rather than being silently excluded.
Per-SKU costs
Click Costs from the Inventory page header to open the cost editor. Every SKU in your active marketplace is shown with an inline cost field. Type a value, click Save costs, and TrueBooks writes a new ProductCost row dated to today. We never overwrite history — each row carries an effective-from date, so when your supplier raises a price, your old settlements keep posting against the old cost and your new ones use the new one.
Bulk upload from CSV
For larger catalogues, click Bulk upload CSV. Drop in any spreadsheet export that has at least an ASIN column and a cost price column — TrueBooks auto-detects them by header name and matches each row against your active marketplace's SKUs by ASIN (case-insensitively). The dialog previews the first five mapped rows so you can sanity-check before committing.
Anything that doesn't match is reported back in the success dialog with the unmatched ASINs listed. Usually that means the SKU isn't in your TrueBooks catalogue yet — re-sync Inventory from Amazon and re-upload, or open the row by hand to add a cost manually.
Filter to what's missing
The Show only missing costs switch on the Costs page hides every SKU that already has a cost recorded, leaving only the rows that still need attention. Useful when you've just synced a fresh batch of listings and want to drain the backlog before the next posting cycle.
How COGS lands on your Xero invoice
Turn on Include COGS on posted invoices from Settings → Settlement Settings → COGS. Once it's on, every settlement TrueBooks posts to Xero gets one extra journal line:
- Description: Cost of Goods Sold
- Account: 310 (or whatever your COGS chart code is — adjust on Accounts & Taxes)
- Tax rate: No VAT
- Amount: a negative figure equal to the sum of (units sold × per-SKU cost) across every order line in that settlement
The figure is computed at posting time, using the cost row that was effective on the order's posted date. So an order shipped before a price rise picks up the old cost; an order after the rise picks up the new one — your historical accounting stays accurate without any manual journal entries.
Specific-cost vs weighted-average
Two methods are supported, switched from the same Settings page:
- Specific cost (default): sum of
qty × latestProductCostper SKU on each settlement. Most accurate for sellers with a steady catalogue. - Weighted average: a single workspace-level cost figure × total units sold on each settlement. Quicker to set up for sellers with hundreds of SKUs and small per-unit cost variations. The default value is seeded from the mean of your most-recent per-SKU costs, so you have a sensible starting point — adjust to whatever your bookkeeper prefers.
Inventory valuation
The Valuation sub-page sums the cost of every SKU you have on file. It's a fast way to answer “what's my stock worth right now?” for year-end balance-sheet work. When Amazon's FBA Inventory feed is available against your seller account, the figure becomes cost × on-hand quantity; until then it shows total catalogue cost as a useful upper-bound.
Sync cadence
The Listings sync runs whenever you press Sync from Amazon on the Inventory page header. It walks every page of the Listings API for the active marketplace, upserting one row per SKU. There's no automatic cron today — sellers tell us they'd rather press the button manually after a stock change than have inventory data shifting under them silently. We may add an opt-in scheduled sync later; let us know if that'd be useful.
If Sync from Amazon fails with a permissions error, the seller account's SP-API authorisation is missing the Product Listing role. Re-authorise from Account → Integrations and tick that role at the consent screen.
What happens when you change a cost
Cost edits affect future postings only. A settlement already posted to Xero keeps the COGS figure it was posted with. If you need to re-issue a Xero invoice under a corrected cost, open the settlement from the Settlements list and use Repost — TrueBooks voids the existing invoice and creates a new one with the updated figures. See Posting to Xero for the full void / repost flow.
