Supplier SKUs on Shopify purchase orders: the hidden field

Shopify does have a supplier SKU field on purchase orders, and it does remember what you type. What it gives you no way to do is see that data on any screen, correct it, export it or load it in bulk — which is why merchants have taken to raising fictional purchase orders just to write into it.

Start with the thing most articles on this get wrong: the field exists. A Shopify purchase order line carries a Supplier SKU, and Shopify's documentation states that if you have ordered that product from that supplier before, "the Supplier SKU, Cost, and Tax values are auto-filled from your previous purchase orders with that supplier."

So the problem is not a missing field. The problem is that the data behind it is write-only in the admin. There is no product field holding the code, no list of it, no export of it and no bulk edit. You can put a code in, and after that it is effectively out of your hands — with one thing that changed in autumn 2026 and is covered further down: an app can now read your purchase orders, though nothing yet lets you edit them in bulk.

  • Populating it: type it on a purchase order once and it auto-fills next time for that supplier. That works.
  • Correcting a mistake: there is no supported way. Merchants raise fake purchase orders to get at it.
  • Loading a thousand of them: there is no supported way either, and the bulk-editing tool merchants name cannot reach purchase orders at all.

If you came off Stocky, read the last section first — it shut down on 31 August 2026 and the official replacement does not carry this data.

The fictional purchase order

This is the part worth reading even if you never use Shopify's purchase orders, because of what it says about the shape of the gap.

Want to know the horrendous workaround to edit an existing Supplier SKU? We create a fictional Purchase Order, add the product(s) we need to edit, change the Supplier SKU, go through all steps of the Purchase Order, and then archive the fictional Purchase Order!!!

— orkman, 1 December 2025

He runs "thousands and thousands of products" and moved from Advanced to Plus partly hoping the higher tier would help. It did not.

A second merchant, seven months later and in a different thread, described the same trick used for the opposite purpose — not correcting one code but loading the whole catalogue:

Or you can make one big fake order, include your entire library, but you will have to do that for each of you vendors. Its not great, considering we have 200+ vendors we deal with, but it beats going by the 10516 varients we have indivudially.

— NeilSlinde, 8 July 2026

Two merchants, independently, using invented purchase orders as a data-entry tool. That is not eccentricity. The purchase order form is the only way to write this data, so anyone who needs to write it without actually buying something has to fabricate an order.

Do not treat this as a working solution. The day after posting it, the same merchant reported that a correction made on one purchase order "does not persist to the next Purchase Order" — so it is not clear the ritual reliably does what people believe it does. Try it on one product before you try it on a thousand.

Shopify's own support could not explain it

The clearest measure of how undocumented this is came from Shopify staff in April 2024:

It is not currently possible to add a second SKU number to products, be it the supplier's or otherwise, but I appreciate why this would be beneficial.

— Victor, Shopify staff, 1 April 2024

Later the same day, asked where the supplier SKU is actually kept:

I've taken a look via our Help Center documentation and internal resources we have here at Shopify and I've been unable to find specific information about suppliers SKUs and how to save or add them.

— Victor, Shopify staff, 1 April 2024

A merchant went to support directly at the end of 2025 and came back with more:

Shopify Support confirmed there is currently NO WAY for us to bulk edit or bulk delete Supplier SKU values across a store (which I knew already). Shopify Support also confirmed their own technical team apparently can't do this either […] I even asked them to simply delete all Supplier SKUs associated with our store, as I'd rather they were deleted—and we stop using them—than continue to use them with known errors, but I was told this couldn't be done!

— orkman, 2 December 2025

The mechanism was not documented by Shopify at all. It was reverse-engineered by a merchant in 2024:

I found that if I edited a prior PO to add the Supplier SKU […] then the next time I created a PO for the supplier and added this product, the Supplier SKU field is pre-populated. So, it appears to be saving the Supplier SKU for a product and associating it with a particular supplier. What I can't find is a way to see a list of all SKUs for a particular supplier and the associated Supplier SKU.

— Mike1933, 3 April 2024

Another merchant's name for it has stuck: the "secret hidden sub menu of supplier skus."

What this actually costs

Wrong goods arrive. The most direct consequence, from a merchant in 2024: "the description of the product I use may not match the description the manufacturer or intermediary supplier use and this could lead to the wrong product being supplied."

Typos become permanent. Because every purchase order is retyped by hand, mistakes creep in — and once stored, there is no supported way to fix them. One merchant on Plus described exactly that trap: errors "have inevitably crept into our Supplier SKU field over time and there is currently no way for us to access, edit or manage it in bulk."

Everything gets entered twice. A merchant using a separate purchasing tool: "I have to build the orders twice, once in shopify, once in IP and that leaves gaps for human error." And prices too — updating cost in the bulk editor does not update the copy stored against the supplier, so "I have to remember to go into the supplier and change it manually and individually at that level."

And it blocks migrations. Several merchants have stayed on their old system specifically because of this. One in 2020: "One of the biggest reasons why I haven't switched over is my reliance on supplier codes for much of my inventory." Another with over 10,000 products said the same in 2022. A merchant moving from a different platform put it plainly: "In Sitoo I could have both SKU's but now I have to have a separate excel sheet with one of them."

The bill for solving it elsewhere is large. A small business explained why they were being pushed into a full inventory system:

This is one of the reasons we're being forced to implement a third party solution such as Cin7, Fishbowl or SKUSavvy. […] we're a SMB and we're finding it impossible to implement without spending over $1k/month on apps and third party solutions, on top of what we already pay for Shopify itself. We decided to migrate to Shopify because it was touted as a 'unified' system.

— BGH, 19 February 2026

Being quoted four figures a month for a text field? Describe just the part you need →

The Stocky shutdown makes this urgent

Shopify's own free inventory tool, Stocky, has real supplier records — multiple suppliers per product, supplier codes, pack sizes. For years it was the answer staff gave when merchants asked for this. In 2023 a Shopify staff member on the German forum confirmed there was no automatic way to do this natively and pointed at Stocky.

Stocky shut down on 31 August 2026, and the designated replacement is the admin purchase order — which has no place to store a supplier code in advance. That date has passed, so you have already moved from a tool that held this data to one that does not.

But if you have not exported yet, you are not too late. Shopify left read-only access to export "for at least 90 days after that date", with no end date published and no notice promised — and Stocky cannot be reinstalled, so whatever is not exported when the app leaves is gone. What comes out, what never will, and the order to do it in: getting your supplier data out of Stocky.

Then decide where the codes are going to live, before that spreadsheet becomes your system of record by accident.

If you are on Stocky, that is the situation to plan around: you are moving from a tool that holds this data to one that does not, and the migration content available is mostly written by companies selling the alternative.

Moving off Stocky and losing your supplier codes? Describe the codes you cannot lose and we keep them →

Where else the code could live, and what each place costs

There are only four places to put a supplier's code, and every article picks one without telling you what it gives up.

Where What it gets you What it costs
The hidden purchase-order store Auto-fills future POs for that supplier Invisible in the admin, uneditable, no export, no bulk load — readable by an app since API 2026-10
A second barcode Visible, scannable, and findable at the till since 1 September 2026 Still absent from the purchase order, and a product sync may replace the whole set
A metafield Stores anything; can be made searchable in the admin if you switch on "use as filter" when defining it Never appears on the purchase order, and does not reach the point of sale
An app or full inventory system Proper supplier records Cost, a second system to learn, and double entry unless it fully replaces Shopify's purchasing

Two things worth knowing before you pick.

Which of those is best for lookup changed on 1 September 2026, and most of what is written about this predates the change. A variant now takes up to twenty barcodes with the type left optional, so your supplier's own code can sit beside the manufacturer's without displacing it — and since that date Shopify POS can identify a variant by any barcode attached to it — in Shopify's own words, "helping staff find the right item faster during checkout, receiving, and inventory tasks". That is one thing a metafield cannot do: it does not reach the point of sale.

The metafield route is still the better one for a code nobody scans, and the part everyone omits is that you must tick "use as filter in admin" when you create the definition — without it, staff cannot search by the code. With it, they can.

Two cautions on the barcode route. Neither code appears when you raise a purchase order, which is this whole article's problem and is unchanged. And a merchant reported in October 2026 that writing barcodes through an integration replaces the whole set rather than adding to it, so a product sync could remove a code you added by hand — Shopify does not document this either way, so check it with one product before you do five thousand.

The bulk-editing tool merchants reach for cannot help. A merchant checked: the popular bulk-edit tool "does not support Purchase Orders as an importable/exportable entity."

And the API half of this changed within about a fortnight of us last checking it, which is why this paragraph now says the opposite of what it used to. On 16 September 2026 Shopify's purchase-order objects answered "This API version is not supported" in both 2026-07 and 2026-10, existing only in the unstable preview, and this page told you to choose as though the API was not coming. Re-checked on 15 October 2026 against both versions: 2026-07 still answers "This API version is not supported", and 2026-10 now lists the fields. The change therefore landed between 16 September and 2 October — the latter being the day a Shopify staff member wrote that the permission is "available for all apps now, outside of the preview" — and no changelog post we could find announces it. A purchase order can be read, its line items carry supplierSku — Shopify's own description is "The SKU for the item." — and Shopify staff confirmed on 2 October 2026 that the permission it needs "is available for all apps now, outside of the preview."

What that does and does not change for you. It does not give you a screen, an export or a bulk edit — the admin is exactly as it was, and this article's problem is unchanged. What it does mean is that an app or a developer can now read the supplier codes sitting in those hidden purchase orders, which was impossible a month ago, so "there is nothing to script against" has stopped being true. If somebody told you last quarter that nobody can get at your purchase-order data, they were right when they said it.

Thousands of codes and no way to load them? Tell Shopivibe about your export and we build it in →

Which route is yours

Your situation Route
A few suppliers, small catalogue Type it into the first PO and let it auto-fill
You need staff to find products by the supplier's code A metafield with admin filtering switched on
The code must appear on the purchase order itself Only the hidden store does this, and you cannot manage it
Thousands of products, or codes that change No native route works — this is the wall
The same product comes from several suppliers, at different codes and prices Nothing native handles this
You came off Stocky in August 2026 Your export is the only copy you control; decide where it lives before it rots in a spreadsheet

The last three rows are where merchants have been stuck for six and a half years — the ask has run continuously from January 2020 to July 2026, across nine threads and in two languages, with staff confirming the gap three times and no fix announced.

What they ask for is modest, and consistent. "A second SKU field." "A single spare text field on each product." "A separate SKU and separate price for each Supplier." "A way to see a list of all SKUs for a particular supplier."

A fourth option: keep the codes somewhere you can see

Everything above is a choice between storing the code where you cannot manage it, or storing it where purchasing cannot see it. That is the whole problem in one sentence, and it is not a problem an off-the-shelf app fixes cheaply — the merchants who solved it did so by adding a full inventory system and a bill to match.

Read this paragraph first, because it is the one thing nobody can build

If what you need is Shopify's own purchase-order screen to auto-fill correctly, stop here — nothing can do that, us included. That store is not something you, an app or Shopify's own support team can open and edit. An app can read your purchase orders as of Shopify's current API version, which is new and is covered above — but reading them is not the same as fixing what the screen fills in. Everything below is about the other version of this problem: keeping the codes somewhere you own, where you can see them, correct them and hand them to whoever is doing the ordering. If that detour is unacceptable to you, the honest answer is that this page has nothing for you today, and we would rather say it here than three paragraphs from a payment form.

Still reading? Then the alternative is a small app of your own that does this and nothing else: each supplier's own code kept against the product, in a part of your store that belongs to you rather than to us — so the codes survive us being uninstalled, and any other tool you use can read them.

That is ordinary work — product data and a lookup. It is unglamorous, and it is precisely the kind of thing that never becomes a mass-market app because every business's supplier arrangements differ slightly.

What is built today: Shopivibe keeps the codes against your products, and keeps them correct as your catalogue moves, without you running anything. You see in your Shopify admin, in plain language, what is switched on and what it has done.

And the three things merchants ask for next are each built when you ask, not a maybe:

  • Searching by the supplier's code inside the Shopify admin. Shopify offers a field to its own search box once that field has been defined, and it needs no new permission from your store — so say you want the codes searchable there and the definitions are made for you. Until you ask, you read them in Shopivibe.
  • Loading thousands of codes from a spreadsheet in one go. Shopivibe reads a supplier's order from a file today, and a ten-thousand-row export from Stocky is the same shape of work. Send the file you already have and the load is built around it.
  • Low-stock alerts that name the supplier's code. What has run out and where is already told to you by your SKU. Putting the supplier's code beside it is the same rule reading one more field you keep — ask for it with the rest.

And what you set up covers your store rather than this one capability. The codes are where it starts; the next rule you need — a low-stock warning, a second supplier for one product, a reorder — is another layer on the same app, asked for in the same chat.

Where this is worth it: hundreds or thousands of products, more than a handful of suppliers, the same product sourced from several places — and what you need first is to stop losing the codes. Where it is not: a short catalogue and two suppliers. Type it into a purchase order once and let the auto-fill do its job.

Shopivibe solves the problem in your store and keeps what it adds maintained, including when Shopify changes something underneath. If the app cannot complete your request on the spot, somebody at Shopivibe takes it on straight away and has it working in your store within 24 hours, included in the plan at no extra charge. Shopivibe is free during early access, with 3,500 credits included. Credits beyond the included 3,500 cost $0.06 each.

Supplier codes you cannot afford to lose? Describe what you need kept →

Checked against Shopify's documentation and the App Store on 15 October 2026.