Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

AP Invoice API

Allows external systems, such as those used by vendors, to securely submit invoices directly into an accounts payable system in a structured and automated manner.

This API requires the Accounts Payable Invoice Processing (com.sn_ap_apm) and Source-to-Pay Integration Framework (sn_spend_intg) applications, which are available on the ServiceNow Store. For information, see Accounts Payable Invoice Processing.

Refer to AP Invoice API Developer Guide for help with the following tasks:

  • Define a custom field for invoices, invoice lines, and invoice tax lines.
  • Map the custom field between source and target tables.
  • Map the custom field to a payload entry in a specific format, such as JSON, cXML, or XML.
  • Setting credentials for authentication when using cXML as the payload.

You can apply a filter condition for invoice lines containing multiple ERPs. For information, see Integration errors.

Note: The maximum default payload size is 100 records. This value is configurable in the sn_spend_intg.ap.invoice.create.api.record_limit system property.

  • Invoice attachments

    The XML and JSON endpoints support attachments at the invoice, invoice line, and invoice case levels. The cXML endpoint does not support attachments.

    Use the following guidelines for attachments:

    • Do not use the reserved "SD_" prefix for attachment file names.
    • All attachments must be encoded as Base64 format.

Parent Topic:REST API reference

AP Invoice – POST /sn_spend_intg/ap_invoice/cxml

Processes an automated invoice in commerce XML (cXML) format.

Use the Invoice integration field mappings [sn_spend_intg_invoice_intg_field_mapping] table to determine how the fields are mapped to cXML tags.

For additional cXML resources, refer to the cXML Reference Guide at https://xml.cxml.org.

Credentials for this API are included in the payload. You can set up credentials in the Source system credential [sn_spend_intg_source_system_credential] table. For instructions, see Setting credentials for authentication in the cXML payload.

You can define custom invoice fields for the request body. Use the following flow to add custom fields, map them to target tables, and format them for availability in the payload:

  1. Add custom fields for invoice import
  2. Map custom fields between source and target tables
  3. Map custom fields to a payload source format

URL format

Versioned URL: /api/sn_spend_intg/v1/ap_invoice/cxml

Default URL: /api/sn_spend_intg/ap_invoice/cxml

Supported request parameters

NameDescription
api\_versionOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String
NameDescription
None 
PathDescription
/cXML/Header/From /Credential\[@domain='VendorID'\]/IdentityIdentifier for the reseller or supplier that the customer can place orders with.Target field: u\_supplier Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader\[@invoiceDate\]Date on which the customer was invoiced.Target field: u\_invoice\_date Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Format: YYYY-MM-DD
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader\[@invoiceID\]Invoice number generated from a third-party application.Target field: u\_external\_invoice\_number Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader\[@invoiceOrigin\]External source system from where the invoice is received. For example, supplier.Target field: u\_inbound\_source Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader/InvoicePartner /Contact\[@role='billTo'\]/PostalAddress/CityThe city to which the invoice is sent.Target field: u\_bill\_to\_city Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader/InvoicePartner /Contact\[@role='billTo'\]/PostalAddress/CountryThe country to which the invoice is sent in ISO 3166 format. For example, `US`.Target field: u\_bill\_to\_country Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader/InvoicePartner /Contact\[@role='billTo'\]/PostalAddress/StateThe state or province to which the invoice is sent.Target field: u\_bill\_to\_state\_or\_province Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader/InvoicePartner /Contact\[@role='billTo'\]/PostalAddress/StreetThe street address to which the invoice is sent.Target field: u\_bill\_to\_street Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader/InvoicePartner /Contact\[@role='billTo'\]/PostalAddress/PostalCodeThe zip or postal code to which the invoice is sent.Target field: u\_bill\_to\_zip\_or\_postal\_code
Contact\[@role="remitTo"\]/PostalAddress /StreetThe street address to which the payment is made.Target field: u\_remit\_address
Contact\[@role="remitTo"\]/PostalAddress /CityThe city to which the payment is made.Target field: u\_remit\_to\_city
Contact\[@role="remitTo"\]/PostalAddress /StateThe state or province to which the payment is made.Target field: u\_remit\_to\_state\_or\_province
Contact\[@role="remitTo"\]/PostalAddress /PostalCodeThe zip or postal code to which the payment is made.Target field: u\_remit\_to\_zip\_or\_postal\_code
Contact\[@role="remitTo"\]/PostalAddress /CountryThe country to which the payment is made in ISO 3166 format. For example, `US`.Target field: u\_remit\_to\_country
/cXML/Request/InvoiceDetailRequest/InvoiceDetailRequestHeader /InvoiceDetailShipping/Contact\[@role="shipFrom"\]/PostalAddress /StreetStreet from which the items on the purchase order are shipped.Target field: u\_ship\_from\_street Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailRequestHeader /InvoiceDetailShipping/Contact\[@role="shipFrom"\]/PostalAddress /CityCity from which the items on the purchase order are shipped.Target field: u\_ship\_from\_city Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailRequestHeader /InvoiceDetailShipping/Contact\[@role="shipFrom"\]/PostalAddress /StateState from which the items on the purchase order are shipped.Target field: u\_ship\_from\_state\_or\_province Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailRequestHeader /InvoiceDetailShipping/Contact\[@role="shipFrom"\]/PostalAddress /PostalCodeZip code from which the items on the purchase order are shipped.Target field: u\_ship\_from\_zip\_or\_postal\_code Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailRequestHeader /InvoiceDetailShipping/Contact\[@role="shipFrom"\]/PostalAddress /CountryCountry from which the items on the purchase order are shipped.Target field: u\_ship\_from\_country Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailRequestHeader /InvoicePartner/Contact\[@role="billTo"\] \[@addressID\]Name of the legal entity of the supplier. Located in the Legal Entity \[sn\_fin\_legal\_entity\] table.Target field: u\_legal\_entity Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
Contact\[@role="shipTo"\]/NameName of the contact to which the items on the purchase order should be shipped.Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
Contact\[@role="shipTo"\]/PostalAddress /StreetStreet to which the items on the purchase order are shipped.Target field: u\_ship\_to\_street Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
Contact\[@role="shipTo"\]/PostalAddress /CityCity to which the items on the purchase order are shipped.Target field: u\_ship\_to\_city Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
Contact\[@role="shipTo"\]/PostalAddress /StateState or province to which the items on the purchase order are shipped.Target field: u\_ship\_to\_state\_or\_province
Contact\[@role="shipTo"\]/PostalAddress /PostalCodeZip code to which the items on the purchase order are shipped.Target field: u\_ship\_to\_zip\_or\_postal\_code Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
Contact\[@role="shipTo"\]/PostalAddress /CountryCountry to which the items on the purchase order are shipped.Target field: u\_ship\_from\_country Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest /InvoiceDetailRequestHeader/PaymentTermThe agreed upon time and conditions under which a payment to a supplier is made. For example, `Net 30`.Target field: u\_payment\_terms Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem\[@description\]/Description of the invoice line.Target field: u\_line\_description
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem\[@quantity\]/Quantity of goods or services that a customer is being invoiced for.Target field: u\_line\_quantity
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/Distribution/Accounting /AccountingSegment\[1\]/NameAccount number of the cost center for which the invoice is generated. Listed in the Cost Center \[cmn\_cost\_center\] table.Target field: u\_cost\_center
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/Distribution/Accounting /AccountingSegment\[2\]/NameAccount number of the general ledger \(GL\) used to generate the invoice.Target field: u\_gl\_account See also: - ERP source - Ledger account
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/SubtotalAmount/MoneyTotal amount of money to be paid to the supplier excluding tax and shipping charges.Target field: u\_subtotal Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/NetAmount/MoneyTotal cost, excluding taxes and shipping, that a customer is being invoiced for a given purchase order line.Target field: u\_line\_amount\_invoiced Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailOrderInfo/OrderReferencePurchase order number that is provided by the customer for this order. Listed in the Purchase Order \[sn\_shop\_purchase\_order\] table.Target field: u\_purchase\_order Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/UnitPrice/UnitOfMeasureBase unit of measure \(UOM\) used to count the item in the invoice.Target field: u\_uom Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/UnitPrice/MoneyUnit price of the line item in the invoice.Target field: u\_line\_unit\_price Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/UnitPrice/Money\[@currency\]Currency for the line item. For example, `USD`.Target field: u\_currency Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem /InvoiceDetailItemReference\[@lineNumber\]Purchase order line ID for the referenced supplier. Listed in the Purchase Order Line \[sn\_shop\_purchase\_order\_line\] table.Target field: u\_purchase\_order\_line Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/InvoiceDetailItemReference /ItemID/SupplierPartIDPart number that is generated by a supplier for this invoice line.Target field: u\_supplier\_part\_number Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/InvoiceDetailItemReference /DescriptionDescription of the purchase order line for the invoice.Target field: u\_po\_line\_description Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/Tax/MoneyTotal amount of taxes that are billed for the purchase.Target field: u\_tax\_amount Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
cXML/Request/InvoiceDetailRequest/InvoiceDetailOrder /InvoiceDetailItem/Tax/DescriptionUnique tax code generated from the ERP source.Target field: u\_tax\_code Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/cXML/Request/InvoiceDetailRequest/ InvoiceDetailSummary /SubtotalAmount/MoneyTotal amount of money to be paid to the supplier excluding tax and shipping charges.Target field: u\_subtotal Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /Tax/MoneyTotal amount of taxes that are billed for the purchase.Target field: u\_tax\_amount Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /Tax/TaxDetail\[@category\]Type of tax applicable on the invoice. Listed in the Tax Type \[sn\_fin\_tax\_type\] table.Target field: u\_tax\_type Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /Tax/TaxDetail\[@percentageRate\]The tax rate charged by the supplier.Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\] Target field: u\_supplier\_tax\_rate Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /SpecialHandlingAmount/MoneyOther additional charges associated with the invoice. This is an editable field.Target field: u\_other\_charges Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /ShippingAmount/MoneyTotal shipping cost for the entire purchase.Target field: u\_shipping\_amount Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /GrossAmount/MoneyRequired. Currency for subtotal, tax, and shipping. The subtotal, tax, and shipping should be in the same currency.Target field: u\_currency Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /InvoiceDetailDiscount/MoneyDiscounts that are applied toward the invoice.Target field: u\_discounts Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/cXML/Request/InvoiceDetailRequest/InvoiceDetailSummary /NetAmount/MoneyTotal amount of money to be paid to the supplier including tax and shipping charges.Target field: u\_amount\_invoiced Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
Content-TypeData format of the request body. Only supports application/xml.
Source-SystemSpecifies the source system from which the request is coming from.Available systems are listed in the Source systems credentials \[sn\_spend\_intg\_source\_system\_credential\] table. This setting helps to determine if the request provided follows the structure in the Invoice integration field mapping \[sn\_spend\_intg\_invoice\_intg\_field\_mapping\] table. This setting is also used to fetch credentials from the Source system credentials \[sn\_spend\_intg\_source\_system\_credential\] table.
HeaderDescription
None 

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
202Request Accepted. The request is successful and invoice processing is in progress.
400Bad Request. A bad request type or malformed request was detected.
429Too Many Requests. The request rate has exceeded the maximum of 10 requests per hour.

Response body parameters

NameDescription
batch\_idUnique identifier for the batch request. This ID can be used to track the status of the request. This record is stored in the Invoice integration log \[sn\_spend\_intg\_invoice\_integration\_log\] table.Data type: String
errorContains error message and details when the request fails.
{
  "detail": String,
  "message": String
}
Data type: Object
error.detailAdditional details about the request error.Possible results: - Failed API level ACL Validation - User does not have read/write access to the resource. - Rate limit of 13 requests per hour for AP Invoice exceeded – The number of records in the batch is more than the batch size set. - Required to provide Auth information - Either the password is wrong or user name is wrong. Data type: String
error.message

Error message containing the reason the request failedPossible errors:

  • Invalid payload - Invalid content type.
  • Invalid payload - Error: Invalid payload structure.
  • Invalid payload - Error: Payload exceeds allowed invoices limit in a batch. The number of records in the batch is more than the batch size set. The maximum default payload size is 100 records. This value is configurable in the sn_spend_intg.ap.invoice.create.api.record_limit system property.
  • Invalid payload - Error: Empty invoices. No data to process. The number of records in the batch is zero.
  • Rate limit of 500 requests per hour for APO Invoice Ingestion exceeded.
  • User Not Authenticated. Either the password is wrong or user name is wrong.
  • Failed API level ACL Validation - User does not have read/write access to the resource.

Data type: String

messageSuccess message, for example, `Your request has been successfully received and is being processed`.You can view the status of the request in the Invoice integration log \[sn\_spend\_intg\_invoice\_integration\_log\] table. Data type: String
statusIndicates the result of the request.Possible values: - Success - Fail Data type: String

cURL request

The following example shows how to process an invoice provided as a request in cXML format.

curl -X POST https://instance.servicenow.com/api/sn_spend_intg/v1/ap_invoice/cxml \
-H "Source-System: Ariba" \
-H "Content-Type: application/json" \
-d '{
    "content": "------=_Part_1367_1859161670.1709186492411\r\nContent-Type: text/xml; charset=UTF-8\r\n
Content-ID: 1709186492411.10815535@produs-c4-an-s2-z3-1.us2.gcpint.ariba.com\r\n<?xml version=\"1.0\" 
encoding=\"UTF-8\"?>\r\n<!DOCTYPE cXML SYSTEM \"https://protect-us.mimecast.com/s/fgKrCERVqQU35PNzBuw39pz?domain=xml.cxml.org\">
\r\n<cXML timestamp=\"2024-02-28T22:01:32-08:00\" payloadID=\"1709186492411-3401013259654180284@10.209.37.74\">
\r\n    <Response>\r\n        <Status code=\"200\" text=\"OK\" />\r\n        <DataResponse>\r\n            <Attachment>
\r\n                <URL>186492411.10815535@produs-c4-an-s2-z3-1.us2.gcpint.ariba.com.110</URL>\r\n            </Attachment>
\r\n            <Attachment>\r\n                <URL>1709186492403.306612238@produs-c4-an-s2-z3-1.us2.gcpint.ariba.com.108</URL>
\r\n            </Attachment>\r\n        </DataResponse>\r\n    </Response>\r\n</cXML>\r\n------=_Part_1367_1859161670.1709186492411
\r\nContent-Type: text/xml; charset=UTF-8\r\nContent-ID: 1709186492403.306612238@produs-c4-an-s2-z3-1.us2.gcpint.ariba.com.108
\r\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n
<!DOCTYPE cXML SYSTEM \"https://protect-us.mimecast.com/s/7QpfCG6VRKf15gQPwFpUTKe?domain=xml.cxml.org\">\r\n
<cXML payloadID=\"1705930173863-1790846563502652473@10.209.37.98\" timestamp=\"2024-01-22T05:29:33-08:00\" version=\"1.2.060\">\r\n
    <Header>\r\n        <From>\r\n            <Credential domain=\"NetworkID\">\r\n                <Identity>AN01532216648-T</Identity>\r\n
            </Credential>\r\n            <Credential domain=\"VendorID\">\r\n                <Identity>3245545</Identity>\r\n
            </Credential>\r\n            <Credential domain=\"PrivateID\">\r\n                <Identity>0000099123</Identity>\r\n
            </Credential>\r\n        </From>\r\n        <To>\r\n            <Credential domain=\"NetworkID\">\r\n
                <Identity>AN01404744424-T</Identity>\r\n            </Credential>\r\n            <Credential domain=\"SystemID\">\r\n
                <Identity>ERP1</Identity>\r\n            </Credential>\r\n            <Credential domain=\"EndPointID\">\r\n
                <Identity>CIG</Identity>\r\n            </Credential>\r\n        </To>\r\n        <Sender>\r\n
            <Credential domain=\"NetworkID\">\r\n                <Identity>AN01000000001</Identity>\r\n
                <SharedSecret>Ariba@123</SharedSecret>\r\n            </Credential>\r\n            <UserAgent>Supplier</UserAgent>\r\n
        </Sender>\r\n    </Header>\r\n    <Request deploymentMode=\"test\">\r\n        <InvoiceDetailRequest>\r\n
            <InvoiceDetailRequestHeader invoiceDate=\"2024-01-22\" invoiceID=\"\" invoiceOrigin=\"supplier\" operation=\"new\ purpose=\"PO Invoice\">\r\n
                <InvoiceDetailHeaderIndicator></InvoiceDetailHeaderIndicator>\r\n
                <InvoiceDetailLineIndicator></InvoiceDetailLineIndicator>\r\n                <InvoicePartner>\r\n
                    <Contact addressID=\"Test123\" role=\"remitTo\">\r\n
                        <Name xml:lang=\"en-US\">Oil and Natural Gas Corporation Limited</Name>\r\n
                        <PostalAddress>\r\n                            <Street>Xyz street</Street>\r\n                            <City>USA</City>\r\n
                            <State isoStateCode=\"US-NY\">NY</State>\r\n                            <PostalCode>10001</PostalCode>\r\n
                            <Country isoCountryCode=\"US\">United States</Country>\r\n                        </PostalAddress>\r\n
                    </Contact>\r\n                </InvoicePartner>\r\n                <InvoicePartner>\r\n
                    <Contact addressID=\"9009\" role=\"billTo\">\r\n                        <Name xml:lang=\"EN\">Bristlecone Inc</Name>\r\n
                        <PostalAddress>\r\n                            <Street>10 Boulvard-10</Street>\r\n
                            <City>San Jose</City>\r\n                            <State>CA</State>\r\n
                            <PostalCode>94077</PostalCode>\r\n                            <Country isoCountryCode=\"US\"></Country>\r\n
                        </PostalAddress>\r\n                        <Phone>\r\n                            <TelephoneNumber>\r\n
                                <CountryCode isoCountryCode=\"US\">1</CountryCode>\r\n                                <Number>7687687799</Number>\r\n
                            </TelephoneNumber>\r\n                        </Phone>\r\n                        <Fax>\r\n
                            <TelephoneNumber>\r\n                                <CountryCode isoCountryCode=\"US\">1</CountryCode>\r\n
                                <Number>768-FAX-NUMBER</Number>\r\n                            </TelephoneNumber>\r\n                        </Fax>\r\n
                    </Contact>\r\n                </InvoicePartner>\r\n                <InvoicePartner>\r\n                    <Contact role=\"from\">\r\n
                        <Name xml:lang=\"en-US\">Oil and Natural Gas Corporation Limited</Name>\r\n                        <PostalAddress>\r\n
                            <Street>123 , street no 5</Street>\r\n                            <City>Dallas</City>\r\n
                            <State isoStateCode=\"US-AL\">AL</State>\r\n                            <PostalCode>36615</PostalCode>\r\n
                            <Country isoCountryCode=\"US\">United States</Country>\r\n                        </PostalAddress>\r\n
                    </Contact>\r\n                </InvoicePartner>\r\n                <InvoiceDetailShipping>\r\n
                    <Contact role=\"shipFrom\">\r\n                        <Name xml:lang=\"en-US\">Oil and Natural Gas Corporation Limited</Name>\r\n
                        <PostalAddress>\r\n                            <Street>Deendayal Urja Bhawan</Street>\r\n
                            <City>New Delhi</City>\r\n                            <State isoStateCode=\"IN-MH\">Maharashtra</State>\r\n
                            <PostalCode>110070</PostalCode>\r\n                            <Country isoCountryCode=\"IN\">India</Country>\r\n
                        </PostalAddress>\r\n                    </Contact>\r\n                    <Contact addressID=\"9999\" role=\"shipTo\">\r\n
                        <Name xml:lang=\"EN\">Buyer Plant Bristlecone</Name>\r\n                        <PostalAddress name=\"default\">\r\n
                            <Street>18 Hanoi Road</Street>\r\n                            <City>San Jose</City>\r\n
                            <State>CA</State>\r\n                            <PostalCode>77077</PostalCode>\r\n
                            <Country isoCountryCode=\"US\"></Country>\r\n                        </PostalAddress>\r\n
                        <Email name=\"default\" preferredLang=\"en\">test@test.com</Email>\r\n                    </Contact>\r\n
                </InvoiceDetailShipping>\r\n            </InvoiceDetailRequestHeader>\r\n            <InvoiceDetailOrder>\r\n
                <InvoiceDetailOrderInfo>\r\n                    <OrderReference orderID=\"\">\r\n
                        <DocumentReference payloadID=\"0AAF8EA1FA5F1EDE9FDC97460BCB03E1\"></DocumentReference>\r\n
                    </OrderReference>\r\n                </InvoiceDetailOrderInfo>\r\n
                <InvoiceDetailItem invoiceLineNumber=\"2\" quantity=\"25\" description=\"Indian Oil\">\r\n
                    <UnitOfMeasure>EA</UnitOfMeasure>\r\n                    <UnitPrice>\r\n                        <Money currency=\"USD\">50</Money>\r\n
                    </UnitPrice>\r\n                    <SubtotalAmount>\r\n                        <Money currency=\"USD\">1250.00</Money>\r\n
                    </SubtotalAmount>\r\n                </InvoiceDetailItem>\r\n            </InvoiceDetailOrder>\r\n        </InvoiceDetailRequest>\r\n
    </Request>\r\n</cXML>\r\n------=_Part_1367_1859161670.1709186492411--"
}'

The following result shows that the request is successful and the invoice data is processing. You can view the status of the request in the Invoice integration log [sn_spend_intg_invoice_integration_log] table. Use the batch ID listed in the Batch ID column to find the invoice.

{
    "batchId": "APIINV1729711710733280",
    "status": "Success",
    "message": "Your request has been successfully received and is being processed."
}

AP Invoice – POST /sn_spend_intg/ap_invoice/json

Processes an automated invoice in JSON format.

Role required: sn_spend_intg.procurement_integrator

Use the Invoice integration field mappings [sn_spend_intg_invoice_intg_field_mapping] table to determine how the fields are mapped to JSON properties.

You can define custom invoice fields for the request body. Use the following flow to add custom fields, map them to target tables, and format them for availability in the payload:

  1. Add custom fields for invoice import
  2. Map custom fields between source and target tables
  3. Map custom fields to a payload source format

URL format

Versioned URL: /api/sn_spend_intg/v1/ap_invoice/json

Default URL: /api/sn_spend_intg/ap_invoice/json

Supported request parameters

NameDescription
api\_versionOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String
NameDescription
None 
NameDescription
invoicesList containing each invoice to be processed.Data type: Object of nested invoice objects.
"invoices": {
  {
    "amount_invoiced": "String",
    "bill_to_city": "String",
    "bill_to_country": "String",
    "bill_to_state_or_province": "String",
    "bill_to_street": "String",
    "bill_to_zip_or_postal_code": "String",
    "business_owner": "String",
    "currency": "String",
    "discounts": "String",
    "erp_number": "String",
    "external_invoice_number": "String",
    "invoice_copy_attachment": [Array],
    "invoice_date": "String",
    "invoice_line_count": "String",
    "invoice_lines": [Array],
    "invoice_type": "String",
    "legal_entity": "String",
    "original_invoice": "String",
    "other_charges": "String",
    "payment_terms": "String",
    "purchase_order": "String",
    "remit_address": "String",
    "remit_to_city": "String",
    "remit_to_country": "String",
    "remit_to_state_or_province": "String",
    "remit_to_zip_or_postal_code": "String",
    "ship_from_city": "String",
    "ship_from_country": "String",
    "ship_from_state_or_province": "String",
    "ship_from_street": "String",
    "ship_from_zip_or_postal_code": "String",
    "ship_to_city": "String",
    "ship_to_country": "String",
    "ship_to_state_or_province": "String",
    "ship_to_street": "String",
    "ship_to_zip_or_postal_code": "String",
    "shipping_amount": "String",
    "subtotal": "String",
    "supplier": "String",
    "supplier_invoice_number": "String",
    "supplier_tax_id": "String",
    "supporting_attachments": [Array]
  }
}
invoices.amount\_invoicedTotal amount of money to be paid to the supplier including tax and shipping charges.Target field: u\_amount\_invoiced Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
bill\_to\_cityThe city to which the invoice is sent.Target field: u\_bill\_to\_city Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
bill\_to\_countryThe country to which the invoice is sent in ISO 3166 format. For example, `US`.Target field: u\_bill\_to\_country Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
bill\_to\_state\_or\_provinceThe state or province to which the invoice is sent.Target field: u\_bill\_to\_state\_or\_province Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
bill\_to\_streetThe street address to which the invoice is sent.Target field: u\_bill\_to\_street Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
bill\_to\_zip\_or\_postal\_codeThe zip or postal code to which the invoice is sent.Target field: u\_bill\_to\_zip\_or\_postal\_code
invoices.business\_ownerName of the owner who owns the application from the business side.Target field: u\_business\_owner Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices.currencyRequired. Currency for subtotal, tax, and shipping. The subtotal, tax, and shipping should be in the same currency.Target field: u\_currency Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices.discountsDiscounts that are applied toward the invoice.Target field: u\_discounts Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.erp\_numberUnique number generated within the ERP \(Enterprise Resource Planning\) system for the purchase order. For information, see Purchase order integration.Target field: u\_erp\_number Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices. external\_invoice\_numberRequired. Invoice number generated from a third-party application.Target field: u\_external\_invoice\_number Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices. invoice\_copy\_attachmentList of attachments defined at the invoice level. See Accounts Payable Invoice Processing.Once created, the system will generate the invoice record along with the associated invoice case and invoice lines. Attachments will be linked to their respective records accordingly. Data type: Array of Objects
"invoice_copy_attachment": [
  {
    "content": "String",
    "encoding": "String",
    "mime_code": "String",
    "name": "String"
  }
]
invoices.invoice\_copy\_attachment. contentBase64-encoded file content of the attachment.Data type: String
invoices.invoice\_copy\_attachment. encodingThis value is always `base64`.Data type: String
invoices.invoice\_copy\_attachment. mime\_codeThis value is always `base64`.Data type: String
invoices.invoice\_copy\_attachment. name

File name of the attachment.Note: Do not use the reserved "SD_" prefix for an attachment file name.

Data type: String

invoices.invoice\_dateRequired. Date on which the customer was invoiced.Target field: u\_invoice\_date Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40 Format: YYYY-MM-DD
invoices.invoice\_line\_countNumber of lines in the invoice.Target field: u\_invoice\_line\_count Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices.invoice\_linesList of objects that define the lines that are being invoiced for purchases within this order. Invoice lines are staged in the Invoice line import inbound \[sn\_spend\_intg\_imp\_invoice\_line\] table.Data type: Array of Objects
"invoice_lines": [
  {
    "attachments": [Array],
    "cost_center": "String",
    "currency": "String",
    "external_invoice_number": "String",
    "gl_account": "String",
    "line_amount_invoiced": "String",
    "line_description": "String",
    "line_quantity": "String",
    "line_unit_price": "String",
    "po_line_description": "String",
    "purchase_order_line": "String",
    "ship_to_city": "String",
    "ship_to_country": "String",
    "ship_to_state_or_province": "String",
    "ship_to_street": "String",
    "ship_to_zip_or_postal_code": "String",
    "subtotal": "String",
    "supplier_part_number": "String",
    "tax_code": "String",
    "tax_details": [Array],
    "uom": "String"
  }
]
invoices.invoice\_lines. attachmentsList of attachments defined at the invoice line level. See Create New Invoice Line form.Once created, the system will generate the invoice record along with the associated invoice case and invoice lines. Attachments will be linked to their respective records accordingly. Data type: Array of Objects
"attachments": [
  {
    "content": "String",
    "encoding": "String",
    "mime_code": "String",
    "name": "String"
  }
]
invoices.invoice\_lines. attachments.contentBase64-encoded file content of the attachment.Data type: String
invoices.invoice\_lines. attachments.encodingThis value is always `base64`.Data type: String
invoices.invoice\_lines. attachments.mime\_codeThis value is always `base64`.Data type: String
invoices.invoice\_lines. attachments.name

File name of the attachment.Note: Do not use the reserved "SD_" prefix for an attachment file name.

Data type: String

invoices.invoice\_lines. cost\_centerAccount number of the cost center for which the invoice is generated. Listed in the Cost Center \[cmn\_cost\_center\] table.Target field: u\_cost\_center Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. currencyCurrency for the line item. For example, `USD`.Target field: u\_currency Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. external\_invoice\_numberRequired. Invoice number generated from a third-party application.Target field: u\_external\_invoice\_number Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices.invoice\_lines. gl\_accountAccount number of the general ledger \(GL\) used to generate the invoice.Target field: u\_gl\_account Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40 See also: - ERP source - Ledger account
invoices.invoice\_lines. line\_amount\_invoicedRequired. Total cost, excluding taxes and shipping, that a customer is being invoiced for a given purchase order line.Target field: u\_line\_amount\_invoiced Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. line\_descriptionRequired. Description of the invoice line.Target field: u\_line\_description Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. line\_quantityRequired. Quantity of goods or services that a customer is being invoiced for.Target field: u\_line\_quantity Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. line\_unit\_priceUnit price of the line item in the invoice.Target field: u\_line\_unit\_price Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. po\_line\_descriptionDescription of the purchase order line for the invoice.Target field: u\_po\_line\_description Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines. purchase\_order\_lineRequired. Purchase order line ID for the referenced supplier. Listed in the Purchase Order Line \[sn\_shop\_purchase\_order\_line\] table.Target field: u\_purchase\_order\_line Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. ship\_to\_cityCity to which the items on the purchase order are shipped.Target field: u\_ship\_to\_city Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines. ship\_to\_countryCountry to which the items on the purchase order are shipped.Target field: u\_ship\_to\_country Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines. ship\_to\_state\_or\_provinceState or province to which the items on the purchase order are shipped.Target field: u\_ship\_to\_state\_or\_province Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines. ship\_to\_streetStreet to which the items on the purchase order are shipped.Target field: u\_ship\_to\_street Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines. ship\_to\_zip\_or\_postal\_codeZip code to which the items on the purchase order are shipped.Target field: u\_ship\_to\_zip\_or\_postal\_code Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines. subtotalRequired. Total amount of money to be paid to the supplier excluding tax and shipping charges.Target field: u\_subtotal Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.invoice\_lines. supplier\_part\_numberRequired. Part number that is generated by a supplier for this invoice line.Target field: u\_supplier\_part\_number Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.invoice\_lines. tax\_codeUnique tax code generated from the ERP source.Target field: u\_tax\_code Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.invoice\_lines. tax\_detailsList of tax lines for purchases associated with the invoice line.Data type: Array of Objects
"tax_details": [
  {
    "tax_amount": "String",
    "tax_rate": "String",
    "tax_type": "String"
  }
]
invoices.invoice\_lines. tax\_details.tax\_amountRequired. Total amount of taxes that are billed for the purchase.Target field: u\_tax\_amount Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\] Data type: String Maximum length: 40
invoices.invoice\_lines. tax\_details.tax\_rateThe tax rate charged by the supplier.Target field: u\_supplier\_tax\_rate Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines. tax\_details.tax\_typeType of tax applicable on the invoice. Listed in the Tax Type \[sn\_fin\_tax\_type\] table.Target field: u\_tax\_type Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\] Data type: String Maximum length: 100
invoices.invoice\_lines.uomBase unit of measure \(UOM\) used to count the item in the invoice.Target field: u\_uom Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.invoice\_typeType of invoice for processing.Target field: u\_invoice\_type Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.legal\_entityName of the legal entity of the supplier. Located in the Legal Entity \[sn\_fin\_legal\_entity\] table.Target field: u\_legal\_entity Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.original\_invoiceUnique invoice number created by the supplier.Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Target field: u\_original\_invoice Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.other\_chargesOther additional charges associated with the invoice. This is an editable field.Target field: u\_other\_charges Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.payment\_termsThe agreed upon time and conditions under which a payment to a supplier is made. For example, `Net 30`.Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.purchase\_orderRequired. Purchase order number that is provided by the customer for this order. Listed in the Purchase Order \[sn\_shop\_purchase\_order\] table.Target field: u\_purchase\_order Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices.remit\_addressRequired. The street address to which the payment is made.Target field: u\_remit\_address Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.remit\_to\_cityRequired. The city to which the payment is made.Target field: u\_remit\_to\_city Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.remit\_to\_countryRequired. The country to which the payment is made in ISO 3166 format. For example, `US`.Target field: u\_remit\_to\_country Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices. remit\_to\_state\_or\_provinceRequired. The state or province to which the payment is made.Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices. remit\_to\_zip\_or\_postal\_codeRequired. The zip or postal code to which the payment is made.Target field: u\_remit\_to\_state\_or\_province Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.ship\_from\_cityCity from which the items on the purchase order are shipped.Target field: u\_ship\_from\_city Data type: String Maximum length: 100
invoices.ship\_from\_countryCountry from which the items on the purchase order are shipped.Target field: u\_ship\_from\_country Data type: String Maximum length: 100
invoices. ship\_from\_state\_or\_provinceState from which the items on the purchase order are shipped.Target field: u\_ship\_from\_state\_or\_province Data type: String Maximum length: 100
invoices.ship\_from\_streetStreet from which the items on the purchase order are shipped.Target field: u\_ship\_from\_street Data type: String Maximum length: 100
invoices. ship\_from\_zip\_or\_postal\_codeZip code from which the items on the purchase order are shipped.Target field: u\_ship\_from\_zip\_or\_postal\_code Data type: String Maximum length: 100
invoices.ship\_to\_cityCity to which the items on the purchase order are shipped.Target field: u\_ship\_to\_city Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.ship\_to\_countryCountry to which the items on the purchase order are shipped.Target field: u\_ship\_to\_country Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices. ship\_to\_state\_or\_provinceState to which the items on the purchase order are shipped.Target field: u\_ship\_to\_state\_or\_province Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.ship\_to\_streetStreet to which the items on the purchase order are shipped.Target field: u\_ship\_to\_street Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices. ship\_to\_zip\_or\_postal\_codeZip code to which the items on the purchase order are shipped.Target field: u\_ship\_to\_zip\_or\_postal\_code Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.shipping\_amountRequired. Total shipping cost for the entire purchase.Target field: u\_shipping\_amount Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices.subtotalRequired. Total amount of money to be paid to the supplier excluding tax and shipping charges.Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 40
invoices.supplierRequired. Identifier for the reseller or supplier that the customer can place orders with.Target field: u\_supplier Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices. supplier\_invoice\_numberRequired. Identification number that is generated by a supplier for this invoice.Target field: u\_supplier\_invoice\_number Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.supplier\_tax\_idTax identifier that is associated with the third party reseller. This is an editable field.Target field: u\_supplier\_tax\_id Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\] Data type: String Maximum length: 100
invoices.target\_erpERP record in which the invoice is posted. Located in the ERP Source \[sn\_fin\_erp\_source\] table. See ERP source.Data type: String
invoices. supporting\_attachmentsList of attachments defined at the invoice processing case level for cases assigned to Accounts Payable Specialists. See Invoice processing case form.Once created, the system will generate the invoice record along with the associated invoice case and invoice lines. Attachments will be linked to their respective records accordingly. Data type: Array of Objects
"supporting_attachments": [
  {
    "content": "String",
    "encoding": "String",
    "mime_code": "String",
    "name": "String"
  }
]
invoices. supporting\_attachments.contentBase64-encoded file content of the attachment.Data type: String
invoices. supporting\_attachments.encodingThis value is always `base64`.Data type: String
invoices. supporting\_attachments.mime\_codeThis value is always `base64`.Data type: String
invoices. supporting\_attachments.name

File name of the attachment.Note: Do not use the reserved "SD_" prefix for an attachment file name.

Data type: String

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
Content-TypeData format of the request body. Only supports application/json.
Source-SystemSpecifies the source system from which the request is coming from.This setting helps to determine if the request provided follows the structure in the Invoice integration field mapping \[sn\_spend\_intg\_invoice\_intg\_field\_mapping\] table.
HeaderDescription
None 

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
202Request Accepted. The request is successful and invoice processing is in progress.
400Bad Request. A bad request type or malformed request was detected.
429Too Many Requests. The request rate has exceeded the maximum of 10 requests per hour.

Response body parameters

NameDescription
batch\_idUnique identifier for the batch request. This ID can be used to track the status of the request. This record is stored in the Invoice integration log \[sn\_spend\_intg\_invoice\_integration\_log\] table.Data type: String
errorContains error message and details when the request fails.
{
  "detail": String,
  "message": String
}
Data type: Object
error.detailAdditional details about the request error.Possible results: - Failed API level ACL Validation - User does not have read/write access to the resource. - Rate limit of 13 requests per hour for AP Invoice exceeded – The number of records in the batch is more than the batch size set. - Required to provide Auth information - Either the password is wrong or user name is wrong. Data type: String
error.message

Error message containing the reason the request failedPossible errors:

  • Invalid payload - Invalid content type.
  • Invalid payload - Error: Invalid payload structure.
  • Invalid payload - Error: Payload exceeds allowed invoices limit in a batch. The number of records in the batch is more than the batch size set. The maximum default payload size is 100 records. This value is configurable in the sn_spend_intg.ap.invoice.create.api.record_limit system property.
  • Invalid payload - Error: Empty invoices. No data to process. The number of records in the batch is zero.
  • Rate limit of 500 requests per hour for APO Invoice Ingestion exceeded.
  • User Not Authenticated. Either the password is wrong or user name is wrong.
  • Failed API level ACL Validation - User does not have read/write access to the resource.

Data type: String

messageSuccess message, for example, `Your request has been successfully received and is being processed`.You can view the status of the request in the Invoice integration log \[sn\_spend\_intg\_invoice\_integration\_log\] table. Data type: String
statusIndicates the result of the request.Possible values: - Success - Fail Data type: String

cURL request

The following example shows how to process an invoice provided as a request in JSON format. Base64 encoding varies in size and can be very large. The content value has been truncated to conserve space. The information reflects proper payload structure.

curl "https://instance.servicenow.com/api/sn_spend_intg/v1/ap_invoice/json" \
--request \
 POST \
--header \
 "Source-System: Coupa" \
--header \
 "Content-Type: application/json" \
--user 'username' \
:'password' \
--data \
 '{
  "invoices": [
    {
      "invoice_type": "",
      "supplier_invoice_number": "2InvoiceAttach_A1",
      "external_invoice_number": "EXT-INV-erp-po-1_Attach1",
      "supplier": "",
      "business_owner": "lara.croft@example.com",
      "purchase_order": "",
      "date_format": "DD MMMM, YYYY",
      "invoice_date": "2nd June, 2021",
      "payment_terms": "Net 30",
      "legal_entity": "AUS",
      "subtotal": "(100.00)",
      "shipping_amount": "30.00",
      "other_charges": "20.00",
      "discounts": "00.00",
      "amount_invoiced": "200.00",
      "currency": "USD",
      "invoice_line_count": "10",
      "ship_to_city": "New York",
      "ship_to_country": "USA",
      "ship_to_state_or_province": "NY",
      "ship_to_street": "123 Main St",
      "ship_to_zip_or_postal_code": "10001",
      "ship_from_city": "Los Angeles",
      "ship_from_country": "USA",
      "ship_from_state_or_province": "CA",
      "ship_from_street": "456 Oak Ave",
      "ship_from_zip_or_postal_code": "90001",
      "remit_address": "789 Elm St, Suite 200",
      "remit_to_city": "Chicago",
      "remit_to_country": "USA",
      "remit_to_state_or_province": "IL",
      "remit_to_zip_or_postal_code": "60601",
      "supplier_tax_id": "123456789",
      "invoice_copy_attachment": [
        {
          "file_name": "InvoiceTestInv_Json_A1.pdf",
          "mime_code": "application/pdf",
          "encoding": "base64",
          "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmV/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "InvoiceTestINVIMG_Json_A1.jpg",
          "mime_code": "image/jpeg",
          "encoding": "base64",
          "content": "iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1B/Base64EncodingIntentionallyTruncated"
        }
      ],
      "tax_details": [
        {
          "tax_type": "CGST",
          "tax_amount": "10",
          "tax_rate": ""
        },
        {
          "tax_type": "Withholding tax",
          "tax_amount": "",
          "tax_rate": "25"
        },
        {
          "tax_type": "Sales tax",
          "tax_amount": "12",
          "tax_rate": "12"
        }
      ],
      "invoice_lines": [
        {
          "external_invoice_number": "EXT-INV-erp-po-1",
          "line_description": "2INV_Line_Attach_A1",
          "po_line_description": "",
          "purchase_order_line": "",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "200.00",
          "line_amount_invoiced": "118.00",
          "currency": "USD",
          "cost_center": "ACN00001",
          "gl_account": "100001",
          "tax_code": "A1 - Sales tax, reduced rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "attachments": [
            {
              "file_name": "InvoiceTestLine.pdf",
              "mime_code": "application/pdf",
              "encoding": "base64",
              "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQc/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "InvoiceTest1Line.jpg",
              "mime_code": "image/jpeg",
              "encoding": "base64",
              "content": "iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1BJQ0MgUHJvZmW2GWCy8SpAszALlJ/Mv6HK54/f/3/XFv4ysU57JMAAAAASUVORK5CYII="
            }
          ]
        },
        {
          "external_invoice_number": "EXT-INV-erp-po-3",
          "line_description": "Testing",
          "po_line_description": "",
          "purchase_order_line": "",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "200.00",
          "line_amount_invoiced": "118.00",
          "currency": "USD",
          "cost_center": "ACN00005",
          "gl_account": "100002",
          "tax_code": "A1 - Sales tax, reduced rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours"
        }
      ]
    },
    {
      "invoice_type": "",
      "supplier_invoice_number": "10MultiInvoiceAttach_A2",
      "external_invoice_number": "EXT-INV-noerp-PO_Attach_A2",
      "purchase_order": "0004531004",
      "supplier": "880733",
      "date_format": "DD-MM-YYYY",
      "invoice_date": "02-05-2021",
      "payment_terms": "NET 30",
      "legal_entity": "XYZ Ltd.",
      "subtotal": "100",
      "shipping_amount": "30.00",
      "other_charges": "20.00",
      "discounts": "10.00",
      "amount_invoiced": "140.00",
      "currency": "USD",
      "invoice_line_count": "1",
      "ship_to_city": "New York",
      "ship_to_country": "USA",
      "ship_to_state_or_province": "NY",
      "ship_to_street": "123 Main St",
      "ship_to_zip_or_postal_code": "10001",
      "ship_from_city": "Los Angeles",
      "ship_from_country": "USA",
      "ship_from_state_or_province": "CA",
      "ship_from_street": "456 Oak Ave",
      "ship_from_zip_or_postal_code": "90001",
      "remit_address": "789 Elm St, Suite 200",
      "remit_to_city": "Chicago",
      "remit_to_country": "USA",
      "remit_to_state_or_province": "IL",
      "remit_to_zip_or_postal_code": "60601",
      "supplier_tax_id": "12340009",
      "supporting_attachments": [
        {
          "file_name": "10InvcCaseTstInv_Json_A2.pdf",
          "mime_code": "application/pdf",
          "encoding": "base64",
          "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZW50YXRpb24gOTY3MTUxMzkw/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTstPNGInv_Json_A2.png",
          "mime_code": "image/png",
          "encoding": "base64",
          "content": "iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1BJQ0MgUHJvZmlsZQAASImVVwdY/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTstInv2_Json_A2.pdf",
          "mime_code": "application/pdf",
          "encoding": "base64",
          "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZW50YXRpb24gOTY3MTQzNjgzKQovQXV0aG9yIChQYWdlcm8gQUIpCi9Td/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTstXMLINV_Json_A2.xml",
          "mime_code": "text/xml",
          "encoding": "base64",
          "content": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9I/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTtExcelINV_Json_A2.xlsx",
          "mime_code": "application/vnd.ms-excel",
          "encoding": "base64",
          "content": "UEsDBBQABgAIAAAAIQCpD2g4fwEAAAIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAA/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTstCSVINV_Json_A2.csv",
          "mime_code": "text/csv",
          "encoding": "base64",
          "content": "Im51bWJlciIsInN1cHBsaWVyX2ludm9pY2VfbnVtYmVyIiwic3VwcGxpZXIiLCJzdGF0ZSIsInR5cGUiLCJkd/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTstJsonINV_Json_A2.json",
          "mime_code": "application/json",
          "encoding": "base64",
          "content": "eyJyZWNvcmRzIjpbeyJyZXF1aXJlc19hY2tub3dsZWRnZW1lbnQiOiJmYWxzZSIsInRheF9hbW91buYm91bmRfc291cmNlIjoiIn1dfQ==/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTstdocINV_Json_A2.docx",
          "mime_code": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
          "encoding": "base64",
          "content": "UEsDBBQABgAIAAAAIQDnIQddcAEAANcFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAA/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceCasePPT_Json_A2.pptx",
          "mime_code": "application/vnd.ms-powerpoint",
          "encoding": "base64",
          "content": "UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiB="
        },
        {
          "file_name": "10InvoiceCaseRichText_Json_A2.rtf",
          "mime_code": "application/rtf",
          "encoding": "base64",
          "content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2NvYXRleHRzY2FsaW5nMFxjb2NvYXBsYXRmb3JtM/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvcCaseTst_INVJPG_Json_A2.jpg",
          "mime_code": "image/jpeg",
          "encoding": "base64",
          "content": "/9j/4AAQSkZJRgABAQEA8ADwAAD/2wCEAAoHBwcIBwoICAoPCggKDxINCgoNEhQQEBIQEB/Base64EncodingIntentionallyTruncated"
        }
      ],
      "invoice_copy_attachment": [
        {
          "file_name": "10InvoiceTestInv_Json_A2.pdf",
          "mime_code": "application/pdf",
          "encoding": "base64",
          "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZW50YXRpb24g/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceTestInv_Json_A2.jpg",
          "mime_code": "image/jpeg",
          "encoding": "base64",
          "content": "iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1BJQ0MgUHJvZmls/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvceTstInv2_Json_A2.pdf",
          "mime_code": "application/pdf",
          "encoding": "base64",
          "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZW50YXRpb24g=/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceTestXMLINV_Json_A2.xml",
          "mime_code": "text/xml",
          "encoding": "base64",
          "content": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vI/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceTestExcelINV_Json_A2.xlsx",
          "mime_code": "application/vnd.ms-excel",
          "encoding": "base64",
          "content": "UEsDBBQABgAIAAAAIQCpD2g4fwEAAAIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAA=/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceTestCSVINV_Json_A2.csv",
          "mime_code": "text/csv",
          "encoding": "base64",
          "content": "Im51bWJlciIsInN1cHBsaWVyX2ludm9pY2VfbnVtYmVyIiwic3VwcGxpZXIiLCJzd/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceTestJsonINV_Json_A2.json",
          "mime_code": "application/json",
          "encoding": "base64",
          "content": "eyJyZWNvcmRzIjpbeyJyZXF1aXJlc19hY2tub3dsZWRnZW1lbnQiOiJmYWxzZSI/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceTestdocINV_Json_A2.docx",
          "mime_code": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
          "encoding": "base64",
          "content": "UEsDBBQABgAIAAAAIQDnIQddcAEAANcFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnht/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoicePPT_Json_A2.pptx",
          "mime_code": "application/vnd.ms-powerpoint",
          "encoding": "base64",
          "content": "UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtb/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "10InvoiceRichText_Json_A2.rtf",
          "mime_code": "application/rtf",
          "encoding": "base64",
          "content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2NvYXRleHRz/Base64EncodingIntentionallyTruncated"
        }
      ],
      "tax_details": [
        {
          "tax_type": "Value added tax",
          "tax_amount": "21",
          "tax_rate": ""
        },
        {
          "tax_type": "IGST",
          "tax_amount": "",
          "tax_rate": "22"
        },
        {
          "tax_type": "Withholding tax",
          "tax_amount": "23",
          "tax_rate": ""
        }
      ],
      "invoice_lines": [
        {
          "external_invoice_number": "EXT-INV-noerp-PO_Attach_A2",
          "purchase_order_line": "00045310041",
          "po_line_description": "Yeti microphone - black",
          "line_description": "10MultiInvoiceLineAttach_A2",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "200.00-",
          "line_amount_invoiced": "97.00",
          "currency": "USD",
          "cost_center": "ACN00001",
          "gl_account": "141150",
          "tax_code": "A0 - Sales tax, standard rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "attachments": [
            {
              "file_name": "10InvoiceTest_INVLine_Json_A2.pdf",
              "mime_code": "application/pdf",
              "encoding": "base64",
              "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZW50/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "10InvoiceTest_INVLine_Json_A2.jpg",
              "mime_code": "image/jpeg",
              "encoding": "base64",
              "content": "iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1BJQ0Mg/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "10InvceTst2_INVLine_Json_A2.pdf",
              "mime_code": "application/pdf",
              "encoding": "base64",
              "content": "JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZW50Y/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "10InvoiceTestXML_INVLine_Json_A2.xml",
              "mime_code": "text/xml",
              "encoding": "base64",
              "content": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxv/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "10InvoiceTestExcel_INVLine_Json_A2.xlsx",
              "mime_code": "application/vnd.ms-excel",
              "encoding": "base64",
              "content": "UEsDBBQABgAIAAAAIQCpD2g4fwEAAAIFAAATAAgCW0NvbnRlbnRfVHlwZX/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "10InvoiceTestdoc_INVLine_Json_A2.docx",
              "mime_code": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
              "encoding": "base64",
              "content": "UEsDBBQABgAIAAAAIQDnIQddcAEAANcFAAATAAgCW0NvbnRlbnRfVHlwZX/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "10_InvoiceLinePPT_Json_A2.pptx",
              "mime_code": "application/vnd.ms-powerpoint",
              "encoding": "base64",
              "content": "UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZX/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "10_InvoiceLineRichText_Json_A2.rtf",
              "mime_code": "application/rtf",
              "encoding": "base64",
              "content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2NvYX/Base64EncodingIntentionallyTruncated"
            }
          ],
          "tax_details": [
            {
              "tax_type": "IGST",
              "tax_amount": "",
              "tax_rate": "3.4"
            },
            {
              "tax_type": "GST",
              "tax_amount": "3.9",
              "tax_rate": ""
            },
            {
              "tax_type": "VAT",
              "tax_amount": "2",
              "tax_rate": "4"
            }
          ]
        },
        {
          "external_invoice_number": "EXT-INV-noerp-PO",
          "purchase_order_line": "00045310041",
          "po_line_description": "Yeti microphone - black",
          "line_description": "Testing ERP POL",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "200.00-",
          "line_amount_invoiced": "97.00",
          "currency": "USD",
          "cost_center": "ACN00001",
          "gl_account": "141150",
          "tax_code": "A0 - Sales tax, standard rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "tax_details": [
            {
              "tax_type": "IGST",
              "tax_amount": "",
              "tax_rate": "3.4"
            },
            {
              "tax_type": "GST",
              "tax_amount": "3.9",
              "tax_rate": ""
            },
            {
              "tax_type": "VAT",
              "tax_amount": "2",
              "tax_rate": "4"
            }
          ]
        },
        {
          "external_invoice_number": "EXT-INV-noerp-PO_Attach3",
          "purchase_order_line": "00045310042",
          "po_line_description": "Pv-3310 photo tripod w/3-way pan",
          "line_description": "Date Formate Test",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "100.00",
          "line_amount_invoiced": "97.00",
          "currency": "USD",
          "cost_center": "ACN00002",
          "gl_account": "100005",
          "tax_code": "A0 - Sales tax, standard rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "tax_details": [
            {
              "tax_type": "IGST",
              "tax_amount": "",
              "tax_rate": "3.2"
            },
            {
              "tax_type": "Withholding tax",
              "tax_amount": "",
              "tax_rate": "4"
            },
            {
              "tax_type": "VAT",
              "tax_amount": "",
              "tax_rate": "3"
            }
          ],
          "attachments": [
            {
              "file_name": "InvoiceLinePPT.pptx",
              "mime_code": "application/vnd.ms-powerpoint",
              "encoding": "base64",
              "content": "UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZXN/Base64EncodingIntentionallyTruncated"
            },
            {
              "file_name": "InvoiceLineRichText.rtf",
              "mime_code": "application/rtf",
              "encoding": "base64",
              "content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2NvYX/Base64EncodingIntentionallyTruncated"
            }
          ]
        },
        {
          "external_invoice_number": "EXT-INV-noerp-PO-01",
          "purchase_order_line": "00045310042",
          "po_line_description": "Yeti microphone - black",
          "line_description": "",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "100.00",
          "line_amount_invoiced": "97.00",
          "currency": "USD",
          "cost_center": "ACN00005",
          "gl_account": "141101",
          "tax_code": "A0 - Sales tax, standard rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "tax_details": [
            {
              "tax_type": "SGST",
              "tax_amount": "",
              "tax_rate": "3.1"
            },
            {
              "tax_type": "GST",
              "tax_amount": "3.8",
              "tax_rate": ""
            },
            {
              "tax_type": "CGST",
              "tax_amount": "",
              "tax_rate": "1.2"
            }
          ]
        }
      ]
    },
    {
      "invoice_type": "",
      "supplier_invoice_number": "LineLevelTax_Attach3",
      "external_invoice_number": "EXT-INV-noerp-PO-line_attach3",
      "purchase_order": "",
      "supplier": "880733",
      "date_format": "mm-dd-yyyy",
      "invoice_date": "09-05-2021",
      "payment_terms": "NET 30",
      "legal_entity": "1100.",
      "subtotal": "100",
      "shipping_amount": "30.00",
      "other_charges": "20.00",
      "discounts": "10.00-",
      "amount_invoiced": "140.00",
      "currency": "USD",
      "invoice_line_count": "1",
      "ship_to_city": "New York",
      "ship_to_country": "USA",
      "ship_to_state_or_province": "NY",
      "ship_to_street": "123 Main St",
      "ship_to_zip_or_postal_code": "10001",
      "ship_from_city": "Los Angeles",
      "ship_from_country": "USA",
      "ship_from_state_or_province": "CA",
      "ship_from_street": "456 Oak Ave",
      "ship_from_zip_or_postal_code": "90001",
      "remit_address": "789 Elm St, Suite 200",
      "remit_to_city": "Chicago",
      "remit_to_country": "USA",
      "remit_to_state_or_province": "IL",
      "remit_to_zip_or_postal_code": "60601",
      "supplier_tax_id": "12340009",
      "invoice_copy_attachment": [
        {
          "file_name": "InvoicePPT.pptx",
          "mime_code": "application/vnd.ms-powerpoint",
          "encoding": "base64",
          "content": "UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZXNdLnh/Base64EncodingIntentionallyTruncated"
        },
        {
          "file_name": "InvoiceRichText.rtf",
          "mime_code": "application/rtf",
          "encoding": "base64",
          "content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2NvYXRleH/Base64EncodingIntentionallyTruncated"
        }
      ],
      "invoice_lines": [
        {
          "external_invoice_number": "EXT-INV-noerp-PO-3",
          "purchase_order_line": "00045310041",
          "po_line_description": "Yeti microphone - black",
          "line_description": "Testing ERP POL",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "200.00",
          "line_amount_invoiced": "97.00",
          "currency": "USD",
          "cost_center": "ACN00005",
          "gl_account": "120040",
          "tax_code": "A0 - Sales tax, standard rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "tax_details": [
            {
              "tax_type": "IGST",
              "tax_amount": "",
              "tax_rate": "6"
            },
            {
              "tax_type": "GST",
              "tax_amount": "7",
              "tax_rate": ""
            },
            {
              "tax_type": "Sales tax",
              "tax_amount": "8",
              "tax_rate": "8"
            }
          ]
        },
        {
          "external_invoice_number": "EXT-INV-noerp-PO-3",
          "purchase_order_line": "00045310042",
          "po_line_description": "Pv-3310 photo tripod w/3-way pan",
          "line_description": "Date Formate Test",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "200.00",
          "line_amount_invoiced": "97.00",
          "currency": "USD",
          "cost_center": "ACN00001",
          "gl_account": "141250",
          "tax_code": "A0 - Sales tax, standard rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "tax_details": [
            {
              "tax_type": "CGST",
              "tax_amount": "",
              "tax_rate": "4.1"
            },
            {
              "tax_type": "SGST",
              "tax_amount": "4.4",
              "tax_rate": ""
            },
            {
              "tax_type": "VAT",
              "tax_amount": "",
              "tax_rate": "4.3"
            }
          ]
        },
        {
          "external_invoice_number": "EXT-INV-noerp-PO-3",
          "purchase_order_line": "00045310042",
          "po_line_description": "Yeti microphone - black",
          "line_description": "",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "100.00",
          "line_amount_invoiced": "97.00",
          "currency": "USD",
          "cost_center": "ACN00007",
          "gl_account": "141300",
          "tax_code": "A0 - Sales tax, standard rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "uom": "Hours",
          "tax_details": [
            {
              "tax_type": "IGST",
              "tax_amount": "",
              "tax_rate": "2.4"
            },
            {
              "tax_type": "Withholding tax",
              "tax_amount": "5.5",
              "tax_rate": ""
            },
            {
              "tax_type": "VAT",
              "tax_amount": "2.6",
              "tax_rate": ""
            }
          ]
        }
      ]
    },
    {
      "invoice_type": "credit_memo",
      "supplier_invoice_number": "EXT-INV-erp-po_AttachLine",
      "external_invoice_number": "EXT-INV-erp-po_AttachLine",
      "original_invoice": "INV0001013",
      "supplier": "",
      "business_owner": "lara.croft@example.com",
      "purchase_order": "0004889699",
      "invoice_date": "09/13/2024",
      "payment_terms": "Net 30",
      "legal_entity": "AUS",
      "subtotal": "150.00",
      "shipping_amount": "30.00",
      "other_charges": "20.00",
      "discounts": "00.00",
      "amount_invoiced": "200.00",
      "currency": "USD",
      "invoice_line_count": "10",
      "ship_to_city": "New York",
      "ship_to_country": "USA",
      "ship_to_state_or_province": "NY",
      "ship_to_street": "123 Main St",
      "ship_to_zip_or_postal_code": "10001",
      "ship_from_city": "Los Angeles",
      "ship_from_country": "USA",
      "ship_from_state_or_province": "CA",
      "ship_from_street": "456 Oak Ave",
      "ship_from_zip_or_postal_code": "90001",
      "remit_address": "789 Elm St, Suite 200",
      "remit_to_city": "Chicago",
      "remit_to_country": "USA",
      "remit_to_state_or_province": "IL",
      "remit_to_zip_or_postal_code": "60601",
      "supplier_tax_id": "123456789",
      "tax_details": [
        {
          "tax_type": "CGST",
          "tax_amount": "15",
          "tax_rate": ""
        },
        {
          "tax_type": "Sales tax",
          "tax_amount": "",
          "tax_rate": "10"
        },
        {
          "tax_type": "SGST",
          "tax_amount": "10",
          "tax_rate": ""
        }
      ],
      "invoice_lines": [
        {
          "external_invoice_number": "EXT-INV-erp-po_AttachLine",
          "line_description": "POL ERP number Attachment on line only",
          "po_line_description": "",
          "purchase_order_line": "00048896991",
          "line_quantity": "5",
          "line_unit_price": "20.00",
          "subtotal": "100.00",
          "line_amount_invoiced": "118.00",
          "currency": "USD",
          "cost_center": "ACN00004",
          "gl_account": "436000",
          "tax_code": "A1 - Sales tax, reduced rate",
          "ship_to_city": "New York",
          "ship_to_country": "USA",
          "ship_to_state_or_province": "NY",
          "ship_to_street": "123 Main St",
          "ship_to_zip_or_postal_code": "10001",
          "supplier_part_number": "SPN-001",
          "attachments": [
            {
              "file_name": "InvoiceLinePPT.pptx",
              "mime_code": "application/vnd.ms-powerpoint",
              "encoding": "base64",
              "content": "UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZXN/Base64EncodingIntentionallyTruncated""
            },
            {
              "file_name": "InvoiceLineRichText.rtf",
              "mime_code": "application/rtf",
              "encoding": "base64",
              "content": "e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2NvYXRl/Base64EncodingIntentionallyTruncated"
          ],
          "uom": "Hours"
        }
      ]
    }
  ],
  "target_erp": ""
}'

The following result shows that the request is successful and the invoice data is processing. You can view the status of the request in the Invoice integration log [sn_spend_intg_invoice_integration_log] table. Use the batch ID listed in the Batch ID column to find the invoice.

{
    "batchId": "APIINV1729711710733280",
    "status": "Success",
    "message": "Your request has been successfully received and is being processed."
}

AP Invoice – POST /sn_spend_intg/ap_invoice/xml

Processes an automated invoice in XML format.

Use the Invoice integration field mappings [sn_spend_intg_invoice_intg_field_mapping] table to determine how the fields are mapped to XML tags.

You can define custom invoice fields for the request body. Use the following flow to add custom fields, map them to target tables, and format them for availability in the payload:

  1. Add custom fields for invoice import
  2. Map custom fields between source and target tables
  3. Map custom fields to a payload source format

URL format

Versioned URL: /api/sn_spend_intg/v1/ap_invoice/xml

Default URL: /api/sn_spend_intg/ap_invoice/xml

Supported request parameters

NameDescription
api\_versionOptional. Version of the endpoint to access. For example, `v1` or `v2`. Only specify this value to use an endpoint version other than the latest. Data type: String
NameDescription
None 
PathDescription
/Invoice/AmountInvoicedTotal amount of money to be paid to the supplier including tax and shipping charges.Target field: u\_amount\_invoiced Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
Invoice/BillToCityThe city to which the invoice is sent.Target field: u\_bill\_to\_city Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/BillToCountryThe country to which the invoice is sent in ISO 3166 format. For example, `US`.Target field: u\_bill\_to\_country Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/BillToStateOrProvinceThe state or province to which the invoice is sent.Target field: u\_bill\_to\_state\_or\_province Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/BillToStreetThe street address to which the invoice is sent.Target field: u\_bill\_to\_street Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/BillToZipOrPostalCodeThe zip or postal code to which the invoice is sent.Target field: u\_bill\_to\_zip\_or\_postal\_code
/Invoice/CurrencyRequired. Currency for subtotal, tax, and shipping. The subtotal, tax, and shipping should be in the same currency.Target field: u\_currency Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/DateFormat

Sets the invoice date format from the default YYYY-MM-DD to another supported date format. The date value is set in the InvoiceDate element.Supported date formats:

  • DD MMM YYYY
  • DD MMM, YY
  • DD MMM, YYYY
  • DD MMMM YYYY
  • DD MMMM, YY
  • DD MMMM, YYYY
  • DD-MM-YY
  • DD-MM-YYYY
  • DD-MMM-YY
  • DD-MMM-YYYY
  • DD.MM.YY
  • DD.MM.YYYY
  • DD/MM/YY
  • DD/MM/YYYY
  • dd/mmm/yyyy
  • MM-DD-YY
  • MM-DD-YYYY
  • MM.DD.YY
  • MM.DD.YYYY
  • MM/DD/YY
  • MM/DD/YYYY
  • MMM DD YYYY
  • MMM DD, YY
  • MMM DD, YYYY
  • MMMM DD YYYY
  • MMMM DD, YY
  • MMMM DD, YYYY
  • YY-MM-DD
  • YY.MM.DD
  • YY/MM/DD
  • YYYY-MM-DD (default)
  • YYYY.MM.DD
  • YYYY/MM/DD

Note: The MMM format entry represents a month in its first three letters, for example, Aug. The MMMM format entry represents the full month name, for example, August.

Target field: u_date_format

Related table: Invoice Import [sn_spend_intg_imp_invoice]

Default format: YYYY-MM-DD

/Invoice/DiscountsDiscounts that are applied toward the invoice.Target field: u\_discounts Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/ExternalInvoiceNumberInvoice number generated from a third-party application.Target field: u\_external\_invoice\_number Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/InvoiceDate

Date on which the customer was invoiced. Use the DateFormat element to add the date in a supported non-default format.Target field: u_invoice_date

Related table: Invoice Import [sn_spend_intg_imp_invoice]

Default format: YYYY-MM-DD

/Invoice/LegalEntityName of the legal entity of the supplier. Located in the Legal Entity \[sn\_fin\_legal\_entity\] table.Target field: u\_legal\_entity Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/OtherChargesOther additional charges associated with the invoice. This is an editable field.Target field: u\_other\_charges Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/PaymentTermsThe agreed upon time and conditions under which a payment to a supplier is made. For example, `Net 30`.Target field: u\_payment\_terms Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/RemitAddressThe street address to which the payment is made.Target field: u\_remit\_address
Invoice/RemitToCityThe city to which the payment is made.Target field: u\_remit\_to\_city
/Invoice/RemitToCountryThe country to which the payment is made in ISO 3166 format. For example, `US`.Target field: u\_remit\_to\_country
/Invoice/RemitToStateOrProvinceThe state or province to which the payment is made.Target field: u\_remit\_to\_state\_or\_province
/Invoice/RemitToZipOrPostalCodeThe zip or postal code to which the payment is made.Target field: u\_remit\_to\_zip\_or\_postal\_code
/Invoice/ShipFromCityCity from which the items on the purchase order are shipped.Target field: u\_ship\_from\_city Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/ShipFromCountryCountry from which the items on the purchase order are shipped.Target field: u\_ship\_from\_country Related table: Invoice Line \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/ShipFromStateOrProvinceState from which the items on the purchase order are shipped.Target field: u\_ship\_from\_state\_or\_province Related table: Invoice Line \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/ShipFromStreetStreet from which the items on the purchase order are shipped.Target field: u\_ship\_from\_street Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/ShipFromZipOrPostalCodeZip code from which the items on the purchase order are shipped.Target field: u\_ship\_from\_zip\_or\_postal\_code Related table: Invoice Line \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/ShippingAmountTotal shipping cost for the entire purchase.Target field: u\_shipping\_amount Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/SubtotalTotal amount of money to be paid to the supplier excluding tax and shipping charges.Target field: u\_subtotal Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/SupplierIdentifier for the reseller or supplier that the customer can place orders with.Target field: u\_supplier Related table: Invoice Import \[sn\_spend\_intg\_imp\_invoice\]
/Invoice/SupportingAttachmentsList of attachments defined at the invoice processing case level for cases assigned to Accounts Payable Specialists. See Invoice processing case form.Once created, the system will generate the invoice record along with the associated invoice case and invoice lines. Attachments will be linked to their respective records accordingly.
/Invoice/SupportingAttachments/Attachment/Contains the details for a single attachment.
/Invoice/SupportingAttachments/Attachment/ContentBase64-encoded file content of the attachment.
/Invoice/SupportingAttachments/Attachment/EncodingThis value is always `base64`.
/Invoice/SupportingAttachments/Attachment/FileNameFile name of the attachment.Note: Do not use the reserved "SD_" prefix for an attachment file name.
/Invoice/SupportingAttachments/Attachment/MimeCodeThis value is always `base64`.
/Invoice/InvoiceCopyAttachment/List of attachments defined at the invoice level. See Accounts Payable Invoice Processing.Once created, the system will generate the invoice record along with the associated invoice case and invoice lines. Attachments will be linked to their respective records accordingly.
/Invoice/InvoiceCopyAttachment/Attachment/Contains the details for a single attachment.
/Invoice/InvoiceCopyAttachment/Attachment/ContentBase64-encoded file content of the attachment.
/Invoice/InvoiceCopyAttachment/Attachment/EncodingThis value is always `base64`.
/Invoice/InvoiceCopyAttachment/Attachment/FileNameFile name of the attachment.Note: Do not use the reserved "SD_" prefix for an attachment file name.
/Invoice/InvoiceCopyAttachment/Attachment/MimeCodeThis value is always `base64`.
/Invoice/InvoiceLines/List of InvoiceLine elements that define the lines that are being invoiced for purchases within this order.
/InvoiceLine/Invoice line definition. Invoice lines are staged in the Invoice line import inbound \[sn\_spend\_intg\_imp\_invoice\_line\] table.
/InvoiceLine/Attachment/Contains the details for a single attachment.
/InvoiceLine/Attachment/ContentBase64-encoded file content of the attachment.
/InvoiceLine/Attachment/EncodingThis value is always `base64`.
/InvoiceLine/Attachment/FileNameFile name of the attachment.Note: Do not use the reserved "SD_" prefix for an attachment file name.
/InvoiceLine/Attachment/MimeCodeThis value is always `base64`.
/InvoiceLine/CostCenterAccount number of the cost center for which the invoice is generated. Listed in the Cost Center \[cmn\_cost\_center\] table.Target field: u\_cost\_center
/InvoiceLine/CurrencyCurrency for the line item. For example, `USD`.Target field: u\_currency Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/GLAccountAccount number of the general ledger \(GL\) used to generate the invoice.Target field: u\_gl\_account See also: - ERP source - Ledger account
/InvoiceLine/LineAmountInvoicedTotal cost, excluding taxes and shipping, that a customer is being invoiced for a given purchase order line.Target field: u\_line\_amount\_invoiced Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/LineDescriptionDescription of the invoice line.Target field: u\_line\_description
/InvoiceLine/LineQuantityQuantity of goods or services that a customer is being invoiced for.Target field: u\_line\_quantity
/InvoiceLine/LineUnitPriceUnit price of the line item in the invoice.Target field: u\_line\_unit\_price Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/POLineDescriptionDescription of the purchase order line for the invoice.Target field: u\_po\_line\_description Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/PurchaseOrderLinePurchase order number that is provided by the customer for this order. Listed in the Purchase Order \[sn\_shop\_purchase\_order\] table.Target field: u\_purchase\_order Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/ShipToCityCity to which the items on the purchase order are shipped.Target field: u\_ship\_to\_city Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/ShipToCountryCountry to which the items on the purchase order are shipped.Target field: u\_ship\_to\_country Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/ShipToStateOrProvinceState or province to which the items on the purchase order are shipped.Target field: u\_ship\_to\_state\_or\_province
/InvoiceLine/ShipToStreetStreet to which the items on the purchase order are shipped.Target field: u\_ship\_to\_street Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/ShipToZipOrPostalCodeZip code to which the items on the purchase order are shipped.Target field: u\_ship\_to\_zip\_or\_postal\_code Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/SubtotalTotal amount of money to be paid to the supplier excluding tax and shipping charges.Target field: u\_subtotal Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/SupplierPartNumberPart number that is generated by a supplier for this invoice line.Target field: u\_supplier\_part\_number Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/TaxCodeUnique tax code generated from the ERP source.Target field: u\_tax\_code Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/InvoiceLine/UOMBase unit of measure \(UOM\) used to count the item in the invoice.Target field: u\_uom Related table: Invoice Line Import \[sn\_spend\_intg\_imp\_invoice\_line\]
/TaxDetail/TaxTypeType of tax applicable on the invoice. Listed in the Tax Type \[sn\_fin\_tax\_type\] table.Target field: u\_tax\_type Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\]
/TaxDetail/TaxRateThe tax rate charged by the supplier.Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\] Target field: u\_supplier\_tax\_rate Related table: Invoice Tax Line Import \[sn\_spend\_intg\_imp\_invoice\_tax\_line\]

Headers

The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.

HeaderDescription
Content-TypeData format of the request body. Only supports application/xml.
Source-SystemSpecifies the source system from which the request is coming from.Available systems are listed in the Source systems credentials \[sn\_spend\_intg\_source\_system\_credential\] table. This setting helps to determine if the request provided follows the structure in the Invoice integration field mapping \[sn\_spend\_intg\_invoice\_intg\_field\_mapping\] table. This setting is also used to fetch credentials from the Source system credentials \[sn\_spend\_intg\_source\_system\_credential\] table.
HeaderDescription
None 

Status codes

The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.

Status codeDescription
202Request Accepted. The request is successful and invoice processing is in progress.
400Bad Request. A bad request type or malformed request was detected.
429Too Many Requests. The request rate has exceeded the maximum of 10 requests per hour.

Response body parameters

NameDescription
batch\_idUnique identifier for the batch request. This ID can be used to track the status of the request. This record is stored in the Invoice integration log \[sn\_spend\_intg\_invoice\_integration\_log\] table.Data type: String
errorContains error message and details when the request fails.
{
  "detail": String,
  "message": String
}
Data type: Object
error.detailAdditional details about the request error.Possible results: - Failed API level ACL Validation - User does not have read/write access to the resource. - Rate limit of 13 requests per hour for AP Invoice exceeded – The number of records in the batch is more than the batch size set. - Required to provide Auth information - Either the password is wrong or user name is wrong. Data type: String
error.message

Error message containing the reason the request failedPossible errors:

  • Invalid payload - Invalid content type.
  • Invalid payload - Error: Invalid payload structure.
  • Invalid payload - Error: Payload exceeds allowed invoices limit in a batch. The number of records in the batch is more than the batch size set. The maximum default payload size is 100 records. This value is configurable in the sn_spend_intg.ap.invoice.create.api.record_limit system property.
  • Invalid payload - Error: Empty invoices. No data to process. The number of records in the batch is zero.
  • Rate limit of 500 requests per hour for APO Invoice Ingestion exceeded.
  • User Not Authenticated. Either the password is wrong or user name is wrong.
  • Failed API level ACL Validation - User does not have read/write access to the resource.

Data type: String

messageSuccess message, for example, `Your request has been successfully received and is being processed`.You can view the status of the request in the Invoice integration log \[sn\_spend\_intg\_invoice\_integration\_log\] table. Data type: String
statusIndicates the result of the request.Possible values: - Success - Fail Data type: String

cURL request

The following example shows how to process an invoice provided as a request in XML format. Base64 encoding varies in size and can be very large. The content value has been truncated to conserve space. The information reflects proper payload structure.

curl -X POST https://instance.servicenow.com/api/sn_spend_intg/v1/ap_invoice/xml \
-H "Source-System: Ariba" \
-H "Content-Type: application/json" \
-d '<Invoices>
    <Invoice>
        <InvoiceType>po_invoice</InvoiceType>
        <SupplierInvoiceNumber>S-AttachmentInvoice-A1-SupportDoc1</SupplierInvoiceNumber>
        <ExternalInvoiceNumber>EXT-INV-#00A1</ExternalInvoiceNumber>
        <Supplier>3245545</Supplier>
        <PurchaseOrder>###0004889698</PurchaseOrder>
        <BusinessOwner>paula.smith@example.com</BusinessOwner>
        <DateFormat>DD-MMM-YY</DateFormat>
        <InvoiceDate>16-DEC-24</InvoiceDate>
        <PaymentTerms>Net 60</PaymentTerms>
        <LegalEntity>US</LegalEntity>
        <Subtotal>100.00</Subtotal>
        <ShippingAmount>20.00</ShippingAmount>
        <OtherCharges>20</OtherCharges>
        <Discounts>10</Discounts>
        <AmountInvoiced>150.00</AmountInvoiced>
        <Currency>USD</Currency>
        <InvoiceLineCount>1</InvoiceLineCount>
        <ShipToCity>Los Angeles</ShipToCity>
        <ShipToCountry>USA</ShipToCountry>
        <ShipToStateOrProvince>CA</ShipToStateOrProvince>
        <ShipToStreet>456 Oak Ave</ShipToStreet>
        <ShipToZipOrPostalCode>90001</ShipToZipOrPostalCode>
        <ShipFromCity>Addison</ShipFromCity>
        <ShipFromCountry>USA</ShipFromCountry>
        <ShipFromStateOrProvince>TX</ShipFromStateOrProvince>
        <ShipFromStreet>15725 Dallas P</ShipFromStreet>
        <ShipFromZipOrPostalCode>55555</ShipFromZipOrPostalCode>
        <RemitAddress>47 W 11th St</RemitAddress>
        <RemitToCity>New York</RemitToCity>
        <RemitToCountry>USA</RemitToCountry>
        <RemitToStateOrProvince>NY</RemitToStateOrProvince>
        <RemitToZipOrPostalCode>99999</RemitToZipOrPostalCode>
        <BillToStreet>4810 Eastgate Mall</BillToStreet>
        <BillToCity>San Diego</BillToCity>
        <BillToCountry>USA</BillToCountry>
        <BillToStateOrProvince>CA</BillToStateOrProvince>
        <BillToZipOrPostalCode>92121</BillToZipOrPostalCode>
        <SupplierTaxID>7894328742</SupplierTaxID>
        <TaxDetails>
            <TaxDetail>
                <TaxType>Sales tax</TaxType>
                <TaxAmount>10</TaxAmount>
                <TaxRate></TaxRate>
            </TaxDetail>
            <TaxDetail>
                <TaxType>CGST</TaxType>
                <TaxAmount></TaxAmount>
                <TaxRate>11</TaxRate>
            </TaxDetail>
            <TaxDetail>
                <TaxType>IGST</TaxType>
                <TaxAmount>12</TaxAmount>
                <TaxRate>12</TaxRate>
            </TaxDetail>
            <TaxDetail>
                <TaxType>Withholding tax</TaxType>
                <TaxAmount>13</TaxAmount>
                <TaxRate></TaxRate>
            </TaxDetail>
        </TaxDetails>
        <SupportingAttachments>
            <Attachment>
                <FileName>InvoiceCaseSupportingDoc.png</FileName>
                <MimeCode>image/png</MimeCode>
                <Encoding>base64</Encoding>
                <Content>iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1BJQ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>InvoiceImageA1.jpg</FileName>
                <MimeCode>image/jpeg</MimeCode>
                <Encoding>base64</Encoding>
                <Content>/9j/4AAQSkZJRgABAQEA8ADwAAD/2wCEAAoHBwcIBwoICAoPCggKDxINC/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
        </SupportingAttachments>
        <InvoiceCopyAttachment>
            <Attachment>
                <FileName>InvoiceA1.pdf</FileName>
                <MimeCode>application/pdf</MimeCode>
                <Encoding>base64</Encoding>
                <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>InvoiceImageA1.jpg</FileName>
                <MimeCode>image/jpeg</MimeCode>
                <Encoding>base64</Encoding>
                <Content>/9j/4AAQSkZJRgABAQEA8ADwAAD/2wCEAAoHBwcIBwoICAoPCggKDxINC/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
        </InvoiceCopyAttachment>
        <InvoiceLines>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-#00A1</ExternalInvoiceNumber>
                <LineDescription>Invoice_Line_Attach_A1</LineDescription>
                <PurchaseOrderLine>POL11232</PurchaseOrderLine>
                <POLineDescription>NowX Charger</POLineDescription>
                <LineQuantity>10</LineQuantity>
                <LineUnitPrice>10.00</LineUnitPrice>
                <Subtotal>200.00</Subtotal>
                <LineAmountInvoiced>100</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00001</CostCenter>
                <GLAccount>100005</GLAccount>
                <TaxCode>A1 - Sales tax, reduced rate</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
                <Attachments>
                    <Attachment>
                        <FileName>InvoiceLineA1.png</FileName>
                        <MimeCode>image/png</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMT/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                </Attachments>
            </InvoiceLine>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-#00A</ExternalInvoiceNumber>
                <LineDescription>InvoiceLine_PDF_Attach_A1</LineDescription>
                <PurchaseOrderLine>00048896981</PurchaseOrderLine>
                <POLineDescription></POLineDescription>
                <LineQuantity>10</LineQuantity>
                <LineUnitPrice>10.00</LineUnitPrice>
                <Subtotal>200.00</Subtotal>
                <LineAmountInvoiced>100</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00005</CostCenter>
                <GLAccount>120050</GLAccount>
                <TaxCode>A1 - Sales tax, reduced rate</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
                <Attachments>
                    <Attachment>
                        <FileName>Invoice_line_A1.pdf</FileName>
                        <MimeCode>application/pdf</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBER/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>InvoiceImageA1.jpg</FileName>
                        <MimeCode>image/jpeg</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>/9j/4AAQSkZJRgABAQEA8ADwAAD/2wCEAAoHBwcIBwoICAoPC/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                </Attachments>
            </InvoiceLine>
        </InvoiceLines>
    </Invoice>
    <Invoice>
        <InvoiceType>non_po_invoice</InvoiceType>
        <SupplierInvoiceNumber>10MultiAttach_Inv_invline_A2-MultiSupp</SupplierInvoiceNumber>
        <ExternalInvoiceNumber>EXT-INV-#00A2</ExternalInvoiceNumber>
        <Supplier>3245545</Supplier>
        <BusinessOwner>paula.smith@example.com</BusinessOwner>
        <DateFormat>DD-MMM-YYYY</DateFormat>
        <InvoiceDate>10-Nov-2024</InvoiceDate>
        <PaymentTerms>Net 60</PaymentTerms>
        <LegalEntity>1100</LegalEntity>
        <Subtotal>120.00</Subtotal>
        <ShippingAmount>10.00</ShippingAmount>
        <OtherCharges>10</OtherCharges>
        <Discounts>10</Discounts>
        <AmountInvoiced>150.00</AmountInvoiced>
        <Currency>USD</Currency>
        <InvoiceLineCount>1</InvoiceLineCount>
        <ShipToCity>Los Angeles</ShipToCity>
        <ShipToCountry>USA</ShipToCountry>
        <ShipToStateOrProvince>CA</ShipToStateOrProvince>
        <ShipToStreet>456 Oak Ave</ShipToStreet>
        <ShipToZipOrPostalCode>90001</ShipToZipOrPostalCode>
        <ShipFromCity>Addison</ShipFromCity>
        <ShipFromCountry>USA</ShipFromCountry>
        <ShipFromStateOrProvince>TX</ShipFromStateOrProvince>
        <ShipFromStreet>15725 Dallas P</ShipFromStreet>
        <ShipFromZipOrPostalCode>55555</ShipFromZipOrPostalCode>
        <RemitAddress>47 W 11th St</RemitAddress>
        <RemitToCity>New York</RemitToCity>
        <RemitToCountry>USA</RemitToCountry>
        <RemitToStateOrProvince>NY</RemitToStateOrProvince>
        <RemitToZipOrPostalCode>99999</RemitToZipOrPostalCode>
        <BillToStreet>4810 Eastgate Mall</BillToStreet>
        <BillToCity>San Diego</BillToCity>
        <BillToCountry>USA</BillToCountry>
        <BillToStateOrProvince>CA</BillToStateOrProvince>
        <BillToZipOrPostalCode>92121</BillToZipOrPostalCode>
        <SupplierTaxID>7894328742</SupplierTaxID>
        <TaxDetails>
            <TaxDetail>
                <TaxType>Value added tax</TaxType>
                <TaxAmount>8</TaxAmount>
                <TaxRate></TaxRate>
            </TaxDetail>
            <TaxDetail>
                <TaxType>Withholding tax</TaxType>
                <TaxAmount></TaxAmount>
                <TaxRate>7</TaxRate>
            </TaxDetail>
        </TaxDetails>
        <SupportingAttachments>
            <Attachment>
                <FileName>10InvoiceCaseTestInv_Xml_A2.pdf</FileName>
                <MimeCode>application/pdf</MimeCode>
                <Encoding>base64</Encoding>
                <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceCasePNGInv_Xml_A2.png</FileName>
                <MimeCode>image/png</MimeCode>
                <Encoding>base64</Encoding>
                <Content>iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1BJQ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvceCaseTst2Inv_Xml_A2.pdf</FileName>
                <MimeCode>application/pdf</MimeCode>
                <Encoding>base64</Encoding>
                <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceCaseTestXMLINV_Xml_A2.xml</FileName>
                <MimeCode>text/xml</MimeCode>
                <Encoding>base64</Encoding>
                <Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kY/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceCaseTestExcelINV_Xml_A2.xlsx</FileName>
                <MimeCode>application/vnd.ms-excel</MimeCode>
                <Encoding>base64</Encoding>
                <Content>UEsDBBQABgAIAAAAIQCpD2g4fwEAAAIFAAATAAgCW0NvbnRlbnRfVHlwZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceCaseTestdocINV_Xml_A2.docx</FileName>
                <MimeCode>application/vnd.openxmlformats-officedocument.wordprocessingml.document</MimeCode>
                <Encoding>base64</Encoding>
                <Content>UEsDBBQABgAIAAAAIQDnIQddcAEAANcFAAATAAgCW0NvbnRlbnRfVHlwZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceCasePPT_Xml_A2.pptx</FileName>
                <MimeCode>application/vnd.ms-powerpoint</MimeCode>
                <Encoding>base64</Encoding>
                <Content>UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceCaseRichText_Xml_A2.rtf</FileName>
                <MimeCode>application/rtf</MimeCode>
                <Encoding>base64</Encoding>
                <Content>e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2Nv/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceCaseImageJpeg_XML_A2.jpg</FileName>
                <MimeCode>image/jpeg</MimeCode>
                <Encoding>base64</Encoding>
                <Content>/9j/4AAQSkZJRgABAQEA8ADwAAD/2wCEAAoHBwcIBwoICAoPCggKDxINC/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
        </SupportingAttachments>
        <InvoiceCopyAttachment>
            <Attachment>
                <FileName>10InvoiceTestInv_Xml_A2.pdf</FileName>
                <MimeCode>application/pdf</MimeCode>
                <Encoding>base64</Encoding>
                <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoicePNGInv_Xml_A2.png</FileName>
                <MimeCode>image/png</MimeCode>
                <Encoding>base64</Encoding>
                <Content>iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMTmlDQ1BJQ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvceTst2Inv_Xml_A2.pdf</FileName>
                <MimeCode>application/pdf</MimeCode>
                <Encoding>base64</Encoding>
                <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBERiBQcmVzZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceTestXMLINV_Xml_A2.xml</FileName>
                <MimeCode>text/xml</MimeCode>
                <Encoding>base64</Encoding>
                <Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kY/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceTestExcelINV_Xml_A2.xlsx</FileName>
                <MimeCode>application/vnd.ms-excel</MimeCode>
                <Encoding>base64</Encoding>
                <Content>UEsDBBQABgAIAAAAIQCpD2g4fwEAAAIFAAATAAgCW0NvbnRlbnRfVHlwZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceTestCSVINV_Xml_A2.csv</FileName>
                <MimeCode>text/csv</MimeCode>
                <Encoding>base64</Encoding>
                <Content>Im51bWJlciIsInN1cHBsaWVyX2ludm9pY2VfbnVtYmVyIiwic3VwcGxp/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceTestJsonINV_Xml_A2.json</FileName>
                <MimeCode>application/json</MimeCode>
                <Encoding>base64</Encoding>
                <Content>eyJyZWNvcmRzIjpbeyJyZXF1aXJlc19hY2tub3dsZWRnZW1lbnQiOiJmY/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceTestdocINV_Xml_A2.docx</FileName>
                <MimeCode>application/vnd.openxmlformats-officedocument.wordprocessingml.document</MimeCode>
                <Encoding>base64</Encoding>
                <Content>UEsDBBQABgAIAAAAIQDnIQddcAEAANcFAAATAAgCW0NvbnRlbnRfVHlwZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoicePPT_Xml_A2.pptx</FileName>
                <MimeCode>application/vnd.ms-powerpoint</MimeCode>
                <Encoding>base64</Encoding>
                <Content>UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlbnRfVHlwZ/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceRichText_Xml_A2.rtf</FileName>
                <MimeCode>application/rtf</MimeCode>
                <Encoding>base64</Encoding>
                <Content>e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyClxjb2Nv/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
            <Attachment>
                <FileName>10InvoiceImageJpeg_XML_A2.jpg</FileName>
                <MimeCode>image/jpeg</MimeCode>
                <Encoding>base64</Encoding>
                <Content>/9j/4AAQSkZJRgABAQEA8ADwAAD/2wCEAAoHBwcIBwoICAoPCggKDxINC/Base64EncodingIntentionallyTruncated=</Content>
            </Attachment>
        </InvoiceCopyAttachment>
        <InvoiceLines>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-#00A2</ExternalInvoiceNumber>
                <LineDescription>Apple_MultiAttach_A2</LineDescription>
                <PurchaseOrderLine>48896981</PurchaseOrderLine>
                <POLineDescription>Keyboards</POLineDescription>
                <LineQuantity>12</LineQuantity>
                <LineUnitPrice>10.00</LineUnitPrice>
                <Subtotal>(200.00)</Subtotal>
                <LineAmountInvoiced>100</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00005</CostCenter>
                <GLAccount>141100</GLAccount>
                <TaxCode>A0 Sales Tax</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
                <TaxDetails>
                    <TaxDetail>
                        <TaxType>SGST</TaxType>
                        <TaxAmount>2</TaxAmount>
                        <TaxRate></TaxRate>
                    </TaxDetail>
                    <TaxDetail>
                        <TaxType>IGST</TaxType>
                        <TaxAmount></TaxAmount>
                        <TaxRate>3</TaxRate>
                    </TaxDetail>
                    <TaxDetail>
                        <TaxType>IGST</TaxType>
                        <TaxAmount>5</TaxAmount>
                        <TaxRate>4</TaxRate>
                    </TaxDetail>
                </TaxDetails>
                <Attachments>
                    <Attachment>
                        <FileName>10InvoiceTestInvLine_Xml_A2.pdf</FileName>
                        <MimeCode>application/pdf</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBER/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvcPNGInvLine_Xml_A2.png</FileName>
                        <MimeCode>image/png</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>iVBORw0KGgoAAAANSUhEUgAAA0YAAALUCAYAAAAv/SLkAAAMT/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvTst2InvLine_Xml_A2.pdf</FileName>
                        <MimeCode>application/pdf</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>JVBERi0xLjQKJaqrrK0KMSAwIG9iago8PAovVGl0bGUgKFBER/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvoiceTestXMLINVLine_Xml_A2.xml</FileName>
                        <MimeCode>text/xml</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIH/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvoiceTestExcelINVLine_Xml_A2.xlsx</FileName>
                        <MimeCode>application/vnd.ms-excel</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>UEsDBBQABgAIAAAAIQCpD2g4fwEAAAIFAAATAAgCW0NvbnRlbn/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvoiceTestCSVINVLine_Xml_A2.csv</FileName>
                        <MimeCode>text/csv</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>Im51bWJlciIsInN1cHBsaWVyX2ludm9pY2VfbnVtYmVyIiwic/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvoiceTestJsonINVLine_Xml_A2.json</FileName>
                        <MimeCode>application/json</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>eyJyZWNvcmRzIjpbeyJyZXF1aXJlc19hY2tub3dsZWRnZW1lb/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvoiceTestdocINVLine_Xml_A2.docx</FileName>
                        <MimeCode>application/vnd.openxmlformats-officedocument.wordprocessingml.document</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>UEsDBBQABgAIAAAAIQDnIQddcAEAANcFAAATAAgCW0NvbnRlb/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvoiceLinePPT_Xml_A2.pptx</FileName>
                        <MimeCode>application/vnd.ms-powerpoint</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>UEsDBBQABgAIAAAAIQAPBpW0tQEAAHgMAAATAAgCW0NvbnRlb/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvoiceLineRichText_Xml_A2.rtf</FileName>
                        <MimeCode>application/rtf</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcY29jb2FydGYyODIyC/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                    <Attachment>
                        <FileName>10InvcImageJPG_InvcLine_Xml_A2.jpg</FileName>
                        <MimeCode>image/jpeg</MimeCode>
                        <Encoding>base64</Encoding>
                        <Content>/9j/4AAQSkZJRgABAQEA8ADwAAD/2wCEAAoHBwcIBwoICAoPC/Base64EncodingIntentionallyTruncated=</Content>
                    </Attachment>
                </Attachments>
            </InvoiceLine>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-#002</ExternalInvoiceNumber>
                <LineDescription>Negative Tax</LineDescription>
                <PurchaseOrderLine>48896981</PurchaseOrderLine>
                <POLineDescription>Keyboards</POLineDescription>
                <LineQuantity>12</LineQuantity>
                <LineUnitPrice>10.00</LineUnitPrice>
                <Subtotal>200.00</Subtotal>
                <LineAmountInvoiced>100</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00001</CostCenter>
                <GLAccount>100001</GLAccount>
                <TaxCode>A0 Sales Tax</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
                <TaxDetails>
                    <TaxDetail>
                        <TaxType>Value added tax</TaxType>
                        <TaxAmount></TaxAmount>
                        <TaxRate>6</TaxRate>
                    </TaxDetail>
                    <TaxDetail>
                        <TaxType>Withholding tax</TaxType>
                        <TaxAmount>16</TaxAmount>
                        <TaxRate></TaxRate>
                    </TaxDetail>
                </TaxDetails>
            </InvoiceLine>
        </InvoiceLines>
    </Invoice>
    <Invoice>
        <InvoiceType></InvoiceType>
        <SupplierInvoiceNumber>Both taxes</SupplierInvoiceNumber>
        <ExternalInvoiceNumber>EXT-INV-#008</ExternalInvoiceNumber>
        <Supplier>3245545</Supplier>
        <OriginalInvoice></OriginalInvoice>
        <PurchaseOrder>###0004889698</PurchaseOrder>
        <BusinessOwner>paula.smith@example.com</BusinessOwner>
        <DateFormat>DD MMMM, YY</DateFormat>
        <InvoiceDate>5 June, 24</InvoiceDate>
        <PaymentTerms>Net 60</PaymentTerms>
        <LegalEntity>1100</LegalEntity>
        <Subtotal>100.00</Subtotal>
        <ShippingAmount>10.00</ShippingAmount>
        <OtherCharges>10-</OtherCharges>
        <Discounts>10</Discounts>
        <AmountInvoiced>130.00</AmountInvoiced>
        <Currency>USD</Currency>
        <InvoiceLineCount>1</InvoiceLineCount>
        <ShipToCity>Los Angeles</ShipToCity>
        <ShipToCountry>USA</ShipToCountry>
        <ShipToStateOrProvince>CA</ShipToStateOrProvince>
        <ShipToStreet>456 Oak Ave</ShipToStreet>
        <ShipToZipOrPostalCode>90001</ShipToZipOrPostalCode>
        <ShipFromCity>Addison</ShipFromCity>
        <ShipFromCountry>USA</ShipFromCountry>
        <ShipFromStateOrProvince>TX</ShipFromStateOrProvince>
        <ShipFromStreet>15725 Dallas P</ShipFromStreet>
        <ShipFromZipOrPostalCode>55555</ShipFromZipOrPostalCode>
        <RemitAddress>47 W 11th St</RemitAddress>
        <RemitToCity>New York</RemitToCity>
        <RemitToCountry>USA</RemitToCountry>
        <RemitToStateOrProvince>NY</RemitToStateOrProvince>
        <RemitToZipOrPostalCode>99999</RemitToZipOrPostalCode>
        <BillToStreet>4810 Eastgate Mall</BillToStreet>
        <BillToCity>San Diego</BillToCity>
        <BillToCountry>USA</BillToCountry>
        <BillToStateOrProvince>CA</BillToStateOrProvince>
        <BillToZipOrPostalCode>92121</BillToZipOrPostalCode>
        <SupplierTaxID>7894328742</SupplierTaxID>
        <TaxDetails>
            <TaxDetail>
                <TaxType>SGST</TaxType>
                <TaxAmount>21</TaxAmount>
                <TaxRate></TaxRate>
            </TaxDetail>
            <TaxDetail>
                <TaxType>IGST</TaxType>
                <TaxAmount></TaxAmount>
                <TaxRate>23</TaxRate>
            </TaxDetail>
        </TaxDetails>
        <InvoiceLines>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-008</ExternalInvoiceNumber>
                <LineDescription>Apple macbook 15 Pro</LineDescription>
                <PurchaseOrderLine>#ABC00048896981</PurchaseOrderLine>
                <POLineDescription>NowX Laptop</POLineDescription>
                <LineQuantity>10</LineQuantity>
                <LineUnitPrice>10.00</LineUnitPrice>
                <Subtotal>-200.00</Subtotal>
                <LineAmountInvoiced>100</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00005</CostCenter>
                <GLAccount>100001</GLAccount>
                <TaxCode>A0 Sales Tax</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
                <TaxDetails>
                    <TaxDetail>
                        <TaxType>SGST</TaxType>
                        <TaxAmount>12</TaxAmount>
                        <TaxRate></TaxRate>
                    </TaxDetail>
                </TaxDetails>
            </InvoiceLine>
        </InvoiceLines>
    </Invoice>
    <Invoice>
        <InvoiceType>credit_memo</InvoiceType>
        <SupplierInvoiceNumber>no taxes</SupplierInvoiceNumber>
        <ExternalInvoiceNumber>EXT-INV-#009</ExternalInvoiceNumber>
        <Supplier>3245545</Supplier>
        <OriginalInvoice>Both taxes</OriginalInvoice>
        <PurchaseOrder></PurchaseOrder>
        <BusinessOwner>Paula Smith</BusinessOwner>
        <DateFormat></DateFormat>
        <InvoiceDate>2024-06-03</InvoiceDate>
        <PaymentTerms>Net 60</PaymentTerms>
        <LegalEntity>US</LegalEntity>
        <Subtotal>100.00</Subtotal>
        <ShippingAmount>10.00</ShippingAmount>
        <OtherCharges>10</OtherCharges>
        <Discounts>10</Discounts>
        <AmountInvoiced>130.00</AmountInvoiced>
        <Currency>USD</Currency>
        <InvoiceLineCount>1</InvoiceLineCount>
        <ShipToCity>Los Angeles</ShipToCity>
        <ShipToCountry>USA</ShipToCountry>
        <ShipToStateOrProvince>CA</ShipToStateOrProvince>
        <ShipToStreet>456 Oak Ave</ShipToStreet>
        <ShipToZipOrPostalCode>90001</ShipToZipOrPostalCode>
        <ShipFromCity>Addison</ShipFromCity>
        <ShipFromCountry>USA</ShipFromCountry>
        <ShipFromStateOrProvince>TX</ShipFromStateOrProvince>
        <ShipFromStreet>15725 Dallas P</ShipFromStreet>
        <ShipFromZipOrPostalCode>55555</ShipFromZipOrPostalCode>
        <RemitAddress>47 W 11th St</RemitAddress>
        <RemitToCity>New York</RemitToCity>
        <RemitToCountry>USA</RemitToCountry>
        <RemitToStateOrProvince>NY</RemitToStateOrProvince>
        <RemitToZipOrPostalCode>99999</RemitToZipOrPostalCode>
        <BillToStreet>4810 Eastgate Mall</BillToStreet>
        <BillToCity>San Diego</BillToCity>
        <BillToCountry>USA</BillToCountry>
        <BillToStateOrProvince>CA</BillToStateOrProvince>
        <BillToZipOrPostalCode>92121</BillToZipOrPostalCode>
        <SupplierTaxID>7894328742</SupplierTaxID>
        <InvoiceLines>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-008</ExternalInvoiceNumber>
                <LineDescription>Apple macbook 15 Pro</LineDescription>
                <PurchaseOrderLine>#ABC00048896981</PurchaseOrderLine>
                <POLineDescription>NowX Laptop</POLineDescription>
                <LineQuantity>10</LineQuantity>
                <LineUnitPrice>10.00-</LineUnitPrice>
                <Subtotal>100.00</Subtotal>
                <LineAmountInvoiced>100</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00005</CostCenter>
                <GLAccount>141200</GLAccount>
                <TaxCode>A0 Sales Tax</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
            </InvoiceLine>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-008</ExternalInvoiceNumber>
                <LineDescription>Apple macbook 15 Pro</LineDescription>
                <PurchaseOrderLine>#ABC00048896981</PurchaseOrderLine>
                <POLineDescription>NowX Laptop</POLineDescription>
                <LineQuantity>10</LineQuantity>
                <LineUnitPrice>10.00</LineUnitPrice>
                <Subtotal>100.00</Subtotal>
                <LineAmountInvoiced>100</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00001</CostCenter>
                <GLAccount>100002</GLAccount>
                <TaxCode>A0 Sales Tax</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
            </InvoiceLine>
        </InvoiceLines>
    </Invoice>
    <Invoice>
        <InvoiceType></InvoiceType>
        <SupplierInvoiceNumber>LineLevelTaxes</SupplierInvoiceNumber>
        <ExternalInvoiceNumber>EXT-INV-#0010</ExternalInvoiceNumber>
        <Supplier>3245545</Supplier>
        <PurchaseOrder></PurchaseOrder>
        <BusinessOwner>Paula Smith</BusinessOwner>
        <DateFormat>MMM DD, YYYY</DateFormat>
        <InvoiceDate>Aug 3, 2024</InvoiceDate>
        <PaymentTerms>Net 60</PaymentTerms>
        <LegalEntity>US</LegalEntity>
        <Subtotal>100</Subtotal>
        <ShippingAmount>10</ShippingAmount>
        <OtherCharges>10</OtherCharges>
        <Discounts>10</Discounts>
        <AmountInvoiced>10</AmountInvoiced>
        <Currency>USD</Currency>
        <InvoiceLineCount>1</InvoiceLineCount>
        <ShipToCity>Los Angeles</ShipToCity>
        <ShipToCountry>USA</ShipToCountry>
        <ShipToStateOrProvince>CA</ShipToStateOrProvince>
        <ShipToStreet>456 Oak Ave</ShipToStreet>
        <ShipToZipOrPostalCode>90001</ShipToZipOrPostalCode>
        <ShipFromCity>Addison</ShipFromCity>
        <ShipFromCountry>USA</ShipFromCountry>
        <ShipFromStateOrProvince>TX</ShipFromStateOrProvince>
        <ShipFromStreet>15725 Dallas P</ShipFromStreet>
        <ShipFromZipOrPostalCode>55555</ShipFromZipOrPostalCode>
        <RemitAddress>47 W 11th St</RemitAddress>
        <RemitToCity>New York</RemitToCity>
        <RemitToCountry>USA</RemitToCountry>
        <RemitToStateOrProvince>NY</RemitToStateOrProvince>
        <RemitToZipOrPostalCode>99999</RemitToZipOrPostalCode>
        <BillToStreet>4810 Eastgate Mall</BillToStreet>
        <BillToCity>San Diego</BillToCity>
        <BillToCountry>USA</BillToCountry>
        <BillToStateOrProvince>CA</BillToStateOrProvince>
        <BillToZipOrPostalCode>92121$%ad</BillToZipOrPostalCode>
        <SupplierTaxID>7894328742</SupplierTaxID>
        <InvoiceLines>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-008</ExternalInvoiceNumber>
                <LineDescription>Apple macbook 15 Pro</LineDescription>
                <PurchaseOrderLine></PurchaseOrderLine>
                <POLineDescription>NowX Laptop</POLineDescription>
                <LineQuantity>10</LineQuantity>
                <LineUnitPrice>20</LineUnitPrice>
                <Subtotal>-200¥</Subtotal>
                <LineAmountInvoiced>200$</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00005</CostCenter>
                <GLAccount>141300</GLAccount>
                <TaxCode>A0 Sales Tax</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001ACD@</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
                <TaxDetails>
                    <TaxDetail>
                        <TaxType>SGST</TaxType>
                        <TaxAmount>12</TaxAmount>
                        <TaxRate></TaxRate>
                    </TaxDetail>
                    <TaxDetail>
                        <TaxType>CGST</TaxType>
                        <TaxAmount></TaxAmount>
                        <TaxRate>15</TaxRate>
                    </TaxDetail>
                    <TaxDetail>
                        <TaxType>Withholding tax</TaxType>
                        <TaxAmount>13</TaxAmount>
                        <TaxRate>13</TaxRate>
                    </TaxDetail>
                </TaxDetails>
            </InvoiceLine>
        </InvoiceLines>
    </Invoice>
    <Invoice>
        <InvoiceType></InvoiceType>
        <SupplierInvoiceNumber>LineLevelTaxes</SupplierInvoiceNumber>
        <ExternalInvoiceNumber>EXT-INV-#0010</ExternalInvoiceNumber>
        <Supplier>3245545</Supplier>
        <PurchaseOrder></PurchaseOrder>
        <BusinessOwner>Paula Smith</BusinessOwner>
        <DateFormat>MMMM DD, YYYY</DateFormat>
        <InvoiceDate>september 1st, 2024</InvoiceDate>
        <PaymentTerms>Net 60</PaymentTerms>
        <LegalEntity>US</LegalEntity>
        <Subtotal>100</Subtotal>
        <ShippingAmount>10</ShippingAmount>
        <OtherCharges>10</OtherCharges>
        <Discounts>10</Discounts>
        <AmountInvoiced>10</AmountInvoiced>
        <Currency>USD</Currency>
        <InvoiceLineCount>1</InvoiceLineCount>
        <ShipToCity>Los Angeles</ShipToCity>
        <ShipToCountry>USA</ShipToCountry>
        <ShipToStateOrProvince>CA</ShipToStateOrProvince>
        <ShipToStreet>456 Oak Ave</ShipToStreet>
        <ShipToZipOrPostalCode>90001</ShipToZipOrPostalCode>
        <ShipFromCity>Addison</ShipFromCity>
        <ShipFromCountry>USA</ShipFromCountry>
        <ShipFromStateOrProvince>TX</ShipFromStateOrProvince>
        <ShipFromStreet>15725 Dallas P</ShipFromStreet>
        <ShipFromZipOrPostalCode>55555</ShipFromZipOrPostalCode>
        <RemitAddress>47 W 11th St</RemitAddress>
        <RemitToCity>New York</RemitToCity>
        <RemitToCountry>USA</RemitToCountry>
        <RemitToStateOrProvince>NY</RemitToStateOrProvince>
        <RemitToZipOrPostalCode>99999</RemitToZipOrPostalCode>
        <BillToStreet>4810 Eastgate Mall</BillToStreet>
        <BillToCity>San Diego</BillToCity>
        <BillToCountry>USA</BillToCountry>
        <BillToStateOrProvince>CA</BillToStateOrProvince>
        <BillToZipOrPostalCode>92121$%ad</BillToZipOrPostalCode>
        <SupplierTaxID>7894328742</SupplierTaxID>
        <InvoiceLines>
            <InvoiceLine>
                <ExternalInvoiceNumber>EXT-INV-008</ExternalInvoiceNumber>
                <LineDescription>Apple macbook 15 Pro</LineDescription>
                <PurchaseOrderLine></PurchaseOrderLine>
                <POLineDescription>NowX Laptop</POLineDescription>
                <LineQuantity>10</LineQuantity>
                <LineUnitPrice>20</LineUnitPrice>
                <Subtotal>-200¥</Subtotal>
                <LineAmountInvoiced>200$</LineAmountInvoiced>
                <Currency>USD</Currency>
                <CostCenter>ACN00005</CostCenter>
                <GLAccount>141300</GLAccount>
                <TaxCode>A0 Sales Tax</TaxCode>
                <ShipToCity>New York</ShipToCity>
                <ShipToCountry>USA</ShipToCountry>
                <ShipToStateOrProvince>New York</ShipToStateOrProvince>
                <ShipToStreet>PA112</ShipToStreet>
                <ShipToZipOrPostalCode>1001ACD@</ShipToZipOrPostalCode>
                <SupplierPartNumber>SPN1211</SupplierPartNumber>
                <UOM>Individual Unit</UOM>
                <TaxDetails>
                    <TaxDetail>
                        <TaxType>SGST</TaxType>
                        <TaxAmount>12</TaxAmount>
                        <TaxRate></TaxRate>
                    </TaxDetail>
                    <TaxDetail>
                        <TaxType>CGST</TaxType>
                        <TaxAmount></TaxAmount>
                        <TaxRate>15</TaxRate>
                    </TaxDetail>
                    <TaxDetail>
                        <TaxType>Withholding tax</TaxType>
                        <TaxAmount>13</TaxAmount>
                        <TaxRate>13</TaxRate>
                    </TaxDetail>
                </TaxDetails>
            </InvoiceLine>
        </InvoiceLines>
    </Invoice>
    <TargetERP>ERP1</TargetERP>
</Invoices>'

The following result shows that the request is successful and the invoice data is processing. You can view the status of the request in the Invoice integration log [sn_spend_intg_invoice_integration_log] table. Use the batch ID listed in the Batch ID column to find the invoice.

{
    "batchId": "APIINV1736249646168148",
    "status": "Success",
    "message": "Your request has been successfully received and is being processed."
}