DemandFlow Support Centre

PO: Purchase order

ReferenceEntity Reference16/04/2026Updated 16/04/2026
The PO entity represents a purchase order tracking vendor procurement from quote through PO issuance, with requisition details and approval workflow.

PO: Purchase order

The PO entity represents a purchase order tracking vendor procurement from quote through PO issuance, with requisition details and approval workflow.

Default definition. This article describes the default PO definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches PO.

Entity properties

PropertyValue
Entity codePO
Display namePurchase order
PluralPurchase orders
Level800

Use cases

PO is the central procurement transaction entity, tracking the lifecycle of a purchase from initial request through to PO issuance. It links to VEN (vendor) and optionally to an OEM vendor, supporting three-party procurement where goods come from a manufacturer via a reseller. The PRREQ (PR Request) link connects the PO to its originating purchase requisition for traceability. The entity captures both the quote stage (quoteAmount, quoteRef) and the PO stage (poNumber, pototal, poRaised) to track the full procurement lifecycle. The approval workflow supports up to five named approvers, each with an independent status field, reflecting enterprise approval chains. The catCode and taskCode fields support integration with external procurement systems (e.g. Oracle/Ariba). The status field uses a singleselect with color-coded values for visual pipeline management. Field alias UUIDs suggest this entity was migrated from a legacy system where fields were identified by GUID rather than name. The liveUpdates flag enables real-time collaboration on PO records.

Fields

General

FieldTypeRequiredNotes
nametextYesName.
statussingleselectYesStatus.
ownerIdreference → userRequestor. Read-only.
quoteAmountnumberYesQuote amount.
projecttextProject.
quoteReftextQuote ref.
vendorreference → VENYesVendor.
oemreference → VENOEM.
prRequestreference → PRREQProject PR.
prNumbertextPR number.
catCodetextCat. code.
taskCodetextTask code.
poNumbertextPO number.
pototalnumberPO amount.
poRaiseddatePO raised date.
deliveryStatusenumDelivery status. Valid ids: new (New), waiting (Waiting), partial (Partially Delivered), delivered (Fully Delivered).
aribatextAriba procurement.
commenttext (multi-line)Comments.
oracleURLtext (URL)Oracle URL.
approver1textApprover 1.
approver1StatussingleselectApprover 1 status.
approver2textApprover 2.
approver2StatussingleselectApprover 2 status.
approver3textApprover 3.
approver3StatussingleselectApprover 3 status.
approver4textApprover 4.
approver4StatussingleselectApprover 4 status.
approver5textApprover 5.
approver5StatussingleselectApprover 5 status.
approvedsingleselectApproved.

Relationships

  • Lookups: vendor points at VEN record; oem points at VEN record; prRequest points at PRREQ record.
  • Related lists: POLINE via format SUB|PO.

Creating a Purchase order via the API

POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json

{
  "entity":   "PO",
  "level":    800,
  "comboKey": "SUB:<your-sub-id>|ENT:",
  "name": "Example",
  "status": "",
  "quoteAmount": 100,
  "vendor": ""
}

Listing PO records

# All purchase orders in your tenant
GET /v1/entities/PO/SUB

See also

popurchase orderpurchase orderspurchaseorder

Was this article helpful?

← Back to Knowledge Base