Docs/NFC-e
NFC-e — Nota Fiscal de Consumidor Eletrônica
Endpoints para emissão, consulta e cancelamento de cupom fiscal (modelo 65) ao consumidor final.
Ver requisitos de autenticaçãoNFC-e vs NF-e
A NFC-e (modelo 65) é o cupom fiscal eletrônico para venda presencial ou delivery ao consumidor final. Diferente da NF-e (modelo 55), o destinatário é opcional, a forma de pagamento é obrigatória e o documento gera um cupom com QR Code para consulta na SEFAZ.
| NFC-e | NF-e | |
|---|---|---|
| Modelo | 65 | 55 |
| Destinatário | Opcional (consumidor final) | Obrigatório |
| Pagamento | Obrigatório (paymentMethod) | Opcional no endpoint dedicado |
| Saída | Cupom + QR Code | DANFE |
| CSC | Obrigatório (cscId + csc) | Não se aplica |
Pré-requisitos
- Recurso NFC-e liberado na conta pela Emitfy (solicite ao suporte ou vendas)
- Certificado digital A1 válido na empresa
- Módulo NFC-e ativo em
settings.nfce.active(painel ou PUT /v1/company) - CSC Id (
cscId/ IdToken) e CSC fornecidos pela SEFAZ do estado - Série e próximo número configurados em
settings.nfce
Configuração CSC na empresa
O Código de Segurança do Contribuinte é exigido pela SEFAZ para montar o QR Code da NFC-e. Envie em PUT /v1/company (ou pelo painel fiscal):
{
"settings": {
"nfce": {
"active": true,
"environment": "test",
"series": 1,
"number": 1,
"cscId": "000001",
"csc": "SEU_CSC_FORNECIDO_PELA_SEFAZ"
}
}
}Emissão via venda
Além de POST /v1/nfce, você pode criar uma venda com productInvoiceType: "nfce" em POST /v1/sales. Sem esse campo, a Emitfy usa o default de produto da empresa (nfe ou nfce).
{
"customer": {
"name": "Consumidor final",
"email": "[email protected]"
},
"paymentMethod": "pix",
"productInvoiceType": "nfce",
"saleDate": "2026-07-11T15:00:00.000Z",
"products": [
{
"sku": "PROD-001",
"price": 29.9,
"quantity": 1
}
]
}Contingência offline
A Emitfy não detecta queda de rede nem imprime cupom. O PDV decide entrar em contingência, gera a NFC-e com tpEmis=9, imprime o DANFE e guarda o XML localmente. Depois, envia o documento à Emitfy para validação e transmissão à SEFAZ.
- Use
issueMode: "offlineContingency"emPOST /v1/nfce - Informe
accessKey,number,series,issuedAtecontingency(data/hora e motivo) exatamente como impressos - Opcional:
signedXmlse o PDV já assinou — a Emitfy transmite sem alterar a identidade fiscal transmit: "now"(padrão) enfileira imediatamente;"later"só persiste — chamePOST /v1/nfce/{id}/transmitdepois- Idempotência: header
Idempotency-Key,externalIdou a mesmaaccessKeydevolve o mesmo documento
{
"issueMode": "offlineContingency",
"transmit": "later",
"externalId": "pos-ticket-998877",
"accessKey": "3526...chave44digitosComTpEmis9",
"number": 12345,
"series": 1,
"issuedAt": "2026-07-12T18:40:00-03:00",
"contingency": {
"startedAt": "2026-07-12T18:39:55-03:00",
"reason": "SEFAZ indisponivel ou sem conexao"
},
"paymentMethod": "pix",
"items": [
{
"description": "Café espresso",
"ncm": "09012100",
"quantity": 2,
"unitValue": 8.5,
"unit": "UN"
}
]
}PDF e XML
Após autorização, o cupom (PDF) e o XML ficam disponíveis em rotas públicas de nota:
GET /v1/invoices/{id}.pdf— cupom fiscalGET /v1/invoices/{id}.xml— XML autorizado
O {id} é o identificador da nota retornado em POST /v1/nfce (campo id).