---
title: "PurchaseOrder"
url: "https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c/schemas/PurchaseOrder"
---

> Full API specification: https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c.md

# PurchaseOrder

Purchase order model

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Retail Express API
  version: v2.1
servers:
  - url: https://api.retailexpress.com.au/v2.1
components:
  schemas:
    PurchaseOrderStatus:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Status identifier
          format: int32
          nullable: true
        name:
          type: string
          description: Status name
          nullable: true
      additionalProperties: false
      description: Purchase order status model
    OutletLimited:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Outlet id
          format: int32
          nullable: true
        name:
          maxLength: 255
          minLength: 0
          type: string
          description: Outlet name
          nullable: true
      additionalProperties: false
    PurchaseOrderSupplier:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Supplier identifier
          format: int32
          nullable: true
        name:
          type: string
          description: Supplier name
          nullable: true
      additionalProperties: false
      description: Purchase order supplier model
    PurchaseOrderShippingStatus:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Shipping status identifier
          format: int32
          nullable: true
        name:
          type: string
          description: Shipping status name
          nullable: true
      additionalProperties: false
      description: Purchase order shipping status model
    PurchaseOrderShippingType:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Shipping type identifier
          format: int32
          nullable: true
        name:
          type: string
          description: Shipping type name
          nullable: true
      additionalProperties: false
      description: Purchase order shipping type model
    PurchaseOrderShippingPort:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Shipping port identifier
          format: int32
          nullable: true
        name:
          type: string
          description: Shipping port name
          nullable: true
      additionalProperties: false
      description: Purchase order shipping port model
    CountryLimited:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: id
          format: int32
          nullable: true
        name:
          type: string
          description: name
          nullable: true
      additionalProperties: false
    PurchaseOrderItem:
      title: ""
      type: object
      properties:
        po_id:
          type: integer
          description: Purchase Order entity Id
          format: int32
        po_item_id:
          type: integer
          description: Id of Purchase Order Item
          format: int32
          nullable: true
        product:
          $ref: "#/components/schemas/Product"
        pricing:
          $ref: "#/components/schemas/ProductPricingLimited"
        quantity_ordered:
          type: integer
          description: Quantity ordered
          format: int32
        quantity_special_order:
          type: integer
          description: Quantity special order
          format: int32
        quantity_back_order:
          type: integer
          description: Quantity back order
          format: int32
        quantity_received:
          type: integer
          description: Quantity received
          format: int32
        quantity_received_variance:
          type: integer
          description: Quantity received variance
          format: int32
          nullable: true
        quantity_cancelled:
          type: integer
          description: Quantity Cancelled
          format: int32
          nullable: true
        quantity_remaining:
          type: integer
          description: Quantity Remaining
          format: int32
          nullable: true
        variance_reason:
          $ref: "#/components/schemas/PurchaseOrderItemVarianceReason"
        inventory:
          $ref: "#/components/schemas/PurchaseOrderItemInventory"
        supplier_buy_ex:
          type: number
          description: Supplier Buy Ex
          format: double
          nullable: true
        total_weight:
          type: number
          description: Total weight
          format: double
        total_cubic:
          type: number
          description: Total cubic
          format: double
        gross_profit:
          type: number
          description: Gross profit
          format: double
        mark_up:
          type: number
          description: Mark Up
          format: double
        total_supplier_buy_ex:
          type: number
          description: Total supplier buy ex
          format: double
        is_linked_to_transfer:
          type: boolean
          description: Is Linked to ITO flag
        modified_on:
          type: string
          description: Last Modified On date
          format: date-time
          nullable: true
        created_on:
          type: string
          description: Created On date
          format: date-time
          nullable: true
      additionalProperties: false
      description: Purchase Order Item
    CurrencyLimited:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Currency Id
          format: int32
          nullable: true
        currency_code:
          type: string
          description: Currency Code
          nullable: true
        currency_name:
          type: string
          description: Currency Name
          nullable: true
      additionalProperties: false
    UserExtended:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Id.
          format: int32
          nullable: true
        user_code:
          type: string
          description: User code.
          nullable: true
        first_name:
          type: string
          description: First name.
          nullable: true
        surname:
          type: string
          description: Surname.
          nullable: true
      additionalProperties: false
    Product:
      title: ""
      type: object
      properties:
        carton_quantity:
          type: string
          description: Carton quantity
          nullable: true
        cogs_ex:
          type: number
          description: Cogs ex
          format: double
        cubic:
          type: number
          description: Cubic
          format: double
        direct_costs_ex:
          type: number
          description: Direct costs
          format: double
          nullable: true
        prevent_disabling:
          type: boolean
          description: Is product disabled
          nullable: true
        promotional_price_inc:
          type: number
          description: Discount price
          format: double
          nullable: true
        promotional_price_expiry:
          type: string
          description: Discount price expiry
          format: date-time
          nullable: true
        freight_inc:
          type: number
          description: Freight inc
          format: double
          nullable: true
        price_ex:
          type: number
          description: Price ex
          format: double
          nullable: true
        rrp_inc:
          type: number
          description: Rpr inc
          format: double
          nullable: true
        sell_price_inc:
          maximum: 922337203685477.6
          minimum: -922337203685477.6
          type: number
          description: Sell Price, cannot be used along with markup_target
          format: double
          nullable: true
        web_price_inc:
          type: number
          description: Web price
          format: double
          nullable: true
        markup_target:
          type: number
          description: Markup Target %, cannot be used along with sell_price_inc
          format: double
          nullable: true
        breadth:
          maximum: 9999.9999
          minimum: -9999.9999
          type: number
          description: Breadth
          format: double
          nullable: true
        core_product:
          type: boolean
          description: Is core product flag
        custom_properties:
          type: array
          items:
            $ref: "#/components/schemas/CustomProperty"
          description: List of custom properties
          nullable: true
        depth:
          maximum: 9999.9999
          minimum: -9999.9999
          type: number
          description: Depth
          format: double
          nullable: true
        disabled:
          type: boolean
          description: Disabled
          nullable: true
        id:
          type: integer
          description: Product id.
          format: int32
          nullable: true
        lead_time:
          type: integer
          description: Lead time
          format: int32
          nullable: true
        length:
          maximum: 9999.9999
          minimum: -9999.9999
          type: number
          description: Length
          format: double
          nullable: true
        loyalty_ratio:
          type: number
          description: Loyalty Ratio
          format: double
          nullable: true
        manufacturer_sku:
          type: string
          description: Manufacture SKU
          nullable: true
        product_type:
          $ref: "#/components/schemas/ProductType"
        requires_assembly:
          type: boolean
          description: Requires Assembly
        shipping_cubic:
          maximum: 999999.9999
          minimum: -999999.9999
          type: number
          description: Shipping Cubic
          format: double
          nullable: true
        short_description:
          type: string
          description: Product description.
          nullable: true
        supplier:
          $ref: "#/components/schemas/SupplierLimited"
        supplier_buy_ex:
          maximum: 922337203685477.6
          minimum: -922337203685477.6
          type: number
          description: Supplier Buy Ex
          format: double
          nullable: true
        supplier_sku:
          type: string
          description: Supplier SKU.
          nullable: true
        supplier_sku2:
          type: string
          description: Supplier SKU2.
          nullable: true
        weight:
          maximum: 99999999.9999
          minimum: -99999999.9999
          type: number
          description: Weight
          format: double
          nullable: true
        buy_price_ex:
          type: number
          description: Buy price ex
          format: double
          nullable: true
        long_description:
          type: string
          description: Long description
          nullable: true
        voucher_product:
          type: boolean
          description: Voucher product
        max_discount_rule:
          $ref: "#/components/schemas/MaxDiscountRule"
        replenishment_method:
          $ref: "#/components/schemas/ProductReplenishmentMethod"
        attributes:
          type: array
          items:
            $ref: "#/components/schemas/Attribute"
          description: Product attributes
          nullable: true
        created_on:
          type: string
          description: Created on
          format: date-time
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
          nullable: true
        inventory:
          type: array
          items:
            $ref: "#/components/schemas/ProductInventory"
          description: Inventory
          nullable: true
        sales_channels:
          type: array
          items:
            $ref: "#/components/schemas/ProductSalesChannelVM"
          description: Product Sales Chanels
          nullable: true
        export_to_web:
          type: boolean
          description: Export To Web
          nullable: true
        package:
          type: boolean
          description: Package
        has_package_products:
          type: boolean
          description: Has Package Products
        last_sold_on:
          type: string
          description: Last Processed Sold
          format: date-time
          nullable: true
        require_serial_number:
          type: integer
          description: Require SerialNumber
          format: int32
        last_fulfiled_on:
          type: string
          description: Last Fulfiled
          format: date-time
          nullable: true
        external_links:
          type: array
          items:
            $ref: "#/components/schemas/ProductExternalLinks"
          description: Product External Links.
          nullable: true
        fixed_price_groups:
          type: array
          items:
            $ref: "#/components/schemas/ProductFixedPriceGroupVM"
          description: Product Fixed Price Groups
          nullable: true
        price_groups:
          type: array
          items:
            $ref: "#/components/schemas/ProductPriceGroupVM"
          description: Product Standart Price Groups
          nullable: true
      additionalProperties: false
      description: Product Model
    ProductPricingLimited:
      title: ""
      type: object
      properties:
        product_id:
          type: integer
          description: Product Id
          format: int32
        outlet_id:
          type: integer
          description: Outlet Id
          format: int32
        sell_price_inc:
          type: number
          description: Sell Price (Inc Tax)
          format: double
          nullable: true
        promotional_price_inc:
          type: number
          description: Promotional Price (Inc Tax)
          format: double
          nullable: true
        promotional_price_start:
          type: string
          description: Promotional Price Start
          format: date-time
          nullable: true
        promotional_price_end:
          type: string
          description: Promotional Price End
          format: date-time
          nullable: true
        taxable:
          type: boolean
          description: Is taxable
      additionalProperties: false
    PurchaseOrderItemVarianceReason:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Variance Reason Id
          format: int32
          nullable: true
        name:
          type: string
          description: Name
          nullable: true
      additionalProperties: false
      description: Purchase Order Item Variance Reason
    PurchaseOrderItemInventory:
      title: ""
      type: object
      properties:
        outlet:
          $ref: "#/components/schemas/OutletLimited"
        quantity_available:
          type: integer
          description: Quantity Available
          format: int32
          nullable: true
        quantity_on_order:
          type: integer
          description: Quantity on order
          format: int32
        msl:
          type: integer
          description: MSL
          format: int32
      additionalProperties: false
      description: Purchase Order Item Inventory
    CustomProperty:
      title: ""
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          type: string
          nullable: true
      additionalProperties: false
      description: Custom Property Model
    ProductType:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Product type Id.
          format: int32
          nullable: true
        name:
          maxLength: 50
          minLength: 0
          pattern: ^[a-zA-Z0-9\s./;:\-_+()*&^%$#@]+$
          type: string
          description: Product type description (Name)
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
      description: Product Type Model
    SupplierLimited:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Supplier Id
          format: int32
          nullable: true
        supplier_code:
          maxLength: 20
          minLength: 0
          type: string
          description: Supplier Code
          nullable: true
        name:
          maxLength: 50
          minLength: 0
          type: string
          description: Supplier Name
          nullable: true
        is_enabled:
          type: boolean
          description: Is enabled flag
        modified_on:
          type: string
          description: Modified On
          format: date-time
      additionalProperties: false
    MaxDiscountRule:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Max Discount Rule Id.
          format: int32
          nullable: true
        name:
          maxLength: 50
          minLength: 0
          type: string
          description: Max Discount Rule name.
          nullable: true
        value:
          type: number
          description: Max Discount Rule value.
          format: double
        type:
          type: string
          description: Discount Type.
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
      additionalProperties: false
      description: Max Discount Rule Model
    ProductReplenishmentMethod:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Product Replenishment Method Id.
          format: int32
          nullable: true
        code:
          type: string
          description: Product Replenishment Method code.
          nullable: true
        name:
          type: string
          description: Product Replenishment Method name.
          nullable: true
      additionalProperties: false
    Attribute:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Attribute Id
          format: int32
          nullable: true
        name:
          type: string
          description: Attribute Name
          nullable: true
        type:
          type: string
          description: Attribute Type
          nullable: true
          readOnly: true
        modified_on:
          type: string
          format: date-time
          nullable: true
        value:
          $ref: "#/components/schemas/AttributeValueLimited"
      additionalProperties: false
    ProductInventory:
      title: ""
      type: object
      properties:
        outlet:
          $ref: "#/components/schemas/ProductInventoryOutlet"
        quantity_available:
          type: integer
          description: Available Quantity
          format: int32
        quantity_on_order:
          type: integer
          description: On-order Quantity
          format: int32
      additionalProperties: false
      description: Product Inventory Model
    ProductSalesChannelVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Channel Id.
          format: int32
        name:
          type: string
          description: Channel Name.
          nullable: true
        shopify_channel:
          type: boolean
          description: Shopify Channel.
        source_group:
          $ref: "#/components/schemas/SourceGroupVM"
        enabled:
          type: boolean
          description: Enabled.
      additionalProperties: false
    ProductExternalLinks:
      title: ""
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
          nullable: true
        url:
          type: string
          nullable: true
      additionalProperties: false
      description: Product External Links
    ProductFixedPriceGroupVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Fixed Price Group Id.
          format: int32
        name:
          type: string
          description: Fixed Price Group Name.
          nullable: true
        sell_price_inc:
          type: number
          description: Fixed Price Group Price.
          format: double
          nullable: true
        modified_on:
          type: string
          description: Fixed Price Group Modified On.
          format: date-time
          nullable: true
      additionalProperties: false
    ProductPriceGroupVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Identifier
          format: int32
        name:
          type: string
          description: Name
          nullable: true
        sell_price_inc:
          type: number
          description: Calculated POS Price
          format: double
        web_price_inc:
          type: number
          description: Calculated Web Price
          format: double
        modified_on:
          type: string
          format: date-time
      additionalProperties: false
    AttributeValueLimited:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Attribute Value Id
          format: int32
          nullable: true
        name:
          type: string
          description: Attribute Value Name
          nullable: true
        list_order:
          type: integer
          description: Attribute Value List Order
          format: int32
          nullable: true
      additionalProperties: false
    ProductInventoryOutlet:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Outlet Id
          format: int32
        name:
          type: string
          description: Name
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
          nullable: true
      additionalProperties: false
      description: Product Inventory Outlet Model
    SourceGroupVM:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Source Group Id.
          format: int32
          nullable: true
        name:
          type: string
          description: Source Group Name.
          nullable: true
      additionalProperties: false
    PurchaseOrder:
      title: ""
      type: object
      properties:
        id:
          type: integer
          description: Purchase order id
          format: int32
          nullable: true
        external_purchase_order_id:
          type: string
          description: External purchase order id
          nullable: true
        reference_purchase_order_id:
          type: integer
          description: Reference purchase order id
          format: int32
          nullable: true
        status:
          $ref: "#/components/schemas/PurchaseOrderStatus"
        outlet:
          $ref: "#/components/schemas/OutletLimited"
        supplier:
          $ref: "#/components/schemas/PurchaseOrderSupplier"
        sailed:
          type: string
          description: Sailed date
          format: date-time
          nullable: true
        deposit_due:
          type: string
          description: Deposit due date
          format: date-time
          nullable: true
        balance_due:
          type: string
          description: balance due date
          format: date-time
          nullable: true
        supplier_comments:
          type: string
          description: Supplier comments
          nullable: true
        purchase_order_template:
          type: string
          description: Purchase order template
          nullable: true
        update_linked_transfers_on_receipt_to:
          type: string
          description: "Update linked transfers on receipt to\r

            Avalable values are: qty_allocated or Allocate, qty_picked or Pick,
            qty_dispatched or Dispatch\r

            Can be updated only when PO has status Incomplete, OnOrder,
            ReceivingInProgress"
          nullable: true
        autoreplenishment_invoice_number:
          type: string
          description: Autoreplenishment invoice number
          nullable: true
        autoreplenishment_invoice_reference:
          type: string
          description: Autoreplenishment invoice reference
          nullable: true
        original_departure:
          type: string
          description: Original departure
          format: date-time
          nullable: true
        eta:
          type: string
          description: Eta
          format: date-time
          nullable: true
        container_number:
          type: string
          description: Container number
          nullable: true
        deliver_to:
          type: string
          description: Deliver to
          nullable: true
        shipping_status:
          $ref: "#/components/schemas/PurchaseOrderShippingStatus"
        shipping_type:
          $ref: "#/components/schemas/PurchaseOrderShippingType"
        shipping_port:
          $ref: "#/components/schemas/PurchaseOrderShippingPort"
        country_of_origin:
          $ref: "#/components/schemas/CountryLimited"
        shipping_terms:
          type: string
          description: Shipping terms
          nullable: true
        payment_terms:
          type: string
          description: Payment terms
          nullable: true
        invoice_documents:
          type: string
          description: Invoice documents
          nullable: true
        packing_list_documents:
          type: string
          description: Packing list documents
          nullable: true
        packing_declaration_documents:
          type: string
          description: Packing declaration documents
          nullable: true
        fumes_documents:
          type: string
          description: Fumes documents
          nullable: true
        certificate_of_original_documents:
          type: string
          description: Certificate of original documents
          nullable: true
        bill_of_lading_documents:
          type: string
          description: Bill of lading documents
          nullable: true
        internal_comments:
          type: string
          description: Internal comments
          nullable: true
        supplier_invoice_number:
          type: string
          description: Supplier Invoice Number
          nullable: true
        deposit:
          type: number
          description: Deposit
          format: double
          nullable: true
        purchase_order_items:
          type: array
          items:
            $ref: "#/components/schemas/PurchaseOrderItem"
          description: Purchase Order Items
          nullable: true
        total_weight:
          type: number
          description: Total weight
          format: double
          nullable: true
        total_cubic:
          type: number
          description: Total cubic
          format: double
          nullable: true
        total_quantity_special_order:
          type: integer
          description: Total quantity special order
          format: int64
          nullable: true
        total_quantity_received:
          type: integer
          description: Total quantity received
          format: int64
          nullable: true
        total_quantity_remaining:
          type: integer
          description: Total quantity remaining
          format: int64
          nullable: true
        total_quantity_cancelled:
          type: integer
          description: Total quantity cancelled
          format: int64
          nullable: true
        total_quantity_ordered:
          type: integer
          description: Total quantity ordered
          format: int64
          nullable: true
        total_supplier_buy_ex:
          type: number
          description: Total supplier buy ex
          format: double
          nullable: true
        total_quantity_linked_transfers:
          type: integer
          description: Total quantity linked transfers
          format: int32
        fob_currency:
          $ref: "#/components/schemas/CurrencyLimited"
        created_on:
          type: string
          description: Created on
          format: date-time
          nullable: true
        modified_on:
          type: string
          description: Modified on
          format: date-time
        sent_on:
          type: string
          description: Sent on
          format: date-time
          nullable: true
        received_on:
          type: string
          description: Received on
          format: date-time
          nullable: true
        created_by:
          $ref: "#/components/schemas/UserExtended"
        modified_by:
          $ref: "#/components/schemas/UserExtended"
      additionalProperties: false
      description: Purchase order model
```
