Guides

Supplier email formats Stockpost reads

Quick answer: Stockpost reads CSV and XLSX. Both work out of the box; both sometimes need a little configuration per supplier. This guide covers what works, what doesn't, and what to say to a supplier when it doesn't.

CSV

Any comma-separated file with column headers on a row near the top, one row per SKU. You tell Stockpost which column is SKU, which is on-hand, and optionally which is with-supplier. Stockpost handles:

What to ask the supplier for: a CSV where the first row is the header, fields are comma-separated, and stock quantities are plain integers. If they balk at "header on row 1," just set the header row in Stockpost to whatever they actually use.

XLSX (Excel)

Stockpost reads the first sheet by default. If the supplier's actual data lives on sheet 2 or on a named sheet ("Stock Levels", "Inventory"), set sheet name per supplier.

Stockpost resolves formula cells to their cached values — so if the stock column is a formula pulling from another sheet, you still get the number. That said, suppliers who use formulas heavily sometimes send workbooks where the cached values are stale. Worth asking for a values-only export if you see drift.

XLS (the old 1997-2007 format) is not supported. It's still out there — if your supplier sends XLS, ask them to switch to XLSX or CSV. Both are a one-click re-save in any modern Excel.

What we don't read (and why)

What to ask your supplier for

If you're onboarding a new supplier and they ask what format to send:

Hi [supplier], we'd like to start receiving your stock report by email as a CSV attachment. Please include, one row per SKU: SKU, on-hand quantity, and — if you have it — on-order-with-you quantity. Column names can be whatever you use internally; we'll map them on our side. Once a week is plenty; daily if it's easy for you.

That's the whole brief. They don't need to install anything, don't need to learn an API, don't need to send any faster than they already do. You do the mapping once; after that, every email just works.

Related: