Export definition
Explore the comprehensive XML definition of cXML receipts
Proactis uses the cXML standard to generate receipts and send these to your application.
Basic receipt example
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.048/Fulfill.dtd">
<cXML payloadID="[email protected]" timestamp="2024-01-10T23:00:00+0100" xml:lang="en-GB">
<Header>
<From>...</From>
<To>...</To>
<Sender>...</Sender>
</Header>
<Request deploymentMode="test">
<ReceiptRequest>
<ReceiptRequestHeader receiptID="Rec_1000002189" receiptDate="2024-01-10T23:00:00">
<Extrinsic name="ProactisDepartmentId">A-7000</Extrinsic>
<Extrinsic name="ProactisCostCenterId">cc004</Extrinsic>
</ReceiptRequestHeader>
<ReceiptOrder closeForReceiving="yes">
<ReceiptOrderInfo>
<OrderReference orderID="00085451" orderDate="2024-01-11T09:18:38">
<DocumentReference payloadID="[email protected]"/>
</OrderReference>
</ReceiptOrderInfo>
<ReceiptItem receiptLineNumber="1" quantity="1.0000" completedIndicator="yes">...</ReceiptItem>
<ReceiptItem receiptLineNumber="2" quantity="1.0000" completedIndicator="yes">...</ReceiptItem>
</ReceiptOrder>
<Total>
<Money currency="EUR">1452.0000</Money>
</Total>
</ReceiptRequest>
</Request>
</cXML>
Header
The receipt starts with the Header which can used to authenticate the message and understand from which supplier the goods or services have been received.
<Header>
<From>
<Credential domain="NetworkId">
<Identity>CUSTOMER IDENTIFIER</Identity>
</Credential>
</From>
<To>
<Credential domain="NetworkId">
<Identity>SUPPLIER IDENTIFIER</Identity>
</Credential>
</To>
<Sender>
<Credential domain="NetworkId">
<Identity>Proactis</Identity>
<SharedSecret></SharedSecret>
</Credential>
<UserAgent>proactis-eu-agent</UserAgent>
</Sender>
</Header>
The From Credential domain attribute and Identity element are used to identify the customer who created the receipt.
The To Credential domain attribute and Identity element are used to identify the supplier from which the goods or services were received.
The Sender Credential domain attribute and Identity element are used to identify the system that has sent the receipt. The SharedSecret element remains empty.
Request
The Request element contains the the ReceiptRequest and shows if this receipt has been sent from a test or production environment.
- UAT environment
- Production environment
<Request deploymentMode="test">
<Request deploymentMode="production">
ReceiptRequestHeader
The ReceiptRequestHeader contains attributes that describe the receiptID and receiptDate.
<ReceiptRequestHeader receiptID="Rec_1000002189" receiptDate="2024-01-10T23:00:00">
The receiptID attribute is a Proactis generated receipt identifier.
The receiptDate attribute is the date and time the receipt was generated in the format: YYYY-MM-DD'T'hh:mm:ss.
Extrinsics
The ReceiptRequestHeader element contains three Extrinsics.
<Extrinsic name="ProactisDepartmentId">A-7000</Extrinsic>
<Extrinsic name="ProactisCostCenterId">cc004</Extrinsic>
<Extrinsic name="ProactisCostCenterErpId">ERP001</Extrinsic>
The ProactisDepartmentId Extrinsic shows the department ID specified on the purchase order. The ProactisCostCenterId and ProactisCostCenterErpId contain references to the cost center specified on header level.
ReceiptOrder
The ReceiptOrder element is repeated for each order that is included in the receipt. It will also include all items which have been received.
<ReceiptOrder closeForReceiving="yes">
<ReceiptOrderInfo>
<OrderReference orderID="00085451" orderDate="2024-01-11T09:18:38">
<DocumentReference payloadID="[email protected]"/>
</OrderReference>
</ReceiptOrderInfo>
<ReceiptItem receiptLineNumber="1" quantity="1.0000" completedIndicator="yes">...</ReceiptItem>
<ReceiptItem receiptLineNumber="1" quantity="1.0000" completedIndicator="yes">...</ReceiptItem>
</ReceiptOrder>
The closeForReceiving attribute specifies whether this would be the last receipt for the order.
The orderID attribute is a reference to the purchase order for which this receipt has been created.
The orderDate attribute contains the date/time of the purchase order.
ReceiptItem
The ReceiptItem element is repeated for each item that is included in the receipt.
<ReceiptItem receiptLineNumber="1" quantity="1.0000" completedIndicator="yes">
<ReceiptItemReference lineNumber="1">
<ItemID>
<SupplierPartID>FF1</SupplierPartID>
</ItemID>
<Description xml:lang="en-GB">
<ShortName>Pen Red</ShortName>
</Description>
<ReferenceDocumentInfo>
<Contact>...</Contact>
</ReferenceDocumentInfo>
</ReceiptItemReference>
<UnitRate>
<Money currency="EUR">1.1000</Money>
<UnitOfMeasure>PCE</UnitOfMeasure>
<PriceBasisQuantity quantity="1.0000" conversionFactor="1.0000">
<UnitOfMeasure>PCE</UnitOfMeasure>
</PriceBasisQuantity>
</UnitRate>
<ReceivedAmount>
<Money currency="EUR">1.3310</Money>
</ReceivedAmount>
<DeliveryAddress>...</DeliveryAddress>
<Classification domain="ItemReceivingCondition" code="Delivery is ok"/>
<Extrinsic name="ProactisOrderedQuantity">1.0000</Extrinsic>
</ReceiptItem>
The ReceiptItem contains attributes that describe the receiptLineNumber, quantity and completedIndicator.
<ReceiptItem receiptLineNumber="1" quantity="1.0000" completedIndicator="yes">
The receiptLineNumber attribute is line number for that item on the receipt.
The quantity attribute is the the quantity received for the item.
The completedIndicator indicates whether further deliveries are expected for this item.
ReceiptItemReference
The ReceiptItemReference element contains information about the item.
<ReceiptItemReference lineNumber="1">
<ItemID>
<SupplierPartID>FF1</SupplierPartID>
</ItemID>
<Description xml:lang="en-GB">
<ShortName>Pen Red</ShortName>
</Description>
<ReferenceDocumentInfo>
<Contact>...</Contact>
</ReferenceDocumentInfo>
</ReceiptItemReference>
The ReceiptItemReference lineNumber attribute contains the line number of the item in the purchase order.
The Description element is the name for the item.
UnitRate
The UnitRate element contains price and unit information for the item.
<UnitRate>
<Money currency="EUR">1.1000</Money>
<UnitOfMeasure>PCE</UnitOfMeasure>
<PriceBasisQuantity quantity="1.0000" conversionFactor="1.0000">
<UnitOfMeasure>PCE</UnitOfMeasure>
</PriceBasisQuantity>
</UnitRate>
The Money element is the price per unit excluding tax for the item.
The UnitOfMeasure element is the in which the unit is measured for the item.
ReceivedAmount
The ReceivedAmount element contains the Money element. The Money element shows the total value of the received line including taxes. The currency attribute shows the currency code.
<ReceivedAmount>
<Money currency="EUR">1331.0000</Money>
</ReceivedAmount>
DeliveryAddress
This DeliveryAddress element contains address information on where the customer would like the purchase order to be delivered.
<DeliveryAddress>
<Address isoCountryCode="MK">
<Name xml:lang="en-GB">Company name</Name>
<PostalAddress name="Company name">
<DeliverTo>FN LN</DeliverTo>
<Street>Dame Gruev bb</Street>
<City>Negotino</City>
<State>AP</State>
<PostalCode>1440</PostalCode>
<Country isoCountryCode="MK">Македонија</Country>
<Extrinsic name="ProactisCompanyName">Company name</Extrinsic>
<Extrinsic name="ProactisContactName">FN LN</Extrinsic>
<Extrinsic name="ProactisTitle">Title</Extrinsic>
</PostalAddress>
<Email preferredLang="en-GB"/>
</Address>
</DeliveryAddress>
Classification
The Classification element shows the receiving status of the item. Statuses can be configured in Proactis and are displayed in the code attribute.
<Classification domain="ItemReceivingCondition" code="Delivery is ok"/>
Extrinsic
Extrinsics are additional elements that can be included to extend the cXML standard. The ProactisOrderedQuantity contains the total number of items ordered by the buyer.
<Extrinsic name="ProactisOrderedQuantity">1.0000</Extrinsic>
Total
The total element contains the Money element. The Money element shows the total value of all items included in the receipt including taxes. The currency attribute shows the currency code.
<Total>
<Money currency="EUR">1.4520</Money>
</Total>
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 |
|---|---|---|
| Customer | cXML/Header/From/Credential[@domain="NetworkId"]/Identity | CUSTOMER IDENTIFIER |
| Supplier | cXML/Header/To/Credential[@domain="NetworkId"]/Identity | SUPPLIER IDENTIFIER |
| Environment | cXML/Request/@deploymentMode | test |
| Receipt Number | cXML/Request/ReceiptRequest/ReceiptRequestHeader/@receiptID | Rec_1000002189 |
| Receipt Date | cXML/Request/ReceiptRequest/ReceiptRequestHeader/@receiptDate | 2024-01-10T23:00:00 |
Item Level
| Detail | Path | Example |
|---|---|---|
| Order Number | cXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptOrderInfo/OrderReference/@orderID | 00085451 |
| Line Number | cXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/@receiptLineNumber | 1 |
| Item Code | cXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/ReceiptItemReference/ItemID/SupplierPartID | FF1 |
| Unit Price | cXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/UnitRate/Money | 1.1000 |
| Unit of Measure | cXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/UnitRate/UnitOfMeasure | PCE |
| Receiving Status | cXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/Classification[domain="ItemReceivingCondition"]/@code | Delivery is ok |