Skip to main content

Purchase Order

Description

Purchase Order document is created by a buyer to formalize a request for the purchase of goods or services. It specifies the items, quantities, pricing, delivery terms, and any contractual conditions.

Schema Information

{
"type": "object",
"title": "Purchase Order",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"purchaseOrderNumber",
"buyerCompanyId",
"buyerName",
"supplierCompanyId",
"supplierName",
"totalAmountWithVat",
"totalAmountWithoutVat",
"vatAmount",
"productCount"
],
"properties": {
"buyer": {
"$ref": "#/definitions/entity"
},
"supplier": {
"$ref": "#/definitions/entity"
},
"deliveree": {
"$ref": "#/definitions/entity"
},
"freeText": {
"type": [
"string",
"null"
]
},
"orderDate": {
"type": [
"string",
"null"
],
"format": "date"
},
"vatAmount": {
"type": [
"number",
"null"
]
},
"deliveryDate": {
"type": [
"string",
"null"
],
"format": "date"
},
"productCount": {
"type": [
"integer",
"null"
]
},
"vatBreakdown": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"required": [
"vatPercentage",
"vatAmount",
"totalWithVat",
"totalWithoutVat"
],
"properties": {
"vatAmount": {
"type": [
"number",
"null"
]
},
"totalWithVat": {
"type": [
"number",
"null"
]
},
"vatPercentage": {
"type": [
"number",
"null"
]
},
"totalWithoutVat": {
"type": [
"number",
"null"
]
}
}
}
},
"deliveryTerms": {
"type": [
"string",
"null"
]
},
"buyerCompanyId": {
"type": [
"string",
"null"
]
},
"deliveryMethod": {
"type": [
"string",
"null"
]
},
"supplierCompanyId": {
"type": [
"string",
"null"
]
},
"totalAmountWithVat": {
"type": [
"number",
"null"
]
},
"purchaseOrderNumber": {
"type": [
"string",
"null"
]
},
"totalAmountWithoutVat": {
"type": [
"number",
"null"
]
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"productCode",
"productName",
"quantity",
"unit",
"price"
],
"properties": {
"gtin": {
"type": [
"string",
"null"
],
"description": "Global Trade Item Number, can be null"
},
"unit": {
"type": [
"string",
"null"
],
"description": "Unit of measure, can be null"
},
"price": {
"type": [
"number",
"null"
],
"description": "Price of a single unit, can be null"
},
"rowNo": {
"type": [
"string",
"null"
],
"description": "Row number of the item, can be null"
},
"quantity": {
"type": [
"number",
"null"
],
"description": "Quantity of the item, can be null"
},
"productCode": {
"type": [
"string",
"null"
],
"description": "Product code, can be null"
},
"productName": {
"type": [
"string",
"null"
],
"description": "Name of the product, can be null"
},
"additionalProductCodes": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "Array of additional product codes, can be null"
}
},
"additionalProperties": false
},
"description": "Array of invoice line items"
}
},
"definitions": {
"entity": {
"type": "object",
"properties": {
"ID": {
"type": "string"
},
"name": {
"type": "string"
},
"address": {
"$ref": "#/definitions/address"
},
"contact": {
"$ref": "#/definitions/contactInfo"
},
"VATNumber": {
"type": "string"
}
}
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"country": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"streetAddress": {
"type": "string"
}
}
},
"contactInfo": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
}
}
}
},
"additionalProperties": false
}