Skip to content

Apoiar o projeto

Seu apoio ajuda a manter este projeto. As contribuições ajudam a custear a infraestrutura, manter a documentação e dedicar tempo a correções, testes e melhorias. Qualquer valor é bem-vindo.

QR Code Pix para apoiar o projeto, com valor livre. O mesmo código está disponível no campo Pix Copia e Cola abaixo.

Pix com valor livre

RecebedorMILTON COSME DA SILVA JUN

Confira o recebedor e escolha o valor no aplicativo do seu banco.

Instalação ​

Você precisa de Node.js 22.12 ou superior, Linux x64 ou Windows x64. Para consumir o pacote pronto, não precisa instalar Delphi, Free Pascal, Lazarus ou SVN.

1. Confira seu Node.js ​

Abra o terminal e execute:

sh
node --version
npm --version
node -p "process.platform + ' ' + process.arch"

A última saída deve ser linux x64 ou win32 x64. No Linux, a versão inicial foi validada no Ubuntu 24.04 com glibc. Alpine/musl não é um alvo suportado.

Se precisar instalar Node.js, use os downloads oficiais.

2. Crie um projeto ​

sh
mkdir minha-aplicacao-fiscal
cd minha-aplicacao-fiscal
npm init -y
npm install cosmemilton-acbr-node@0.2.2

Em um projeto existente, execute apenas a instalação na pasta que contém seu package.json.

O pacote principal instala uma dependência opcional conforme sua plataforma:

PlataformaMotor selecionado pelo npm
Linux x64cosmemilton-acbr-node-linux-x64
Windows x64cosmemilton-acbr-node-win32-x64

O motor já compilado acompanha bibliotecas, schemas, serviços, fontes correspondentes e licenças. Mantenha as dependências opcionais: não use --omit=optional para esta instalação.

Windows

Prefira uma pasta local, como C:\Projetos\MinhaAplicacaoFiscal. O comando npm.cmd não mantém um caminho de rede UNC como diretório atual. Se seu checkout está no WSL, execute o npm no terminal Linux ou copie a aplicação para uma pasta local do Windows.

3. Confira a importação ​

sh
node --input-type=module -e "import { criarEmissor } from 'cosmemilton-acbr-node'; console.log(typeof criarEmissor)"

O resultado esperado é function. Isso confere a importação; o próximo guia executa o motor real ao gerar XML.

Explore o contrato offline ​

Na versão publicada 0.2.2, consulte campos e tipos antes de preencher a nota:

sh
npx --no-install acbr-node --help
npx --no-install acbr-node --version
npx --no-install acbr-node describe --help
npx --no-install acbr-node describe Ide.tpNF
npx --no-install acbr-node describe TTipoNFe --json

Ide.tpNF aceita tnEntrada e tnSaida. A ajuda usa os metadados do pacote instalado; não carrega o runtime, usa certificado ou acessa serviços fiscais. Veja ajuda de campos e tipos para caminhos, coleções e erros.

--version informa acbr-node 0.2.2 nesta versão. describe, --version e a ajuda por subcomando foram acrescentados na 0.2.2; o comando anterior help TAG caminho continua compatível. O SDK 0.2.2 mantém os runtimes nativos 0.2.1.

JavaScript e TypeScript ​

Os exemplos iniciais usam arquivos .mjs, que funcionam diretamente com Node.js sem uma etapa de compilação. Em TypeScript, importe os mesmos símbolos:

ts
import { criarEmissor, TNFe, type TNFeInput } from 'cosmemilton-acbr-node';

O pacote também oferece CommonJS:

js
const { criarEmissor, TNFe } = require('cosmemilton-acbr-node');

Os downloads TypeScript usam módulos ES e await no nível superior. Ao compilá-los com module: "NodeNext", configure "type": "module" no package.json da aplicação. O exemplo .mjs funciona sem essa alteração.

Para este primeiro uso você não precisa executar init, generate, build ou doctor. Eles pertencem ao fluxo de revisão própria.

Continue em Seu primeiro XML offline.

Projeto independente · gratuito · LGPL-2.1-or-later