Shopify doesn't have a native Purchase Order API. If you're building a PO app for Shopify, you need to work with Products, Inventory, and Locations APIs to create your own PO system. Here's how PODesk does it.
As of 2026, Shopify's Admin API does not include a dedicated Purchase Order endpoint. This means every PO app (including PODesk, Stocky, Prediko, and Inventory Planner) builds its own PO system on top of Shopify's core APIs.
# Fetch products with variants and inventory
query {
products(first: 50) {
edges {
node {
id
title
variants(first: 10) {
edges {
node {
id
sku
title
inventoryItem {
id
inventoryLevels(first: 5) {
edges {
node {
location { name }
available
}
}
}
}
}
}
}
}
}
}
}
# Get inventory levels per location
query {
inventoryItems(first: 50) {
edges {
node {
id
sku
inventoryLevels(first: 5) {
edges {
node {
location { id name }
available
incoming
}
}
}
}
}
}
}
# Fetch all fulfillment locations
query {
locations(first: 10) {
edges {
node {
id
name
isActive
address {
city
country
}
}
}
}
}
# Calculate 30-day sales velocity
query {
orders(first: 250, query: "created_at:>=2026-07-26") {
edges {
node {
lineItems(first: 50) {
edges {
node {
variant { id sku }
quantity
}
}
}
}
}
}
}
Here's the architecture PODesk uses:
If you're building a similar app, here's what PODesk uses:
If you're a merchant (not a developer), you don't need to build this. PODesk does it all — free for 250 SKUs.
No. Shopify does not have a native PO API. You must build your own using Products, Inventory, and Locations APIs.
Not directly. You can read products, variants, and inventory levels, then build your own PO database on top.
Use a third-party app like PODesk that handles the PO lifecycle, supplier management, and inventory sync.
Don't build from scratch. Use PODesk — 19K+ lines of code, 118 tests, production-ready.
Install Free on Shopify