Feed uploads¶
Feed uploads is where a supplier's stock file enters Suppli by hand, and where you see every file and every Supplier API fetch as it arrives. Upload a CSV, pick the supplier it belongs to, and Suppli runs it the same way it runs a file your supplier emails.
What happens to a file¶
- It arrives by one of three ways: you upload it here, your supplier emails it to a connected mailbox (the sender must match the supplier's email address on the Suppliers page, and the file must be a
.csvattachment), or the Supplier API app fetches it. - Suppli reads it: the SKU and quantity columns are found by their names, or by what the values look like when the names are unusual; cost, title, MAP price, weight, dimensions, barcode, image and description are read when present.
- SKUs are matched to your catalog. A SKU with no mapping goes to Unmapped SKUs with everything the supplier sent for it; a mapped SKU keeps its whole row.
- Suppliers are stacked (the same product from two suppliers adds up) and your stock buffer is applied.
- Every connected channel is pushed: Shopify, eBay, Walmart, Amazon, Etsy and WooCommerce.
The list on the page shows the latest files and fetches, newest first: the supplier, where it came from (Upload, Email CSV or API), the file or the item count, its status with the live stage while it runs, when it was received, a Compare link once something changed on a channel, and a Push button on files.
How to upload¶
- Pick the supplier the file belongs to. Only active suppliers are offered.
- Choose the file: a CSV (comma-separated, UTF-8; a file saved by Excel is fine) with a header row and at least one row of data.
- Press Upload feed. The row appears at the top of the list and runs within seconds.
What the file needs¶
- A SKU column and a quantity column. Suppli recognises the usual names (
SKU,Item code,Part number,MPN… andQty,Quantity,Stock,Available,On hand…) and otherwise works them out from the values. - Optional columns: cost (
Cost,Price,Wholesale…), title, MAP (MAP,MSRP,Retail…), weight and dimensions with their unit in the column name, barcode, image URL and description. - A file with no header row, no data rows, or without SKU and quantity columns is refused with a message saying which.
The rules¶
- An identical file is skipped. If you upload a file that is byte-for-byte the same as a file for the same supplier processed in the last hour, Suppli skips it and tells you which feed it matched, so a double click or a re-upload never runs the same numbers twice. A changed file (one different quantity is enough) runs straight away. To run the same file again on purpose, use Push on its row, or Reprocess in Sync logs.
- Unmapped SKUs are kept, not dropped. Every supplier SKU without a mapping is listed on Unmapped SKUs with its data, one row per SKU, refreshed by each feed. There is no limit.
- Recent files can be run again. The 20 most recent files of your account keep their contents for Push and Reprocess; older ones show "Feed expired" and can only be uploaded again. A very large file (over about 2 million characters of text) is processed but is not kept for re-running.
- Supplier numbers are taken as they are. Stock, cost, weight and dimensions are read exactly as the supplier sends them, by SKU; no pack-size conversion.
- A stuck file recovers itself. A file still "Processing" after 20 minutes is recovered automatically within the next 15 minutes.
Running a feed again¶
Re-running a saved file is a Sync logs feature: open the run there and press Reprocess. The Push button on a Feed uploads row does exactly the same thing: it re-runs that file as if it had just arrived, so its numbers become the current stock and go to every connected channel, as a new row pointing back at the original. A Supplier API fetch has no Push, because a fetch keeps no file; fetch the supplier again from the Supplier API page instead.
When something goes wrong¶
A file that fails shows Failed in the list. The reason is in Sync logs, on the run's log lines. For a file that never arrived by email, see Feed not being picked up.