---
title: InventoryPurchaseOrder - GraphQL Admin
description: >-
  A purchase order represents an agreement from a merchant to buy goods or
  services from a supplier.

  While the agreement is captured on the merchant's side as a purchase order,
  it’s recorded as a sales order

  on the supplier side.
api_version: 2026-10
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryPurchaseOrder
  md: >-
    https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryPurchaseOrder.md
api_name: admin
api_type: graphql
type: object
---

# Inventory​Purchase​Order

object

Requires `read_inventory_purchase_orders` access scope. Also: The user must have permission to view purchase orders.

A purchase order represents an agreement from a merchant to buy goods or services from a supplier. While the agreement is captured on the merchant's side as a purchase order, it’s recorded as a sales order on the supplier side.

## Fields

* archived​At

  [Date​Time](https://shopify.dev/docs/api/admin-graphql/latest/scalars/DateTime)

  The date and time the purchase order was archived.

* currency

  [Currency​Code!](https://shopify.dev/docs/api/admin-graphql/latest/enums/CurrencyCode)

  non-null

  The currency for the purchase order's cost values. The shop's currency will be used if one isn't provided during creation.

* date​Created

  [Date​Time!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/DateTime)

  non-null

  The date and time the purchase order was placed.

* destination

  [Location​Snapshot](https://shopify.dev/docs/api/admin-graphql/latest/objects/LocationSnapshot)

  The target containing the destination location of the purchase order.

* id

  [ID!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID)

  non-null

  A globally-unique ID.

* line​Items

  [Inventory​Purchase​Order​Line​Item​Connection!](https://shopify.dev/docs/api/admin-graphql/latest/connections/InventoryPurchaseOrderLineItemConnection)

  non-null

  A list of the purchase order's line items.

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    ### Arguments

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * line​Item​Id

    [ID](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID)

    ID of the purchase order line item.

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).

    * * default

        string

      * id

        id

      * incoming\_quantity

        integer

      - Filter by a case-insensitive search of multiple fields in a document.

      - Example:

        * `query=Bob Norman`
        * `query=title:green hoodie`

        Filter by `id` range.

      - Example:
        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

    * supplier\_sku

      string

    * title

      string

    * unit\_cost

      float

    * variant\_id

      id

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  * sort​Key

    [Purchase​Order​Line​Item​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/latest/enums/PurchaseOrderLineItemSortKeys)

    Default:ID

    Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).

  ***

* name

  [String!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

  non-null

  The name of the purchase order.

* ordered​At

  [Date​Time](https://shopify.dev/docs/api/admin-graphql/latest/scalars/DateTime)

  The date and time the purchase order was confirmed with the supplier.

* origin

  [Inventory​Supplier​Snapshot](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventorySupplierSnapshot)

  The supplier snapshot where the purchase order originates from.

* status

  [Inventory​Purchase​Order​Status!](https://shopify.dev/docs/api/admin-graphql/latest/enums/InventoryPurchaseOrderStatus)

  non-null

  The current status of the inventory purchase order.

* transfers

  [Inventory​Transfer​Connection!](https://shopify.dev/docs/api/admin-graphql/latest/connections/InventoryTransferConnection)

  non-null

  The inventory transfers linked to this purchase order.

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    ### Arguments

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  ***

***

## Map

### Fields and connections with this object

* [InventoryPurchaseOrderConnection.nodes](https://shopify.dev/docs/api/admin-graphql/latest/connections/InventoryPurchaseOrderConnection#returns-nodes)
* [InventoryPurchaseOrderEdge.node](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryPurchaseOrderEdge#field-InventoryPurchaseOrderEdge.fields.node)
* [InventoryPurchaseOrderLineItem.purchaseOrder](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryPurchaseOrderLineItem#field-InventoryPurchaseOrderLineItem.fields.purchaseOrder)

***

## Queries

* [inventory​Purchase​Order](https://shopify.dev/docs/api/admin-graphql/latest/queries/inventoryPurchaseOrder)

  query

  Returns an `InventoryPurchaseOrder` object by ID.

  * id

    [ID!](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID)

    required

    ### Arguments

    The ID of the inventory purchase order.

  ***

* [inventory​Purchase​Orders](https://shopify.dev/docs/api/admin-graphql/latest/queries/inventoryPurchaseOrders)

  query

  Returns a paginated list of purchase orders.

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    ### Arguments

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).

    * destination\_id

      id

    * * id

        id

      * status

        string

      - Filter by `id` range.

      - Example:
        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

  ***

***

## InventoryPurchaseOrder Queries

### Queried by

* [inventory​Purchase​Order](https://shopify.dev/docs/api/admin-graphql/latest/queries/inventoryPurchaseOrder)
* [inventory​Purchase​Orders](https://shopify.dev/docs/api/admin-graphql/latest/queries/inventoryPurchaseOrders)

***

## Interfaces

* [Node](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Node)

  interface

***

## InventoryPurchaseOrder Implements

### Implements

* [Node](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/Node)
