node-sped-nfe 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -0
- package/docs/README.md +49 -0
- package/docs/xml.md +1653 -0
- package/index.js +5 -0
- package/package.json +19 -0
- package/testes/assinar.js +16 -0
- package/testes/nfe.js +166 -0
- package/testes/nfe.json +194 -0
- package/testes/nfe.xml +292 -0
- package/testes/nfe_guara.xml +1 -0
- package/testes/nfe_guara_sign.xml +1 -0
- package/testes/nfe_guara_sign_lote.xml +1 -0
- package/testes/nfe_teste.json +45 -0
- package/utils/eventos.js +32 -0
- package/utils/make.js +798 -0
- package/utils/schemas/consReciNFe_v4.00.xsd +9 -0
- package/utils/schemas/consSitNFe_v4.00.xsd +9 -0
- package/utils/schemas/consStatServ_v4.00.xsd +9 -0
- package/utils/schemas/enviNFe_v4.00.xsd +9 -0
- package/utils/schemas/inutNFe_v4.00.xsd +9 -0
- package/utils/schemas/leiauteConsSitNFe_v4.00.xsd +502 -0
- package/utils/schemas/leiauteConsStatServ_v4.00.xsd +98 -0
- package/utils/schemas/leiauteInutNFe_v4.00.xsd +193 -0
- package/utils/schemas/leiauteNFe_v4.00.xsd +7412 -0
- package/utils/schemas/nfe_v4.00.xsd +9 -0
- package/utils/schemas/procInutNFe_v4.00.xsd +9 -0
- package/utils/schemas/procNFe_v4.00.xsd +9 -0
- package/utils/schemas/retConsReciNFe_v4.00.xsd +9 -0
- package/utils/schemas/retConsSitNFe_v4.00.xsd +9 -0
- package/utils/schemas/retConsStatServ_v4.00.xsd +9 -0
- package/utils/schemas/retEnviNFe_v4.00.xsd +9 -0
- package/utils/schemas/retInutNFe_v4.00.xsd +9 -0
- package/utils/schemas/tiposBasico_v4.00.xsd +598 -0
- package/utils/schemas/xmldsig-core-schema_v1.01.xsd +98 -0
- package/utils/sefaz.js +84 -0
- package/utils/tools.js +277 -0
- package/utils/xmllint.js +244195 -0
package/README.md
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# 📦 Biblioteca de Emissão de NF-e (Modelos 55 e 65)
|
2
|
+
|
3
|
+
Seja bem-vindo(a) à **Biblioteca de Emissão de NF-e** — sua parceira definitiva para integrar **emissão de Nota Fiscal Eletrônica modelo 55 (NF-e)** e **modelo 65 (NFC-e)** em aplicações modernas, com simplicidade, robustez e total conformidade com a legislação brasileira! 🇧🇷🚀
|
4
|
+
|
5
|
+
<div align="center">
|
6
|
+
|
7
|
+
📣 **Participe da comunidade!**
|
8
|
+
💬 Tire dúvidas, compartilhe experiências e colabore com outros desenvolvedores!
|
9
|
+
|
10
|
+
👉 [Grupo de Discussão no Google Groups](https://groups.google.com/g/node-sped-nfe)
|
11
|
+
|
12
|
+
</div>
|
13
|
+
|
14
|
+
---
|
15
|
+
|
16
|
+
## ✨ Por que usar esta biblioteca?
|
17
|
+
|
18
|
+
- ✅ **Simples de integrar** — fácil de configurar e começar a emitir em minutos.
|
19
|
+
- 🔒 **Segura por padrão** — validação de schema, assinatura digital e envio via WS.
|
20
|
+
- ⚡ **Alta performance** — ideal para ambientes de alto volume.
|
21
|
+
- 🧩 **Flexível** — suporte a múltiplos ambientes (homologação e produção).
|
22
|
+
- 📚 **Documentação clara** — explicações, exemplos e dicas práticas.
|
23
|
+
|
24
|
+
---
|
25
|
+
|
26
|
+
## 🧾 O que são NF-e modelo 55 e 65?
|
27
|
+
|
28
|
+
| Modelo | Tipo | Uso principal |
|
29
|
+
|--------|------------------------------|-----------------------------------------------|
|
30
|
+
| 55 | Nota Fiscal Eletrônica | Vendas B2B, movimentações fiscais entre CNPJs |
|
31
|
+
| 65 | Nota Fiscal de Consumidor | Vendas B2C em ponto de venda (PDV) |
|
32
|
+
|
33
|
+
---
|
34
|
+
|
35
|
+
## 📌 Requisitos
|
36
|
+
|
37
|
+
Para garantir o funcionamento correto da biblioteca, certifique-se de que os seguintes requisitos estejam atendidos:
|
38
|
+
|
39
|
+
### 🔧 Ambiente
|
40
|
+
|
41
|
+
- **Node.js** `v22.14.0` (versão testada e recomendada)
|
42
|
+
- **xmllint** `2.9.3` (utilizado para validação dos XMLs gerados)
|
43
|
+
|
44
|
+
### 🖥 Instalação do `xmllint`
|
45
|
+
|
46
|
+
#### 🔵 Windows
|
47
|
+
|
48
|
+
1. Baixe o pacote do libxml para Windows:
|
49
|
+
- [Download libxml2 para Windows (64bit)](http://xmlsoft.org/sources/win32/64bit/)
|
50
|
+
|
51
|
+
2. Extraia o conteúdo em um diretório acessível.
|
52
|
+
|
53
|
+
3. Declaração uma das opção:
|
54
|
+
( ) Declaração de variavel no sistema.
|
55
|
+
Adicione o caminho do executável (`xmllint.exe`) à variável de ambiente `PATH` do windows.
|
56
|
+
( ) Ao declarar Tools({..., xmllint: 'diretorio/bin/xmllint.exe'}, ...) no proprio codigo.
|
57
|
+
|
58
|
+
#### 🐧 Linux (Debian/Ubuntu)
|
59
|
+
|
60
|
+
Execute o comando abaixo para instalar via APT:
|
61
|
+
|
62
|
+
```bash
|
63
|
+
sudo apt -y install libxml2-utils
|
64
|
+
```
|
65
|
+
|
66
|
+
---
|
67
|
+
|
68
|
+
## 🚀 Começando
|
69
|
+
|
70
|
+
### 1. Instalação
|
71
|
+
|
72
|
+
```bash
|
73
|
+
npm install node-sped-nfe
|
74
|
+
# ou
|
75
|
+
yarn add node-sped-nfe
|
package/docs/README.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# 🚀 Bem-vindo à jornada de emissão de NF-e!
|
2
|
+
|
3
|
+
Aqui começa sua aventura pelo mundo fiscal brasileiro!
|
4
|
+
Abaixo você encontrará todos os passos necessários para emitir suas Notas Fiscais Eletrônicas (NF-e) com sucesso e tranquilidade. 💡
|
5
|
+
|
6
|
+
---
|
7
|
+
|
8
|
+
## 📦 Requisitos
|
9
|
+
|
10
|
+
Antes de começar, verifique se seu ambiente está preparado:
|
11
|
+
|
12
|
+
- ✅ **Node.js** `v22.14.0` (versão testada e recomendada)
|
13
|
+
- ✅ **xmllint / libxml**
|
14
|
+
Utilizado para validação e assinatura de XML.
|
15
|
+
📚 Guia de instalação e uso:
|
16
|
+
👉 [Assinar XML com xmllint](https://github.com/kalmonv/node-sped-nfe/blob/main/docs/xmllint.md)
|
17
|
+
|
18
|
+
---
|
19
|
+
|
20
|
+
## 🧭 Passo a passo
|
21
|
+
|
22
|
+
Siga os passos abaixo na ordem para garantir uma emissão completa e válida:
|
23
|
+
|
24
|
+
1. 🧾 **Criação do XML da NF-e**
|
25
|
+
Gere corretamente seu XML com base nas regras da SEFAZ.
|
26
|
+
👉 [Documentação](https://github.com/kalmonv/node-sped-nfe/blob/main/docs/xml.md)
|
27
|
+
|
28
|
+
2. ✍️ **Assinar o XML**
|
29
|
+
Assine digitalmente o XML com seu certificado A1.
|
30
|
+
👉 [Como assinar](https://github.com/kalmonv/node-sped-nfe/blob/main/docs/assinar_xml.md)
|
31
|
+
|
32
|
+
3. 📡 **Enviar para a SEFAZ**
|
33
|
+
Transmita o XML assinado para a SEFAZ e obtenha o protocolo.
|
34
|
+
👉 [Envio e retorno](https://github.com/kalmonv/node-sped-nfe/blob/main/docs/sefaz.md)
|
35
|
+
|
36
|
+
4. 📬 **Entendendo as respostas da SEFAZ**
|
37
|
+
Interprete corretamente os códigos e status da resposta da SEFAZ.
|
38
|
+
👉 [Tabela de status](https://github.com/kalmonv/node-sped-nfe/blob/main/docs/sefaz_status.md)
|
39
|
+
|
40
|
+
---
|
41
|
+
|
42
|
+
## ✨ Pronto para emitir?
|
43
|
+
|
44
|
+
Com esses passos em mãos, você está oficialmente preparado para integrar a emissão de NF-e na sua aplicação!
|
45
|
+
Se algo não funcionar, revise os links, verifique as dependências e conte com a comunidade. 😉
|
46
|
+
|
47
|
+
---
|
48
|
+
|
49
|
+
💙 Feito com dedicação para desenvolvedores que enfrentam a selva do SPED todos os dias.
|