Export definition
Explore the comprehensive XML definition of cXML requisitions
Proactis uses the cXML standard to generate requisitions and send these to your application.
Basic requisition example
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.051/cXML.dtd">
<cXML version="0" payloadID="[email protected]" timestamp="2024-03-27T10:52:22+0100" xml:lang="en">
<Header>
<From>...</From>
<To>...</To>
<Sender>...</Sender>
</Header>
<Request deploymentMode="test">
<PurchaseRequisitionRequest>
<PurchaseRequisition>
<PurchaseRequisitionHeader requisitionID="00152401" requisitionDate="2024-03-27T09:49:10" type="new">
<Tax>...</Tax>
<Total>...</Total>
<ShipTo>...</ShipTo>
<BillTo>...</BillTo>
<Contact role="buyer">...</Contact>
<Comments>...</Comments>
<Extrinsic name="RequisitionReference">00152401</Extrinsic>
</PurchaseRequisitionHeader>
<ItemIn quantity="144.0000" lineNumber="1">
<ItemID>...</ItemID>
<ItemDetail>...</ItemDetail>
<SupplierList>...</SupplierList>
<ShipTo>...</ShipTo>
<Tax>...</Tax>
<Distribution>...</Distribution>
</ItemIn>
</PurchaseRequisition>
</PurchaseRequisitionRequest>
</Request>
</cXML>
Header
The requisition starts with the Header.
<Header>
<From>
<Credential domain="NetworkId">
<Identity>CUSTOMER IDENTIFIER</Identity>
</Credential>
</From>
<To>
<Credential domain="NetworkId">
<Identity>CUSTOMER IDENTIFIER</Identity>
</Credential>
</To>
<Sender>
<Credential domain="NetworkId">
<Identity>CUSTOMER IDENTIFIER</Identity>
</Credential>
<UserAgent>proactis-eu-agent</UserAgent>
</Sender>
</Header>
The Identity elements for the requisition will contain the organisation identifier.
Request
The Request element contains the the PurchaseRequisition and shows if this requisition has been sent from a test or production environment.
- UAT environment
- Production environment
<Request deploymentMode="test">
<Request deploymentMode="production">
PurchaseRequisitionHeader
The PurchaseRequisitionHeader contains attributes that describe the requisitionID, requisitionDate and type.
<PurchaseRequisitionHeader requisitionID="00152401" requisitionDate="2024-03-27T09:49:10" type="new">
The requisitionID attribute is a Proactis generated requisition identifier.
The requisitionDate attribute is the date and time the requisition was generated in the format: YYYY-MM-DD'T'hh:mm:ss.
The type is the status of the purchase order. The value will new by default.
Tax
This is the summary Tax information for the requisition.
<Tax>
<Money currency="EUR">51.2400</Money>
<Description xml:lang="en"></Description>
<TaxDetail category="tax">
<TaxableAmount>
<Money currency="EUR">244.0000</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="EUR">51.2400</Money>
</TaxAmount>
</TaxDetail>
</Tax>
The TaxDetail element contains the category which is by default tax.
Total
The total element contains the Money element. The Money element shows the total value of all items included in the requisition including taxes. The currency attribute shows the currency code.
<Total>
<Money currency="EUR">295.2400</Money>
</Total>
ShipTo
This ShipTo element contains address information on where the organisation would like the products to be delivered.
<ShipTo>
<Address isoCountryCode="NL">
<Name xml:lang="en">Delivery Address</Name>
<PostalAddress>
<Street>Damrak 123</Street>
<City>Amsterdam</City>
<State></State>
<PostalCode>1000 AB</PostalCode>
<Country isoCountryCode="NL">Netherlands</Country>
</PostalAddress>
</Address>
</ShipTo>
BillTo
This BillTo element contains address information on the billing address for the requisition.
<BillTo>
<Address isoCountryCode="NL">
<Name xml:lang="en">Invoice address</Name>
<PostalAddress>
<Street>Damrak 123</Street>
<City>Amsterdam</City>
<State></State>
<PostalCode>1000 AB</PostalCode>
<Country isoCountryCode="NL">Netherlands</Country>
</PostalAddress>
</Address>
</BillTo>
Contact
This contains the name and email address for the buyer.
<Contact role="buyer">
<Name xml:lang="en">John Doe</Name>
<Email>[email protected]</Email>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode="NL">31</CountryCode>
<AreaOrCityCode>20</AreaOrCityCode>
<Number>1234567</Number>
<Extension></Extension>
</TelephoneNumber>
</Phone>
</Contact>
Extrinsics
Extrinsics are additional elements that can be included to extend the cXML standard. Proactis uses an Extrinsic element for the requisition reference.
<Extrinsic name="RequisitionReference">00152401</Extrinsic>
ItemIn
The ItemIn element is repeated for each item that is included in the requisition.
<ItemIn quantity="144.0000" lineNumber="1">
<ItemID>
<SupplierPartID>FF1</SupplierPartID>
</ItemID>
<ItemDetail>
<UnitPrice>
<Money currency="EUR">1.0000</Money>
</UnitPrice>
<Description xml:lang="en">
<ShortName>Red Pen</ShortName>
</Description>
<UnitOfMeasure>PCE</UnitOfMeasure>
<PriceBasisQuantity quantity="1.0000" conversionFactor="1">
<UnitOfMeasure>PCE</UnitOfMeasure>
</PriceBasisQuantity>
<Classification domain="" code=""/>
</ItemDetail>
<SupplierList>
<Supplier>
<Name xml:lang="en">Northwest Goods</Name>
<SupplierID domain="NetworkID">SUP001</SupplierID>
<SupplierLocation>...</SupplierLocation>
</Supplier>
</SupplierList>
<ShipTo>...</ShipTo>
<Tax>...</Tax>
<Distribution>...</Distribution>
</ItemIn>
The ItemIn element contains attributes that describe the quantity and lineNumber of the product or service.
<ItemIn quantity="144.0000" lineNumber="1">
The quantity attribute is the quantity requested for the item.
The lineNumber attribute is the line number for that item on the requisition.
ItemID
This includes identifying codes for the item. The SupplierPartID element is the product/item/SKU code for the item.
<ItemID>
<SupplierPartID>FF1</SupplierPartID>
</ItemID>
ItemDetail
This includes more descriptive elements about the item.
<ItemDetail>
<UnitPrice>
<Money currency="EUR">1.0000</Money>
</UnitPrice>
<Description xml:lang="en">
<ShortName>Red Pen</ShortName>
</Description>
<UnitOfMeasure>PCE</UnitOfMeasure>
<PriceBasisQuantity quantity="1.0000" conversionFactor="1">
<UnitOfMeasure>PCE</UnitOfMeasure>
</PriceBasisQuantity>
<Classification domain="CommodityCode" code="2000">Facilities</Classification>
<Classification domain="SpendingPool" code="2010">Office supplies</Classification>
<Extrinsic name="Personal usage?">No</Extrinsic>
</ItemDetail>
The UnitPrice element is the price per unit excluding tax for the item.
The Description element is the name for the item.
The UnitOfMeasure element is the in which the unit is measured for the item.
The Classification elements are used to specify Commodity Code and Spending Pool, if specified by the buyer.
Extrinsic elements are added for Smart Form fields. Fields that can be used to add customer specific information.
SupplierList
Requisitions in Proactis can contain lines for multiple suppliers. Each ItemIn segment will contain the SupplierList which is the supplier where the product will be ordered.
<SupplierList>
<Supplier>
<Name xml:lang="en">Northwest Goods</Name>
<SupplierID domain="NetworkID">SUP001</SupplierID>
<SupplierLocation>
<Address>
<Name xml:lang="en"/>
<PostalAddress>
<Street>Damrak 1</Street>
<City>Amsterdam</City>
<State>NH</State>
<PostalCode>1111AB</PostalCode>
<Country isoCountryCode="NL">Netherlands</Country>
</PostalAddress>
<Email name="default">[email protected]</Email>
<Phone>
<TelephoneNumber>
<CountryCode isoCountryCode=""></CountryCode>
<AreaOrCityCode></AreaOrCityCode>
<Number>0123456789</Number>
</TelephoneNumber>
</Phone>
</Address>
<OrderMethods/>
</SupplierLocation>
</Supplier>
</SupplierList>
The Name element will contain the name of the supplier.
The SupplierID element contains the supplier number.
ShipTo
This ShipTo element contains address information on where the buyer would like the products to be delivered.
<ShipTo>
<Address isoCountryCode="NL">
<Name xml:lang="en">Delivery Address</Name>
<PostalAddress>
<Street>Damrak 123</Street>
<City>Amsterdam</City>
<State />
<PostalCode>1000 AB</PostalCode>
<Country isoCountryCode="NL">Netherlands</Country>
</PostalAddress>
</Address>
</ShipTo>
Tax
This is the Tax information for the item.
<Tax>
<Money currency="EUR">30.2400</Money>
<Description xml:lang="en">PLI Tax</Description>
<TaxDetail category="tax" percentageRate="21.0000" taxRateType="03">
<TaxableAmount>
<Money currency="EUR">144.0000</Money>
</TaxableAmount>
<TaxAmount>
<Money currency="EUR">30.2400</Money>
</TaxAmount>
</TaxDetail>
</Tax>
The Money element total amount of tax for the item.
The Description element is the description of the tax being applied.
The category attribute is the type of tax that is being applied.
The percentageRate attribute is the tax rate being applied.
The taxRateType is a Proactis specific value assigned to the type of tax.
The TaxableAmount element is the subtotal amount excluding tax for the item.
The TaxAmount element is the amount of tax for the TaxableAmount.
Distribution
The Distribution contains the cost coding information assigned to the item.
<Distribution>
<Accounting name="CostCoding">
<Segment type="DepartmentId" id="A-2000" description="Finance" />
<Segment type="CostCenterId" id="cc007" description="HR" />
<Segment type="CostAccountId" id="CA01" description="CA01" />
<Segment type="A10 Project code" id="A123" description="A123" />
</Accounting>
<Charge>
<Money currency="EUR">60.5000</Money>
</Charge>
</Distribution>
The Segment with the type DepartmentId contains the department ID linked to the item.
The Segment with the type CostCenterId contains the cost center value.
The Segment with the type CostAccountId contains the cost account value.
Cost Dimensions are added as separate Segment elements. The type being the name of the parent dimension.
Common cXML Elements
The tables show some examples on where to find common fields used from the Header and Item levels.
Header level
| Detail | Path | Example |
|---|---|---|
| Environment | cXML/Request/@deploymentMode | test |
| Requisition Number | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/@requisitionID | 00152401 |
| Requisition Date | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/@requisitionDate | 2024-03-27T09:49:10 |
| Total Tax Amount | XML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/Tax/Money | 51.2400 |
| Requisition Total | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/Total/Money | 295.2400 |
| Ship To | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/ShipTo | |
| Bill To | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/BillTo | |
| Buyer Reference | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/Extrinsic[@name="RequisitionReference"] | 00152401 |
Item Level
| Detail | Path | Example |
|---|---|---|
| Quantity | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/@quantity | 144.0000 |
| Line Number | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/@lineNumber | 1 |
| Item Code | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemID/SupplierPartID | FF1 |
| Unit Price | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemDetail/UnitPrice/Money | 1.0000 |
| Short Item Description | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemDetail/Description/ShortName | Red Pen |
| Unit of Measure | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemDetail/UnitOfMeasure | PCE |
| Supplier Name | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/SupplierList/Supplier/Name | Northwest Goods |
| Supplier Number | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/SupplierList/Supplier/SupplierID[@domain="NetworkID"] | SUP001 |
| Ship To | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ShipTo | |
| Tax | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Tax/Money | 10.5000 |
| Department ID | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Distribution/Accounting/Segment[type="DepartmentId"] | A-2000 |
| Cost Center ID | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Distribution/Accounting/Segment[type="CostCenterId"] | cc007 |
| Cost Account ID | cXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Distribution/Accounting/Segment[type="CostAccountId"] | CA01 |