Skip to main content

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>

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.

<Request deploymentMode="test">

ReceiptRequestHeader​

The ReceiptRequestHeader contains attributes that describe the receiptID and receiptDate.

<ReceiptRequestHeader receiptID="Rec_1000002189" receiptDate="2024-01-10T23:00:00">
<!--Comments: receipt comment(s), multiple comments separated by line breaks-->
<Comments>Delivered box was slightly damaged
Delivery is ok</Comments>

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.

The comments are optional, if multiple comments are present, they are exported together in the comments section, separated by line breaks

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​

DetailPathExample
CustomercXML/Header/From/Credential[@domain="NetworkId"]/IdentityCUSTOMER IDENTIFIER
SuppliercXML/Header/To/Credential[@domain="NetworkId"]/IdentitySUPPLIER IDENTIFIER
EnvironmentcXML/Request/@deploymentModetest
Receipt NumbercXML/Request/ReceiptRequest/ReceiptRequestHeader/@receiptIDRec_1000002189
Receipt DatecXML/Request/ReceiptRequest/ReceiptRequestHeader/@receiptDate2024-01-10T23:00:00
CommentscXML/Request/ReceiptRequest/ReceiptRequestHeader/@commentsDelivered box was slightly damaged

Item Level​

DetailPathExample
Order NumbercXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptOrderInfo/OrderReference/@orderID00085451
Line NumbercXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/@receiptLineNumber1
Item CodecXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/ReceiptItemReference/ItemID/SupplierPartIDFF1
Unit PricecXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/UnitRate/Money1.1000
Unit of MeasurecXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/UnitRate/UnitOfMeasurePCE
Receiving StatuscXML/Request/ReceiptRequest/ReceiptOrder[*]/ReceiptItem[*]/Classification[domain="ItemReceivingCondition"]/@codeDelivery is ok