# Insert purchase order including purchase order lines Endpoint: POST /enrichment/purchase-orders Version: 2.51.0 Security: OAuth2 ## Request fields (application/json): - `externalId` (string, required) External id of the purchase order that is globally unique across the provided purchase order data Example: "4500016221" - `externalClientId` (string) Identifier of the client entity in the source system which can be used to separate data Example: "EXTERNAL_CLIENT_ID" - `purchaseOrderNumber` (string) Number of the purchase order in the source system (not unique across clients) Example: "PoNumber123" - `createdDate` (string) Date when the purchase order was created in the external system Example: "2000-12-31" - `fiscalYearLabel` (string) Label used in the source system for the fiscal year that the purchase order was created in Example: "2023" - `language` (string,null) Two letter language code as defined in ISO 639-1 Enum: "aa", "ab", "ae", "af", "ak", "am", "an", "ar", "as", "av", "ay", "az", "ba", "be", "bg", "bh", "bi", "bm", "bn", "bo", "br", "bs", "ca", "ce", "ch", "co", "cr", "cs", "cu", "cv", "cy", "da", "de", "dv", "dz", "ee", "el", "en", "eo", "es", "et", "eu", "fa", "ff", "fi", "fj", "fo", "fr", "fy", "ga", "gd", "gl", "gn", "gu", "gv", "ha", "he", "hi", "ho", "hr", "ht", "hu", "hy", "hz", "ia", "id", "ie", "ig", "ii", "ik", "io", "is", "it", "iu", "ja", "jv", "ka", "kg", "ki", "kj", "kk", "kl", "km", "kn", "ko", "kr", "ks", "ku", "kv", "kw", "ky", "la", "lb", "lg", "li", "ln", "lo", "lt", "lu", "lv", "mg", "mh", "mi", "mk", "ml", "mn", "mr", "ms", "mt", "my", "na", "nb", "nd", "ne", "ng", "nl", "nn", "no", "nr", "nv", "ny", "oc", "oj", "om", "or", "os", "pa", "pi", "pl", "ps", "pt", "qu", "rm", "rn", "ro", "ru", "rw", "sa", "sc", "sd", "se", "sg", "si", "sk", "sl", "sm", "sn", "so", "sq", "sr", "ss", "st", "su", "sv", "sw", "ta", "te", "tg", "th", "ti", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", "ty", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "wo", "xh", "yi", "yo", "za", "zh", "zu", null - `externalCompanyId` (string) Company that the purchase order is assigned to Example: "DE01" - `type` (string) type of the purchase order as defined in the source system Example: "Service" - `externalSupplierId` (string) External unique id of the supplier in the source system Example: "0000100000" - `status` (string) Status of purchase order as defined in source system Example: "OPEN" - `currency` (string,null) Three letter currency code as defined in ISO 4217 Enum: "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BOV", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLF", "CLP", "CNY", "COP", "COU", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MXV", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLE", "SLL", "SOS", "SRD", "SSP", "STN", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "USN", "UYI", "UYU", "UYW", "UZS", "VED", "VES", "VND", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XOF", "XPD", "XPF", "XPT", "XSU", "XTS", "XUA", "XXX", "YER", "ZAR", "ZMW", "ZWL", null - `totalNetAmount` (number) Total net amount of purchase order (sum of line item net amounts) Example: 81 - `totalFreightCharges` (number) Sum of all freight charges as defined on the purchase order Example: 9 - `totalOtherCharges` (number) Sum of all charges other than freight charges as defined on the purchase order Example: 10 - `totalTaxAmount` (number) Total tax amount of purchase order (sum of all taxes) Example: 19 - `totalGrossAmount` (number) Total gross amount of purchase order (total net amount + total freight charges + total other charges + total tax amount) Example: 119 - `paymentTerms` (object) - `paymentTerms.paymentTermKey` (string) Key of the payment term as defined in the source system Example: "T10" - `paymentTerms.descriptions` (array) Descriptions of the payment terms in different languages Example: [{"text":"Please pay us","language":"en"}] - `paymentTerms.descriptions.text` (string) Text content Example: "Fish & Chips" - `customFields` (object) List of key value pairs containing custom fields from the source system - `customMetadata` (object) Any nested structure with metadata that source system needs to send Example: {"someTopLevelProperty":"value1","someNestedProperty":{"nestedProperty":"value2"},"someArrayProperty":["value3","value4"]} - `purchaseOrderLines` (array) - `purchaseOrderLines.purchaseOrderLineNumber` (string, required) Number of the purchase order line assigned to the invoice line item (unique within the purchase order) Example: "00010" - `purchaseOrderLines.externalCompanyId` (string) Company that the purchase order line is assgined to Example: "DE01" - `purchaseOrderLines.accountAssignments` (array) - `purchaseOrderLines.accountAssignments.externalGlAccountId` (string) External unique id of the general ledger account in the source system Example: "0000100GL1" - `purchaseOrderLines.accountAssignments.externalCostCenterId` (string) External unique id of the cost center in the source system Example: "0000100CO1" - `purchaseOrderLines.accountAssignments.glAccountCode` (string) General ledger account code Example: "GL1" - `purchaseOrderLines.accountAssignments.costCenterCode` (string) Cost center code Example: "CO1" - `purchaseOrderLines.accountAssignments.quantity` (number) Quantity of the invoice line (split of the quantity in case of several accountAssignments) Example: 2 - `purchaseOrderLines.accountAssignments.externalProjectId` (string) External id for project assignment Example: "EPI1" - `purchaseOrderLines.accountAssignments.externalOrderId` (string) External id for order assignment Example: "EOI1" - `purchaseOrderLines.accountAssignments.costElementCode` (string) Cost element code assignment Example: "CE1" - `purchaseOrderLines.accountAssignments.externalProfitCenterId` (string) External unique id of the profit center in the source system Example: "EPCI1" - `purchaseOrderLines.accountAssignments.profitCenterCode` (string) Profit center code Example: "PCC1" - `purchaseOrderLines.type` (string) type of the purchase order line as defined in the source system Example: "Service" - `purchaseOrderLines.subType` (string) subtype of the purchase order as defined in the source system Example: "Extra Qualifier" - `purchaseOrderLines.quantity` (number) Quantity of the purchase order line (sum of all quantity splits in case of several accountAssignments) Example: 2 - `purchaseOrderLines.status` (string) Status of purchase order line as defined in source system Example: "OPEN" - `purchaseOrderLines.netAmount` (number) Net amount of the purchase order line Example: 1.23 - `purchaseOrderLines.totalTaxAmount` (number) Total tax amount of the purchase order line Example: 1.23 - `purchaseOrderLines.grossAmount` (number) Gross amount of the purchase order line Example: 100.01 - `purchaseOrderLines.unitOfMeasure` (string) Unit of measure of the purchase order line Example: "kg" - `purchaseOrderLines.unitPrice` (number) Price for one unit of the purchase order line Example: 19.0123 - `purchaseOrderLines.taxCode` (object) - `purchaseOrderLines.taxCode.code` (string) Unique code of the type of tax in the source system Example: "DEU_Standard" - `purchaseOrderLines.taxCode.description` (string) Description of the type of tax in the source system Example: "DEU - Standard (19%)" - `purchaseOrderLines.itemText` (string) Text describing the purchase order line Example: "Dell Laptop Latitude D630" - `purchaseOrderLines.material` (object) - `purchaseOrderLines.material.externalId` (string) External id of the material that is globally unique across the provided material data Example: "2a6300181f08402e710ea3f180214bc1" - `purchaseOrderLines.material.supplierNumber` (string) Number of the material as defined by the supplier Example: "123456789" - `purchaseOrderLines.material.type` (string) Type of the material as defined in the material master of the company Example: "Operating Supplies" - `purchaseOrderLines.material.group` (string) Group of the material as defined in the material master of the company Example: "Electronics" - `purchaseOrderLines.material.description` (string) Description of the material Example: "Dell Laptop Latitude D630" - `purchaseOrderLines.material.manufacturer` (string) Name of the manufacturer of the material Example: "Acme Corporation" - `purchaseOrderLines.material.manufacturerNumber` (string) Number of the material as defined by the manufacturer Example: "ACME-12345" - `purchaseOrderLines.material.unspsc` (string) United Nations Standard Products and Services Code of the material Example: "43211508" - `purchaseOrderLines.plant` (string) Location where purchased goods and services are consumed Example: "PLANT-001" - `purchaseOrderLines.delivered` (boolean) Indicator if the purchase order line item was delivered Example: true - `purchaseOrderLines.completelyInvoiced` (boolean) Indicator if the purchase order line item was fully invoiced Example: true - `purchaseOrderLines.approved` (boolean) Indicator if the purchase order line item has been approved Example: true - `purchaseOrderLines.plannedDeliveryDate` (string) Planned delivery date (YYYY-MM-DD) Example: "2025-08-27" - `purchaseOrderLines.deliveryAddress` (object) Delivery address associated with the purchase order line. Represents the physical destination where goods or services are delivered - `purchaseOrderLines.deliveryAddress.street` (string) Street name and house number of the delivery address Example: "123 Industrial Way" - `purchaseOrderLines.deliveryAddress.addressAdditional` (string) Additional address data (e.g. apartment or suite) Example: "Suite 500, Dock 4" - `purchaseOrderLines.deliveryAddress.postcode` (string) Postcode of the delivery address Example: "90001" - `purchaseOrderLines.deliveryAddress.city` (string) City of the delivery address Example: "Los Angeles" - `purchaseOrderLines.deliveryAddress.state` (string) State of the delivery address Example: "CA" - `purchaseOrderLines.deliveryAddress.countryCode` (string,null) Two letter country code as defined in ISO 3166-1 alpha-2 Enum: "AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW", null - `purchaseOrderLines.deliveredQuantity` (number) Quantity that has already been delivered for the purchase order line Example: 55 - `purchaseOrderLines.orderConfirmations` (array) - `purchaseOrderLines.orderConfirmations.lineNumber` (string) Number of the order conformation line assigned (unique within the order confirmation) Example: "0090" - `purchaseOrderLines.orderConfirmations.deliveryDate` (string) Confirmed delivery date provided by the supplier (YYYY-MM-DD) Example: "2024-10-15" - `purchaseOrderLines.orderConfirmations.quantity` (number) Quantity confirmed by the supplier for the specified delivery date Example: 95 - `purchaseOrderLines.orderConfirmations.supplierReference` (string) Reference number assigned by the supplier for the order confirmation Example: "SUP-REF-00192" - `purchaseOrderLines.orderConfirmations.createdAt` (string) Date when the order confirmation was created in the source system (YYYY-MM-DD) Example: "2024-09-01" - `purchaseOrderLines.externalPlannerId` (string) External unique id of the responsible planner / dispatcher in the source system Example: "PLAN-4410-B" - `purchaseOrderLines.accountAssignmentType` (string) Account assignment type of the purchase order line which defines the type of accounting object (e.g. cost center, asset, project) the costs of the line are assigned to Example: "K" - `productNumber` (string) Number of the product as defined by the purchaser Example: "123456789" - `externalPurchaserId` (string) External unique id of the responsible purchaser in the source system Example: "PUR-88293-X" - `deliveryTerms` (object) Object containing delivery terms information as defined in the source system - `deliveryTerms.deliveryTermKey` (string) Key of the delivery terms as defined in the source system (e.g. Incoterms or internal delivery condition codes) Example: "FOB" - `deliveryTerms.descriptions` (array) Descriptions of the delivery terms in different languages Example: [{"text":"Free on Board - Port of Los Angeles","language":"en"},{"text":"Franco a bordo - Puerto de Los Ángeles","language":"es"}] - `deliveryTerms.additionalInfo` (string) Additional info on the delivery terms (e.g. port or packaging) Example: "Some additional info" ## Response 200 fields (application/json): - `id` (string, required) Example: "3a429dc8-56d4-42ef-a4cf-2ebc9ad1ef38" ## Response 422 fields (application/json): - `detail` (array) - `detail.loc` (array, required) - `detail.msg` (string, required) - `detail.type` (string, required) ## Response 429 fields