Brazil's NF-e: the state authorises the invoice, and CNPJs now may contain letters
In Brazil, per the notices read, a goods invoice is an NF-e: XML that the state tax authority (SEFAZ) validates and authorises before it counts. From July 2026 the 14-character CNPJ that identifies a company can contain letters in its first 12 characters for new registrations, and the NF-e schemas were changed to accept that. Below: how it works as these notices report it, where sources differ, and a local check of a CNPJ or CPF check digit.
How it works (as notices and vendor guides report it)
| Step | What happens |
|---|---|
| Issue | The seller builds the NF-e XML, with a 44-character access key, and signs it with a digital certificate. |
| Authorise | SEFAZ validates the XML against the schema and its rules and returns an authorisation protocol. Without it the goods should not move. |
| Deliver | The seller sends the authorised XML to the buyer; the printed DANFE accompanies the goods. |
| Change | Mistakes are handled by cancellation within a time limit or a correction letter for limited fields, not by editing the XML. |
Where it is unsettled: the start of the test environment for the alphanumeric CNPJ (notices gave 1 June and 15 June 2026; production 1 July 2026), the dates of the separate IBS and CBS tax-reform layout (NT 2025.002-RTC; one source gave testing from 1 July and production from 3 August 2026), and cancellation and correction limits, which were not read. Whether production went live as planned was not confirmed from the sources. These are search excerpts, not the Portal da NF-e. A summary, not tax advice.
Check a CNPJ or CPF
Accepts a 14-character CNPJ (digits or letters, with or without punctuation) or an 11-digit CPF, and tests the shape and both check digits. It does not look anything up, so it cannot say whether the number is registered or matches a name. Measured: on a sample numeric CNPJ, swapping any one of the first 12 characters for another digit is always caught, but allowing letters, 24 of 420 single-character substitutions (5.7%) leave both digits unchanged, so a pass is not a confirmation.
The sample is the alphanumeric example I remember from the announcement. The rule (value = ASCII code minus 48, weights 2 to 9 from the right, mod 11) also reproduces the classic numeric examples 11.222.333/0001-81 and 00.000.000/0001-91; it was not read from the Receita Federal specification.
What this checker does and does not cover
The main checker reads UBL, CII and Factur-X and applies EN 16931 and Peppol rules. It does not read the NF-e XML, has no SEFAZ rules or product-tax catalogues (NCM, CFOP, CST), cannot check a signature or an authorisation, and knows nothing of NFS-e for services, which is a municipal system. Treat the check here as a typo catch only.
Test a file before you send it
For a European or Peppol invoice, open the checker, drop your XML and read the findings, each with a rule ID and a fix (the rule reference). No account, nothing uploaded. No invoice yet? The e-invoice creator turns a form into UBL or CII XML and checks it. Other countries: all side by side Mexico Colombia Chile Japan Saudi Arabia India Italy Bulgaria Czech Republic Denmark Estonia Greece Hungary Latvia Lithuania Portugal Romania Serbia Slovakia Slovenia.
Common questions
What is an NF-e?
An NF-e (Nota Fiscal Eletrônica) is Brazil's electronic invoice for goods: an XML file the seller sends to the state tax authority (SEFAZ), which validates it and returns an authorisation protocol before the goods move. The printed DANFE is only a representation of the XML. This is a summary from vendor and professional-body notices, not advice; confirm with your accountant and the Portal da NF-e.
What is the alphanumeric CNPJ?
Per the notices read, the CNPJ stays 14 characters, but for new registrations the first 12 may be digits or capital letters; the last two remain numeric check digits. Existing CNPJs do not change. Technical note NT 2025.001 set the general rules and NT 2026.004 changed the NF-e and NFC-e schemas, including the access key, to accept letters, with production reported for 1 July 2026. Sources differ on the start of the test environment.
How is the CNPJ check digit calculated?
Each character is worth its ASCII code minus 48, so digits are 0 to 9 and A to Z are 17 to 42. Weights 2 to 9 are applied from the right and repeat; the digit is 0 if the sum modulo 11 is below 2, otherwise 11 minus the remainder. The second digit repeats the sum over the first 13 characters. This page implements that rule and was pinned on examples I know, not read from the Receita Federal specification.
Can this checker validate a Brazilian NF-e?
No. It reads UBL, CII, Factur-X and JSON, not the NF-e XML schema, and has no SEFAZ rules, digital signature or authorisation check. It does test a CNPJ's or CPF's shape and check digits on this page, and a clean result is not an acceptance by SEFAZ.
Open the E-invoice Preflight checker to validate your own invoice file.
More countries
Australia Austria Belgium Croatia Cyprus Finland France Germany Ireland Luxembourg Malaysia Malta Netherlands Nigeria Norway Poland Singapore Invoicenow Spain Sweden Switzerland Turkey Uae Uk Peru Argentina Chile Colombia Uruguay Paraguay Ecuador Indonesia Vietnam