Pular para o conteúdo
emitzadocs

NF-e

A NF-e (modelo 55) é a nota de mercadoria: venda, devolução, bonificação e transferência. Hoje a emitza emite para empresas de SP.

Impostos do item: duas formas

Informando os impostos no item. Você manda CFOP, ICMS, PIS e COFINS de cada item, e a emitza calcula os valores:

JSON
"taxes": {
  "icms": { "cst": "00", "rate": "18" },
  "pis": { "cst": "01", "rate": "1.65" },
  "cofins": { "cst": "01", "rate": "7.6" }
}

Use cst no regime normal e csosn no Simples Nacional.

Com classe de imposto (recomendado). Você cadastra uma vez as regras de cada tipo de produto, e o item só informa taxClass. A classe escolhe CFOP, ICMS, IPI, PIS e COFINS pela operação, pelo destino (mesmo estado ou outro) e pelo tipo de destinatário:

POST /v1/companies/{id}/tax-classes
{
  "code": "CALCADOS",
  "name": "Calçados de fabricação própria",
  "rules": [
    { "when": { "operations": ["sale"], "destination": "internal" }, "cfop": "5101",
      "icms": { "csosn": "101", "creditRate": "1.25" }, "pis": { "cst": "49" }, "cofins": { "cst": "49" } },
    { "when": { "operations": ["sale"], "destination": "interstate" }, "cfop": "6101",
      "icms": { "csosn": "101", "creditRate": "1.25" }, "pis": { "cst": "49" }, "cofins": { "cst": "49" } }
  ]
}

Vale a primeira regra que casar. O que vier em taxes no item prevalece sobre a classe.

IBS e CBS. Sem taxes.ibsCbs, o motor da emitza decide o CST, a classificação (cClassTrib) e as alíquotas do ano, e explica a decisão. Para fixar a classificação, informe ibsCbs no item ou na classe. Para ver o cálculo antes de emitir, use o cálculo de impostos.

Devolução

Use "operation": "return" e informe, em cada item, a nota original:

JSON
"reference": { "accessKey": "35260911444777000161550010000123451000123450", "item": 3 }

Com item, a classificação do IBS/CBS é copiada da nota original. Em devolução, direction diz se a sua nota é de saída (out, o padrão) ou de entrada (in).

Cancelamento

POST /v1/nfe/{id}/cancel
{ "justification": "Pedido cancelado pelo cliente antes do envio" }

Só para nota autorizada e dentro do prazo da SEFAZ (em regra, 24 horas depois da autorização). O resultado chega pelo webhook nfe.cancelled, ou nfe.event_rejected com o motivo. A nota fica cancelled, e o DANFE sai com marca d'água.

Carta de correção

POST /v1/nfe/{id}/correction
{ "text": "Onde se lê volume 1 caixa, leia-se volume 2 caixas" }

Até 20 por nota. Cada carta substitui a anterior, então repita as correções anteriores que ainda valem. A carta não corrige valores, impostos, dados que mudem o emitente ou o destinatário, nem a data de emissão.

Números pulados e inutilização

O Fisco exige inutilizar os números de uma série que não viraram nota autorizada. GET /v1/nfe/gaps?companyId=...&series=1 lista as faixas pendentes, e você inutiliza com:

POST /v1/nfe/disable-range
{ "companyId": "6710a1b2c3d4e5f601234567", "series": 1, "from": 15, "to": 17, "justification": "Números pulados por falha no sistema de origem" }

Documentos

Rota Devolve
GET /v1/nfe/{id}/xml XML autorizado (procNFe), para guardar por 5 anos
GET /v1/nfe/{id}/danfe DANFE em PDF (?download=1 para baixar)
GET /v1/nfe/{id}/events Cancelamentos e cartas de correção, com o XML de cada um
GET /v1/nfe/export?companyId=...&month=2026-11 Zip do mês para o contador: XMLs, eventos, inutilizações e um resumo em CSV (&danfe=1 inclui os PDFs)

Esta página em Markdown, para IA: index.md