Developers are requesting API access to programmatically create purchase orders (POs) in Shopify, noting that while the feature exists in the admin interface, the corresponding CreateSupplier and PurchaseOrderCreateMutation API endpoints are unavailable.
Current Status:
The B2B product team confirmed these mutations are not yet available
Shopify indicated improvements would come “later this year” (as of early 2024)
Developers are advised to monitor the official changelog for updates
Workarounds Being Explored:
Using regular order objects combined with custom metaobjects
Adjusting incoming inventory quantities via existing API endpoints
UI automation tools (AutoIt, Selenium WebDriver) for single-merchant use cases
Business Impact:
Multiple users report needing to manually enter POs with 100-200+ line items periodically
Use cases include B2B customers managing inventory levels and tracking serial numbers/asset tags
Discussion remains open with no concrete release timeline provided, and users continue requesting updates on API availability.
Summarized with AI on October 24.
AI used: claude-sonnet-4-5-20250929.
I need to create purchase orders (https://help.shopify.com/en/manual/products/inventory/purchase-orders) via the Admin API. They have been added to the admin front-end without any of the queries or mutations subsequently made available. When will they be added to a release (even if it’s just in unstable)?
Thank you for checking in with them, it’s good to hear that they are looking to release it this year. For now, my specific workaround will need to use a regular order object and a custom metaobject, but I’ll be keeping my eye on that changelog to get switched over asap once they’re released.
If y’all take in priority suggestions, please give them a +1 from me to pump this update out as soon as they can. Thanks!
@RyanTechLLC If this is for your own merchant usage there’s always tools like autoit,or webdrivers, or browser extensions for automating UI interactions in singular use cases when platforms lack the proper apis.
@PaulNewton , I love using Selenium WebDriver and Microsoft Power Automate for my own automations. This app I’m working on now is for a client’s store, so everything has to be nicely packaged with 0 manual setup required. Running a headless web driver on the server is actually very close to a working solution, the only issue I see is needing to log in to their admin and dealing with password changes.
They want their b2b customers to be able to manage their own inventory levels and place inventory reorders- hence the no-brainer to use a purchase order. I think a regular order with some tags will work fine for now. The most critical part is logging any incoming serial numbers, asset tags, PO numbers, etc. which is where I think the custom metaobject definition will come into play. Still planning this out though.
Hey RyanTechLLC!
Have you found a workaround to create a PO programmatically from an Order?
I need to place a PO with 140 different variants (and quantities) and I want to avoid to loose the entire day entering it by hand.