Biblioteca NFE.io em Node.js para Emissão de Notas Fiscais (NFS-e, NF-e, NFC-e, CT-e)
SDK Node.js oficial da NFE.io — TypeScript nativo, Node 22+, zero dependências de runtime, ESM + CommonJS e respostas discriminadas.
Biblioteca Node.js NFE.io
SDK oficial da NFE.io para Node.js: emissão e gestão de documentos fiscais eletrônicos brasileiros (NFS-e, NF-e, NFC-e, CT-e) com ergonomia moderna e zero dependências de runtime.
- Cliente único
NfeClientcom acessorescamelCasepor recurso, inicializados sob demanda (lazy). - TypeScript nativo — tipos gerados das specs OpenAPI oficiais; autocompletar e checagem no editor.
- Respostas discriminadas para emissão assíncrona (
{ status: 'immediate' | 'async' }) e utilitários de polling. - ESM + CommonJS no mesmo pacote; alvo Node.js 22+.
Requisitos
- Node.js 22 ou superior.
- Zero dependências de runtime — apenas APIs nativas do Node (fetch, AbortController, Buffer).
Instalação
npm install nfe-io
# ou: pnpm add nfe-io / yarn add nfe-io
Primeiros passos
import { NfeClient } from 'nfe-io';
const nfe = new NfeClient({ apiKey: process.env.NFE_API_KEY });
const result = await nfe.serviceInvoices.create('55df4dc6b6cd9007e4f13ee8', {
cityServiceCode: '2690',
description: 'Manutenção e suporte técnico',
servicesAmount: 100.0,
borrower: { federalTaxNumber: 191, name: 'Banco do Brasil SA' },
});
O fluxo completo (retorno discriminado + polling) está em Primeiros passos.
Guias
- Primeiros passos — instalação, cliente e primeira NFS-e.
- Configuração — chaves de API, ambiente, timeout e retry.
- Emissão assíncrona e polling — retorno discriminado e
createAndWait. - Roteamento multi-host / multi-chave — quais recursos usam qual host e chave.
- Paginação — listas page-style e cursor.
- Downloads (PDF/XML) — bytes binários e ZIPs.
- Webhooks — assinatura, eventos e webhooks de conta.
- Erros — hierarquia de erros e type guards.
- Emissão RTC (Reforma Tributária) — leiautes IBS/CBS/IS.
Recursos (cookbook)
Um guia prático por recurso em Recursos. Destaques: