Skip to content

Brazil

Services with the NFS-e through the national NFS-e system and goods with the NF-e through your state’s SEFAZ, directly and with your certificate.

What it is

In Brazil the document depends on what you sell, and the two are not mixed:

  • Services → national-standard NFS-e (NFS-e de Padrão Nacional), generated by the national NFS-e system from a declaration (DPS) signed with your certificate.
  • Goods → NF-e model 55, authorized by your state’s SEFAZ before the goods leave, with its DANFE.

Cord talks directly to each authority, without an intermediary, using your ICP-Brasil certificate. An invoice that mixes products and services is not issued: Cord asks you to split it in two.

The NFS-e and NF-e are being activated: Cord turns them on country by country. Meanwhile, Settings › Tax profile says Coming soon in both sections and your invoices are issued as commercial invoices. This feature is new and may not be enabled on your account yet. If you don’t see it, contact us.

In Brazil
Default currency BRL (the NFS-e and NF-e are only issued in reais)
Tax No national rate: ISS (services) and ICMS, IPI, PIS, and COFINS (goods) per rail
Tax ID CNPJ / CPF, validated; accepts the alphanumeric CNPJ
Document Commercial invoice today; NFS-e and NF-e once activated
Authority National NFS-e system; your state’s SEFAZ
PDF language Your client’s or, if they have none, your account’s; the NFS-e data and the NF-e DANFE, in Portuguese
Online payments Mercado Pago, with your own account

Requirements

  • Plan: Starter or higher to issue NFS-e or NF-e. On Free, commercial invoice (10 per month).
  • An ICP-Brasil A1 digital certificate for your CNPJ (e-CNPJ, .pfx/.p12), or the e-CPF if you issue as an individual. You buy it from an ICP-Brasil certification authority and pay its cost directly to them. A headquarters e-CNPJ signs for its branches (same root CNPJ), and the same certificate works for the NFS-e and the NF-e.
  • NFS-e: your municipality must have joined the national issuer.
  • NF-e: you must be enabled (credenciado) as an NF-e issuer with your state’s SEFAZ and have your Inscrição Estadual.
  • Permissions: Settings for the tax profile; Quotes to issue; Collections to void.

Taxes

Brazil starts without a national rate on purpose: state ICMS, municipal ISS, and PIS/COFINS don’t fit in a single rate, and suggesting one would be worse than letting you choose. The catalog only has Isento; each document’s taxes are declared by its tax data (Settings and product), not by a line percentage.

Settings › Taxes of an account in Brazil: the starter catalog Cord seeds, with 1 profile, the default one marked and the note that rates apply per line.

The tax reform (CBS 0.9% and IBS 0.1% as a 2026 trial) is not seeded either: it is not charged to those who meet the ancillary obligations.

NFS-e: services

  1. In Settings › Tax profile, complete your CNPJ under Invoice identity.
  2. In the NFS-e section, complete your establishment’s municipality (seven-digit IBGE code), the municipal registration if your municipality requires it, your Simples Nacional status (not opted in, MEI, or ME/EPP; for ME/EPP, the assessment regime and the approximate tax percentage), the special municipal regime if you have one, and the service from the national list (LC 116/2003).
  3. Choose a DPS series exclusive to Cord (1 to 49999) and, if you want, the first number.
  4. If your clients withhold ISS from you, choose the withholding profile from Settings › Taxes that represents it.
  5. Upload your ICP-Brasil A1 certificate with its password. Cord tests the connection with the national NFS-e system when you upload it, with no effects.
Settings › Tax profile, "NFS-e" section of an account in Brazil, with the business details and the certificate uploaded.

How it is built. Cord declares one service per NFS-e: all the invoice’s line items under the configured code, and the description lists them with quantity and price. The service is provided in your municipality and ISS is included in the price: line items cannot add tax on top. Your municipality sets the ISS rate. The document discount travels as an unconditional discount.

Not issued yet: services taxed where they are provided or at the client, construction works and events, exports and foreign currency, base deductions, municipal benefits, immunity or non-incidence, federal withholdings (IRRF, CSLL, PIS/COFINS, INSS), intermediaries, and the reform group (IBS/CBS). Cord rejects them before sending, with the reason.

Cancel. Void invoice asks the national system to cancel the NFS-e. Outside the period or the amount your municipality allows, the cancellation is rejected with the reason and the invoice stays valid.

No credit note. The NFS-e has none: a credit note on an NFS-e is rejected and Cord asks you to void and issue again.

Printing. Cord’s PDF accompanies the NFS-e: it prints its number, competence period, DPS, service, base, rate, and ISSQN, the full access key, and the public lookup QR code. The NFS-e XML is kept.

NF-e: goods

  1. In Settings › Tax profile › NF-e, complete the tax regime (Simples Nacional, MEI, or Regime Normal), your Inscrição Estadual, the establishment address with its IBGE municipality (your state and its SEFAZ come from it), and the CEP.
  2. Under Operation and taxes, choose an NF-e series exclusive to Cord (0 to 889), the nature of the operation, how you sell, freight, and the default PIS and COFINS CST.
  3. On each catalog product, complete the NF-e (sale of goods) section: NCM, CEST if applicable, CFOP, origin, unit, GTIN, your regime’s ICMS (CSOSN in Simples, or rate and FCP in Regime Normal), IPI, and the IBS/CBS classification.
  4. On each client, complete number, district, IBGE municipality, whether they are an ICMS contributor (with their IE), exempt, or a non-contributor, and whether they buy as an end consumer.
  5. If you already uploaded your e-CNPJ for the NFS-e, the NF-e uses it. You can upload another one of the same CNPJ just for the NF-e. Cord checks your SEFAZ’s service status when you upload it, with no effects.
Settings › Tax profile, "NF-e" section of an account in Brazil, with the business details and the certificate uploaded.

What it covers. A sale in reais to a Brazilian recipient with a CNPJ or CPF: Simples Nacional and MEI within the state and to other states; Regime Normal within the state with its own ICMS, IPI, PIS/COFINS, and IBS/CBS (mandatory for Regime Normal since August 3, 2026). ICMS, PIS, COFINS, IBS, and CBS are included in the price; the only tax added to the line is the product’s IPI, and the NF-e total equals Cord’s, to the cent.

Technical contact. The SEFAZ of AM, MS, PE, PR, SC, and TO require the system developer’s details. Cord does not have them yet: if your business is in one of those states, Settings tells you and the NF-e is not issued.

Contingency. If your state’s SEFAZ does not respond, Cord authorizes your NF-e on the virtual contingency service assigned to your state and returns to your SEFAZ by itself when it is back. Settings shows the notice while it lasts.

Cancellation (24 hours). Void invoice cancels the NF-e within 24 hours of its authorization; the invoice panel says until when. After that, the SEFAZ rejects it and the invoice stays valid.

Correction letter. From the invoice panel you can issue up to 20 CC-e. Each letter replaces the previous one and must repeat everything still to be corrected. A CC-e cannot change amounts, quantities, rates, or bases, the issuer or recipient, or the issue or shipping date.

Inutilização. A number that Cord reserved and that never became an authorized NF-e leaves a gap in the series. Settings lists the gaps and whoever manages the tax details declares the range to the SEFAZ, with a reason. Cord never declares them by itself.

DANFE and XML. Cord prints the A4 DANFE with the access key as a barcode and keeps the authorized XML (nfeProc), which is downloaded from the invoice and its public link.

Not issued yet: tax substitution (ST), DIFAL to non-contributors in another state, exports, fuels, withholdings, Regime Normal to another state, returns of goods (another NF-e with purpose 4), and Simples Nacional from January 4, 2027, when its IBS/CBS group becomes mandatory without published rules yet.

Status before the authority

Detail of invoice NFE-1-3418 from Ateliê Paulista (Brazil) to Construtora Horizonte, for R$11,931.60 BRL: items, taxes and balance at the top; below, the invoice details and the NF-e panel with the status before the authority.

Each invoice’s side panel says where it stands with the authority:

Status NFS-e NF-e
Authorized NFS-e issued, with its number and access key NF-e authorized by the SEFAZ, with number, series, access key, and protocol
Waiting Waiting for the national NFS-e system to confirm Waiting for the SEFAZ to authorize (or confirm)
Rejected Did not issue the NFS-e, with the reason The SEFAZ rejected the NF-e, with the reason; or denied its use
Test Test environment: no legal validity Homologação: no legal validity

If a response is lost, Cord checks with the authority before doing anything: it never resends a document that may have arrived.

Get paid online

Cord Payments does not open accounts in Brazil. Online collection runs on your own Mercado Pago account:

  • Mercado Pago, on the quote link and the invoice link, with the methods Mercado Pago has enabled on your account. The money lands in your Mercado Pago account.
  • You can also record a transfer by hand.

Plan limits

Plan Commercial invoices per month NFS-e and NF-e included per month
Free 10 No tax issuance included
Starter Unlimited 30
Pro Unlimited 200
Scale Unlimited 500
Developer Unlimited 1,000

Homologação documents do not count.

Common problems

My invoice is not issued and says it mixes products and services. Split it in two: services go on the NFS-e and goods on the NF-e.

Settings says my state requires data Cord does not have. Your business is in AM, MS, PE, PR, SC, or TO, which require the technical contact. Contact us.

I can’t cancel an NF-e. More than 24 hours have passed since its authorization. Correct it with a correction letter if what changes allows it.

The municipality rejected the NFS-e. Your municipality has not joined or has no active agreement, or the service is taxed where it is provided. The message says which.