Supported countries and formats
TrustWeaver supports e-invoice signing, clearance, and archiving across a range of countries, document formats, and signature formats.
Use this section to confirm that your target countries, document types, and signature types are supported before implementing an integration.
- Supported countries
- Countries available for archiving, signing, and clearance
- Supported document formats
- Input document formats that TrustWeaver accepts
- Supported signature formats
- Standard and cleared invoice signature formats
- Document and signature format combinations
- Valid pairings of document and signature formats
Supported countries
Country support in TrustWeaver is defined by the Compliance Map, which documents the compliant processes and technical requirements for e-invoicing compliance and archiving for each supported country, organized by supplier and buyer functionality.
The Compliance Map is the authoritative source for country-specific information. Sovos maintains it on a continuous basis as regulations change, and it serves as the primary reference for country scope, document format requirements, and compliant process definitions. Contact Sovos Support for access to the Compliance Map and to confirm the countries active in your contract.
The Compliance Map is designed to serve as a structured information backbone for the hub's compliance documentation. Based on it, someone such as a tax auditor reviewing the hub's processes can check the requirements and compliant processes used for any given e-invoice at any time.
The Compliance Map also indicates when previous contact with local authorities, including obtaining pre-approval, is required or recommended before storing e-invoices in a given country. Review the Compliance Map before implementing support for a new country.
Compliance Map structure
The Compliance Map is organized by functionality, divided into supplier and buyer perspectives. Each perspective is further divided into two areas:
- Supplier
-
- Issuance
-
Covers the requirements and supported processes for issuing e-invoices on behalf of the supplier. This includes signing, clearance submission, and any country-specific steps required before the invoice is delivered to the buyer.
- Storage
-
Covers the archiving obligations that apply to the supplier after issuance, including required document formats, retention periods, metadata requirements, and any automated preservation processes that runs on the supplier's behalf.
- Buyer
-
- Receipt
-
Covers the requirements that apply when the buyer receives an e-invoice, including signature validation obligations. In most post-audit countries, the buyer is implicitly required to validate the supplier's signature on receipt to be able to demonstrate the integrity and authenticity of the invoice throughout the storage period.
- Storage
-
Covers the archiving obligations that apply to the buyer, which may differ from those of the supplier in the same country. Many countries require separate storage for supplier and buyer copies.
Not all levels apply to every country. Some countries require only signing and archiving, while others also require clearance. The Compliance Map defines the applicable levels for each country and the specific requirements within them.
Supported document formats
The following table lists all supported input document formats. Not all formats are compatible with all signature types. For valid pairings, see Document and signature format combinations.
| Format | Description |
|---|---|
| Binary | No restrictions exist for this document type. |
| MIME | The document must be MIME-encoded by specifying at least Content-Type and Content-Transfer-Encoding, if applicable. |
The document must be a valid PDF. When signing with S/MIME, the MIME representation is Content-Type: application/pdf and Content-Transfer-Encoding: base64. |
|
| XML | The document must be well-formed XML with the XML declaration omitted or set to version 1.0 and encoding UTF-8. Any other XML version or encoding is not supported and is considered a client error. When signing with S/MIME, the MIME representation is Content-Type: text/xml; charset="utf-8". |
| cXML | The document must be well-formed XML with the XML declaration omitted or set to version 1.0 and encoding UTF-8. When used with an XML signature, you must canonicalize the document before sending it (C14N or C14N v1.1) and then the the signature element is automatically inserted as an enveloped signature. When signing with S/MIME, the MIME representation is Content-Type: text/xml; charset="utf-8". |
| EANCOM | The document must be a well-formed EDIFACT message with no line breaks. The document must contain at least the mandatory UNB segment, with the optional UNA segment detected automatically. The EDIFACT document segment structure must match UNA(O)+UNB(M)+UNH(M)+[Message]+UNT(M)+UNZ(M), where "O" is "optional" and M is "mandatory". The filter function specified in the USH segment determines which filter is applied in the entire message. It must be compatible with the character set specified in the UNB segment. |
| Facturae | The document must be well-formed XML with the XML declaration omitted or set to version 1.0 and encoding UTF-8. The document root must be in the Facturae namespace, starting with http://www.facturae.es. |
| FatturaPA | Document supporting B2B and B2G invoicing in Italy. |
| FatturaPA Relaxed (FATTURAPAR) |
FatturaPA v1.2 document supporting B2B and B2C clearance invoicing in Italy. A relaxed version of the standard FatturaPA format, where TrustWeaver adds certain elements as intermediary service provider. See fatturapa.gov.it. Use FatturaPA Relaxed for B2B and B2G clearance flows. A valid FatturaPA Relaxed document must comply with the following constraints:
|
| eSLOG | Document supporting the Slovenian eSLOG format. |
| Mexican CFDI XML invoice (MXCFDI) | CFDI version 4.0. Supports both issuance and CTC validation. |
| Brazilian (BRNFE) invoices and CT-e invoices | Only CTC validation is supported. |
| HashedDoc | The document must be well-formed XML and comply with the HashedDoc schema. Use this format when you need a detached PKCS7 signature and the document data should not be sent in the request, for example, due to size or non-disclosure requirements. The algorithm for calculating the digest is specified by its OID. When signing with S/MIME, the MIME representation is Content-Type: text/xml; charset="utf-8". |
| Peruvian invoice (PEINV) | Only CTC validation is supported. |
| UBL invoice | UBL invoice document. |
| Indian Invoice Document JSON (INIDJSON) | Invoice documents used to issue Indian invoices. |
| INCDJSON | Indian Cancellation Document JSON |
| INEDJSON | Indian EWB (e-Waybill) Issuance Document JSON |
| INECDJSON | Indian EWB Cancellation Document JSON |
| JSON Web Token | JSON Web Signature (JWS), an IETF-proposed standard (RFC7515) for signing arbitrary JSON data. |
| KRREGNTSD | South Korean Invoice Document XML |
| Malaysian Invoice UBL (MYUBL) | Invoice documents used to issue Malaysian invoices, UBL 2.1 format. |
| Malaysian JSON Invoice (MYJSON) | Invoice documents used to issue Malaysian invoices using the UBL 2.1 JSON Alternative Representation Version 2.0. |
| Turkish UBL Invoice (UBLTR) | Turkish UBL invoice. |
| Turkish UBL Invoice for e-Arsiv (UBLTRA) | Turkish UBL invoice for e-Arsiv. |
| CII | UN/CEFACT Cross Industry Invoice (CII) format, version D16B. |
| PEPPOL BIS 3 | PEPPOL BIS 3 format, UBL version 2.1. |
Archiving.DocumentFormat field in the SBDH. For archiving-specific format codes such as CLDTE, BRNFE, and MXCFDI, refer to Archive documents or contact the Sovos Support.
Supported signature formats
Standard signature formats
The following signature formats are available for general signing and validation operations:
| Signature format | Description |
|---|---|
| IDEAL (EDIFACT) | An EDIFACT signature profile. Only a single signature is supported. The EDIFACT input document segment structure must match UNA(O)+UNB(M)+UNH(M)+[Message]+UNT(M)+UNZ(M). The signed output matches UNA(O)+UNB(M)+UNH(M)+SG1(M)+[Message]+SG54(M)+UNT(M)+UNZ(M). The signature algorithm is SHA1 with RSA . The signing certificate identification in the USC segment contains the certificate serial number, issuer DN, and subject DN. Supported filters are HEX, EDA, and EDC. All signatures produced by TrustWeaver-Signing can also be validated. |
| IDEAL2 | Equivalent to IDEAL, configured to use the SHA256 signature hash algorithm. |
| GS1AT (EDIFACT) | An EDIFACT signature profile. Only a single signature is supported. The EDIFACT input document segment structure must match UNA(O)+UNB(M)+UNH(M)+[Message]+UNT(M)+UNZ(M). The signed output matches UNA(O)+UNB(M)+UNH(M)+SG1(M)+[Message]+SG54(M)+UNT(M)+UNZ(M). The signature algorithm is SHA1 with RSA. The signing certificate identification in the USC segment contains the certificate serial number and issuer DN. The filter function is BASE64. All signatures produced by TrustWeaver-Signing can also be validated. |
| GS1AT2 | Equivalent to GS1AT, configured to use the SHA256 signature hash algorithm. |
| AECOC (EDIFACT) | An EDIFACT signature profile. Only a single signature is supported. The signature uses RSA with ISO/IEC 9796-2 scheme 2 and the SHA1 hash algorithm. The AECOC signature format requires EDC as the filter function. The certificate package is a certificates-only PKCS7 object. The sender and receiver GLN values are retrieved from the UNB segment (S002/0004 and S003/0010 respectively). All signatures produced by TrustWeaver-Signing can also be validated.
Note:
Because AECOC requires EDC as the filter function, the character set specified in the UNB segment must be compatible; use UNOC. AECOC is a Spanish standard and only works for signatures that fulfill the sufficient requirements in Spain. |
| AECOC2 | Equivalent to AECOC, configured to use the SHA256 signature hash algorithm. |
| PKCS #7 | Extended to the CAdES-EPES, CAdES-T, and CAdES-A profiles. Both encapsulated and detached signatures are supported.
|
| S/MIME | When signing with S/MIME, all MIME headers not starting with "Content" are placed at the beginning of the resulting S/MIME. The remaining "Content" headers stay as part of the plain text. If no MIME header exists, Content-Type text/plain; charset=us-ascii is added and assumed. The S/MIME produced by sign is a detached S/MIME of type multipart/signed with protocol application/pkcs7-signature, encapsulating the PKCS #7 SignedData profiles. The Mime-Version: 1.0 header is added to the resulting S/MIME. TrustWeaver-Signing doesn't canonicalize the input data before signing. All signatures produced by TrustWeaver-Signing can also be validated. |
| XML Signature | The XML signature produced can be XadES-BES, XadES-EPES, XadES-T, or XadES-A, and is either enveloped or enveloping. If XML is the input format, an enveloping signature is generated. If cXML is the input format, an enveloped signature is generated. Multiple signers are not supported for enveloping signatures. The canonicalization algorithm is inclusive C14n v1.0. All signatures produced by TrustWeaver can also be validated. |
| Enveloped XML Signature | The XML signature produced can be BASIC, XadES-BES, XadES-EPES, XadES-T, or XadES-A, and is always enveloped. All signatures include the KeyInfo element, regardless of job type. BASIC is pure XMLDSIG without XadES extensions. Multiple signers are not supported for signatures using the EnvelopedSignatureTransform, because any additional signature applied after the first will invalidate the previous ones. All signatures produced by TrustWeaver-Signing can also be validated. |
Creates non-visible signatures of type ADBE.PKCS7.DETACHED. The following PDF signature types can be constructed:
ADBE.PKCS7.DETACHED and ADBE.PKCS7.SHA1 can be validated. |
|
| Facturae | Based on FACTURAE. An enveloped signature using the enveloped signature transform. Multiple signers are not supported. Includes a XadES signature policy identifier and a XadES SignerRole with ClaimedRole: third party, and a XadES SigningTime as signed attributes.
Note:
The following values apply to the XAdES signed attributes added by TrustWeaver to Facturae signatures:
|
| FatturaPA | Signed document supporting B2G invoicing in Italy.
Important: This signature format is deprecated. Use document format XML combined with signature format XML Signature instead.
|
| eSLOG | Signed document supporting the Slovenian eSLOG signature format. The XML signature is enveloped. All signatures produced by TrustWeaver-Signing can also be validated. |
| UBL signature | Enveloped XML signature conforming to the UBL Digital Signature Profiles 1.0 specification. |
| MYUBL | Malaysian signature format. |
| MYJSON | Malaysian signature format. |
| CII | UN/CEFACT Cross Industry Invoice (CII) format, version D16B. |
| BIS3 | PEPPOL BIS 3 format, UBL version 2.1. |
For XML-based signature formats (XML Signature, Enveloped XML Signature), all insignificant white space is removed when processing XML by default. To preserve white space for specific elements, set the xml:space attribute to preserve on those elements.
Cleared invoice signature formats
Cleared invoice signature formats require you to send the invoice to a government body of the country of issuance, which approves (clears) the invoice as part of the signature process.
| Signature format | Description |
|---|---|
| Mexican CFDI XML Signature | Proprietary format, not based on XMLDSIG. No applicable signature audit category. Supports the full list of complementos. |
| Brazilian NF-e signatures | Only validation is supported. |
| Turkish UBL Signature | An enveloped XML signature (UBL-TR) based on XMLDSIG. |
| Peruvian e-invoice Signature | An enveloped XML signature (UBL) based on XMLDSIG. |
| Peruvian credit note Signature | An enveloped XML signature (UBL) based on XMLDSIG. |
| Peruvian debit note Signature | An enveloped XML signature (UBL) based on XMLDSIG. |
| FatturaPA clearance signature | An enveloped XML signature based on XMLDSIG and XAdES-BES, supporting clearance invoicing in Italy. |
| INJWS | Indian JSON Web Signature (JWT-based). |
Document and signature format combinations
The document format determines what can be signed, and the signature format specifies the type of signature to apply or validate. The table lists valid combinations only. Combinations not listed are not supported.
| Document format | Applicable signature formats |
|---|---|
| Binary | PKCS #7 |
| MIME | PKCS #7, S/MIME |
| PKCS #7, S/MIME, PDF | |
| XML | PKCS #7, S/MIME, XML Signature, Enveloped XML Signature |
| cXML | PKCS #7, S/MIME, XML Signature |
| EANCOM | EDIFACT signature profiles (IDEAL, IDEAL2, GS1AT, GS1AT2, AECOC, AECOC2) |
| Facturae |
Note:
The following values apply to the XAdES signed attributes added by TrustWeaver to Facturae signatures:
|
| FatturaPA | FatturaPA |
| eSLOG | eSLOG |
| Mexican CFD XML Invoice (MXCFDI) | Mexican CFD XML Signature |
| Turkish UBL Invoice (UBLTR) | Turkish UBL Signature |
| Turkish UBL Invoice for e-Arsiv (UBLTRA) | Turkish UBL Signature |
| HashedDoc | Detached PKCS #7 |
| FatturaPA Relaxed (FATTURAPAR) | FatturaPA clearance signature |
| UBL invoice | UBL signature |
| Indian Invoice Document JSON (INIDJSON) | Indian JSON Web Signature |
| JSON Web Token | JSON Web Signature |
| Malaysian UBL Invoice (MYUBL) | Malaysian UBL signature |
| Malaysian JSON Invoice (MYJSON) | Malaysian JSON Web Signature |
| French Invoice CII | CII |
| French Invoice Peppol Bis3 | BIS3 |
