Schema URL — use this in CloudEvents
dataschema or as a $ref targethttps://gluendo.github.io/schema-registry/schemas/domains/supply-chain/purchase-order/v1.0.0/purchase-order.schema.jsonVersions:v1.0.0
urn:gluendo:schema:supply-chain:purchase-order:v1.0.0Purchase Order
Canonical representation of a purchase order entity. Produced by procurement or ERP systems on purchase order lifecycle events (created, approved, received, closed).
Properties
| Field | Type | Description |
|---|---|---|
| purchaseOrderId* | string | Unique purchase order identifier |
| orderNumber | string | Human-readable PO number |
| status | enum | Current purchase order status draftpending-approvalapprovedpartially-receivedreceived |
| orderDate | stringdate | Date the PO was created (ISO 8601) |
| expectedDeliveryDate | stringdate | Expected delivery date (ISO 8601) |
| supplierId | string | Identifier of the supplier |
| supplierName | string | Name of the supplier |
| requesterId | string | Identifier of the person or department that requested the purchase |
| shippingAddress | objectAddress | Delivery address |
| streetAddress | string | Street name, number, and any additional line (apt, suite, etc.) |
| city | string | City or locality name |
| stateOrProvince | string | State, province, region, or equivalent administrative division |
| postalCode | string | Postal or ZIP code |
| country* | string | ISO 3166-1 alpha-2 country code |
| totalAmount | objectMonetary Amount | Total PO amount |
| amount* | number | The monetary value. Use the currency's standard decimal precision (e.g., 2 decimals for EUR/USD) |
| currency* | string | ISO 4217 currency code |
| lineItems | array<object> | Ordered items |
| lineNumber | integer | Line item number |
| description* | string | Description of the item |
| sku | string | Stock keeping unit or product code |
| quantity* | number | Ordered quantity exclusiveMinimum: 0 |
| unitPrice | objectMonetary Amount | Price per unit |
| amount* | number | The monetary value. Use the currency's standard decimal precision (e.g., 2 decimals for EUR/USD) |
| currency* | string | ISO 4217 currency code |
| receivedQuantity | number | Quantity received so far |
| notes | string | Free-text notes or special instructions |
| tags | array<object> | Metadata tags for categorization maxItems: 50 |
| key* | string | Tag key: alphanumeric, hyphens, and underscores allowed pattern: ^[a-zA-Z0-9_-]{1,64}$maxLength: 64 |
| value* | string | Tag value maxLength: 256 |