Integrar a emissão de Nota Fiscal de Consumidor Eletrônica (NFC-e modelo 65) diretamente em frentes de caixa (PDV), totens de autoatendimento, aplicativos de delivery e plataformas de e-commerce é um dos maiores desafios de engenharia tributária no varejo brasileiro.
Diferente do modelo tradicional onde o caixa dependia de impressoras fiscais térmicas blindadas e módulos de hardware locais (como os antigos ECFs ou aparelhos SAT no estado de São Paulo), a modernização fiscal permitiu que todo o fluxo de autorização fosse transferido para a nuvem.
Com uma API NFC-e REST moderna, seu sistema envia os dados da venda em formato JSON e recebe, em menos de 1,5 segundo, o XML assinado digitalmente, o protocolo da SEFAZ, o link do QR Code v2 e o DANFE simplificado em PDF pronto para impressão térmica de 80mm ou 58mm.
Neste guia técnico completo, apresentaremos o fluxo operacional de emissão, o payload JSON detalhado, o cálculo de tributos no Simples Nacional e Regime Normal, a arquitetura de contingência offline para a Black Friday e outros picos de venda, e exemplos práticos em cURL e TypeScript.
⚡ Fluxo de Integração e Autorização da NFC-e
A arquitetura de emissão da NFC-e via Notaas desacopla a complexidade dos webservices SOAP das Secretarias da Fazenda estaduais, fornecendo uma camada REST assíncrona e resiliente:
🛒 Fluxo Operacional de Emissão de NFC-e (Modelo 65):
- 1. PDV / E-commerce: Dispara requisição JSON para
POST /api/v1/emitircom itens, CFOP 5.102/5.405, NCM e meios de pagamento (pag).- 2. Notaas Engine: Valida o schema XSD da SEFAZ, assina digitalmente com certificado A1 e gera o hash do QR Code v2 utilizando o CSC do contribuinte.
- 3. SEFAZ Estadual: Processa a requisição e retorna o protocolo de autorização 100 em menos de 1.500ms.
- 4. Impressão & Webhook: Sua aplicação recebe o DANFE em PDF (otimizado para bobinas térmicas de 80mm/58mm) e o evento assinado com HMAC via Webhook.
⚡ Comece a testar sem travar seu caixa: A Notaas oferece 50 notas fiscais gratuitas por mês por CNPJ em produção real, sem exigência de cartão de crédito. 👉 Criar conta gratuita (50 notas/mês) | Acessar Documentação da API
📦 Payload Completo de Emissão de NFC-e (JSON)
Para emitir uma NFC-e através da Notaas, basta submeter um payload JSON limpo. A plataforma cuida de calcular os totais e montar o XML com a assinatura ICP-Brasil em nuvem HSM.
Endpoint:
POST https://platform.notaas.com.br/api/v1/emitir
Headers:
Content-Type: application/json
X-API-Key: sk_live_sua_chave_secreta
Exemplo de Payload JSON (Venda ao Consumidor com PIX):
{
"tipo": "nfce",
"ambiente": "producao",
"referencia": "PDV-CAIXA-01-CUPOM-10492",
"naturezaOperacao": "VENDA AO CONSUMIDOR",
"serie": 1,
"presencaComprador": 1,
"itens": [
{
"codigo": "PROD-001",
"descricao": "Mouse Sem Fio Ergonômico USB",
"ncm": "84716053",
"cfop": "5102",
"unidade": "UN",
"quantidade": 1,
"valorUnitario": 129.90,
"tributacao": {
"icms": {
"origem": 0,
"cst": "102"
},
"pis": {
"cst": "07"
},
"cofins": {
"cst": "07"
}
}
},
{
"codigo": "PROD-002",
"descricao": "Cabo USB-C Trançado 2m",
"ncm": "85444290",
"cfop": "5405",
"unidade": "UN",
"quantidade": 2,
"valorUnitario": 35.00,
"tributacao": {
"icms": {
"origem": 0,
"cst": "500"
},
"pis": {
"cst": "07"
},
"cofins": {
"cst": "07"
}
}
}
],
"pagamentos": [
{
"formaPagamento": "pix",
"valor": 199.90
}
],
"consumidor": {
"cpf": "12345678901",
"nome": "Cliente Balcao"
}
}
💻 Exemplo Prático de Requisição (cURL & TypeScript)
Chamada cURL:
curl -X POST https://platform.notaas.com.br/api/v1/emitir \
-H "Content-Type: application/json" \
-H "X-API-Key: sk_live_sua_chave_secreta" \
-d '{
"tipo": "nfce",
"ambiente": "producao",
"referencia": "VENDA-89231",
"naturezaOperacao": "VENDA AO CONSUMIDOR",
"itens": [
{
"codigo": "7891234567890",
"descricao": "Café Especial Torrado 250g",
"ncm": "09012100",
"cfop": "5102",
"quantidade": 1,
"valorUnitario": 32.00,
"tributacao": { "icms": { "cst": "102" } }
}
],
"pagamentos": [
{ "formaPagamento": "dinheiro", "valor": 50.00, "troco": 18.00 }
]
}'
Exemplo de Resposta de Autorização (HTTP 200 OK):
{
"status": "autorizada",
"id": "not_98a72bc19fa4e21d",
"chaveAcesso": "35260901234567000190650010000104921987654321",
"numero": 10492,
"serie": 1,
"protocolo": "135260000891245",
"dataAutorizacao": "2026-09-10T11:40:00-03:00",
"qrCodeUrl": "https://www.sefaz.sp.gov.br/nfce/qrcode?p=35260901234567000190650010000104921987654321|2|1|1|token_hash",
"danfePdf": "https://cdn.notaas.com.br/danfe/danfe_nfce_10492.pdf",
"xmlUrl": "https://cdn.notaas.com.br/xml/nfce_10492.xml"
}
Integração em TypeScript (Node.js):
interface EmitirNfceParams {
referencia: string;
itens: Array<{
codigo: string;
descricao: string;
ncm: string;
cfop: string;
quantidade: number;
valorUnitario: number;
}>;
pagamentos: Array<{
formaPagamento: string;
valor: number;
troco?: number;
}>;
}
export async function emitirNfce(payload: EmitirNfceParams) {
const response = await fetch("https://platform.notaas.com.br/api/v1/emitir", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.NOTAAS_API_KEY!,
},
body: JSON.stringify({
tipo: "nfce",
ambiente: process.env.NODE_ENV === "production" ? "producao" : "homologacao",
naturezaOperacao: "VENDA AO CONSUMIDOR",
...payload,
}),
});
if (!response.ok) {
const errorData = await response.json();
throw new Error(`Erro na autorização da NFC-e: ${errorData.message}`);
}
return await response.json();
}
🛡️ Contingência Offline da NFC-e: Arquitetura para Black Friday e Picos de Venda
No varejo presencial, o cliente não pode esperar no caixa. Em datas de pico como a Black Friday, o volume de vendas por minuto cresce justamente quando a infraestrutura mais sofre: SEFAZ com lentidão, operadoras sobrecarregadas e redes internas no limite. Para isso, a legislação prevê a emissão em contingência offline da NFC-e (tpEmis = 9). Antes de desenhar o fluxo do seu PDV, é importante entender quem faz o quê.
Como as responsabilidades se dividem
| Situação | Tipo de emissão | Quem emite e transmite |
|---|---|---|
| Operação normal (loja com internet e SEFAZ disponível) | Normal online (tpEmis = 1) |
A Notaas: valida, assina com o certificado A1, gera o QR Code v2 e obtém a autorização na SEFAZ |
| Loja sem internet | Contingência offline (tpEmis = 9) |
O módulo local do PDV, que emite, imprime e transmite depois |
| SEFAZ estadual fora do ar | Contingência offline (tpEmis = 9) |
O módulo local do PDV, da mesma forma |
⚠️ Ponto crítico: a NFC-e não tem SVC (a SEFAZ Virtual de Contingência atende apenas a NF-e modelo 55). Por isso, a contingência da NFC-e é sempre offline e emitida no próprio ponto de venda. A Notaas atua como gateway de alta disponibilidade para a autorização online direta (
tpEmis = 1). Se a sua operação precisa continuar vendendo durante uma queda de link ou da SEFAZ, o PDV precisa de um módulo local de contingência.
O que o módulo local de contingência precisa ter
- Certificado digital A1 e CSC disponíveis localmente, protegidos, para assinar a nota e calcular o QR Code da emissão offline.
- Numeração e série sob controle: o recomendável é reservar uma série exclusiva para a contingência do PDV, separada da série usada nas emissões online, para que as duas numerações nunca se cruzem.
- Impressão imediata do DANFE NFC-e com a indicação de emissão em contingência e o QR Code de consulta.
- Fila local de transmissão: as notas emitidas em contingência precisam ser transmitidas à SEFAZ assim que a comunicação voltar, dentro do prazo definido pela legislação da sua UF (em geral, 24 horas a partir da emissão). Confirme o prazo vigente no seu estado.
- Tratamento de rejeições na transmissão posterior: uma nota emitida offline pode ser rejeitada ao ser transmitida (cadastro, tributação, dados do item). A retaguarda precisa corrigir e regularizar dentro do prazo.
Idempotência: evitando nota duplicada (Rejeições 204 e 539)
O erro mais caro em picos de venda não é a SEFAZ cair, é a mesma venda gerar duas notas. O cenário clássico: a chamada online sofre timeout, o PDV entra em contingência e emite outra NFC-e, mas a primeira já tinha sido autorizada.
⚡ Fluxo seguro antes de entrar em contingência:
- 1. Referência única por venda: o PDV gera um identificador único e imutável por cupom (ex:
PDV-LOJA07-CAIXA03-000104921) e o envia no camporeferenciaem toda tentativa.- 2. Timeout não é rejeição: quando a resposta não chega, o PDV não assume que a nota falhou. Primeiro verifica o status daquela venda (pela referência ou pela chave de acesso).
- 3. Autorizada? Usa o protocolo existente e imprime o DANFE normal. Não emite de novo.
- 4. Sem autorização e sem comunicação? Só então segue para a contingência local, mantendo o vínculo entre a venda e a nota emitida.
- 5. Retaguarda: ao transmitir as notas de contingência, trata 204 (duplicidade de NF-e) e 539 (duplicidade com diferença na chave de acesso) como sinal de que já existe nota para aquela numeração: consulte, concilie e nunca reenvie às cegas.
Checklist de prontidão para a Black Friday
- ✅ Testar em homologação o fluxo completo: timeout → verificação de status → contingência local → transmissão posterior.
- ✅ Decidir se a operação terá contingência local no PDV e documentar o procedimento para o operador de caixa.
- ✅ Separar a série da contingência da série online e nunca reaproveitar números após falhas.
- ✅ Monitorar a fila de notas pendentes de transmissão e alertar antes de o prazo da UF expirar.
- ✅ Consumir os webhooks de status da Notaas para conciliar vendas e notas autorizadas online no ERP.
- ✅ Validar certificado A1 e CSC antes do pico (validade, senha e ambiente de produção).
⚙️ Configuração do CSC e Geração do QR Code v2
O QR Code impresso no DANFE da NFC-e permite ao consumidor e à fiscalização consultar a nota na SEFAZ. Para gerá-lo, cada empresa emissora obtém no portal da SEFAZ estadual o CSC (Código de Segurança do Contribuinte, antigo Token NFC-e) e o respectivo Identificador do CSC (ex: 000001).
A Notaas gera o QR Code versão 2.0, conforme as Notas Técnicas NT 2015.002 e NT 2016.002. Na emissão online, o conteúdo segue o formato:
{urlConsultaQRCodeDaUF}?p={chave}|2|{tpAmb}|{cIdCSC}|{cHashQRCode}
chave: chave de acesso de 44 dígitos da NFC-e.2: versão do QR Code.tpAmb:1para produção,2para homologação.cIdCSC: identificador do CSC, sem zeros à esquerda.cHashQRCode: hash SHA-1 da concatenação dos parâmetros com o CSC, representado em hexadecimal maiúsculo (40 caracteres).
Na Notaas, o QR Code é calculado na emissão, inserido no grupo <infNFeSupl> do XML autorizado e renderizado como imagem no DANFE em PDF. Você cadastra o CSC do emitente uma única vez no painel ou via API, e ele fica armazenado com segurança na plataforma:
POST https://platform.notaas.com.br/api/v1/org/projects/{projectId}/fiscal-config
Content-Type: application/json
X-API-Key: sk_live_sua_chave_secreta
{
"nfce": {
"cscId": "000001",
"cscToken": "SEU_CSC_AQUI",
"serie": 1
}
}
Boas práticas de segurança com o CSC
- Trate o CSC como segredo: ele autentica o QR Code das suas notas. Nunca o exponha em código de front-end, aplicativo mobile, repositório Git ou logs.
- Não distribua o CSC para cada PDV sem necessidade: nas emissões online, o hash do QR Code é calculado pela Notaas e o PDV não precisa conhecer o CSC. Ele só é necessário localmente se o PDV tiver um módulo próprio de contingência offline.
- Revogue e gere um novo CSC em caso de vazamento: a troca é feita no portal da SEFAZ; atualize o cadastro na Notaas em seguida.
- Separe homologação e produção: o CSC de homologação é diferente do de produção.
❓ Perguntas Frequentes sobre API NFC-e (FAQ)
1. O que é uma API NFC-e e como ela funciona?
A API NFC-e é uma interface de programação REST que permite que sistemas PDV, e-commerces e ERPs enviem dados estruturados de vendas em JSON, convertendo-os automaticamente para o padrão XML exigido pela SEFAZ, realizando a assinatura digital ICP-Brasil e retornando o DANFE e o QR Code em tempo real.
2. Qual a diferença entre NFC-e (Modelo 65) e NF-e (Modelo 55)?
A NF-e (modelo 55) é destinada principalmente a transações B2B (entre empresas), remessas, devoluções e comércio interestadual com transporte. Já a NFC-e (modelo 65) é restrita a operações de venda ao consumidor final (presencial ou delivery local), substituindo o cupom fiscal tradicional em papel e os módulos SAT/ECF.
3. É obrigatório identificar o CPF do consumidor na NFC-e?
Não. A inclusão do CPF ou nome do consumidor na NFC-e é opcional na maioria dos estados para vendas de pequeno valor. A identificação torna-se obrigatória por legislação estadual apenas quando o valor total da venda ultrapassa R$ 10.000,00 (ou R$ 1.000,00 em alguns estados específicos) ou quando o próprio consumidor solicita a inclusão do CPF para programas de benefícios (como Nota Fiscal Paulista ou Gaúcha).
4. Como funciona a impressão da NFC-e em impressoras térmicas de bobina?
A API da Notaas gera o DANFE simplificado em formato PDF já configurado nas dimensões exatas para bobinas térmicas de 80mm ou 58mm (impressoras EPSON, Elgin, Bematech, Daruma e térmicas Bluetooth). O arquivo já contém o cabeçalho fiscal, detalhamento dos itens, formas de pagamento e o QR Code nítido pronto para leitura pela câmera do smartphone.
5. A Notaas oferece plano gratuito para emissão de NFC-e?
Sim. A Notaas disponibiliza 50 notas fiscais por mês gratuitamente em ambiente de produção real com validade jurídica completa (suportando NFC-e, NF-e e NFS-e). O ambiente de Sandbox para homologação e testes de integração com webhooks é 100% gratuito e ilimitado.
6. A emissão de NFC-e via API funciona se a internet da loja cair?
Não. A Notaas autoriza a NFC-e online (tpEmis = 1), e uma API em nuvem só é alcançada quando o PDV tem conexão. Como a NFC-e não conta com SVC, a contingência, tanto na queda da internet da loja quanto na indisponibilidade da SEFAZ, é a emissão offline (tpEmis = 9) feita por um módulo local do PDV, com certificado A1 e CSC, que transmite as notas assim que a comunicação voltar, dentro do prazo da UF.
📚 Referências Oficiais & Guias Técnicos:
- 🌐 API de Nota Fiscal: Motor unificado para emissão e gestão de NFS-e, NF-e e NFC-e via REST API.
- ⚡ API NFS-e Nacional: Guia prático de integração técnica com o padrão nacional da Receita Federal.
- 📦 API NF-e (Modelo 55): Emissão simplificada de nota fiscal de produto com DANFE em PDF.
- 🛒 API NFC-e (Modelo 65): Automação de cupom fiscal para varejo e PDV com QR Code v2.
- 📄 DANFSe v2.0 em PDF: Geração local de DANFSe e conformidade com a NT-008 sem o visualizador do ADN.
- ⚖️ Comparativo de APIs Fiscais: Análise comparativa entre Notaas, Nuvem Fiscal, Focus NFe e TecnoSpeed.
🚀 Comece a Integrar com a Notaas Hoje
Automatize a emissão de notas fiscais no seu SaaS, ERP ou PDV com a API fiscal mais moderna e resiliente do mercado:
- Plano Gratuito: 50 notas fiscais/mês em produção sem cartão de crédito
- Sandbox Imediato: Ambiente de testes completo com webhooks e eventos em tempo real
- Multi-cidades e SEFAZ: Suporte ao padrão NFS-e Nacional, capitais e NF-e/NFC-e de mercadorias
👉 Criar Conta Gratuita na Notaas Platform (50 Notas/Mês)
👉 Acessar a Documentação Técnica Oficial
👉 Ver o Checklist Prático para ERPs e Vibe Coding

