@brasil-fiscal/ nfe (英语)
启用源代码类型Script para emissao de NFe(诺塔财政公司) 电子 NFC-e (诺塔财政公司) 没有巴西语。 阿奎特图拉跛脚,全能插座。 生态主义 @brasil-fiscal。 。 。 .
印斯达拉考
npm install @brasil-fiscal/nfe
Para gerar DANFE (PDF), instale tambem: 页面存档备份,存于互联网档案馆
npm install pdfkit
欧
@brasil-fiscal/core(原始内容存档于2013-10-12). eh instalado自動相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接相接.
特征
NFe(模式55)——汇编
- Geracao de XML da NFe(排出SEFAZ 4.00)
- Assinatura 数码相册证书 A1 (.pfx/.p12)
- 对抗 XSD 计划
- 通过 HTTPS com mTLS (modo sincrono) 传输系统
- 自治程序咨询
- DFE(国家足球俱乐部顾问)
- NFe 证书
- 科雷卡奥漫画(CC-e)
- 数字化
- 德德蒂纳塔里奥宣言(Conferenceao, Cciencia, desconhecimento, nao realationada)
- Geracao de DANFE EM PDF (A4 retrato) (英语)
- URLs de todos os 27 estados (14自译自审者)
- 提供商 spara certificado, transporte, XML e Assinatura
NFC-e(模式65)——Em desenvolvimento
- 模型配置( M)
'55' | '65'(中文(简体) ) - QR 代码 da NFC-e(URL com hash SHA1)
- 坎波斯语Name
qrCode电子urlChave无集团infNFeSupl - Destinatario opicional (consumidor nao identificado) (英语)
- Cupom 术语 80mm com QR 码
快速启动
import { NFeCore } from '@brasil-fiscal/nfe';
import { readFileSync } from 'node:fs';
const nfe = NFeCore.create({
pfx: readFileSync('./certificado.pfx'),
senha: 'senha-do-certificado',
ambiente: 'homologacao', // ou 'producao'
uf: 'MT'
});
传送 NFe
const result = await nfe.transmitir({
identificacao: {
naturezaOperacao: 'Venda de mercadoria',
tipoOperacao: 1,
destinoOperacao: 1,
finalidade: 1,
consumidorFinal: 1,
presencaComprador: 1,
uf: 'MT',
municipio: '5103403',
serie: 1,
numero: 1
},
emitente: {
cnpj: '12345678000195',
razaoSocial: 'Empresa Teste Ltda',
inscricaoEstadual: '131234567',
regimeTributario: 1,
endereco: {
logradouro: 'Rua das Flores',
numero: '100',
bairro: 'Centro',
codigoMunicipio: '5103403',
municipio: 'Cuiaba',
uf: 'MT',
cep: '78005000'
}
},
destinatario: {
cpf: '52998224725',
nome: 'Joao da Silva',
indicadorIE: 9,
endereco: {
logradouro: 'Av Brasil',
numero: '500',
bairro: 'Centro',
codigoMunicipio: '5103403',
municipio: 'Cuiaba',
uf: 'MT',
cep: '78010100'
}
},
produtos: [
{
numero: 1,
codigo: '001',
descricao: 'Produto Teste',
ncm: '84714900',
cfop: '5102',
unidade: 'UN',
quantidade: 2,
valorUnitario: 49.90,
valorTotal: 99.80,
icms: { origem: 0, csosn: '102' },
pis: { cst: '49' },
cofins: { cst: '49' }
}
],
transporte: { modalidadeFrete: 9 },
pagamento: {
pagamentos: [{ formaPagamento: '01', valor: 99.80 }]
}
});
console.log(result.autorizada); // true
console.log(result.protocolo); // '151240000012345'
console.log(result.chaveAcesso); // 44 digitos
咨询程序o
const result = await nfe.consultarProtocolo('51240412345678000195550010000000011234567890');
console.log(result.codigoStatus); // '100'
取消NFe
await nfe.cancelar({
chaveAcesso: '51240412345678000195550010000000011234567890',
cnpj: '12345678000195',
protocolo: '151240000012345',
justificativa: 'Erro na emissao da nota fiscal eletronica'
});
科雷卡奥漫画(CC-e)
await nfe.cartaCorrecao({
chaveAcesso: '51240412345678000195550010000000011234567890',
cnpj: '12345678000195',
correcao: 'Correcao do endereco do destinatario para Rua ABC 123',
sequencia: 1 // opcional, default 1
});
Inutilizar 数字
await nfe.inutilizar({
cnpj: '12345678000195',
ano: 2024,
serie: 1,
numeroInicial: 10,
numeroFinal: 20,
justificativa: 'Numeracao pulada por erro no sistema emissor'
});
Consultar NFes recebidas (Distribuicao DFe) (英语)
// Por ultimo NSU (paginacao manual)
const result = await nfe.distribuicaoPorNSU('12345678000195');
console.log(result.documentos); // Array de { nsu, schema, xml }
console.log(result.ultNSU); // Usar como input da proxima chamada
// Por chave de acesso
const result2 = await nfe.distribuicaoPorChave(
'12345678000195',
'51240412345678000195550010000000011234567890'
);
德蒂纳塔里奥宣言
const input = {
chaveAcesso: '51240412345678000195550010000000011234567890',
cnpj: '12345678000195'
};
await nfe.manifestar.confirmar(input);
await nfe.manifestar.ciencia(input);
await nfe.manifestar.desconhecer({ ...input, justificativa: 'Nao reconheco esta operacao' });
await nfe.manifestar.naoRealizada({ ...input, justificativa: 'Mercadoria devolvida' });
Gerar DANFE (PDF) (英语)
import { writeFileSync } from 'node:fs';
const pdf = await nfe.danfe(xmlAutorizado);
writeFileSync('danfe.pdf', pdf);
重新定义
pdfkit内斯塔拉多 :npm install pdfkit
错误的悲剧
import { SefazRejectError, CertificateError, NFeError } from '@brasil-fiscal/nfe';
try {
await nfe.transmitir(nfeData);
} catch (error) {
if (error instanceof CertificateError) {
console.error('Certificado:', error.message);
} else if (error instanceof SefazRejectError) {
console.error(`[${error.cStat}] ${error.xMotivo}`);
} else if (error instanceof NFeError) {
console.error('Erro:', error.message);
}
}
乌索·阿凡卡多
Para quem pricisa de controle total, os supposers e 使用case individuais tambem estao disponiveis. 中国植物物种信息数据库. 韦雅 文件/样本.md a API de baixo nivel. [永久失效連結] 互联网档案馆的存檔,存档日期2011-12-02.
提供商插件
一个自以为是的人 Cada integracao externa eh uma 接口 que voce pode substituir : (原始内容存档于2019-09-31)
| 提供者 | 德克里亚 | 默认 | 折纸 |
|---|---|---|---|
CertificateProvider | 卡雷加证书 | A1CertificateProvider (pfx/.p12) (中文(简体) ) | @brasil-fiscal/core |
SefazTransport | Comunicacao HTTP 相机 SEFAZ | NodeHttpSefazTransport (毫升) | @brasil-fiscal/core |
XmlBuilder | Gera XML 元素组件 | DefaultXmlBuilder | @brasil-fiscal/nfe |
XmlSigner | Assina XML com 证书数字化 | DefaultXmlSigner | @brasil-fiscal/core |
Para criar seu professor, veja 互联网档案馆的存檔,存档日期2014-12-02 文件/文件。 。 。 .
阿基特图拉
Este Pacote 我们a @brasil-fiscal/core (c) 证书、体位饱和、运输mTLS、助手。 O Core eh reutilizado entre NFe, CTe e MDFe. 互联网档案馆的存檔,存档日期2013-12-02.
@brasil-fiscal/core Certificado A1, XMLDSig, mTLS, CNPJ/CPF, UF codes
|
@brasil-fiscal/nfe NFe + NFC-e (este pacote)
|
src/
core/ Fachada (NFeCore) e tipos
domain/ Entidades puras e schemas Zod
contracts/ Interface XmlBuilder (NFe-especifica)
application/ Use cases (transmit, consult, cancel, etc.)
infra/ DefaultXmlBuilder, SOAP, DANFE
shared/ Constantes (CFOP, CST, URLs SEFAZ)
维哈, para detalhes Completos 文献/档案。 。 。 .
@brasil-财政
| 帕科特语Name | 状态 | 德克里亚 |
|---|---|---|
| @ brasil-财政/核心 | 静态 | 国家林业局 |
| @brasil-fiscal/ nfe (英语) | 静态 | NFE-e(最高速率) |
| @brasil-fiscal/ cte (英语) | 脱口而出 | 中文本 |
| @brasil-fiscal/ mdfe | 脱口而出 | 货币基金 |
| @brasil-fiscal/ sped-fiscal (英语) | 脱口而出 | EFD ICMS/IPI (SPED 财政) |
| @brasil-fiscal/ sped-contribuicoes (英语) | 脱口而出 | EFD Contribuicoes (PIS/COFINS) (英语) |
| @brasil-fiscal/ sintegra (英语) | 脱口而出 | 新加坡 |
文档
| 文档 | 德克里亚 |
|---|---|
| ROADMAP.md 地图 | 脱口秀 |
| 文献/档案 | 阿基特图拉德塔尔哈达 |
| 文件/全球轨道 | Glossario de termos fiscais (法语) |
| 文件/文件 | Guia para criar 供应商 |
| 文件/样本.md | Exemplos 压缩件 |
实例
维雅一面 examples/ 第4段:
nfe-exemplo.xml- XML de NFe gerado(法语)danfe-exemplo.pdf——DANFE EM PDF
Para regenerar : (原始内容存档于2018-09-29) npx tsx scripts/generate-examples.ts
请求
- 节点.js 18
- 认证数字 A1 (.pfx ou.p12)
- OpenSSL Instalado( para carregar certificados e validar XSD) 主题 :
pdfkit(opional, apenas para gerar DANFE)
德森沃尔维门托
git clone https://github.com/brasil-fiscal/nfe.git
cd nfe
npm install
npm test
npm run lint
npm run build
孔布里布伊多语Name
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}康特利布科斯·绍·本·温达斯! 韦雅 捐款额。 。 。 .
Inspiracao (英语)
- nfephp-org/ sped-nfe (英语) - PHP咨询,NFe
- nfephp-org/ sped-common (英语) - 基本连锁店