Conceitos NF-e / NFC-e
Modelo 55 vs 65, CRT, CSOSN/CST, homologação e dados fiscais.
Fundamentos fiscais para integrar NF-e (modelo 55) e NFC-e (modelo 65). Todos os endpoints usam o prefixo https://api.nfer.me/v1 e exigem X-API-Key.
Homologação vs produção
environment da empresa define se as emissões vão para SEFAZ de homologação (tpAmb=2) ou produção (tpAmb=1). Notas de homologação não têm validade fiscal. Contadores de série são independentes por ambiente./v1/companies/:idcurl -X PUT https://api.nfer.me/v1/companies/$COMPANY_ID \
-H "X-API-Key: $NFER_KEY" \
-H "Content-Type: application/json" \
-d '{ "environment": "producao" }'Modelo 55 (NF-e) vs 65 (NFC-e)
| NF-e (55) | NFC-e (65) | |
|---|---|---|
| Uso | B2B / e-commerce | Consumidor (PDV) |
| Destinatário | Obrigatório | Pode ser omitido |
| DANFE | A4 | Cupom + QR |
| CSC | Não requer | Obrigatório (nfceIdCsc + nfceTokenCsc) |
| NFER | POST /v1/nfe | POST /v1/nfce |
indFinal × não contribuinte
Destinatário sem IE é tratado como não contribuinte (indIEDest=9). A SEFAZ exige indFinal=1 (consumidor final) — rejeição 696 se vier 0.
NFER normaliza
indFinal=0 e o destinatário for não contribuinte, o NFER grava e transmite como 1. NFC-e (65) já é sempre consumidor final.CRT / ICMS
O CRT do emitente define se os itens usam CSOSN (Simples) ou CST (Regime Normal / excesso).
| CRT | Regime | Itens |
|---|---|---|
| 1 | Simples Nacional | CSOSN (ex.: 102, 500) |
| 2 | SN — Excesso de sublimite | CST |
| 3 | Regime Normal | CST (ex.: 00, 40, 60) |
CSOSN (CRT 1)
102— tributada SN sem crédito103— isenção faixa receita500— ICMS cobrado por ST900— outros
CST (CRT 2/3)
00— tributada integralmente20— redução de base40/41— isenta / não trib.60— cobrado anteriormente por ST
CFOP — comuns
| CFOP | Uso |
|---|---|
5102 | Venda mercadoria adquirida (interna) |
5405 | Venda com ST (SN) |
6102 | Venda interestadual |
6108 | Venda interestadual a não contribuinte |
5949 | Outra saída não especificada |
Com perfil fiscal (fiscalProfileId), o NFER resolve CSOSN/CST/CFOP automaticamente. Override manual: objeto impostos no item.
Dados fiscais
A SEFAZ rejeita a nota se estes campos vierem errados. O NFER sanitiza o XML, mas não inventa dado fiscal válido.
| Campo | Regra |
|---|---|
| cMun | No XML é obrigatório (7 dígitos IBGE da mesma UF). No payload é opcional se houver UF+cidade ou CEP — o NFER resolve na base IBGE. Sem resolução → 400. Nunca fallback SP. |
| UF + CEP | Com xMun resolvem o município. CEP sozinho usa ViaCEP só no cadastro. |
| ncm | 8 dígitos vigentes na TIPI. Código extinto → “NCM inexistente”. |
| modFrete / valorFrete | Modalidade: modFrete / modalidadeFrete (0=emitente, 1=destinatário, 2=terceiros, 9=sem frete). Custo em reais: valorFrete (raiz ou item). Pagamentos incluem o frete. |
| fone | Só dígitos (6–14). Vazio → omitir. |
| ie | DV válido para a UF. Sem IE no cliente → indIEDest=9. “ISENTO” → indIEDest=2. |
CSRT (Paraná): exigência do software house no servidor NFER — fora do payload do ERP.
Certificado A1 — avisos
O NFER verifica o vencimento do certificado diariamente. Com SMTP ativo, envia e-mail ao destinatário fiscal (ou e-mail da empresa) nos marcos de 30, 15, 7, 3 e 1 dia, no dia do vencimento e enquanto estiver expirado. O mesmo aviso aparece no sino do painel e em banner no dashboard — configurável em Configurações → Notificações.
Contingência automática
O ERP não escolhe contingência no payload — o NFER decide no /send.
NF-e 55 — SVC
Se a SEFAZ da UF estiver instável ou fora do ar, o NFER reautoriza sozinho na SVC (servidor federal), no mesmo job.
Consultar se a SEFAZ está no ar
GET /v1/sefaz/status — cStat 107 = em operação. No painel, o badge no header mostra online/offline (e o modo de contingência NFER).| Campo | Em contingência SVC |
|---|---|
| numero / serie | Não mudam |
| chaveAcesso | Pode mudar (tpEmis 6 = SVC-AN ou 7 = SVC-RS entra na chave). Use sempre a chave do webhook ou GET |
| Validade | Nota já autorizada na SVC — pode enviar XML/DANFE ao cliente |
| Depois | Não vem outro número. Cancel/CC-e usam essa mesma chave |
Recuperação automática (probe)
contingency-probe consulta statusServico a cada ~15 minutos: se a SEFAZ responder cStat 107, a empresa volta ao regime normal sem esperar o TTL Redis de 24h. Também desliga ao autorizar com sucesso no autorizador estadual.NFC-e 65 — offline (não é SVC)
NFC-e não usa SVC-AN. Se a SEFAZ cair (timeout / cStat 108/109/584), o NFER assina localmente com tpEmis=9, status contingencia, cupom PDF imprimível e webhook nfe.contingencia. O XML assinado é retransmitido depois (mesmo probe ~15 min).
EPEC (tpEmis=4)
9). NF-e 55: se a SVC também falhar (transporte), o NFER registra EPEC formal (evento 110140), status contingencia, webhook nfe.contingencia; o probe reautoriza depois. SVC continua sendo o caminho automático primário.Só entregue XML/DANFE “com valor fiscal” ao cliente depois de status = autorizada. Em contingência ou rejeição o PDF do cupom existe, mas sem autorização SEFAZ.
Normas & conformidade
Leiaute 4.00
- NT 2025.002 (RTC) — IBS, CBS e Imposto Seletivo (LC 214/2025)
- Webservices
NFe*4por UF - 03/08/2026 — IBS/CBS obrigatório CRT 3 em produção (conforme NT vigente)
Consulte o Portal Nacional da NF-e.