Skip to main content

Sample messages

Invoice Export

<?xml version="1.0" encoding="UTF-8"?>
<!--Reference to the InvoiceDetail.dtd and it's version that is used for initial validation-->
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.051/InvoiceDetail.dtd">
<!--payloadID: generated id for each InvoiceDetailRequest consisting the creation date of the
invoice (ex: 20220113131700000) and the hostname (ex: proactiscloud.com)-->
<!--timestamp: date when the InvoiceDetailRequest message was generated-->
<!--xml:lang: language of the buying organization-->
<cXML payloadID="[email protected]"
timestamp="2022-01-13T01:17:00-01:17" xml:lang="en-US">

<!--Contains the From, To and Sender information of an invoice-->
<Header>

<!--Reference to the Supplier of the invoice using the Supplier number and DUNS number
(if present)-->
<From>
<!--domain: "NetworkId" (Supplier number)-->
<Credential domain="NetworkId">
<Identity>012345678</Identity>
</Credential>

<!--domain: "DUNS" (DUNS number)-->
<Credential domain="DUNS">
<Identity>012345678</Identity>
</Credential>
</From>

<!--Reference to the buying organization of the invoice-->
<To>
<!--Default-->
<Credential domain="NetworkId">
<!--Name of the buying organization-->
<Identity>DomainName</Identity>
</Credential>
</To>

<!--Reference to the Sender of the InvoiceDetailRequest-->
<Sender>
<!--Default-->
<Credential domain="NetworkId">
<Identity>Proactis</Identity>
</Credential>
<!--User agent of the service that is being used-->
<UserAgent>proactis-eu-agent</UserAgent>
</Sender>

</Header>

<!--deploymentMode: "test" or "production"-->
<Request deploymentMode="production">

<InvoiceDetailRequest>
<!--invoiceID: supplier invoiceNumber
*If the supplier invoiceNumber is not present, the Proactis invoice number will be
used-->
<!--purpose:
Debet invoice: "debitMemo"
Credit invoice: "creditMemo"
Other invoices: "standard"
-->
<!--operation: "new"-->
<!--invoiceDate: supplier invoice date-->
<InvoiceDetailRequestHeader invoiceID="2019-01" purpose="debitMemo" operation="new"
invoiceDate="2019-11-01T11:00">

<!--Default-->
<InvoiceDetailHeaderIndicator isVatRecoverable="yes"/>

<!--Default-->
<InvoiceDetailLineIndicator isTaxInLine="yes"/>

<!--Reference to the creator of the invoice-->
<InvoicePartner>
<!--role: "creator"-->
<Contact role="creator">
<!--Name of creator-->
<!--xml:lang: language of the buying organization-->
<Name xml:lang="en-US">Creator Name</Name>
</Contact>
</InvoicePartner>

<!--Reference to the solver of the invoice (if present)-->
<InvoicePartner>
<!--role: "solver"-->
<Contact role="solver">
<!--Name of solver-->
<!--xml:lang: language of the buying organization-->
<Name xml:lang="en-US">Solver Name</Name>
</Contact>
</InvoicePartner>

<!--Reference to the payer of the invoice (if present)-->
<InvoicePartner>
<!--role: "payer"-->
<Contact role="payer">
<!--Name of payer-->
<!--xml:lang: language of the buying organization-->
<Name xml:lang="en-US">Payer Name</Name>
</Contact>
</InvoicePartner>

<!--NOT IMPLEMENTED: current billTo is a placeholder-->
<!--Reference to the billTo of the invoice-->
<InvoicePartner>
<!--role: "billTo"-->
<Contact role="billTo">
<!--Name of billTo-->
<!--xml:lang: language of the buying organization-->
<Name xml:lang="en-US"></Name>
</Contact>
</InvoicePartner>

<!--Reference to the payment information of the invoice-->
<InvoicePartner>
<!--role: "remitTo"-->
<Contact role="remitTo">

<!--Name of the supplier of the invoice-->
<!--xml:lang: language of the buying organization-->
<Name xml:lang="en-US">SupplierName</Name>
<!--Bank account information of the invoice (if present). This contains
various IdReference combinations for different bank account types.

1. A SEPA account consists of an IdReference with domain "ibanID" and an
identifier value of the iban number. An IdReference with domain "swiftId"
can be present if a swift id is defined.

Example:
<IdReference identifier="123456780" domain="ibanID"/>
<IdReference identifier="123456780" domain="swiftId"/>

2. A SEPA G account consists of an IdReference with domain "ibanGAccountID"
and an identifier value of the G account number. An IdReference with domain
"swiftId" can be present if a swift id is defined.

Example:
<IdReference identifier="123456780" domain="ibanGAccountID"/>
<IdReference identifier="123456780" domain="swiftId"/>

3. A G account consists of an IdReference with domain "bankGAccountID"
and an identifier value of the G account number.

Example:
<IdReference identifier="123456780" domain="bankGAccountID"/>

4. A foreign account consists of an IdReference with domain
"bankForeignAccountID" and an identifier value of the foreign account
number. An IdReference with domain "swiftId" can be present if a swift id
is defined.

Example:
<IdReference identifier="123456780" domain="bankForeignAccountID"/>
<IdReference identifier="123456780" domain="swiftId"/>

5. An account defined as "Other" consists of an IdReference with domain
"bankAccountID" and identifier value of the account number. An IdReference
with domain "swiftId" can be present if a swift id is defined.

Example:
<IdReference identifier="123456780" domain="bankAccountID"/>
<IdReference identifier="123456780" domain="swiftId"/>
-->

<IdReference identifier="123456780" domain="bankForeignAccountID"/>

<!--VAT number of the supplier-->
<!--identifier: VAT number-->
<!--domain: "vatID"-->
<IdReference identifier="123456780" domain="vatID"/>

</Contact>
</InvoicePartner>

<!--NOT IMPLEMENTED: current InvoiceDetailShipping is a placeholder-->
<InvoiceDetailShipping>
<!--role: "shipFrom"-->
<Contact role="shipFrom">
<!--Name of shipFrom -->
<!--xml:lang: language of the buying organization-->
<Name xml:lang="en-US"></Name>
</Contact>
<!--role: "shipTo"-->
<Contact role="shipTo">
<!--Name of shipTo -->
<!--xml:lang: language of the buying organization-->
<Name xml:lang="en-US"></Name>
</Contact>
</InvoiceDetailShipping>

<!--Payment discount period-->
<PaymentTerm payInNumberOfDays="3">
<!--Discount in percentage-->
<Discount>
<!--percent: discount percentage rounded to 4 decimals-->
<DiscountPercent percent="5.0000"/>
</Discount>
</PaymentTerm>

<!--Payment due date-->
<PaymentInformation paymentNetDueDate="2019-11-30T11:00:00+01:00"/>

<!--Invoice related information-->
<Comments>
<!--Referencing a part in a multipart/mixed transmission-->
<Attachment>
<!--URL of an attachment-->
<URL>cid:filename.pdf</URL>
</Attachment>
</Comments>

<!--Extra invoice specifications (max 4)-->
<!--An idReference is added for each extra invoice specification if present-->
<IdReference identifier="ref1" domain="Extra ref 1"/>
<IdReference identifier="ref2" domain="Extra ref 2"/>
<IdReference identifier="ref3" domain="Extra ref 3"/>
<IdReference identifier="ref4" domain="Extra ref 4"/>

<!--Proactis invoice number-->
<Extrinsic name="ProactisInvoiceNumber">INV100000012</Extrinsic>

<!--Invoice status: Concept, Exception, For Approval, Processed, Cleared,
Archived, On Hold, For Validation, Deleted, For Evaluation, Sent or Rejected -->
<Extrinsic name="ProactisStatus">Cleared</Extrinsic>

<!--Date on which the invoice was created by Proactis-->
<Extrinsic name="ProactisCreationDate">2019-11-18T12:45:48</Extrinsic>

<!--Date on which this cXML was generated-->
<Extrinsic name="ProactisProcessedDate">2022-01-13</Extrinsic>

<!--Proactis G-Account Amount from the G-Account Details-->
<Extrinsic name="ProactisGAccountAmount">356.63</Extrinsic>

<!--Proactis Bank Account Amount from the G-Account Details-->
<Extrinsic name="ProactisBankAccountAmount">635.66</Extrinsic>

<!--Proactis Hours Worked from the G-Account Details-->
<Extrinsic name="ProactisHoursWorked">3</Extrinsic>

<!--Proactis Period Worked from the G-Account Details-->
<Extrinsic name="ProactisPeriodWorked">WK 4-7</Extrinsic>
</InvoiceDetailRequestHeader>

<!--Invoice information of an order-->
<InvoiceDetailOrder>

<!--Order information-->
<InvoiceDetailOrderInfo>

<!--Reference to the order-->
<!--orderId: Proactis purchase order number-->
<!--orderDate: Creation date of purchase order-->
<OrderReference orderID="12345678" orderDate="2019-11-18T12:45:31">
<!--DocumentReference payloadID generated with order creation date-->
<DocumentReference
payloadID="[email protected]"/>
</OrderReference>

<!--Purchase order reference or order number specified by supplier-->
<SupplierOrderInfo orderID="12345678"/>

</InvoiceDetailOrderInfo>

<!--Invoice order line-->
<!--invoiceLineNumber: position of line in the invoice-->
<!--quantity: amount of invoiced items rounded to 4 decimals-->
<InvoiceDetailItem invoiceLineNumber="1" quantity="15.0000">

<!--Describes how the product is packaged or shipped.-->
<UnitOfMeasure>piece</UnitOfMeasure>
<!--Price per unit of item-->
<UnitPrice>
<!--Representation of the object used to pay for items-->
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">55.6100</Money>
</UnitPrice>

<!--InvoiceDetailItemReference defines all references related to a line item in
this invoice-->
<!--lineNumber: line number of current line item-->
<InvoiceDetailItemReference lineNumber="1">

<!--A unique identification of an item-->
<ItemID>
<!--How the supplier identifies an item they sell-->
<SupplierPartID>Product id</SupplierPartID>
</ItemID>

<!--Item name-->
<!--xml:lang: language of the buying organization-->
<Description type="name" xml:lang="en-US">Product name</Description>

</InvoiceDetailItemReference>

<!--Definition of the subtotal amount-->
<SubtotalAmount>
<!--Representation of the object used to pay for items-->
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">834.1500</Money>
</SubtotalAmount>

<!--Tax information of invoice-->
<Tax>
<!--Total tax amount-->
<Money currency="USD">175.1715</Money>

<!--xml:lang: language of the buying organization-->
<Description xml:lang="en-US"/>

<!--Tax information-->
<!--category: "VAT"-->
<!--percentageRate: tax rate in percentage rounded to 4 decimals-->
<!--taxRateType: tax rate type code-->
<TaxDetail category="VAT" percentageRate="21.0000" taxRateType="4">
<TaxAmount>
<!--Invoice order line tax price value-->
<!--currency: currency in which the amount is stated conform
ISO 4217-->
<Money currency="USD">175.1715</Money>
</TaxAmount>
</TaxDetail>
</Tax>

<!--Total gross amount-->
<GrossAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">1009.3215</Money>
</GrossAmount>

<!--Total net amount-->
<NetAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">834.1500</Money>
</NetAmount>

<!--Accounting information-->
<Distribution>

<!--Cost distribution information-->
<!--name: "CostCoding"-->
<Accounting name="CostCoding">

<!--Department information-->
<!--type: "DepartmentId"-->
<!--id: department id-->
<!--description: Department name-->
<Segment type="DepartmentId" id="A-100" description="Department name"/>

<!--Cost center type-->
<!--type: "CostCenterType"-->
<!--id: id of the Cost center type-->
<!--description: Cost center type name-->
<Segment type="CostCenterType" id="CTId"
description="CostCenter type name"/>

<!--Cost center information-->
<!--type: "CostCenterId"-->
<!--id: id of the Cost center-->
<!--description: Cost center name-->
<Segment type="CostCenterId" id="CC050" description="CostCenter name"/>

<!--Cost center ERP information (if present)-->
<!--type: "CostCenterErpId"-->
<!--id: erpId of the Cost center-->
<!--description: Cost center name-->
<Segment type="CostCenterErpId" id="CC050"
description="CostCenter name"/>

<!--Cost account type-->
<!--type: "CostAccountType"-->
<!--id: name of the Cost account type-->
<!--description: Cost account type description-->
<Segment type="CostAccountType" id="CATName"
description="CostAccount type description"/>

<!--Cost account information-->
<!--type: "CostAccountId"-->
<!--id: id of the Cost account-->
<!--description: Cost account name-->
<Segment type="CostAccountId" id="ca-015"
description="CostAccount name"/>

<!--Cost account ERP information (if present)-->
<!--type: "CostAccountErpId"-->
<!--id: erpId of the Cost account-->
<!--description: Cost account name-->
<Segment type="CostAccountErpId" id="ca-015"
description="CostAccount name"/>

<!--Cost dimension information (if present)-->
<!--type: name of the parent dimension-->
<!--id: selected name of the dimension-->
<!--description: description of the selected dimension-->
<Segment type="Objectcode" id="A50"
description="A50 dimension"/>

</Accounting>

<!--Charge against the Accounting element-->
<Charge>
<!--Total gross amount-->
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">1009.3215</Money>
</Charge>

</Distribution>

<!--Smart Form name and value on line level-->
<Extrinsic name="Intention">Birthday John Doe</Extrinsic>

<!--Reference to the receipt(s). A new extrinsic will be added for each additional receipt-->
<Extrinsic name="ProactisReceiptNumber">Rec_1000002217</Extrinsic>

</InvoiceDetailItem>

</InvoiceDetailOrder>

<!--Invoice information describing additional costs (if present)-->
<InvoiceDetailOrder>

<!--Placeholder (required element)-->
<InvoiceDetailOrderInfo>
<!--orderID: ""-->
<OrderReference orderID="">
<!--payloadID: ""-->
<DocumentReference payloadID=""/>
</OrderReference>
<!--orderID: ""-->
<SupplierOrderInfo orderID=""/>
</InvoiceDetailOrderInfo>

<!--Additional cost-->
<!--invoiceLineNumber: resume position after last invoice line-->
<!--quantity: "1.0000"-->
<InvoiceDetailItem invoiceLineNumber="2" quantity="1.0000">
<!--Placeholder (unitOfMeasure is not applicable to additionalCosts)-->
<UnitOfMeasure></UnitOfMeasure>

<!--Price of additionalCost (equal to NetAmount)-->
<UnitPrice>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">0.0250</Money>
</UnitPrice>

<!--Placeholder (required element)-->
<!--lineNumber: "1"-->
<InvoiceDetailItemReference lineNumber="1"/>

<Tax>
<!--Total tax amount-->
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">0.0000</Money>

<!--Placeholder (required element)-->
<!--xml:lang: language of the buying organization-->
<Description xml:lang="en-US"/>

<!--Tax information-->
<!--category: "VAT"-->
<!--percentageRate: tax rate in percentage rounded to 4 decimals-->
<TaxDetail category="VAT" percentageRate="0.0000">
<TaxAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">0.0000</Money>
</TaxAmount>
</TaxDetail>
</Tax>

<!--Price of additionalCost plus tax amount-->
<GrossAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">0.0250</Money>
</GrossAmount>

<!--Price of additionalCost (equal to UnitPrice)-->
<NetAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">0.0250</Money>
</NetAmount>

<!--Additional cost name-->
<!--name: "ProactisAdditionalCost"-->
<Extrinsic name="ProactisAdditionalCost">Rounding</Extrinsic>

</InvoiceDetailItem>
</InvoiceDetailOrder>

<!--Summary of the invoice-->
<InvoiceDetailSummary>

<!--Subtotal amount of invoice-->
<SubtotalAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">834.1500</Money>
</SubtotalAmount>

<Tax>
<!--Total tax-->
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">175.1715</Money>

<!--Description: "VAT Summary"-->
<!--xml:lang: language of the buying organization-->
<Description xml:lang="en-US">VAT Summary</Description>
</Tax>

<!--Total gross amount-->
<GrossAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">308.6400</Money>
</GrossAmount>

<!--Total net amount-->
<NetAmount>
<!--currency: currency in which the amount is stated conform ISO 4217-->
<Money currency="USD">1009.3215</Money>
</NetAmount>

</InvoiceDetailSummary>
</InvoiceDetailRequest>
</Request>
</cXML>

Payment Status

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<paymentUpdate xmlns="http://api.proactis.com/invoices">
<entryNumber>202200001</entryNumber>
<paymentDate>2022-12-22T24:02:00</paymentDate>
<comment>Some comment</comment>
</paymentUpdate>