Coupa · Schema

PurchaseOrder

A purchase order representing a commitment to purchase goods or services from a supplier.

BSMBusiness Spend ManagementCloud PlatformEnterpriseFinancial ManagementInvoicingProcurementSupply Chain

Properties

Name Type Description
id integer Coupa unique identifier
po-number string Purchase order number
status string Current order status
type string Order type (ExternalOrderHeader for externally created orders)
version integer PO supplier version number
internal-revision integer Internal revision number, increases each time a change is made
change-type string Last modification method
confirmation_status string Current confirmation state
acknowledged-flag boolean Whether the PO has been acknowledged by the supplier
acknowledged-at string When the PO was acknowledged
total number Total order amount
currency object
supplier object
supplier-site object Supplier site reference
requester object
ship-to-address object
ship-to-attention string Recipient contact name at the shipping address
ship-to-user object
payment-term object
payment-method string Payment processing method
shipping-term object
order-lines array Collection of order line items
requisition-header object Source requisition reference
invoice-stop boolean Whether invoicing is blocked for this PO
exported boolean Whether the PO has been exported to an external system
last-exported-at string When the PO was last exported
hide-price boolean Whether to hide pricing from the supplier
price-hidden boolean Whether pricing is hidden from the supplier
transmission-method-override string Override for the PO transmission method
transmission-status string Current transmission status
transmission-emails string Comma-separated list of email addresses for PO transmission
coupa-accelerate-status string Status indicating whether the invoice has discount payment terms
classification string Order classification
confirm-by-hrs integer Number of hours the supplier has to confirm the order
order-confirmation-level integer Confirmation depth indicator
created-at string Timestamp when the PO was created
updated-at string Timestamp when the PO was last updated
created-by object
updated-by object
View JSON Schema on GitHub

JSON Schema

coupa-purchaseorder-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/PurchaseOrder",
  "title": "PurchaseOrder",
  "type": "object",
  "description": "A purchase order representing a commitment to purchase goods or services from a supplier.",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Coupa unique identifier",
      "readOnly": true
    },
    "po-number": {
      "type": "string",
      "description": "Purchase order number",
      "maxLength": 20
    },
    "status": {
      "type": "string",
      "description": "Current order status",
      "enum": [
        "buyer_hold",
        "cancelled",
        "closed",
        "currency_hold",
        "draft",
        "error",
        "expensed",
        "issued",
        "supplier_hold",
        "supplier_window_hold",
        "exported"
      ]
    },
    "type": {
      "type": "string",
      "description": "Order type (ExternalOrderHeader for externally created orders)"
    },
    "version": {
      "type": "integer",
      "description": "PO supplier version number"
    },
    "internal-revision": {
      "type": "integer",
      "description": "Internal revision number, increases each time a change is made",
      "readOnly": true
    },
    "change-type": {
      "type": "string",
      "description": "Last modification method",
      "enum": [
        "change",
        "revision",
        "confirmation"
      ]
    },
    "confirmation_status": {
      "type": "string",
      "description": "Current confirmation state",
      "enum": [
        "pending_supplier_action",
        "confirmed",
        "partially_confirmed",
        "rejected"
      ]
    },
    "acknowledged-flag": {
      "type": "boolean",
      "description": "Whether the PO has been acknowledged by the supplier"
    },
    "acknowledged-at": {
      "type": "string",
      "format": "date-time",
      "description": "When the PO was acknowledged"
    },
    "total": {
      "type": "number",
      "format": "decimal",
      "description": "Total order amount",
      "readOnly": true
    },
    "currency": {
      "$ref": "#/components/schemas/CurrencyReference"
    },
    "supplier": {
      "$ref": "#/components/schemas/SupplierReference"
    },
    "supplier-site": {
      "type": "object",
      "description": "Supplier site reference",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "requester": {
      "$ref": "#/components/schemas/UserReference"
    },
    "ship-to-address": {
      "$ref": "#/components/schemas/AddressReference"
    },
    "ship-to-attention": {
      "type": "string",
      "description": "Recipient contact name at the shipping address",
      "maxLength": 255
    },
    "ship-to-user": {
      "$ref": "#/components/schemas/UserReference"
    },
    "payment-term": {
      "$ref": "#/components/schemas/PaymentTermReference"
    },
    "payment-method": {
      "type": "string",
      "description": "Payment processing method",
      "enum": [
        "invoice",
        "pcard",
        "invoice_only",
        "pcard_only",
        "virtual_card"
      ]
    },
    "shipping-term": {
      "$ref": "#/components/schemas/ShippingTermReference"
    },
    "order-lines": {
      "type": "array",
      "description": "Collection of order line items",
      "items": {
        "$ref": "#/components/schemas/OrderLine"
      }
    },
    "requisition-header": {
      "type": "object",
      "description": "Source requisition reference",
      "properties": {
        "id": {
          "type": "integer"
        }
      }
    },
    "invoice-stop": {
      "type": "boolean",
      "description": "Whether invoicing is blocked for this PO"
    },
    "exported": {
      "type": "boolean",
      "description": "Whether the PO has been exported to an external system"
    },
    "last-exported-at": {
      "type": "string",
      "format": "date-time",
      "description": "When the PO was last exported"
    },
    "hide-price": {
      "type": "boolean",
      "description": "Whether to hide pricing from the supplier"
    },
    "price-hidden": {
      "type": "boolean",
      "description": "Whether pricing is hidden from the supplier"
    },
    "transmission-method-override": {
      "type": "string",
      "description": "Override for the PO transmission method",
      "enum": [
        "email",
        "cxml",
        "xml",
        "do_not_transmit"
      ]
    },
    "transmission-status": {
      "type": "string",
      "description": "Current transmission status",
      "enum": [
        "sent_via_email",
        "sent_via_cxml",
        "sent_via_xml",
        "pending",
        "not_sent"
      ]
    },
    "transmission-emails": {
      "type": "string",
      "description": "Comma-separated list of email addresses for PO transmission"
    },
    "coupa-accelerate-status": {
      "type": "string",
      "description": "Status indicating whether the invoice has discount payment terms"
    },
    "classification": {
      "type": "string",
      "description": "Order classification",
      "enum": [
        "msp",
        "supplier",
        "vms"
      ]
    },
    "confirm-by-hrs": {
      "type": "integer",
      "description": "Number of hours the supplier has to confirm the order"
    },
    "order-confirmation-level": {
      "type": "integer",
      "description": "Confirmation depth indicator"
    },
    "created-at": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the PO was created",
      "readOnly": true
    },
    "updated-at": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when the PO was last updated",
      "readOnly": true
    },
    "created-by": {
      "$ref": "#/components/schemas/UserReference"
    },
    "updated-by": {
      "$ref": "#/components/schemas/UserReference"
    }
  }
}