Libs open-source para emitir NF-e, NFC-e, NFS-e, CT-e e MDF-e e gerar SPED e SINTEGRA, direto do Node.js.
Arquitetura limpa, tipagem completa e zero dependências de runtime. Cada pacote resolve um documento e todos compartilham o mesmo núcleo: certificado A1, assinatura XML, transporte mTLS e validação XSD.
| Pacote | O que faz | Status |
|---|---|---|
| @brasil-fiscal/nfe | NF-e (modelo 55) e NFC-e (modelo 65): emissão, eventos, DANFE, cupom 80mm, DF-e e IBS/CBS | |
| @brasil-fiscal/nfse | NFS-e no Padrão Nacional (ADN/ABRASF) | |
| @brasil-fiscal/core | Núcleo compartilhado: certificado digital, assinatura XML, mTLS e helpers | |
| @brasil-fiscal/cte | CT-e (modelo 57), modal rodoviário: emissão, consulta, cancelamento, CC-e e DACTE | |
| @brasil-fiscal/mdfe | MDF-e (Manifesto Eletrônico de Documentos Fiscais) | Em desenvolvimento |
| @brasil-fiscal/sped-fiscal | EFD ICMS/IPI: geração e leitura | Em desenvolvimento |
| @brasil-fiscal/sped-contribuicoes | EFD Contribuições (PIS/COFINS): geração e leitura | Em desenvolvimento |
| @brasil-fiscal/sintegra | Arquivos SINTEGRA: geração e leitura | Em desenvolvimento |
npm install @brasil-fiscal/nfeimport { NFeCore } from '@brasil-fiscal/nfe';
import { readFileSync } from 'node:fs';
const nfe = NFeCore.create({
pfx: readFileSync('./certificado.pfx'),
senha: 'senha-do-certificado',
ambiente: 'homologacao',
uf: 'MT'
});
const result = await nfe.transmitir({ /* dados da nota */ });A documentação completa de cada pacote está no README do respectivo repositório.
Achou uma rejeição da SEFAZ que a lib não trata, ou falta um campo do leiaute?
Abra uma issue no repositório do pacote com o cStat e o motivo. Pull requests são bem-vindos.