How do vendor/supplier records and purchase-order history migrate as data objects during a platform switch, given Shopify has no native supplier-management model?
Historical purchase orders cannot be imported into Shopify, and Shopify says so plainly (Shopify Help Center, September 2026). Supplier records have no documented CSV import and no Admin API object, so they are rekeyed by hand or held in the app or ERP that will own purchasing. Decide that owner before extraction, not after.
The question's premise needs one correction before the answer works. Shopify does have a supplier model as of 2026: the admin lets you "create and manage suppliers with their contact details, payment terms, and currencies" (per Shopify Help Center, September 2026). What it does not have is a way to get data into that model in bulk, or out of it at all.
The three objects, and what each one can actually do
| Object | Can it be exported from Lightspeed? | Can it be imported into Shopify? | Verdict |
|---|---|---|---|
| Supplier or vendor record | X-Series: "Suppliers can be imported, but not edited or exported, via spreadsheet" (Lightspeed, Sep 2026). Lightspeed's own imports team can produce exported data on request. | No documented CSV import, no Supplier API object | Rekey. Budget by supplier count. |
| Product-to-supplier link (supplier code, supplier price) | Yes, on the product export | Nothing native receives it | Metafield, app or ERP. |
| Purchase order history | X-Series: CSV export from the order. Stocky: "All completed purchase order reports, as CSV files" (Shopify, Sep 2026) | "Historical purchase orders can't be imported into Shopify" (Shopify, Sep 2026) | Archive. It is a record, not a live object. |
| Open, unreceived purchase orders | Yes | Recreate by hand | Rekey, or land them before cutover. |
| Historical cost data | Stocky: export "your historical cost data" (Shopify, Sep 2026) | InventoryItem.unitCost holds one current cost per item | One value survives. The history does not. |
Why "no API" is the sentence that plans the project
There is no PurchaseOrder object, query or mutation in the Admin GraphQL API, confirmed against the 2026-07 release candidate by a developer on Shopify's own community forum (16 June 2026) and independently by us today: the Supplier object URL returns a 404 (per shopify.dev, September 2026).
For a migration that means the usual toolchain is unavailable. There is no bulk operation, no Matrixify column, no partner migration app, and no way for an agency to write one. If a proposal you receive quotes supplier or purchase-order migration as a scripted task, ask which endpoint it writes to. There isn't one.
The extraction sequence that does not lose anything
- Decide the destination first. Shopify native, a purchasing app, or an ERP. Extraction format follows from this, and redoing extraction after the decision is the single most common wasted fortnight on this kind of project.
- Pull the Lightspeed supplier list with contacts, and the product-to-supplier map with supplier codes and supplier prices. The map is the asset. The contact list is a phone book.
- Pull completed purchase-order history as CSV, with costs and receipt dates, and put it somewhere that is not a POS vendor. This is the file your accountant asks for, in month three, about a period nobody can reopen.
- If Stocky is still in play, export before the window closes. Shopify gives "read-only access to export your data for at least 90 days after" 31 August 2026, and advises stopping new purchase orders in Stocky "about 14 days before" that date (per Shopify Help Center, September 2026). Export all completed PO reports, stocktake history and historical cost data.
- List open purchase orders. Land what can be landed before cutover. Rekey the rest, with the buyer who raised them, not with a data person.
- Load suppliers into the destination. In Shopify native this is manual creation. In an app or ERP, check whether the vendor's own importer exists before assuming it does.
- Reconcile once. Count suppliers in, count open POs in, and have the head buyer sign the count. The sign-off is the deliverable, not the file.
What to do with purchase-order history you cannot import
Three honest options, in the order we usually recommend them.
- Cold archive. CSVs in your document store, indexed by supplier and year, with a named owner and a retention period. Cheapest, and adequate for almost everyone.
- Metafields on the product. Last cost and primary supplier code as product or variant metafields, so the buyer sees the number where they work. Lightweight, and it survives the app you have not chosen yet.
- Load it into the system that will own purchasing. Only worth it when the app or ERP can use the history for forecasting, and only for as many years back as the forecast actually reads.
When NOT to migrate this data at all
- When purchasing is moving to an ERP anyway. Load it there once, not into Shopify and then again.
- When the cost history is wrong. Migrating unreliable landed costs launders them into a new system with a clean audit trail. Fix or drop.
- When the supplier list is stale. A migration is a good moment to stop rekeying sixty suppliers you last bought from in 2021.
The Deploi point of view
Our own position, from building on Shopify. Separate from the facts above.
- Our take: Supplier and purchase-order data is the only part of a Lightspeed migration where the answer is genuinely manual in 2026, and pretending otherwise is how the estimate breaks. We plan it as a rekeying task with a named buyer and a counted scope, not as a data-engineering task, because there is no endpoint to engineer against.
- What we refuse to quote: scripted supplier or purchase-order migration into Shopify native. There is no API surface to write to, so any fixed-price line item for it is priced against work that cannot be performed. We will quote the extraction, the archive design and the rekeying, and we will say which is which.
- Where we disagree: Migration scoping usually treats history as the hard part and master data as the easy part, because history is bigger. Here it inverts. History has a clean answer, which is archive it. Master data is the part with no mechanism, and it is the part the business notices on day one when a buyer cannot find a supplier.
- What this page adds: the object-by-object verdict, the Stocky export window and its 14-day cut-off, and the specific evidence that no purchase-order or supplier API exists, which is what makes this a rekeying project rather than a scripted one.
Reviewed by Martin Dejnicki, Director of SEO & AI Search. Facts verified 2026-09-14.
Where we worked this out
Our decision records