Introduction
- When setting up your remit-to address, your VAT ID must begin with 4, followed by nine digits, for example: 4012345678
- All tax amounts must include the
alternateAmount
andalternateCurrency
attributes. The alternate currency must be set toZAR
. See Providing Amounts in Local Currency for more info. - When adding a tax exempt line or creating a reverse change invoice, add this element to your cXML:
<Description xml:lang="en-US">Line level exemption reason</Description>
- Include the
<Description>
element immediately after<tax-amount>.
It's required when the TaxDetails category contains an exemption. See Add Tax Exemption Details to an Invoice for more info. - Credit memos must include an Original Invoice Number, Original Invoice Date, and a Credit Reason.
Invoice content requirements
Invoice Content Field | Mandatory/Conditional | Comments |
---|---|---|
Name | Mandatory | The full name of the supplier |
Address | Mandatory | The address of the supplier |
Tax Reg. Number | Conditional | The VAT registration number of the supplier |
Bank Account | Recommended | The domicile and the number of at least one bank account of which the company is holder at a credit institution |
Bank Account No. | Recommended | See above row "Bank Account" |
Name | Conditional | The full name of the buyer. Only required where consideration exceeds ZAR 5 000 |
Address | Conditional | The address of the buyer. Only required where consideration exceeds ZAR 5 000 |
Tax Reg. Number | Conditional | The VAT registration number of the buyer. Only required where consideration exceeds ZAR 5 000 |
Invoice Date | Mandatory | The date of issue of the invoice |
Invoice Number | Mandatory | The number under which the invoice is mentioned in the sales journal of the supplier |
Currency | Mandatory | The currency which is used in the transaction |
Local Currency | Conditional | The local currency. SA currency (ZAR) must be used. Foreign currency may also appear on the tax invoice if converted to ZAR in terms of the requirements in Binding General Ruling 11. |
Local Currency Net | Conditional | The amount payable (VAT excluded) in ZAR. |
Local Currency Tax | Conditional | The VAT amount expressed in ZAR |
Local Currency Gross | Conditional | The amount payable (VAT included) in ZAR |
Exchange Rate | Recommended | The exchange rate between ZAR and the currency which is used in the transaction |
Original Invoice Number | Conditional | The original invoice number. The document is issued to correct the original invoice. Required to provide information that is sufficient to identify the transaction to which the credit note refers, the original invoice number is the easiest way to do that. |
Original Invoice Date | Conditional | The original invoice date |
Credit Reason | Conditional | Reason for issuing a credit note |
Net Total | Mandatory | The total amount payable (VAT excluded) |
Tax Total | Mandatory | The total VAT amount |
Gross Total | Conditional | The total amount payable (VAT included) |
Payment Terms | Recommended | The payment terms |
Early Payment Discount | Conditional | The discount received in case of early payment |
Quantity | Mandatory | The quantity of the goods supplied or the extent and nature of the services rendered |
Description | Mandatory | Display the description/ nature of the goods or services |
Tax Rate | Mandatory | Applicable VAT rate (per good/ service) |
Tax Amount | Mandatory | VAT payable |
Tax Invoice | Mandatory | The words "Tax Invoice", "VAT invoice" "Invoice" |
Credit Note/ Debit Note | Conditional | The words "Credit note/ Debit note" |
Extrinsic fields
The following extrinsics are required to send a compliance-assured South African invoice. You may require additional extrinsics specific to your industry or billing situation:
ExchangeRate
EarlyPaymentProvisions
Other extrinsics may be required based on your specific invoicing scenario. See Adding Extrinsics to Your Invoice for more info.
Example invoices
SA Invoice with Line Level Taxation - VAT Exempt
Sample cXML invoice with VAT exemption for South Africa.
SA Simple Backed Invoice (Quantity Based)
Sample cXML quantity-based, PO-backed invoice and the corresponding PDF version for South Africa.
SA Simple Unbacked Invoice (Contract Based)
Sample cXML unbacked invoice that's based on a contract and the corresponding PDF version for South Africa.
SA Simple Credit Note for Backed Invoice
Sample cXML credit note for backed invoices and the corresponding PDF version for South Africa.
SA Simple Credit Note for Unbacked Invoice
Sample cXML credit note for unbacked invoices and the corresponding PDF version for South Africa.
Sample cXML invoice with payment terms and the corresponding PDF version for South Africa.
SA Invoice with Multiple Lines and PO References
Sample cXML invoice with lines that reference multiple PO's, and the corresponding PDF version for South Africa.
SA Invoice with Line Level Taxation
Sample cXML invoice with line level taxation and the corresponding PDF version for South Africa.
Sample cXML invoice with a discount and the corresponding PDF version for South Africa.
SA Invoice With Custom Fields (Extrinsic)
Sample cXML invoice with custom fields (a.k.a. extrinsics) and the corresponding PDF version for South Africa.
SA Invoice With Line Level Custom Fields (Extrinsic)
Sample cXML invoice with line level custom fields (a.k.a. extrinsics) and the corresponding PDF version for South Africa.
- Table Of Contents
-
For Customers
- Supplier Enablement Strategy
- Supplier Enablement Toolkit
- Understanding Open Buy for Customers
-
Supplier Enablement FAQ
- Can I add a link to the punchout site on a webform?
- Can I use an existing SIM form name for a new form?
- Does the PO confirmation lookup valid substitute items?
- How are receipts created for substitute items?
- How does pricing work for substitutions and are substitution prices required to be the same?
- How do I get a copy of the Coupa digital certificate?
- How do users log into the punchout site?
- How do webforms for a punchout get converted into a req?
- Integration Contacts and What Customers Need to Know
- Is there a timeline and process for the creation, transmission, and approval creation of account master data?
- What characters do I need to escape in XML documents?
- What happens if the pack size is different on a substitution?
- What is the minimum requirement for a supplier to do a punchout in Coupa?
- What is the minimum requirement for a supplier to receive orders via cXML from Coupa?
- What is the minimum requirement for a supplier to send invoices to Coupa via cXML?
-
For Suppliers
- Core Supplier Onboarding
-
Getting Started with the Coupa Supplier Portal
-
Set Up the CSP
- Account Merges and Customer Connections
-
Financial Setup
- Add Fiscal Representatives
- How do Early Pay Discounts (EPD) work?
- Set Early Payment Discounts Preferences: Before Invoice Approval
- Set Early Payment Discounts Preferences: After Invoice Approval
- Set Up Legal Entities
- Additional CaaS Information for Korean suppliers
- Account Validation Requirements for Supplier Payment Accounts
- View and Manage Remit-to Information
- Tax Registration
- SFTP and cXML
- Users
- Purchase Orders
- Service Time Sheets
- Manage Workers and Assignments in the CSP
- ASN
- Invoices
- Catalogs
- Payments
- Business Performance
- Sourcing
- Diversity Reports
- Contract Collaboration
- CSP Videos
-
Set Up the CSP
- Coupa Contingent Workforce
-
Supplier Integration Resources
-
Work with Compliant Invoicing
- Adding Extrinsics to Your Invoice
- Add an Encoded Attachment to a cXML Invoice
- Add Tax Exemption Details to an Invoice
- Agreeing to Terms of Use
- Avoiding Bill-To Address Errors
- Compliance as a Service
- Global Compliant cXML Invoicing - UK
- Providing Amounts in Local Currency
- Selecting Your Remit-To Address
- South Africa Compliance Sample cXML
- Using Compliance in Coupa
-
cXML Examples
-
Standard Invoice Examples
- Sample cXML Credit Memo
- Sample cXML Credit Memo Backed by a PO
- Sample cXML for submitting a correction invoice with a link to a disputed invoice
- Sample cXML Invoices with Taxes (PO-backed)
- Sample cXML Invoice Backed by Contract
- Sample cXML Invoice Backed by Multiple POs
- Sample cXML Invoice with Billing Account Distributions
- Sample cXML Invoice with Both Backed and Unbacked Lines
- Sample cXML Invoice with Custom Fields (Extrinsic)
- Sample cXML Invoice with MatchReference Key for 3-Way-Direct Invoice Line to Receipt Matching
- Sample cXML Invoice with Payment Terms
- Sample cXML Service Type Invoice
- Sample cXML Unbacked Invoice
- Sample for Resolving Disputes via Credit Notes
-
Compliant Invoice Examples
-
Austria
- AT Simple Backed Invoice (Quantity Based)
- AT Simple Unbacked Invoice (Contract Based)
- AT Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- AT Simple Credit Note for Backed Invoice
- AT Simple Credit Note for Unbacked Invoice
- AT Invoice with Payment Term
- AT Invoice with Multiple Lines and PO References
- AT Invoice with Header Taxation
- AT Invoice with Line Level Taxation
- AT Invoice with Discount
- AT Invoice with Header Charges (Shipping, Handling, Misc)
- AT Invoice With Custom Fields (Extrinsic)
-
Australia
- AU Simple Backed Invoice (Quantity Based)
- AU Simple Unbacked Invoice (Contract Based)
- AU Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- AU Simple Credit Note for Backed Invoice
- AU Simple Credit Note for Unbacked Invoice
- AU Invoice with Payment Term
- AU Invoice with Multiple Lines and PO References
- AU Invoice with Line Level Taxation
- AU Invoice with Discount
- AU Invoice with Header Charges (Shipping, Handling, Misc)
- AU Invoice With Custom Fields (Extrinsic)
-
Belgium
- BE Simple Backed Invoice (Quantity Based)
- BE Simple Unbacked Invoice (Contract Based)
- BE Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- BE Invoice with Payment Term
- BE Invoice with Multiple Lines and PO References
- BE Invoice with Header Taxation
- BE Invoice with Line Level Taxation
- BE Invoice with Discount
- BE Invoice with Header Charges (Shipping, Handling, Misc)
- BE Invoice With Custom Fields (Extrinsic)
- BE Invoice with Line Level Taxation - VAT Exempt
-
Canada
- CA Simple Backed Invoice (Quantity Based)
- CA Simple Unbacked Invoice (Contract Based)
- CA Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- CA Simple Credit Note for Backed Invoice
- CA Simple Credit Note for Unbacked Invoice
- CA Invoice with Payment Term
- CA Invoice with Multiple Lines and PO References
- CA Invoice with Line Level Taxation
- CA Invoice with Discount
- CA Invoice with Header Charges (Shipping, Handling, Misc)
- CA Invoice With Custom Fields (Extrinsic)
- Czech Republic
-
Denmark
- DE Simple Backed Invoice (Quantity Based)
- DE Simple Unbacked Invoice (Contract Based)
- DE Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- DE Simple Credit Note for Backed Invoice
- DE Simple Credit Note for Unbacked Invoice
- DE Invoice with Payment Term
- DE Invoice with Multiple Lines and PO References
- DE Invoice with Header Taxation
- DE Invoice with Line Level Taxation
- DE Invoice with Discount
- DE Invoice with Header Charges (Shipping, Handling, Misc)
- DE Invoice With Custom Fields (Extrinsic)
-
Finland
- Simple Backed Invoice (Quantity Based)
- Simple Unbacked Invoice (Contract Based)
- Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- Simple Credit Note for Backed Invoice
- Simple Credit Note for Unbacked Invoice
- Invoice with Payment Term
- Invoice with Multiple Lines and PO References
- Invoice with Line Level Taxation
- Invoice with Header Charges (Shipping, Handling, Misc)
- Invoice with Discount
- Invoice With Custom Fields (Extrinsic)
-
France
- Simple Backed Invoice (Quantity Based)
- Simple Unbacked Invoice (Contract Based)
- Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- Simple Credit Note for Backed Invoice
- Simple Credit Note for Unbacked Invoice
- Invoice with Payment Term
- Invoice with Multiple Lines and PO References
- Invoice with Line Level Taxation
- Invoice with Header Charges (Shipping, Handling, Misc)
- Invoice with Discount
- Invoice With Custom Fields (Extrinsic)
-
Germany
- Simple Backed Invoice (Quantity Based)
- Simple Unbacked Invoice (Contract Based)
- Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- Simple Credit Note for Backed Invoice
- Simple Credit Note for Unbacked Invoice
- Invoice with Payment Term
- Invoice with Multiple Lines and PO References
- Invoice with Line Level Taxation
- Invoice with Discount
- Invoice with Header Charges (Shipping, Handling, Misc)
- Invoice With Custom Fields (Extrinsic)
-
Ireland
- IE Simple Backed Invoice (Quantity Based)
- IE Simple Unbacked Invoice (Contract Based)
- IE Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- IE Simple Credit Note for Backed Invoice
- IE Simple Credit Note for Unbacked Invoice
- IE Invoice with Payment Term
- IE Invoice with Multiple Lines and PO References
- IE Invoice with Line Level Taxation
- IE Invoice with Discount
- IE Invoice With Custom Fields (Extrinsic)
- IE Invoice With Line Level Custom Fields (Extrinsic)
- IE Invoice with Line Level Taxation - VAT Exempt
- Italy
- Japan
-
Norway
- Simple Backed Invoice (Quantity Based)
- Simple Unbacked Invoice (Contract Based)
- Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- Simple Credit Note for Backed Invoice
- Simple Credit Note for Unbacked Invoice
- Invoice with Payment Term
- Invoice with Multiple Lines and PO References
- Invoice with Header Taxation
- Invoice with Line Level Taxation
- Invoice with Discount
- Invoice with Header Charges (Shipping, Handling, Misc)
- Invoice With Custom Fields (Extrinsic)
-
Malaysia
- MY Simple Backed Invoice (Quantity Based)
- MY Simple Unbacked Invoice (Contract Based)
- MY Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- MY Simple Credit Note for Backed Invoice
- MY Simple Credit Note for Unbacked Invoice
- MY Invoice with Payment Term
- MY Invoice with Multiple Lines and PO References
- MY Invoice with Line Level Taxation
- MY Invoice with Discount
- MY Invoice with Header Charges (Shipping, Handling, Misc)
- MY Invoice With Custom Fields (Extrinsic)
-
Poland
- PL Simple Backed Invoice (Quantity Based)
- PL Simple Unbacked Invoice (Contract Based)
- PL Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- PL Simple Credit Note for Backed Invoice
- PL Simple Credit Note for Unbacked Invoice
- PL Invoice with Payment Term
- PL Invoice with Multiple Lines and PO References
- PL Invoice with Line Level Taxation
- PL Invoice with Discount
- PL Invoice with Header Charges (Shipping, Handling, Misc)
- PL Invoice With Custom Fields (Extrinsic)
- PL Invoice with Line Level Taxation - VAT Exempt
-
Netherlands
- NL Simple Backed Invoice (Quantity Based)
- NL Simple Unbacked Invoice (Contract Based)
- NL Simple Credit Note for Backed Invoice
- NL Simple Credit Note for Unbacked Invoice
- NL Invoice with Payment Term
- NL Invoice with Line Level Taxation
- NL Invoice with Discount
- NL Invoice with Header Charges (Shipping, Handling, Misc)
- NL Invoice With Custom Fields (Extrinsic)
-
Singapore
- SG Simple Backed Invoice (Quantity Based)
- SG Simple Unbacked Invoice (Contract Based)
- SG Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- SG Simple Credit Note for Backed Invoice
- SG Simple Credit Note for Unbacked Invoice
- SG Invoice with Payment Term
- SG Invoice with Multiple Lines and PO References
- SG Invoice with Line Level Taxation
- SG Invoice with Discount
- SG Invoice with Header Charges (Shipping, Handling, Misc)
- SG Invoice With Custom Fields (Extrinsic)
- SG Invoice with Line Level Taxation - VAT Exempt
- Slovakia
-
South Africa
- SA Simple Backed Invoice (Quantity Based)
- SA Simple Unbacked Invoice (Contract Based)
- SA Simple Credit Note for Backed Invoice
- SA Simple Credit Note for Unbacked Invoice
- SA Invoice with Payment Term
- SA Invoice with Multiple Lines and PO References
- SA Invoice with Line Level Taxation
- SA Invoice with Discount
- SA Invoice With Custom Fields (Extrinsic)
- SA Invoice With Line Level Custom Fields (Extrinsic)
- SA Invoice with Line Level Taxation - VAT Exempt
-
Switzerland
- CH Simple Backed Invoice (Quantity Based)
- CH Simple Unbacked Invoice (Contract Based)
- CH Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- CH Simple Credit Note for Backed Invoice
- CH Simple Credit Note for Unbacked Invoice
- CH Invoice with Payment Term
- CH Invoice with Multiple Lines and PO References
- CH Invoice with Header Taxation
- CH Invoice with Line Level Taxation
- CH Invoice with Discount
- CH Invoice with Header Charges (Shipping, Handling, Misc)
- CH Invoice With Custom Fields (Extrinsic)
- CH Invoice with Line Level Taxation - VAT Exempt
- Spain
-
Sweden
- Simple Backed Invoice (Quantity Based)
- Simple Unbacked Invoice (Contract Based)
- Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- Simple Credit Note for Backed Invoice
- Simple Credit Note for Unbacked Invoice
- Invoice with Payment Term
- Invoice with Multiple Lines and PO References
- Invoice with Header Taxation
- Invoice with Line Level Taxation
- Invoice with Discount
- Invoice with Header Charges (Shipping, Handling, Misc)
- Invoice With Custom Fields (Extrinsic)
-
United Kingdom
- GB Simple Backed Invoice (Quantity Based)
- GB Simple Unbacked Invoice (Contract Based)
- GB Simple Backed and Unbacked Lines Service Invoice (Amount Based)
- GB Simple Credit Note for Backed Invoice
- GB Simple Credit Note for Unbacked Invoice
- GB Invoice with Payment Term
- GB Invoice with Multiple Lines and PO References
- GB Invoice with Header Taxation
- GB Invoice with Line Level Taxation
- GB Invoice with Discount
- GB Invoice with Header Charges (Shipping, Handling, Misc)
- GB Invoice With Custom Fields (Extrinsic)
- UK Invoice with Line Level Taxation - VAT Exempt
- United States of America
-
Austria
- cXML ASNs
-
cXML Error Handling
- Blank error message
- Characteristic(s) of the request is unsupported
- Could not parse cXML document
- cXML invoicing not allowed for supplier
- cXML Version of document is not supported
- Handling Common Special Characters in cXML
- Invalid attributes in document
- Invalid attributes in document. Bill To Address on backed doc and Bill To Address parsed from cXML does not match
- Invalid attributes in document. Extra shipping/handling/misc charges are not permitted
- Invalid attributes in document. Validation failed: Invoice lines order line must be the same type as invoice line...
- Invalid attributes in document. Validation failed: Payment Term Must be present on invoice Invoice header: Payment Term Must be present on invoice
- Invalid attributes in document. Invoice line XX: Account NA does not exist or is not active
- Invalid credentials
- Invalid credentials. Bad credentials
- Invalid order/document reference
- Invalid order/document reference. Order header XX does not belong to supplier XX
- Invalid order/document reference. Could not find order header XX, order line num XX
- Invoice already used
- Invoice Lines is invalid Invoice header
- Request did not validate successfully with DTD
- Request did not validate successfully with DTD. Error: Element InvoiceDetailOrder content does not follow the DTD
- Request Entity Too Large
- Server could not build invoice
- Server not configured to parse request
- Successful TEST error
- PO Line must be the same type as invoice line
- TLS/SSL Errors during PO Transmission
- Unexpected server error
- Invoice cXML Transmission Error Codes
-
Purchase Orders and Punchouts
- cXML Webform Data
- Error: Incorrect Header Check
- Error connecting to the supplier
- PO failed: 5xx or 4xx error response
- PO failed: Connection to supplier failed: 400 Bad Request
- PO failed: Connection to supplier timed out
- PO failed: No status element in setup response:
- PO failed: No status element in setup response: ok
- PO failed: Setup request failed: 4xx Login name is not available
- PO failed: the connection request failed. undefined method send_via_cxml for XX (connection timeout)
- Send Purchase Orders Using cXML
- Punchout failed: Coupa Login
- Punchout failed: getaddrinfo: Name or service not known
- Punchout failed: No status element in setup response (incorrect file format)
- Punchout failed: No status element in setup response (incorrect URL)
- Punchout failed: Punchout failed to return a cart
- Punchout failed: Setup request failed: 4xx Login name is not available
- Punchout Ordering
- Sample cXML Purchase Order with Annotations
- sslv3 handshake failure
- Connection Failed for Undefined Method send_via_cxml
- Sample Punchout Order Message
- Sample Punchout Setup Request
-
Standard Invoice Examples
- Open Buy API Reference
-
Work with Compliant Invoicing
- Able to Enable: Supplier Enablement