Skip to main content

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>

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.

<Request deploymentMode="test">

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

DetailPathExample
EnvironmentcXML/Request/@deploymentModetest
Requisition NumbercXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/@requisitionID00152401
Requisition DatecXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/@requisitionDate2024-03-27T09:49:10
Total Tax AmountXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/Tax/Money51.2400
Requisition TotalcXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/Total/Money295.2400
Ship TocXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/ShipTo
Bill TocXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/BillTo
Buyer ReferencecXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/PurchaseRequisitionHeader/Extrinsic[@name="RequisitionReference"]00152401

Item Level

DetailPathExample
QuantitycXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/@quantity144.0000
Line NumbercXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/@lineNumber1
Item CodecXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemID/SupplierPartIDFF1
Unit PricecXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemDetail/UnitPrice/Money1.0000
Short Item DescriptioncXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemDetail/Description/ShortNameRed Pen
Unit of MeasurecXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ItemDetail/UnitOfMeasurePCE
Supplier NamecXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/SupplierList/Supplier/NameNorthwest Goods
Supplier NumbercXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/SupplierList/Supplier/SupplierID[@domain="NetworkID"]SUP001
Ship TocXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/ShipTo
TaxcXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Tax/Money10.5000
Department IDcXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Distribution/Accounting/Segment[type="DepartmentId"]A-2000
Cost Center IDcXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Distribution/Accounting/Segment[type="CostCenterId"]cc007
Cost Account IDcXML/Request/PurchaseRequisitionRequest/PurchaseRequisition/ItemIn[*]/Distribution/Accounting/Segment[type="CostAccountId"]CA01