← API reference
CANONICAL TYPE REFERENCE

UpsertPurchaseOrderInput

Input for creating or updating a purchase order

ID for update; omit for create

poNumberString!

Purchase order number (required)

Supplier ID (required)

Delivery address ID

PO status

Order date (ISO8601, required)

Expected delivery date (ISO8601)

Date goods were received (ISO8601)

Subtotal before tax

Tax amount

Total amount including tax (required)

Currency code (required)

Associated job ID

notesString

Notes visible to supplier

Internal notes

Approving user ID

Approval timestamp (ISO8601)

Approval timestamp (ISO8601)

View exact SDL
"""Input for creating or updating a purchase order"""
input UpsertPurchaseOrderInput {
  """ID for update; omit for create"""
  id: PurchaseOrderID
  """Purchase order number (required)"""
  poNumber: String!
  """Supplier ID (required)"""
  supplierId: SupplierID!
  """Delivery address ID"""
  deliveryAddressId: AddressID
  """PO status"""
  status: PurchaseOrderStatus
  """Order date (ISO8601, required)"""
  orderDate: ISO8601!
  """Expected delivery date (ISO8601)"""
  expectedDeliveryDate: ISO8601
  """Date goods were received (ISO8601)"""
  receivedAt: ISO8601
  """Subtotal before tax"""
  subtotalAmount: Float
  """Tax amount"""
  taxAmount: Float
  """Total amount including tax (required)"""
  totalAmount: Float!
  """Currency code (required)"""
  currency: CurrencyISO!
  """Associated job ID"""
  jobId: JobID
  """Notes visible to supplier"""
  notes: String
  """Internal notes"""
  internalNotes: String
  """Approving user ID"""
  approvedByUserId: UserID
  """Approval timestamp (ISO8601)"""
  approvedAt: ISO8601
  """Approval timestamp (ISO8601)"""
  attachments: [PurchaseOrderFileAttachmentInput!]
}

One stable address across all schema views. Follow a field’s type to explore connections between domains.