Skip to main content

Export products

Export the products list to a spreadsheet whenever you need the catalog outside SKU.io — for a bulk edit round-trip, an accountant, a supplier price review, or a channel feed. You choose which records go in the file, how much goes in each row (a flat product list, or one row per product-supplier with pricing tiers), and which format (XLSX or CSV). Small selections download instantly; large catalogs export in the background so your browser never has to wait.

Before you begin

  • You need the products.export permission. Without it the Export button doesn't appear on the products list, and the export endpoint rejects the request. See the product permissions reference.
  • The export includes the columns currently visible in your table. Add or remove columns with the column selector before you open the export dialog — see Browse, search & filter the products list.
  • Stock numbers in the export (Total Stock, Available, Allocated, Stock Value…) are point-in-time snapshots. For how those figures are derived, see the Inventory guides.
  • Exporting doesn't change any data and doesn't touch sales channels. To pull edited data back in, see Import products from a spreadsheet.

Export the list

  1. Go to the products list.
  2. Set up the view you want to export — apply any search, filters, or archived scope, and use the column selector to show exactly the columns you need. The export mirrors what the table shows.
  3. Click Export (top-right of the list; also available from the mobile actions menu). The Export dialog opens.
  4. Under Records to export, choose a scope (see the table below).
  5. Under Content, choose Products or Products with Suppliers.
  6. Under File format, choose XLSX (Excel) or CSV.
  7. Click Export.

What happens next depends on the size of the export:

  • Small export — the file is generated immediately and your browser downloads it (for example products-2026-07-12-14-30-00.xlsx).
  • Large export — SKU.io starts a background job instead, shows the toast "Export started — track progress in the job tray", and closes the dialog. Watch progress in the job tray; when it finishes, the file downloads automatically. See Large exports run in the background.

Choose which records to export

The Records to export options adapt to your current view — a scope only appears when it makes sense.

ScopeLabel in dialogWhat it exportsRespects active filters?
All recordsAll records (N)Every product in the catalogNo — filters and sort are ignored, you always get the whole catalog
Filtered resultsFiltered results (N)Only the rows matching your current search/filtersYes — same filter pipeline as the table
Current pageCurrent page (N)Just the rows on the page you are viewingYes (it's the current page)
Selected recordsSelected records (N)Only the rows you tick with the checkboxesSelection only

Notes:

  • Filtered results only appears when you have an active filter. With no filters, "All records" and "Filtered" would be identical, so only All records is shown.
  • Selected records only appears when you have at least one row selected.
  • All records deliberately clears your filters and sort for that one export, so it's the reliable way to dump the entire catalog regardless of what the table is currently showing.

Choose the content mode

The Content section offers two shapes for the file.

ModeLabelRow shapeUse it for
SummaryProductsOne row per productA flat catalog list, bulk-edit round-trips, general reporting
SuppliersProducts with SuppliersOne row per product-supplier link, with that supplier's pricing tiersReviewing or re-importing sourcing data across multiple suppliers

Products with Suppliers, in detail

When you pick Products with Suppliers:

  • A product with three suppliers produces three rows — the product columns repeat, and each row carries one supplier's detail (Supplier Name, Supplier SKU, MOQ, Leadtime, Target Stock Days, Is Default) plus a column per supplier pricing tier.
  • A product with no suppliers still gets one row, with the supplier columns left blank — so no product silently drops out of the file.
  • The redundant product-level Default Supplier … columns are dropped in this mode. The per-link supplier columns are the authoritative, import-shaped set, so the file round-trips 1:1 with the import template — editing a supplier row and re-importing updates exactly that supplier link, with no conflicting "default supplier" copy to fight it.

For how supplier links and pricing tiers work, see Manage a product's suppliers and Manage pricing tiers.

What ends up in the columns

The export writes the visible table columns (minus the checkbox, image thumbnail, and row-actions columns), in the order they appear, using spreadsheet-friendly headings. If you have hidden all columns it falls back to the full column set.

A few column families are worth calling out:

Column familyExample headingsNotes
IdentitySKU, Name, Type, Barcode, MPNBarcode and MPN are always written as text (see below)
Stock snapshotTotal Stock, Available, Available to Sell, Allocated, On Hold, Inbound, In Transit, Stock Value, Avg CostPoint-in-time; see the Inventory guides
Dimensions & casesWeight, Length, Width, Height, Case Qty, Case Weight, Case Length
TaxonomyCategory, Category Path, Other Categories, Other Categories (Path)Multi-value fields are comma-joined
RelationshipsParent SKU, Variations, Component SKUs, Component OfComponents render as SKU->quantity, comma-joined
AccountingTaxable, Tax Rate, Sales Nominal Code, COGS Nominal Code, Inventory Nominal CodeNominal codes export by name
DatesArchived, Created At, Updated At, Last COGS RebuildConverted from UTC to your account timezone, matching the UI
ImagesImage URL, Other ImagesPrimary image URL, then non-primary URLs comma-joined

Dynamic columns

Two families of columns are generated from your account's own data, so the column list is different for every tenant:

  • Attributes — every attribute in your account becomes a column headed Attr: <attribute name>, carrying that product's value. See Manage attributes.
  • Supplier pricing tiers — in Products with Suppliers mode, each pricing tier becomes its own price column (headed with the tier's display name). See Manage pricing tiers.

The Suppliers column expands on export

If the Suppliers column (the one that shows a supplier count in the table) is visible when you export in Products mode, it's not exported as a single count. It expands into the full default-supplier detail set — Default Supplier, Default Supplier SKU, Leadtime, MOQ, Target Stock Days — plus a column per supplier pricing tier for the default supplier. That way the count you see on screen becomes usable, editable detail in the file.

Numbers stay text — no scientific notation

Every data cell is written as an explicit text value. This stops Excel from mangling long numeric codes — barcodes, MPNs, and HTS-style codes — into scientific notation (for example 5.01234E+11). CSV files are written with a UTF-8 byte-order mark so Excel opens them in the correct encoding. This is also what lets an exported file round-trip cleanly back through Import products, which rejects scientific-notation barcodes.

For the exhaustive, importable list of columns and their accepted values, see the importable product columns reference and the product fields & validation reference.

Large exports run in the background

You never have to keep the tab open and wait on a spinner for a big catalog. SKU.io decides automatically:

  • Current page always downloads inline — it's bounded by the page size.
  • Selected downloads inline unless you selected more than 1,000 rows.
  • All and Filtered run a quick count first; anything over 1,000 rows is handed to a background job.

When an export is queued:

  1. The dialog closes and you see "Export started — track progress in the job tray."
  2. The job appears in the job tray as Export Products (or Export Products with Suppliers) with a live row count and progress bar.
  3. You can keep working, or cancel the job from the tray — a cancelled export cleans up its partial file and leaves nothing to download.
  4. When the job completes, the finished file downloads to your browser automatically.

XLSX auto-falls-back to CSV on very large exports

XLSX is held entirely in memory while it's written, so extremely large catalogs can exhaust the export worker. To keep large exports reliable, a background export requested as XLSX with more than 15,000 rows is automatically switched to CSV (the CSV writer streams row-by-row and stays within memory). The job's progress message tells you when this happens. If you specifically need XLSX for a very large catalog, narrow the scope with filters first so it stays under the threshold.

Next steps

Video transcript

To pull your catalog into a spreadsheet, open the products list and click Export. It exports the columns currently visible, so adjust the column selector first if you need more or fewer fields. Choose your scope — all records, or only the current page. Pick the content: one row per product, or one row per product-supplier pairing with pricing. Then choose XLSX or CSV, and Export downloads the file.

Last verified: