sendInterchange
Submit one or more XML invoices to eXite® for delivery in a single SOAP call.
| Property | Value |
|---|---|
| SOAPAction | http://www.exite.net/ws/communication/sendinterchange/2020/12/ |
| Namespace | xmlns:sndich="http://www.exite.net/ws/communication/sendinterchange/2020/12/" |
Request
Multiple invoices can be batched by repeating the interchangeRequest element inside interchangesRequest.
Header fields
See Authentication for the full sessionRequest structure.
Body fields
| Element | Card. | Type | Description |
|---|---|---|---|
interchangeRequest |
1-n | complex | One element per invoice. Repeat for batch submission. |
payloadDataFormat |
1 | enum | "XML" for GS1 XML / Peppol / UBL invoices |
payload |
1 | base64 | Encoded XML invoice content (b64 or zipb64) |
transformationType |
0-1 | enum | "b64" | "zipb64" — default: b64 |
applicationReference |
0-1 | string | Message class (e.g. Invoice). Only needed if not present in the XML document itself. |
testMessage |
0-1 | boolean | Mark as test. Only needed if not set in the XML document. |
externalID |
0-1 | string | Your internal document/invoice ID — echoed back in the response for easy matching. |
numberOfInterchanges |
1 | integer | Must match the count of interchangeRequest elements. |
Request example
<env:Envelope
xmlns:env="http://www.w3.org/2003/05/soap-envelope"
xmlns:sndich="http://www.exite.net/ws/communication/sendinterchange/2020/12/"
xmlns:eXite="http://www.exite.net/ws/communication/exite/2020/12/">
<env:Header>
<sndich:sessionRequest env:mustUnderstand="true">
<eXite:login>
<eXite:user>myExiteUser</eXite:user>
<eXite:password>mypassword</eXite:password>
</eXite:login>
<eXite:uniqueTransmissionID>f88b3b23-78ff-495a-a3ea-a2a4e4a988a1</eXite:uniqueTransmissionID>
</sndich:sessionRequest>
</env:Header>
<env:Body>
<sndich:sendInterchange>
<sndich:interchangesRequest>
<sndich:interchangeRequest eXite:payloadDataFormat="XML">
<!-- applicationReference only needed if not in the XML document -->
<eXite:applicationReference>Invoice</eXite:applicationReference>
<eXite:externalID>INV-2024-00123</eXite:externalID>
<eXite:payload eXite:transformationType="b64">PD94bWwgdmVyc2lvbj0i...</eXite:payload>
</sndich:interchangeRequest>
</sndich:interchangesRequest>
<sndich:numberOfInterchanges>1</sndich:numberOfInterchanges>
</sndich:sendInterchange>
</env:Body>
</env:Envelope>
Response
The SOAP Header contains session totals (accepted / rejected counts). The Body contains per-invoice metadata.
Tip
Rejected invoices are included in totals[@type="REJECTED"] and contain a processingError element in their interchangeResponse.
Header fields
| Element | Card. | Type | Description |
|---|---|---|---|
sessionID |
1 | string | 12-digit eXite® internal session ID |
sessionResponseTime |
1 | dateTime | Response timestamp (user's configured timezone) |
totals[@type="ACCEPTED"] |
1 | complex | totalNo + totalSize (bytes) of accepted invoices |
totals[@type="REJECTED"] |
1 | complex | totalNo + totalSize (bytes) of rejected invoices |
sessionProcessing |
0-1 | complex | Present when UTIDREUSED — duplicate detected, original result returned |
uniqueTransmissionID |
0-1 | string | Echoed back from the request |
Body fields
| Element | Card. | Type | Description |
|---|---|---|---|
interchangeResponse |
0-n | complex | One element per submitted invoice |
eXiteInterchangeID |
1 | string | 12-digit eXite® internal invoice ID |
dataFormat |
1 | string | "XML" |
dataSubFormat |
0-1 | string | e.g. "GS1XML" |
senderID |
0-1 | string | GLN / party address extracted from the XML document |
recipientID |
0-1 | string | Recipient GLN / party address |
applicationReference |
0-1 | string | Message class from document or request |
externalID |
0-1 | string | Your internal ID echoed back from the request |
testMessage |
1 | boolean | Test flag |
messageSize |
1 | integer | Payload size in bytes (uncompressed) |
sendingTime |
1 | dateTime | Processing timestamp in eXite® |
gatewayTransmission |
1 | boolean | true if gateway surcharges apply for this recipient |
processingError |
0-1 | complex | Present only for rejected invoices |
errorSeverity |
1 | integer | Severity level of the error |
errorCode |
1 | string | Machine-readable error code (e.g. RTG0004) |
errorDescription |
1 | string | Human-readable error description |
Response example (success)
<sndich:sendInterchangeResponse>
<sndich:interchangesResponse>
<sndich:interchangeResponse>
<eXite:eXiteInterchangeID>241015a3fB24</eXite:eXiteInterchangeID>
<eXite:dataFormat>XML</eXite:dataFormat>
<eXite:dataSubFormat>GS1XML</eXite:dataSubFormat>
<eXite:senderID>9001234567890</eXite:senderID>
<eXite:recipientID>9009876543210</eXite:recipientID>
<eXite:applicationReference>Invoice</eXite:applicationReference>
<eXite:externalID>INV-2024-00123</eXite:externalID>
<eXite:testMessage>false</eXite:testMessage>
<eXite:messageSize>7421</eXite:messageSize>
<eXite:sendingTime>2024-10-15T10:15:06+02:00</eXite:sendingTime>
<eXite:gatewayTransmission>false</eXite:gatewayTransmission>
</sndich:interchangeResponse>
</sndich:interchangesResponse>
</sndich:sendInterchangeResponse>
Response example (rejected invoice)
<sndich:interchangeResponse>
<eXite:eXiteInterchangeID>241015a3fB25</eXite:eXiteInterchangeID>
<eXite:dataFormat>XML</eXite:dataFormat>
<eXite:senderID>9001234567890</eXite:senderID>
<eXite:recipientID>9009999999999</eXite:recipientID>
<eXite:messageSize>7421</eXite:messageSize>
<eXite:sendingTime>2024-10-15T10:15:06+02:00</eXite:sendingTime>
<eXite:gatewayTransmission>false</eXite:gatewayTransmission>
<eXite:processingError>
<eXite:errorSeverity>70</eXite:errorSeverity>
<eXite:errorCode>RTG0004</eXite:errorCode>
<eXite:errorDescription>Recipient address '9009999999999' not found.</eXite:errorDescription>
</eXite:processingError>
</sndich:interchangeResponse>