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/docs/xml.md
ADDED
@@ -0,0 +1,1653 @@
|
|
1
|
+
# ATENÇÃO, A BIBLIOTECA NÃO ESTA COMPLETA!
|
2
|
+
O XML é estruturado em uma ordem específica, sendo indispensável que se observe a sequência de chamadas das funções mencionadas abaixo, bem como a ordem de seus atributos. Por exemplo:
|
3
|
+
```javascript
|
4
|
+
var usuario = new Object();
|
5
|
+
|
6
|
+
// 1 OPÇÃO - CORRETO
|
7
|
+
usuario.nome = "Joao"
|
8
|
+
usuario.ultNome = "Silva"
|
9
|
+
|
10
|
+
// 2 OPÇÃO - CORRETO
|
11
|
+
usuario = {
|
12
|
+
nome: "Joao",
|
13
|
+
ultNome: "Silva"
|
14
|
+
}
|
15
|
+
|
16
|
+
// 3 OPÇÃO - INVALIDO
|
17
|
+
usuario.ultNome = "Silva"
|
18
|
+
usuario.nome = "Joao"
|
19
|
+
|
20
|
+
// 4 OPÇÃO - INVALIDO
|
21
|
+
usuario = {
|
22
|
+
ultNome: "Silva",
|
23
|
+
nome: "Joao"
|
24
|
+
}
|
25
|
+
```
|
26
|
+
|
27
|
+
| Aonde | Motivo |
|
28
|
+
|-------|-------------------|
|
29
|
+
| 🔴 | Não implementado |
|
30
|
+
| 🟢 | Implementado |
|
31
|
+
|
32
|
+
# Iniciar biblioteca
|
33
|
+
```javascript
|
34
|
+
import { Make, Tools } from "node-sped-nfe"
|
35
|
+
import fs from "fs";
|
36
|
+
|
37
|
+
let myTools = new Tools({ //Configuração de habiente e sistema
|
38
|
+
mod: 55,
|
39
|
+
tpAmb: 2,
|
40
|
+
cUF: 51,
|
41
|
+
|
42
|
+
/*
|
43
|
+
OPTATIVO!
|
44
|
+
LEIA Instalação do xmllint
|
45
|
+
*/
|
46
|
+
xmllint: `../libxml2-2.9.3-win32-x86_64/bin/xmllint.exe`
|
47
|
+
}, { //Certificado digital
|
48
|
+
pfx: 'certificado.pfx',
|
49
|
+
senha: "senha-certificado",
|
50
|
+
});
|
51
|
+
```
|
52
|
+
|
53
|
+
> NOTA: Muitos campos não são obrigatórios. Caso não haja nenhum valor a ser informado, devem ser criados como NULL.
|
54
|
+
> NOTA: Caso existam erros na passagem de parâmetros para a classe, será disparada uma Exception e esses erros poderão ser recuperados pelo método getErrors().
|
55
|
+
|
56
|
+
|
57
|
+
# Métodos
|
58
|
+
|
59
|
+
### 🟢 function __construct()
|
60
|
+
Método construtor. Instancia a classe
|
61
|
+
|
62
|
+
```Javascript
|
63
|
+
var nfe = new Make();
|
64
|
+
```
|
65
|
+
|
66
|
+
### 🟢 function taginfNFe(std)
|
67
|
+
Node principal
|
68
|
+
|
69
|
+
NOTA: **se o parametro std.Id não for passado a chave será criada e inclusa e poderá ser recuperada no parâmetro chNFe da classe,**
|
70
|
+
**De outra forma se a chave for passada no parâmetro std.Id e estiver incorreta, um erro será inserido na proriedade errors.**
|
71
|
+
|
72
|
+
| Parâmetro | Tipo | Descrição |
|
73
|
+
| :--- | :---: | :--- |
|
74
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
75
|
+
|
76
|
+
```javascript
|
77
|
+
let std = new Object();
|
78
|
+
std.versao = '4.00'; //versão do layout (string)
|
79
|
+
std.Id = 'NFe35150271780456000160550010000000021800700082'; //se o Id de 44 digitos não for passado será gerado automaticamente
|
80
|
+
std.pk_nItem = null; //deixe essa variavel sempre como NULL
|
81
|
+
|
82
|
+
nfe.taginfNFe(std);
|
83
|
+
|
84
|
+
```
|
85
|
+
|
86
|
+
### 🟢 function tagide(std)
|
87
|
+
Node de identificação da NFe
|
88
|
+
|
89
|
+
| Parâmetro | Tipo | Descrição |
|
90
|
+
| :--- | :---: | :--- |
|
91
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
92
|
+
|
93
|
+
```javascript
|
94
|
+
let std = new Object();
|
95
|
+
std.cUF = 35;
|
96
|
+
std.cNF = '80070008';
|
97
|
+
std.natOp = 'VENDA';
|
98
|
+
|
99
|
+
std.indPag = 0; //NÃO EXISTE MAIS NA VERSÃO 4.00
|
100
|
+
|
101
|
+
std.mod = 55;
|
102
|
+
std.serie = 1;
|
103
|
+
std.nNF = 2;
|
104
|
+
std.dhEmi = '2015-02-19T13:48:00-02:00';
|
105
|
+
std.dhSaiEnt = null;
|
106
|
+
std.tpNF = 1;
|
107
|
+
std.idDest = 1;
|
108
|
+
std.cMunFG = 3518800;
|
109
|
+
std.tpImp = 1;
|
110
|
+
std.tpEmis = 1;
|
111
|
+
std.cDV = 2;
|
112
|
+
std.tpAmb = 2;
|
113
|
+
std.finNFe = 1;
|
114
|
+
std.indFinal = 0;
|
115
|
+
std.indPres = 0;
|
116
|
+
std.indIntermed = null;
|
117
|
+
std.procEmi = 0;
|
118
|
+
std.verProc = '3.10.31';
|
119
|
+
std.dhCont = null;
|
120
|
+
std.xJust = null;
|
121
|
+
|
122
|
+
nfe.tagide(std);
|
123
|
+
```
|
124
|
+
|
125
|
+
|
126
|
+
### 🔴 function tagrefNFe(std)
|
127
|
+
Node referente a NFe referenciada
|
128
|
+
|
129
|
+
| Parâmetro | Tipo | Descrição |
|
130
|
+
| :--- | :---: | :--- |
|
131
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
132
|
+
|
133
|
+
```javascript
|
134
|
+
let std = new Object();
|
135
|
+
std.refNFe = '35150271780456000160550010000253101000253101';
|
136
|
+
|
137
|
+
nfe.tagrefNFe(std);
|
138
|
+
```
|
139
|
+
|
140
|
+
### 🔴 function tagrefNF(std)
|
141
|
+
Node referente a Nota Fiscal referenciada modelo 1 ou 2
|
142
|
+
|
143
|
+
| Parâmetro | Tipo | Descrição |
|
144
|
+
| :--- | :---: | :--- |
|
145
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
146
|
+
|
147
|
+
```javascript
|
148
|
+
let std = new Object();
|
149
|
+
std.cUF = 35;
|
150
|
+
std.AAMM = 1412;
|
151
|
+
std.CNPJ = '52297850000105';
|
152
|
+
std.mod = '01';
|
153
|
+
std.serie = 3;
|
154
|
+
std.nNF = 587878;
|
155
|
+
|
156
|
+
nfe.tagrefNF(std);
|
157
|
+
```
|
158
|
+
|
159
|
+
### 🔴 function tagrefNFP(std)
|
160
|
+
Node referente a Nota Fiscal referenciada de produtor rural
|
161
|
+
|
162
|
+
| Parâmetro | Tipo | Descrição |
|
163
|
+
| :--- | :---: | :--- |
|
164
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
165
|
+
|
166
|
+
```javascript
|
167
|
+
let std = new Object();
|
168
|
+
std.cUF = 35;
|
169
|
+
std.AAMM = 1502;
|
170
|
+
std.CNPJ;
|
171
|
+
std.CPF;
|
172
|
+
std.IE = 'ISENTO';
|
173
|
+
std.mod = '04';
|
174
|
+
std.serie = 0;
|
175
|
+
std.nNF = 5578;
|
176
|
+
|
177
|
+
nfe.tagrefNFP(std);
|
178
|
+
```
|
179
|
+
### 🔴 function tagrefCTe(std)
|
180
|
+
Node referente aos CTe referenciados
|
181
|
+
|
182
|
+
| Parâmetro | Tipo | Descrição |
|
183
|
+
| :--- | :---: | :--- |
|
184
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
185
|
+
```javascript
|
186
|
+
let std = new Object();
|
187
|
+
std.refCTe = '35150268252816000146570010000016161002008472';
|
188
|
+
|
189
|
+
nfe.tagrefCTe(std);
|
190
|
+
```
|
191
|
+
|
192
|
+
### 🔴 function tagrefECF(std)
|
193
|
+
Node referente aos ECF referenciados
|
194
|
+
|
195
|
+
| Parâmetro | Tipo | Descrição |
|
196
|
+
| :--- | :---: | :--- |
|
197
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
198
|
+
```javascript
|
199
|
+
let std = new Object();
|
200
|
+
std.mod = '2C';
|
201
|
+
std.nECF = 788;
|
202
|
+
std.nCOO = 114;
|
203
|
+
|
204
|
+
nfe.tagrefECF(std);
|
205
|
+
```
|
206
|
+
|
207
|
+
### 🟢 function tagemit(std)
|
208
|
+
Node com os dados do emitente
|
209
|
+
|
210
|
+
| Parâmetro | Tipo | Descrição |
|
211
|
+
| :--- | :---: | :--- |
|
212
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
213
|
+
|
214
|
+
```javascript
|
215
|
+
let std = new Object();
|
216
|
+
std.xNome;
|
217
|
+
std.xFant;
|
218
|
+
std.IE;
|
219
|
+
std.IEST;
|
220
|
+
std.IM;
|
221
|
+
std.CNAE;
|
222
|
+
std.CRT;
|
223
|
+
std.CNPJ; //indicar apenas um CNPJ ou CPF
|
224
|
+
std.CPF;
|
225
|
+
|
226
|
+
nfe.tagemit(std);
|
227
|
+
```
|
228
|
+
|
229
|
+
### 🟢 function tagenderEmit(std)
|
230
|
+
Node com o endereço do emitente
|
231
|
+
|
232
|
+
| Parâmetro | Tipo | Descrição |
|
233
|
+
| :--- | :---: | :--- |
|
234
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
235
|
+
|
236
|
+
```javascript
|
237
|
+
let std = new Object();
|
238
|
+
std.xLgr;
|
239
|
+
std.nro;
|
240
|
+
std.xCpl;
|
241
|
+
std.xBairro;
|
242
|
+
std.cMun;
|
243
|
+
std.xMun;
|
244
|
+
std.UF;
|
245
|
+
std.CEP;
|
246
|
+
std.cPais;
|
247
|
+
std.xPais;
|
248
|
+
std.fone;
|
249
|
+
|
250
|
+
nfe.tagenderEmit(std);
|
251
|
+
```
|
252
|
+
|
253
|
+
### 🟢 function tagdest(std)
|
254
|
+
Node com os dados do destinatário
|
255
|
+
|
256
|
+
| Parâmetro | Tipo | Descrição |
|
257
|
+
| :--- | :---: | :--- |
|
258
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
259
|
+
|
260
|
+
```javascript
|
261
|
+
let std = new Object();
|
262
|
+
std.xNome;
|
263
|
+
std.indIEDest;
|
264
|
+
std.IE;
|
265
|
+
std.ISUF;
|
266
|
+
std.IM;
|
267
|
+
std.email;
|
268
|
+
std.CNPJ; //indicar apenas um CNPJ ou CPF ou idEstrangeiro
|
269
|
+
std.CPF;
|
270
|
+
std.idEstrangeiro;
|
271
|
+
|
272
|
+
nfe.tagdest(std);
|
273
|
+
```
|
274
|
+
|
275
|
+
### 🟢 function tagenderDest(std)
|
276
|
+
Node de endereço do destinatário
|
277
|
+
|
278
|
+
| Parâmetro | Tipo | Descrição |
|
279
|
+
| :--- | :---: | :--- |
|
280
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
281
|
+
|
282
|
+
```javascript
|
283
|
+
let std = new Object();
|
284
|
+
std.xLgr;
|
285
|
+
std.nro;
|
286
|
+
std.xCpl;
|
287
|
+
std.xBairro;
|
288
|
+
std.cMun;
|
289
|
+
std.xMun;
|
290
|
+
std.UF;
|
291
|
+
std.CEP;
|
292
|
+
std.cPais;
|
293
|
+
std.xPais;
|
294
|
+
std.fone;
|
295
|
+
|
296
|
+
nfe.tagenderDest(std);
|
297
|
+
```
|
298
|
+
|
299
|
+
### 🔴 function tagretirada(std)
|
300
|
+
> NOTA: Ajustado para NT 2018.005
|
301
|
+
Node indicativo de local de retirada diferente do endereço do emitente
|
302
|
+
|
303
|
+
| Parâmetro | Tipo | Descrição |
|
304
|
+
| :--- | :---: | :--- |
|
305
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
306
|
+
|
307
|
+
```javascript
|
308
|
+
let std = new Object();
|
309
|
+
std.CNPJ = '12345678901234'; //indicar apenas um CNPJ ou CPF
|
310
|
+
std.CPF = null;
|
311
|
+
std.IE = '12345678901';
|
312
|
+
std.xNome = 'Beltrano e Cia Ltda';
|
313
|
+
std.xLgr = 'Rua Um';
|
314
|
+
std.nro = '123';
|
315
|
+
std.xCpl = 'sobreloja';
|
316
|
+
std.xBairro = 'centro';
|
317
|
+
std.cMun = '3550308';
|
318
|
+
std.xMun = 'Sao Paulo';
|
319
|
+
std.UF = 'SP';
|
320
|
+
std.CEP = '01023000';
|
321
|
+
std.cPais = '1058';
|
322
|
+
std.xPais = 'BRASIL';
|
323
|
+
std.fone = '1122225544';
|
324
|
+
std.email = 'contato@beltrano.com.br';
|
325
|
+
|
326
|
+
nfe.tagretirada(std);
|
327
|
+
```
|
328
|
+
|
329
|
+
|
330
|
+
### 🔴 function tagentrega(std)
|
331
|
+
> NOTA: Ajustado para NT 2018.005
|
332
|
+
Node indicativo de local de entrega diferente do endereço do destinatário
|
333
|
+
|
334
|
+
| Parâmetro | Tipo | Descrição |
|
335
|
+
| :--- | :---: | :--- |
|
336
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
337
|
+
```javascript
|
338
|
+
let std = new Object();
|
339
|
+
std.CNPJ; //indicar um CNPJ ou CPF
|
340
|
+
std.CPF = null;
|
341
|
+
std.IE = '12345678901';
|
342
|
+
std.xNome = 'Beltrano e Cia Ltda';
|
343
|
+
std.xLgr = 'Rua Um';
|
344
|
+
std.nro = '123';
|
345
|
+
std.xCpl = 'sobreloja';
|
346
|
+
std.xBairro = 'centro';
|
347
|
+
std.cMun = '3550308';
|
348
|
+
std.xMun = 'Sao Paulo';
|
349
|
+
std.UF = 'SP';
|
350
|
+
std.CEP = '01023000';
|
351
|
+
std.cPais = '1058';
|
352
|
+
std.xPais = 'BRASIL';
|
353
|
+
std.fone = '1122225544';
|
354
|
+
std.email = 'contato@beltrano.com.br';
|
355
|
+
|
356
|
+
nfe.tagentrega(std);
|
357
|
+
```
|
358
|
+
|
359
|
+
### 🔴 function tagautXML(std)
|
360
|
+
Node de registro de pessoas autorizadas a acessar a NFe
|
361
|
+
|
362
|
+
| Parâmetro | Tipo | Descrição |
|
363
|
+
| :--- | :---: | :--- |
|
364
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
365
|
+
```javascript
|
366
|
+
let std = new Object();
|
367
|
+
std.CNPJ = '12345678901234'; //indicar um CNPJ ou CPF
|
368
|
+
std.CPF = null;
|
369
|
+
nfe.tagautXML(std);
|
370
|
+
```
|
371
|
+
|
372
|
+
### 🟢 function tagprod(std)
|
373
|
+
Node de dados do produto/serviço
|
374
|
+
|
375
|
+
| Parâmetro | Tipo | Descrição |
|
376
|
+
| :--- | :---: | :--- |
|
377
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
378
|
+
```javascript
|
379
|
+
let std = new Object();
|
380
|
+
std.item = 1; //item da NFe
|
381
|
+
std.cProd;
|
382
|
+
std.cEAN;
|
383
|
+
std.cBarra;
|
384
|
+
std.xProd;
|
385
|
+
std.NCM;
|
386
|
+
std.cBenef;
|
387
|
+
std.EXTIPI;
|
388
|
+
std.CFOP;
|
389
|
+
std.uCom;
|
390
|
+
std.qCom;
|
391
|
+
std.vUnCom;
|
392
|
+
std.vProd;
|
393
|
+
std.cEANTrib;
|
394
|
+
std.cBarraTrib;
|
395
|
+
std.uTrib;
|
396
|
+
std.qTrib;
|
397
|
+
std.vUnTrib;
|
398
|
+
std.vFrete;
|
399
|
+
std.vSeg;
|
400
|
+
std.vDesc;
|
401
|
+
std.vOutro;
|
402
|
+
std.indTot;
|
403
|
+
std.xPed;
|
404
|
+
std.nItemPed;
|
405
|
+
std.nFCI;
|
406
|
+
|
407
|
+
nfe.tagprod(std);
|
408
|
+
```
|
409
|
+
|
410
|
+
### 🔴 function tagCreditoPresumidoProd(std): void
|
411
|
+
Node opcional com dados de Crédito Presumido, são permitidos até 4 registros por item
|
412
|
+
|
413
|
+
| Parâmetro | Tipo | Descrição |
|
414
|
+
| :--- | :---: |:-----------------------------------------------------------------------|
|
415
|
+
|item|inteiro| Número do item da NFe |
|
416
|
+
|cCredPresumido|string|Código de Benefício Fiscal de Crédito Presumido na UF aplicado ao item |
|
417
|
+
|pCredPresumido|numerico|Percentual do Crédito Presumido |
|
418
|
+
|vCredPresumido|numerico|Valor do Crédito Presumido |
|
419
|
+
|
420
|
+
```javascript
|
421
|
+
let std = new \Object();
|
422
|
+
std.item = 1;
|
423
|
+
std.cCredPresumido = '2222211234';
|
424
|
+
std.pCredPresumido = '4';
|
425
|
+
std.vCredPresumido = '4';
|
426
|
+
|
427
|
+
$make.tagCreditoPresumidoProd(std);
|
428
|
+
```
|
429
|
+
|
430
|
+
### 🔴 function taginfAdProd(std)
|
431
|
+
Node de informações adicionais do produto
|
432
|
+
|
433
|
+
| Parâmetro | Tipo | Descrição |
|
434
|
+
| :--- | :---: | :--- |
|
435
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
436
|
+
```javascript
|
437
|
+
let std = new Object();
|
438
|
+
std.item = 1; //item da NFe
|
439
|
+
|
440
|
+
std.infAdProd = 'informacao adicional do item';
|
441
|
+
|
442
|
+
nfe.taginfAdProd(std);
|
443
|
+
```
|
444
|
+
|
445
|
+
### 🔴 function tagNVE(std)
|
446
|
+
Node com a Nomenclatura de Valor Aduaneiro e Estatística do item da NFe
|
447
|
+
|
448
|
+
| Parâmetro | Tipo | Descrição |
|
449
|
+
| :--- | :---: | :--- |
|
450
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
451
|
+
```javascript
|
452
|
+
let std = new Object();
|
453
|
+
std.item = 1; //item da NFe
|
454
|
+
std.NVE = 'AA0001';
|
455
|
+
|
456
|
+
nfe.tagNVE(std);
|
457
|
+
```
|
458
|
+
|
459
|
+
### 🔴 function tagCEST(std)
|
460
|
+
Node de detalhamento do Especificador da Substituição Tributária do item da NFe
|
461
|
+
|
462
|
+
| Parâmetro | Tipo | Descrição |
|
463
|
+
| :--- | :---: | :--- |
|
464
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
465
|
+
```javascript
|
466
|
+
let std = new Object();
|
467
|
+
std.item = 1; //item da NFe
|
468
|
+
std.CEST = '0200100';
|
469
|
+
std.indEscala = 'N'; //incluido no layout 4.00
|
470
|
+
std.CNPJFab = '12345678901234'; //incluido no layout 4.00
|
471
|
+
|
472
|
+
nfe.tagCEST(std);
|
473
|
+
```
|
474
|
+
|
475
|
+
### 🔴 function tagRECOPI(std)
|
476
|
+
Node com o número do RECOPI
|
477
|
+
|
478
|
+
| Parâmetro | Tipo | Descrição |
|
479
|
+
| :--- | :---: | :--- |
|
480
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
481
|
+
```javascript
|
482
|
+
let std = new Object();
|
483
|
+
std.item = 1; //item da NFe
|
484
|
+
std.nRECOPI = '12345678901234567890';
|
485
|
+
|
486
|
+
nfe.tagRECOPI(std);
|
487
|
+
```
|
488
|
+
|
489
|
+
### 🔴 function tagDI(std)
|
490
|
+
Node com informações da Declaração de Importação do item da NFe
|
491
|
+
|
492
|
+
| Parâmetro | Tipo | Descrição |
|
493
|
+
| :--- | :---: | :--- |
|
494
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
495
|
+
```javascript
|
496
|
+
let std = new Object();
|
497
|
+
std.item = 1; //item da NFe
|
498
|
+
std.nDI;
|
499
|
+
std.dDI;
|
500
|
+
std.xLocDesemb;
|
501
|
+
std.UFDesemb;
|
502
|
+
std.dDesemb;
|
503
|
+
std.tpViaTransp;
|
504
|
+
std.vAFRMM;
|
505
|
+
std.tpIntermedio;
|
506
|
+
std.CNPJ;
|
507
|
+
std.CPF; //NT 2023.004 v1.00
|
508
|
+
std.UFTerceiro;
|
509
|
+
std.cExportador;
|
510
|
+
|
511
|
+
nfe.tagDI(std);
|
512
|
+
```
|
513
|
+
|
514
|
+
### 🔴 function tagadi(std)
|
515
|
+
Node de Adições relativas as DI do item
|
516
|
+
|
517
|
+
| Parâmetro | Tipo | Descrição |
|
518
|
+
| :--- | :---: | :--- |
|
519
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
520
|
+
```javascript
|
521
|
+
let std = new Object();
|
522
|
+
std.item = 1; //item da NFe
|
523
|
+
std.nDI; //número da DI
|
524
|
+
std.nAdicao;
|
525
|
+
std.nSeqAdic;
|
526
|
+
std.cFabricante;
|
527
|
+
std.vDescDI;
|
528
|
+
std.nDraw;
|
529
|
+
|
530
|
+
nfe.tagadi(std);
|
531
|
+
```
|
532
|
+
|
533
|
+
### 🔴 function tagdetExport(std)
|
534
|
+
Node com informações de exportação para o item
|
535
|
+
|
536
|
+
| Parâmetro | Tipo | Descrição |
|
537
|
+
| :--- | :---: | :--- |
|
538
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
539
|
+
```javascript
|
540
|
+
let std = new Object();
|
541
|
+
std.item = 1; //item da NFe
|
542
|
+
std.nDraw = '82828';
|
543
|
+
|
544
|
+
nfe.tagdetExport(std);
|
545
|
+
```
|
546
|
+
|
547
|
+
### 🔴 function tagdetExportInd(std)
|
548
|
+
Node com Grupo sobre exportação indireta, deve ser indicado logo após
|
549
|
+
nfe.tagdetExport(std) pois pertence a essa tag
|
550
|
+
|
551
|
+
| Parâmetro | Tipo | Descrição |
|
552
|
+
| :--- | :---: | :--- |
|
553
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
554
|
+
```javascript
|
555
|
+
let std = new Object();
|
556
|
+
std.item = 1; //item da NFe
|
557
|
+
std.nRE = '123456789012';
|
558
|
+
std.chNFe = '53170924915365000295550550000001951000001952';
|
559
|
+
std.qExport = 1234.123;
|
560
|
+
|
561
|
+
nfe.tagdetExportInd(std);
|
562
|
+
```
|
563
|
+
### 🔴 function tagRastro(std)
|
564
|
+
Node com os dados de rastreabilidade do item da NFe
|
565
|
+
|
566
|
+
*Método Incluso para atender layout 4.00*
|
567
|
+
|
568
|
+
| Parâmetro | Tipo | Descrição |
|
569
|
+
| :--- | :---: | :--- |
|
570
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
571
|
+
```javascript
|
572
|
+
let std = new Object();
|
573
|
+
std.item = 1; //item da NFe
|
574
|
+
std.nLote = '11111';
|
575
|
+
std.qLote = 200;
|
576
|
+
std.dFab = '2018-01-01';
|
577
|
+
std.dVal = '2020-01-01';
|
578
|
+
std.cAgreg = '1234';
|
579
|
+
|
580
|
+
nfe.tagRastro(std);
|
581
|
+
```
|
582
|
+
|
583
|
+
### 🔴 function tagveicProd(std)
|
584
|
+
Node com o detalhamento de Veículos novos do item da NFe
|
585
|
+
|
586
|
+
| Parâmetro | Tipo | Descrição |
|
587
|
+
| :--- | :---: | :--- |
|
588
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
589
|
+
```javascript
|
590
|
+
let std = new Object();
|
591
|
+
std.item = 1; //item da NFe
|
592
|
+
std.tpOp;
|
593
|
+
std.chassi;
|
594
|
+
std.cCor;
|
595
|
+
std.xCor;
|
596
|
+
std.pot;
|
597
|
+
std.cilin;
|
598
|
+
std.pesoL;
|
599
|
+
std.pesoB;
|
600
|
+
std.nSerie;
|
601
|
+
std.tpComb;
|
602
|
+
std.nMotor;
|
603
|
+
std.CMT;
|
604
|
+
std.dist;
|
605
|
+
std.anoMod;
|
606
|
+
std.anoFab;
|
607
|
+
std.tpPint;
|
608
|
+
std.tpVeic;
|
609
|
+
std.espVeic;
|
610
|
+
std.VIN;
|
611
|
+
std.condVeic;
|
612
|
+
std.cMod;
|
613
|
+
std.cCorDENATRAN;
|
614
|
+
std.lota;
|
615
|
+
std.tpRest;
|
616
|
+
|
617
|
+
nfe.tagveicProd(std);
|
618
|
+
```
|
619
|
+
|
620
|
+
### 🔴 function tagmed(std)
|
621
|
+
> NOTA: Ajustado conforme NT 2018.005
|
622
|
+
Node com o detalhamento de Medicamentos e de matérias-primas farmacêuticas
|
623
|
+
|
624
|
+
| Parâmetro | Tipo | Descrição |
|
625
|
+
| :--- | :---: | :--- |
|
626
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
627
|
+
```javascript
|
628
|
+
let std = new Object();
|
629
|
+
std.item = 1; //item da NFe
|
630
|
+
std.cProdANVISA = '1234567890123'; //incluido no layout 4.00
|
631
|
+
std.xMotivoIsencao = 'RDC 238';
|
632
|
+
std.vPMC = 102.22;
|
633
|
+
|
634
|
+
nfe.tagmed(std);
|
635
|
+
```
|
636
|
+
|
637
|
+
### 🔴 function tagarma(std)
|
638
|
+
Node com informações e detalhamento de Armamento do item da NFe
|
639
|
+
|
640
|
+
| Parâmetro | Tipo | Descrição |
|
641
|
+
| :--- | :---: | :--- |
|
642
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
643
|
+
```javascript
|
644
|
+
let std = new Object();
|
645
|
+
std.item = 1; //item da NFe
|
646
|
+
std.nAR; //Indicativo de número da arma
|
647
|
+
std.tpArma;
|
648
|
+
std.nSerie;
|
649
|
+
std.nCano;
|
650
|
+
std.descr;
|
651
|
+
|
652
|
+
nfe.tagarma(std);
|
653
|
+
```
|
654
|
+
|
655
|
+
### 🔴 function tagcomb(std)
|
656
|
+
Node das informações específicas para combustíveis líquidos e lubrificantes do item da NFe
|
657
|
+
|
658
|
+
| Parâmetro | Tipo | Descrição |
|
659
|
+
| :--- | :---: | :--- |
|
660
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
661
|
+
```javascript
|
662
|
+
let std = new Object();
|
663
|
+
std.item = 1; //item da NFe
|
664
|
+
std.cProdANP;
|
665
|
+
|
666
|
+
std.pMixGN; //removido no layout 4.00
|
667
|
+
|
668
|
+
std.descANP; //incluido no layout 4.00
|
669
|
+
std.pGLP; //incluido no layout 4.00
|
670
|
+
std.pGNn; //incluido no layout 4.00
|
671
|
+
std.pGNi; //incluido no layout 4.00
|
672
|
+
std.vPart; //incluido no layout 4.00
|
673
|
+
|
674
|
+
std.CODIF;
|
675
|
+
std.qTemp;
|
676
|
+
std.UFCons;
|
677
|
+
std.qBCProd;
|
678
|
+
std.vAliqProd;
|
679
|
+
std.vCIDE;
|
680
|
+
|
681
|
+
nfe.tagcomb(std);
|
682
|
+
```
|
683
|
+
|
684
|
+
### 🔴 function tagencerrante(std)
|
685
|
+
Node das informações do grupo de “encerrante” disponibilizado por hardware específico acoplado à bomba de Combustível, definido no controle da venda do Posto Revendedor de Combustível.
|
686
|
+
Referente ao item da NFe
|
687
|
+
|
688
|
+
| Parâmetro | Tipo | Descrição |
|
689
|
+
| :--- | :---: | :--- |
|
690
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
691
|
+
```javascript
|
692
|
+
let std = new Object();
|
693
|
+
std.item = 1; //item da NFe
|
694
|
+
std.nBico;
|
695
|
+
std.nBomba;
|
696
|
+
std.nTanque;
|
697
|
+
std.vEncIni;
|
698
|
+
std.vEncFin;
|
699
|
+
std.pBio; //NT 2022.001 v1.10
|
700
|
+
|
701
|
+
|
702
|
+
nfe.tagencerrante(std);
|
703
|
+
```
|
704
|
+
|
705
|
+
### 🔴 function tagorigComb(std)
|
706
|
+
Parte do grupo encerrante, podem haver de 0 até 30 tags desse tipo
|
707
|
+
|
708
|
+
| Parâmetro | Tipo | Descrição |
|
709
|
+
| :--- | :---: | :--- |
|
710
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
711
|
+
```javascript
|
712
|
+
let std = new Object();
|
713
|
+
std.item = 1; //item da NFe
|
714
|
+
std.indImport= 0; //NT 2023.001 v1.00
|
715
|
+
std.cUFOrig = 35; //NT 2023.001 v1.00
|
716
|
+
std.Orig = 100; //NT 2023.001 v1.00
|
717
|
+
|
718
|
+
nfe.tagOrigComb(std);
|
719
|
+
```
|
720
|
+
|
721
|
+
|
722
|
+
### 🔴 function tagimposto(std)
|
723
|
+
Node inicial dos Tributos incidentes no Produto ou Serviço do item da NFe
|
724
|
+
|
725
|
+
| Parametro | Tipo | Descrição |
|
726
|
+
| :--- | :---: | :--- |
|
727
|
+
| std | stcClass | contêm os dados dos campos, nomeados conforme manual |
|
728
|
+
```javascript
|
729
|
+
let std = new Object();
|
730
|
+
std.item = 1; //item da NFe
|
731
|
+
std.vTotTrib = 1000.00;
|
732
|
+
|
733
|
+
nfe.tagimposto(std);
|
734
|
+
```
|
735
|
+
|
736
|
+
### 🔴 function tagICMS(std)
|
737
|
+
> NOTA: Ajustado conforme NT 2018.005_1.10
|
738
|
+
Node com informações do ICMS do item da NFe
|
739
|
+
|
740
|
+
| Parâmetro | Tipo | Descrição |
|
741
|
+
| :--- | :---: | :--- |
|
742
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
743
|
+
```javascript
|
744
|
+
let std = new Object();
|
745
|
+
std.item = 1; //item da NFe
|
746
|
+
std.orig;
|
747
|
+
std.CST;
|
748
|
+
std.modBC;
|
749
|
+
std.vBC;
|
750
|
+
std.pICMS;
|
751
|
+
std.vICMS;
|
752
|
+
std.pFCP;
|
753
|
+
std.vFCP;
|
754
|
+
std.vBCFCP;
|
755
|
+
std.modBCST;
|
756
|
+
std.pMVAST;
|
757
|
+
std.pRedBCST;
|
758
|
+
std.vBCST;
|
759
|
+
std.pICMSST;
|
760
|
+
std.vICMSST;
|
761
|
+
std.vBCFCPST;
|
762
|
+
std.pFCPST;
|
763
|
+
std.vFCPST;
|
764
|
+
std.vICMSDeson;
|
765
|
+
std.motDesICMS;
|
766
|
+
std.pRedBC;
|
767
|
+
std.vICMSOp;
|
768
|
+
std.pDif;
|
769
|
+
std.vICMSDif;
|
770
|
+
std.vBCSTRet;
|
771
|
+
std.pST;
|
772
|
+
std.vICMSSTRet;
|
773
|
+
std.vBCFCPSTRet;
|
774
|
+
std.pFCPSTRet;
|
775
|
+
std.vFCPSTRet;
|
776
|
+
std.pRedBCEfet;
|
777
|
+
std.vBCEfet;
|
778
|
+
std.pICMSEfet;
|
779
|
+
std.vICMSEfet;
|
780
|
+
std.vICMSSubstituto; //NT 2020.005 v1.20
|
781
|
+
std.vICMSSTDeson; //NT 2020.005 v1.20
|
782
|
+
std.motDesICMSST; //NT 2020.005 v1.20
|
783
|
+
std.pFCPDif; //NT 2020.005 v1.20
|
784
|
+
std.vFCPDif; //NT 2020.005 v1.20
|
785
|
+
std.vFCPEfet; //NT 2020.005 v1.20
|
786
|
+
std.pRedAdRem; //NT 2023.001-v1.10
|
787
|
+
std.qBCMono; //NT 2023.001-v1.10
|
788
|
+
std.adRemiICMS; //NT 2023.001-v1.10
|
789
|
+
std.vICMSMono; //NT 2023.001-v1.10
|
790
|
+
std.adRemICMSRet; //NT 2023.001-v1.10
|
791
|
+
std.vICMSMonoRet; //NT 2023.001-v1.10
|
792
|
+
std.vICMSMonoDif; //NT 2023.001-v1.10
|
793
|
+
std.cBenefRBC; //NT 2019.001 v1.61
|
794
|
+
std.indDeduzDeson; //NT 2023.004 v1.00
|
795
|
+
nfe.tagICMS(std);
|
796
|
+
```
|
797
|
+
|
798
|
+
### 🔴 function tagICMSPart(std)
|
799
|
+
Node com informações da partilha do ICMS entre a UF de origem e UF de destino ou a UF definida na legislação.
|
800
|
+
|
801
|
+
| Parâmetro | Tipo | Descrição |
|
802
|
+
| :--- | :---: | :--- |
|
803
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
804
|
+
```javascript
|
805
|
+
let std = new Object();
|
806
|
+
std.item = 1; //item da NFe
|
807
|
+
std.orig = 0;
|
808
|
+
std.CST = '90';
|
809
|
+
std.modBC = 0;
|
810
|
+
std.vBC = 1000.00;
|
811
|
+
std.pRedBC = null;
|
812
|
+
std.pICMS = 18.00;
|
813
|
+
std.vICMS = 180.00;
|
814
|
+
std.modBCST = 1000.00;
|
815
|
+
std.pMVAST = 40.00;
|
816
|
+
std.pRedBCST = null;
|
817
|
+
std.vBCST = 1400.00;
|
818
|
+
std.pICMSST = 10.00;
|
819
|
+
std.vICMSST = 140.00;
|
820
|
+
std.pBCOp = 10.00;
|
821
|
+
std.UFST = 'RJ';
|
822
|
+
|
823
|
+
nfe.tagICMSPart(std);
|
824
|
+
```
|
825
|
+
|
826
|
+
### 🔴 function tagICMSST(std)
|
827
|
+
> NOTA: Ajustado conforme NT 2018.005 e NT 2018.005_1.10
|
828
|
+
Node Repasse de ICMS ST retido anteriormente em operações interestaduais com repasses através do Substituto Tributário
|
829
|
+
|
830
|
+
| Parametro | Tipo | Descrição |
|
831
|
+
| :--- | :---: | :--- |
|
832
|
+
| std | stcClass | contêm os dados dos campos, nomeados conforme manual |
|
833
|
+
```javascript
|
834
|
+
let std = new Object();
|
835
|
+
std.item = 1; //item da NFe
|
836
|
+
std.orig = 0;
|
837
|
+
std.CST = '60';
|
838
|
+
std.vBCSTRet = 1000.00;
|
839
|
+
std.vICMSSTRet = 190.00;
|
840
|
+
std.vBCSTDest = 1000.00;
|
841
|
+
std.vICMSSTDest = 1.00;
|
842
|
+
std.vBCFCPSTRet = 1000.00;
|
843
|
+
std.pFCPSTRet = 1.00;
|
844
|
+
std.vFCPSTRet = 10.00;
|
845
|
+
std.pST = null;
|
846
|
+
std.vICMSSubstituto = null;
|
847
|
+
std.pRedBCEfet = null;
|
848
|
+
std.vBCEfet = null;
|
849
|
+
std.pICMSEfet = null;
|
850
|
+
std.vICMSEfet = null;
|
851
|
+
|
852
|
+
nfe.tagICMSST(std);
|
853
|
+
```
|
854
|
+
|
855
|
+
### 🟢 function tagProdICMSSN(std)
|
856
|
+
Node referente Tributação ICMS pelo Simples Nacional do item da NFe
|
857
|
+
> NOTA: Ajustado conforme NT 2018.005_1.10
|
858
|
+
|
859
|
+
| Parâmetro | Tipo | Descrição |
|
860
|
+
| :--- | :---: | :--- |
|
861
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
862
|
+
```javascript
|
863
|
+
let std = new Object();
|
864
|
+
std.item = 1; //item da NFe
|
865
|
+
std.orig = 0;
|
866
|
+
std.CSOSN = '101';
|
867
|
+
std.pCredSN = 2.00;
|
868
|
+
std.vCredICMSSN = 20.00;
|
869
|
+
std.modBCST = null;
|
870
|
+
std.pMVAST = null;
|
871
|
+
std.pRedBCST = null;
|
872
|
+
std.vBCST = null;
|
873
|
+
std.pICMSST = null;
|
874
|
+
std.vICMSST = null;
|
875
|
+
std.vBCFCPST = null; //incluso no layout 4.00
|
876
|
+
std.pFCPST = null; //incluso no layout 4.00
|
877
|
+
std.vFCPST = null; //incluso no layout 4.00
|
878
|
+
std.vBCSTRet = null;
|
879
|
+
std.pST = null;
|
880
|
+
std.vICMSSTRet = null;
|
881
|
+
std.vBCFCPSTRet = null; //incluso no layout 4.00
|
882
|
+
std.pFCPSTRet = null; //incluso no layout 4.00
|
883
|
+
std.vFCPSTRet = null; //incluso no layout 4.00
|
884
|
+
std.modBC = null;
|
885
|
+
std.vBC = null;
|
886
|
+
std.pRedBC = null;
|
887
|
+
std.pICMS = null;
|
888
|
+
std.vICMS = null;
|
889
|
+
std.pRedBCEfet = null;
|
890
|
+
std.vBCEfet = null;
|
891
|
+
std.pICMSEfet = null;
|
892
|
+
std.vICMSEfet = null;
|
893
|
+
std.vICMSSubstituto = null;
|
894
|
+
|
895
|
+
nfe.tagICMSSN(std);
|
896
|
+
```
|
897
|
+
|
898
|
+
### 🔴 function tagICMSUFDest(std)
|
899
|
+
Node de informação do ICMS Interestadual do item na NFe
|
900
|
+
|
901
|
+
| Parâmetro | Tipo | Descrição |
|
902
|
+
| :--- | :---: | :--- |
|
903
|
+
| std | stcClass | contêm os dados dos campos, nomeados conforme manual |
|
904
|
+
```javascript
|
905
|
+
let std = new Object();
|
906
|
+
std.item = 1; //item da NFe
|
907
|
+
std.vBCUFDest = 100.00;
|
908
|
+
std.vBCFCPUFDest = 100.00;
|
909
|
+
std.pFCPUFDest = 1.00;
|
910
|
+
std.pICMSUFDest = 18.00;
|
911
|
+
std.pICMSInter = 12.00;
|
912
|
+
std.pICMSInterPart = 80.00;
|
913
|
+
std.vFCPUFDest = 1.00;
|
914
|
+
std.vICMSUFDest = 14.44;
|
915
|
+
std.vICMSUFRemet = 3.56;
|
916
|
+
|
917
|
+
nfe.tagICMSUFDest(std);
|
918
|
+
```
|
919
|
+
|
920
|
+
### 🔴 function tagIPI(std)
|
921
|
+
Node referente ao IPI do item da NFe
|
922
|
+
|
923
|
+
> NOTA: clEnq foi removido do layout 4.00 na NT_2016_V1.40
|
924
|
+
|
925
|
+
| Parâmetro | Tipo | Descrição |
|
926
|
+
| :--- | :---: | :--- |
|
927
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
928
|
+
```javascript
|
929
|
+
let std = new Object();
|
930
|
+
std.item = 1; //item da NFe
|
931
|
+
std.clEnq = null;
|
932
|
+
std.CNPJProd = null;
|
933
|
+
std.cSelo = null;
|
934
|
+
std.qSelo = null;
|
935
|
+
std.cEnq = '999';
|
936
|
+
std.CST = '50';
|
937
|
+
std.vIPI = 150.00;
|
938
|
+
std.vBC = 1000.00;
|
939
|
+
std.pIPI = 15.00;
|
940
|
+
std.qUnid = null;
|
941
|
+
std.vUnid = null;
|
942
|
+
|
943
|
+
nfe.tagIPI(std);
|
944
|
+
```
|
945
|
+
|
946
|
+
### 🔴 function tagII(std)
|
947
|
+
Node Imposto de Importação do item da NFe
|
948
|
+
|
949
|
+
| Parâmetro | Tipo | Descrição |
|
950
|
+
| :--- | :---: | :--- |
|
951
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
952
|
+
```javascript
|
953
|
+
let std = new Object();
|
954
|
+
std.item = 1; //item da NFe
|
955
|
+
std.vBC = 1000.00;
|
956
|
+
std.vDespAdu = 100.00;
|
957
|
+
std.vII = 220.00;
|
958
|
+
std.vIOF = null;
|
959
|
+
|
960
|
+
nfe.tagII(std);
|
961
|
+
```
|
962
|
+
|
963
|
+
### 🟢 function tagProdPIS(std)
|
964
|
+
Node PIS do item da NFe
|
965
|
+
|
966
|
+
| Parâmetro | Tipo | Descrição |
|
967
|
+
| :--- | :---: | :--- |
|
968
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
969
|
+
```javascript
|
970
|
+
let std = new Object();
|
971
|
+
std.item = 1; //item da NFe
|
972
|
+
std.CST = '07';
|
973
|
+
std.vBC = null;
|
974
|
+
std.pPIS = null;
|
975
|
+
std.vPIS = null;
|
976
|
+
std.qBCProd = null;
|
977
|
+
std.vAliqProd = null;
|
978
|
+
|
979
|
+
nfe.tagPIS(std);
|
980
|
+
```
|
981
|
+
|
982
|
+
### 🔴 function tagPISST(std)
|
983
|
+
Node PIS Substituição Tributária do item da NFe
|
984
|
+
|
985
|
+
| Parâmetro | Tipo | Descrição |
|
986
|
+
| :--- | :---: | :--- |
|
987
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
988
|
+
```javascript
|
989
|
+
let std = new Object();
|
990
|
+
std.item = 1; //item da NFe
|
991
|
+
std.vPIS = 16.00;
|
992
|
+
std.vBC = 1000.00
|
993
|
+
std.pPIS = 1.60;
|
994
|
+
std.qBCProd = null;
|
995
|
+
std.vAliqProd = null;
|
996
|
+
std.indSomaPISST = 0; //0=Valor do PISST não compõe o valor total da NF-e
|
997
|
+
//1=Valor do PISST compõe o valor total da NF-e
|
998
|
+
|
999
|
+
nfe.tagPISST(std);
|
1000
|
+
```
|
1001
|
+
|
1002
|
+
### 🟢 function tagProdCOFINS(std)
|
1003
|
+
Node COFINS do item da NFe
|
1004
|
+
|
1005
|
+
| Parâmetro | Tipo | Descrição |
|
1006
|
+
| :--- | :---: | :--- |
|
1007
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1008
|
+
```javascript
|
1009
|
+
let std = new Object();
|
1010
|
+
std.item = 1; //item da NFe
|
1011
|
+
std.CST = '07';
|
1012
|
+
std.vBC = null;
|
1013
|
+
std.pCOFINS = null;
|
1014
|
+
std.vCOFINS = null;
|
1015
|
+
std.qBCProd = null;
|
1016
|
+
std.vAliqProd = null;
|
1017
|
+
|
1018
|
+
nfe.tagCOFINS(std);
|
1019
|
+
```
|
1020
|
+
|
1021
|
+
### 🔴 function tagCOFINSST(std)
|
1022
|
+
Node COFINS Substituição Tributária do item da NFe
|
1023
|
+
|
1024
|
+
| Parâmetro | Tipo | Descrição |
|
1025
|
+
| :--- | :---: | :--- |
|
1026
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1027
|
+
```javascript
|
1028
|
+
let std = new Object();
|
1029
|
+
std.item = 1; //item da NFe
|
1030
|
+
std.vCOFINS = 289.30;
|
1031
|
+
std.vBC = 2893.00;
|
1032
|
+
std.pCOFINS = 10.00;
|
1033
|
+
std.qBCProd = null;
|
1034
|
+
std.vAliqProd = null;
|
1035
|
+
std.indSomaCOFINSST = 0; //0=Valor do COFINS ST não compõe o valor total da NF-e
|
1036
|
+
//1=Valor do COFINS ST compõe o valor total da NF-e
|
1037
|
+
|
1038
|
+
nfe.tagCOFINSST(std);
|
1039
|
+
```
|
1040
|
+
|
1041
|
+
### 🔴 function tagISSQN(std)
|
1042
|
+
Node ISSQN do item da NFe
|
1043
|
+
|
1044
|
+
| Parâmetro | Tipo | Descrição |
|
1045
|
+
| :--- | :---: | :--- |
|
1046
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1047
|
+
```javascript
|
1048
|
+
let std = new Object();
|
1049
|
+
std.item = 1; //item da NFe
|
1050
|
+
std.vBC = 1000.00;
|
1051
|
+
std.vAliq = 5.00;
|
1052
|
+
std.vISSQN = 50.00;
|
1053
|
+
std.cMunFG = '3518800';
|
1054
|
+
std.cListServ = '12.23';
|
1055
|
+
std.vDeducao = null;
|
1056
|
+
std.vOutro = null;
|
1057
|
+
std.vDescIncond = null;
|
1058
|
+
std.vDescCond = null;
|
1059
|
+
std.vISSRet = null;
|
1060
|
+
std.indISS = 2;
|
1061
|
+
std.cServico = '123';
|
1062
|
+
std.cMun = '3518800';
|
1063
|
+
std.cPais = '1058';
|
1064
|
+
std.nProcesso = null;
|
1065
|
+
std.indIncentivo = 2;
|
1066
|
+
|
1067
|
+
nfe.tagISSQN(std);
|
1068
|
+
```
|
1069
|
+
|
1070
|
+
### 🔴 function tagimpostoDevol(std)
|
1071
|
+
Node referente a informação do Imposto devolvido
|
1072
|
+
|
1073
|
+
> NOTA: O motivo da devolução deverá ser informado pela empresa no campo de Informações Adicionais do Produto (tag:infAdProd).
|
1074
|
+
|
1075
|
+
| Parâmetro | Tipo | Descrição |
|
1076
|
+
| :--- | :---: | :--- |
|
1077
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1078
|
+
```javascript
|
1079
|
+
let std = new Object();
|
1080
|
+
std.item = 1; //item da NFe
|
1081
|
+
std.pDevol = 2.00;
|
1082
|
+
std.vIPIDevol = 123.36;
|
1083
|
+
|
1084
|
+
nfe.tagimpostoDevol(std);
|
1085
|
+
```
|
1086
|
+
|
1087
|
+
### 🟢 function tagICMSTot(std)
|
1088
|
+
Node dos totais referentes ao ICMS
|
1089
|
+
|
1090
|
+
> NOTA: Esta tag não necessita que sejam passados valores, pois a classe irá calcular esses totais e irá usar essa totalização para complementar e gerar esse node, caso nenhum valor seja passado como parâmetro.
|
1091
|
+
|
1092
|
+
| Parâmetro | Tipo | Descrição |
|
1093
|
+
| :--- | :---: | :--- |
|
1094
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1095
|
+
```javascript
|
1096
|
+
let std = new Object();
|
1097
|
+
std.vBC;
|
1098
|
+
std.vICMS;
|
1099
|
+
std.vICMSDeson;
|
1100
|
+
std.vBCST;
|
1101
|
+
std.vST;
|
1102
|
+
std.vProd;
|
1103
|
+
std.vFrete;
|
1104
|
+
std.vSeg;
|
1105
|
+
std.vDesc;
|
1106
|
+
std.vII;
|
1107
|
+
std.vIPI;
|
1108
|
+
std.vPIS;
|
1109
|
+
std.vCOFINS;
|
1110
|
+
std.vOutro;
|
1111
|
+
std.vNF;
|
1112
|
+
std.vIPIDevol;
|
1113
|
+
std.vTotTrib;
|
1114
|
+
std.vFCP;
|
1115
|
+
std.vFCPST;
|
1116
|
+
std.vFCPSTRet;
|
1117
|
+
std.vFCPUFDest;
|
1118
|
+
std.vICMSUFDest;
|
1119
|
+
std.vICMSUFRemet;
|
1120
|
+
std.qBCMono;
|
1121
|
+
std.vICMSMono;
|
1122
|
+
std.qBCMonoReten;
|
1123
|
+
std.vICMSMonoReten;
|
1124
|
+
std.qBCMonoRet;
|
1125
|
+
std.vICMSMonoRet;
|
1126
|
+
|
1127
|
+
|
1128
|
+
nfe.tagICMSTot(std);
|
1129
|
+
```
|
1130
|
+
|
1131
|
+
### 🔴 function tagISSQNTot(std)
|
1132
|
+
Node de Totais referentes ao ISSQN
|
1133
|
+
|
1134
|
+
> NOTA: caso os valores não existam indique "null". Se for indicado 0.00 esse número será incluso no XML o que poderá causar sua rejeição.
|
1135
|
+
|
1136
|
+
| Parâmetro | Tipo | Descrição |
|
1137
|
+
| :--- | :---: | :--- |
|
1138
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1139
|
+
```javascript
|
1140
|
+
let std = new Object();
|
1141
|
+
std.vServ = 1000.00;
|
1142
|
+
std.vBC = 1000.00;
|
1143
|
+
std.vISS = 10.00;
|
1144
|
+
std.vPIS = 2.00;
|
1145
|
+
std.vCOFINS = 6.00;
|
1146
|
+
std.dCompet = '2017-09-12';
|
1147
|
+
std.vDeducao = 10.00;
|
1148
|
+
std.vOutro = 10.00;
|
1149
|
+
std.vDescIncond = null;
|
1150
|
+
std.vDescCond = null;
|
1151
|
+
std.vISSRet = null;
|
1152
|
+
std.cRegTrib = 5;
|
1153
|
+
|
1154
|
+
nfe.tagISSQNTot(std);
|
1155
|
+
```
|
1156
|
+
|
1157
|
+
### 🔴 function tagretTrib(std)
|
1158
|
+
Node referente a retenções de tributos
|
1159
|
+
|
1160
|
+
> Exemplos de atos normativos que definem obrigatoriedade da retenção de contribuições:
|
1161
|
+
|
1162
|
+
> a) IRPJ/CSLL/PIS/COFINS - Fonte - Recebimentos de Órgão Público Federal, Lei no 9.430, de 27 de dezembro de 1996, art. 64, Lei no 10.833/2003, art. 34, como normas infralegais, temos como exemplo: IN SRF 480/2004 e IN 539, de 25/04/05.
|
1163
|
+
|
1164
|
+
> b) Retenção do Imposto de Renda pelas Fontes Pagadoras, REMUNERAÇÃO DE SERVIÇOS PROFISSIONAIS PRESTADOS POR PESSOA JURÍDICA, Lei no 7.450/85, art. 52
|
1165
|
+
|
1166
|
+
> c) IRPJ, CSLL, COFINS e PIS - Serviços Prestados por Pessoas Jurídicas - Retenção na Fonte, Lei no 10.833 de 29.12.2003, art. 30, 31, 32, 35 e 36
|
1167
|
+
|
1168
|
+
| Parâmetro | Tipo | Descrição |
|
1169
|
+
| :--- | :---: | :--- |
|
1170
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1171
|
+
```javascript
|
1172
|
+
let std = new Object();
|
1173
|
+
std.vRetPIS = 100.00;
|
1174
|
+
std.vRetCOFINS = 100.00;
|
1175
|
+
std.vRetCSLL = 100.00;
|
1176
|
+
std.vBCIRRF = 100.00;
|
1177
|
+
std.vIRRF = 100.00;
|
1178
|
+
std.vBCRetPrev = 100.00;
|
1179
|
+
std.vRetPrev = 100.00;
|
1180
|
+
|
1181
|
+
nfe.tagretTrib(std);
|
1182
|
+
```
|
1183
|
+
|
1184
|
+
### 🟢 function tagtransp(std)
|
1185
|
+
Node indicativo da forma de frete
|
1186
|
+
|
1187
|
+
| Parâmetro | Tipo | Descrição |
|
1188
|
+
| :--- | :---: | :--- |
|
1189
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1190
|
+
|
1191
|
+
```javascript
|
1192
|
+
let std = new Object();
|
1193
|
+
std.modFrete = 1;
|
1194
|
+
|
1195
|
+
nfe.tagtransp(std);
|
1196
|
+
```
|
1197
|
+
|
1198
|
+
### 🔴 function tagtransporta(std)
|
1199
|
+
Node com os dados da transportadora
|
1200
|
+
|
1201
|
+
| Parâmetro | Tipo | Descrição |
|
1202
|
+
| :--- | :---: | :--- |
|
1203
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1204
|
+
```javascript
|
1205
|
+
let std = new Object();
|
1206
|
+
std.xNome = 'Rodo Fulano';
|
1207
|
+
std.IE = '12345678901';
|
1208
|
+
std.xEnder = 'Rua Um, sem numero';
|
1209
|
+
std.xMun = 'Cotia';
|
1210
|
+
std.UF = 'SP';
|
1211
|
+
std.CNPJ = '12345678901234';//só pode haver um ou CNPJ ou CPF, se um deles é especificado o outro deverá ser null
|
1212
|
+
std.CPF = null;
|
1213
|
+
|
1214
|
+
nfe.tagtransporta(std);
|
1215
|
+
```
|
1216
|
+
|
1217
|
+
### 🔴 function tagretTransp(std)
|
1218
|
+
Node referente a retenção de ICMS do serviço de transporte
|
1219
|
+
|
1220
|
+
| Parâmetro | Tipo | Descrição |
|
1221
|
+
| :--- | :---: | :--- |
|
1222
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1223
|
+
```javascript
|
1224
|
+
let std = new Object();
|
1225
|
+
std.vServ = 240.00;
|
1226
|
+
std.vBCRet = 240.00;
|
1227
|
+
std.pICMSRet = 1.00;
|
1228
|
+
std.vICMSRet = 2.40;
|
1229
|
+
std.CFOP = '5353';
|
1230
|
+
std.cMunFG = '3518800';
|
1231
|
+
|
1232
|
+
nfe.tagretTransp(std);
|
1233
|
+
```
|
1234
|
+
|
1235
|
+
### 🔴 function tagveicTransp(std)
|
1236
|
+
Node para informação do veículo trator
|
1237
|
+
|
1238
|
+
| Parâmetro | Tipo | Descrição |
|
1239
|
+
| :--- | :---: | :--- |
|
1240
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1241
|
+
```javascript
|
1242
|
+
let std = new Object();
|
1243
|
+
std.placa = 'ABC1111';
|
1244
|
+
std.UF = 'RJ';
|
1245
|
+
std.RNTC = '999999';
|
1246
|
+
|
1247
|
+
nfe.tagveicTransp(std);
|
1248
|
+
```
|
1249
|
+
|
1250
|
+
### 🔴 function tagreboque(std)
|
1251
|
+
Node para informar os reboques/Dolly
|
1252
|
+
|
1253
|
+
| Parâmetro | Tipo | Descrição |
|
1254
|
+
| :--- | :---: | :--- |
|
1255
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1256
|
+
```javascript
|
1257
|
+
let std = new Object();
|
1258
|
+
std.placa = 'BCB0897';
|
1259
|
+
std.UF = 'SP';
|
1260
|
+
std.RNTC = '123456';
|
1261
|
+
|
1262
|
+
nfe.tagreboque(std);
|
1263
|
+
```
|
1264
|
+
|
1265
|
+
### 🔴 function tagvagao(std)
|
1266
|
+
Node para informar o vagão usado
|
1267
|
+
|
1268
|
+
| Parâmetro | Tipo | Descrição |
|
1269
|
+
| :--- | :---: | :--- |
|
1270
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1271
|
+
|
1272
|
+
```javascript
|
1273
|
+
let std = new Object();
|
1274
|
+
std.vagao = 'YY452-19';
|
1275
|
+
|
1276
|
+
nfe.tagvagao(std);
|
1277
|
+
```
|
1278
|
+
|
1279
|
+
### 🔴 function tagbalsa(std)
|
1280
|
+
Node para informar a balsa usada
|
1281
|
+
|
1282
|
+
| Parâmetro | Tipo | Descrição |
|
1283
|
+
| :--- | :---: | :--- |
|
1284
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1285
|
+
|
1286
|
+
```javascript
|
1287
|
+
let std = new Object();
|
1288
|
+
std.balsa = 'BNAV111';
|
1289
|
+
|
1290
|
+
nfe.tagbalsa(std);
|
1291
|
+
```
|
1292
|
+
|
1293
|
+
|
1294
|
+
### 🔴 function tagvol(std)
|
1295
|
+
Node com as informações dos volumes transportados
|
1296
|
+
|
1297
|
+
| Parâmetro | Tipo | Descrição |
|
1298
|
+
| :--- | :---: | :--- |
|
1299
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1300
|
+
```javascript
|
1301
|
+
let std = new Object();
|
1302
|
+
std.item = 1; //indicativo do numero do volume
|
1303
|
+
std.qVol = 2;
|
1304
|
+
std.esp = 'caixa';
|
1305
|
+
std.marca = 'OLX';
|
1306
|
+
std.nVol = '11111';
|
1307
|
+
std.pesoL = 10.50;
|
1308
|
+
std.pesoB = 11.00;
|
1309
|
+
|
1310
|
+
nfe.tagvol(std);
|
1311
|
+
```
|
1312
|
+
|
1313
|
+
### 🔴 function taglacres(std)
|
1314
|
+
Node com a identificação dos lacres, referentes ao volume
|
1315
|
+
|
1316
|
+
| Parâmetro | Tipo | Descrição |
|
1317
|
+
| :--- | :---: | :--- |
|
1318
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1319
|
+
```javascript
|
1320
|
+
let std = new Object();
|
1321
|
+
std.item = 1; //indicativo do numero do volume
|
1322
|
+
std.nLacre = 'ZZEX425365';
|
1323
|
+
|
1324
|
+
nfe.taglacres(std);
|
1325
|
+
```
|
1326
|
+
|
1327
|
+
### 🔴 function tagfat(std)
|
1328
|
+
Node com os dados da fatura
|
1329
|
+
|
1330
|
+
| Parâmetro | Tipo | Descrição |
|
1331
|
+
| :--- | :---: | :--- |
|
1332
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1333
|
+
```javascript
|
1334
|
+
let std = new Object();
|
1335
|
+
std.nFat = '1233';
|
1336
|
+
std.vOrig = 1254.22;
|
1337
|
+
std.vDesc = null;
|
1338
|
+
std.vLiq = 1254.22;
|
1339
|
+
|
1340
|
+
nfe.tagfat(std);
|
1341
|
+
```
|
1342
|
+
### 🔴 function tagdup(std)
|
1343
|
+
Node de informações das duplicatas
|
1344
|
+
|
1345
|
+
| Parâmetro | Tipo | Descrição |
|
1346
|
+
| :--- | :---: | :--- |
|
1347
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1348
|
+
```javascript
|
1349
|
+
let std = new Object();
|
1350
|
+
std.nDup = '1233-1';
|
1351
|
+
std.dVenc = '2017-08-22';
|
1352
|
+
std.vDup = 1254.22;
|
1353
|
+
|
1354
|
+
nfe.tagdup(std);
|
1355
|
+
```
|
1356
|
+
|
1357
|
+
### 🔴 function tagpag(std)
|
1358
|
+
Node referente as formas de pagamento **OBRIGATÓRIO para NFCe a partir do layout 3.10**
|
1359
|
+
e também **obrigatório para NFe (modelo 55)** a partir do layout 4.00
|
1360
|
+
|
1361
|
+
| Parâmetro | Tipo | Descrição |
|
1362
|
+
| :--- | :---: | :--- |
|
1363
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1364
|
+
|
1365
|
+
|
1366
|
+
```javascript
|
1367
|
+
let std = new Object();
|
1368
|
+
std.vTroco = null; //incluso no layout 4.00, obrigatório informar para NFCe (65)
|
1369
|
+
|
1370
|
+
nfe.tagpag(std);
|
1371
|
+
```
|
1372
|
+
>NOTA: usualmente para NFe modelo 55, vTroco é null.
|
1373
|
+
|
1374
|
+
### 🟢 function tagdetPag(std)
|
1375
|
+
Node com o detalhamento da forma de pagamento **OBRIGATÓRIO para NFCe e NFe layout4.00**
|
1376
|
+
|
1377
|
+
> NOTA: indPag re-incluso no layout 4.00 NT_2016_V1.51
|
1378
|
+
> NOTA: tPag 14 - duplicata foi removido do layout 4.00 na NT_2016_V1.51
|
1379
|
+
|
1380
|
+
| Parâmetro | Tipo | Descrição |
|
1381
|
+
| :--- | :---: | :--- |
|
1382
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1383
|
+
```javascript
|
1384
|
+
let std = new Object();
|
1385
|
+
std.indPag = '0'; //0= Pagamento à Vista 1= Pagamento à Prazo
|
1386
|
+
std.tPag = '03';
|
1387
|
+
std.vPag = 200.00; //Obs: deve ser informado o valor pago pelo cliente
|
1388
|
+
std.CNPJ = '12345678901234';
|
1389
|
+
std.tBand = '01';
|
1390
|
+
std.cAut = '3333333';
|
1391
|
+
std.tpIntegra = 1; //incluso na NT 2015/002
|
1392
|
+
std.CNPJPag; //NT 2023.004 v1.00
|
1393
|
+
std.UFPag; //NT 2023.004 v1.00
|
1394
|
+
std.CNPJReceb; //NT 2023.004 v1.00
|
1395
|
+
std.idTermPag; //NT 2023.004 v1.00
|
1396
|
+
|
1397
|
+
nfe.tagdetPag(std);
|
1398
|
+
```
|
1399
|
+
>NOTA: para NFe (modelo 55), temos ...
|
1400
|
+
>
|
1401
|
+
> vPag=0.00 **mas pode ter valor se a venda for à vista**
|
1402
|
+
>
|
1403
|
+
> tPag é usualmente:
|
1404
|
+
|
1405
|
+
> - 15 = Boleto Bancário
|
1406
|
+
> - 16 = Depósito Bancário
|
1407
|
+
> - 17 = Pagamento Instantâneo (PIX)
|
1408
|
+
> - 18 = Transferência bancária, Carteira Digital
|
1409
|
+
> - 19 = Programa de fidelidade, Cashback, Crédito Virtual
|
1410
|
+
> - 90 = Sem pagamento
|
1411
|
+
> - 98 = Regime Especial NFF
|
1412
|
+
> - 99 = Outros
|
1413
|
+
>
|
1414
|
+
> *Porém podem haver casos que os outros nodes e valores tenham de ser usados.*
|
1415
|
+
|
1416
|
+
|
1417
|
+
### 🔴 function tagIntermed(std)
|
1418
|
+
Node referente aos dados do Intermediador NT 2020.006
|
1419
|
+
|
1420
|
+
| Parâmetro | Tipo | Descrição |
|
1421
|
+
| :--- | :---: | :--- |
|
1422
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1423
|
+
|
1424
|
+
```javascript
|
1425
|
+
let std = new Object();
|
1426
|
+
std.CNPJ = '12345678901234';
|
1427
|
+
std.idCadIntTran = 'fulano';
|
1428
|
+
|
1429
|
+
nfe.tagIntermed(std);
|
1430
|
+
```
|
1431
|
+
|
1432
|
+
|
1433
|
+
### 🔴 function taginfAdic(std)
|
1434
|
+
Node referente as informações adicionais da NFe
|
1435
|
+
|
1436
|
+
| Parâmetro | Tipo | Descrição |
|
1437
|
+
| :--- | :---: | :--- |
|
1438
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1439
|
+
|
1440
|
+
```javascript
|
1441
|
+
let std = new Object();
|
1442
|
+
std.infAdFisco = 'informacoes para o fisco';
|
1443
|
+
std.infCpl = 'informacoes complementares';
|
1444
|
+
|
1445
|
+
nfe.taginfAdic(std);
|
1446
|
+
```
|
1447
|
+
|
1448
|
+
### 🔴 function tagobsCont(std)
|
1449
|
+
Campo de uso livre do contribuinte, Informar o nome do campo no atributo xCampo e o conteúdo do campo no xTexto
|
1450
|
+
|
1451
|
+
*NOTA: pode ser usado, por exemplo, para indicar outros destinatários de e-mail, além do próprio destinatário da NFe, como o contador, etc.*
|
1452
|
+
|
1453
|
+
| Parâmetro | Tipo | Descrição |
|
1454
|
+
| :--- | :---: | :--- |
|
1455
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1456
|
+
```javascript
|
1457
|
+
let std = new Object();
|
1458
|
+
std.xCampo = 'email';
|
1459
|
+
std.xTexto = 'algum@mail.com';
|
1460
|
+
|
1461
|
+
nfe.tagobsCont(std);
|
1462
|
+
```
|
1463
|
+
|
1464
|
+
### 🔴 function tagobsFisco(std)
|
1465
|
+
Campo de uso livre do Fisco. Informar o nome do campo no atributo xCampo e o conteúdo do campo no xTexto
|
1466
|
+
|
1467
|
+
| Parametro | Tipo | Descrição |
|
1468
|
+
| :--- | :---: | :--- |
|
1469
|
+
| std | stcClass | contêm os dados dos campos, nomeados conforme manual |
|
1470
|
+
|
1471
|
+
```javascript
|
1472
|
+
let std = new Object();
|
1473
|
+
std.xCampo = 'Info';
|
1474
|
+
std.xTexto = 'alguma coisa';
|
1475
|
+
|
1476
|
+
nfe.tagobsFisco(std);
|
1477
|
+
```
|
1478
|
+
|
1479
|
+
|
1480
|
+
### 🔴 function tagprocRef(std)
|
1481
|
+
Node com a identificação do processo ou ato concessório
|
1482
|
+
|
1483
|
+
| Parâmetro | Tipo | Descrição |
|
1484
|
+
| :--- | :---: | :--- |
|
1485
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1486
|
+
```javascript
|
1487
|
+
let std = new Object();
|
1488
|
+
std.nProc 'ks7277272';
|
1489
|
+
std.indProc = 0;
|
1490
|
+
|
1491
|
+
nfe.tagprocRef(std);
|
1492
|
+
```
|
1493
|
+
|
1494
|
+
### 🔴 function tagexporta(std)
|
1495
|
+
Node com dados de exportação.
|
1496
|
+
|
1497
|
+
| Parâmetro | Tipo | Descrição |
|
1498
|
+
| :--- | :---: | :--- |
|
1499
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1500
|
+
```javascript
|
1501
|
+
let std = new Object();
|
1502
|
+
std.UFSaidaPais = 'PR';
|
1503
|
+
std.xLocExporta = 'Paranagua';
|
1504
|
+
std.xLocDespacho = 'Informação do Recinto Alfandegado';
|
1505
|
+
|
1506
|
+
nfe.tagexporta(std);
|
1507
|
+
```
|
1508
|
+
### 🔴 function tagcompra(std)
|
1509
|
+
Node com a informação adicional de compra
|
1510
|
+
|
1511
|
+
| Parâmetro | Tipo | Descrição |
|
1512
|
+
| :--- | :---: | :--- |
|
1513
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1514
|
+
|
1515
|
+
```javascript
|
1516
|
+
let std = new Object();
|
1517
|
+
std.xNEmp = 'ajhjs8282828';
|
1518
|
+
std.xPed = '828288jjshsjhjwj';
|
1519
|
+
std.xCont = 'contrato 1234';
|
1520
|
+
|
1521
|
+
nfe.tagcompra(std);
|
1522
|
+
```
|
1523
|
+
|
1524
|
+
### 🔴 function tagcana(std)
|
1525
|
+
Node com as informações de registro aquisições de cana
|
1526
|
+
|
1527
|
+
| Parâmetro | Tipo | Descrição |
|
1528
|
+
| :--- | :---: | :--- |
|
1529
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1530
|
+
|
1531
|
+
```javascript
|
1532
|
+
let std = new Object();
|
1533
|
+
std.safra = '2017';
|
1534
|
+
std.ref = '09/2017';
|
1535
|
+
std.qTotMes = 20000;
|
1536
|
+
std.qTotAnt = 18000;
|
1537
|
+
std.qTotGer = 38000;
|
1538
|
+
std.vFor = 2500.00;
|
1539
|
+
std.vTotDed = 500.00;
|
1540
|
+
std.vLiqFor = 2000.00;
|
1541
|
+
|
1542
|
+
nfe.tagcana(std);
|
1543
|
+
```
|
1544
|
+
|
1545
|
+
### 🔴 function tagforDia(std)
|
1546
|
+
Node informativo do fornecimento diário de cana
|
1547
|
+
|
1548
|
+
| Parâmetro | Tipo | Descrição |
|
1549
|
+
| :--- | :---: | :--- |
|
1550
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1551
|
+
|
1552
|
+
```javascript
|
1553
|
+
let std = new Object();
|
1554
|
+
std.dia = 1;
|
1555
|
+
std.qtde = 1000;
|
1556
|
+
|
1557
|
+
nfe.tagforDia(std);
|
1558
|
+
```
|
1559
|
+
|
1560
|
+
### 🔴 function tagdeduc(std)
|
1561
|
+
Node Grupo Deduções – Taxas e Contribuições da aquisição de cana
|
1562
|
+
|
1563
|
+
| Parâmetro | Tipo | Descrição |
|
1564
|
+
| :--- | :---: | :--- |
|
1565
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1566
|
+
```javascript
|
1567
|
+
let std = new Object();
|
1568
|
+
std.xDed = 'deducao 1';
|
1569
|
+
std.vDed = 100.00;
|
1570
|
+
|
1571
|
+
nfe.tagdeduc(std);
|
1572
|
+
```
|
1573
|
+
### 🔴 function taginfNFeSupl(std)
|
1574
|
+
Node das informações suplementares da NFCe.
|
1575
|
+
|
1576
|
+
*Não é necessário informar será preenchido automaticamente após a assinatura da NFCe*
|
1577
|
+
|
1578
|
+
| Parâmetro | Tipo | Descrição |
|
1579
|
+
| :--- | :---: | :--- |
|
1580
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1581
|
+
|
1582
|
+
```javascript
|
1583
|
+
let std = new Object();
|
1584
|
+
std.qrcode;
|
1585
|
+
std.urlChave;
|
1586
|
+
|
1587
|
+
nfe.taginfNFeSupl(std);
|
1588
|
+
```
|
1589
|
+
|
1590
|
+
### 🟢 function taginfRespTec(std)
|
1591
|
+
Node da informação referente ao Responsável Técnico NT 2018.005
|
1592
|
+
**Esta tag é OPCIONAL mas se for passada todos os campos devem ser passados para a função.**
|
1593
|
+
|
1594
|
+
| Parâmetro | Tipo | Descrição |
|
1595
|
+
| :--- | :---: | :--- |
|
1596
|
+
| std | Object | contêm os dados dos campos, nomeados conforme manual |
|
1597
|
+
|
1598
|
+
```javascript
|
1599
|
+
let std = new Object();
|
1600
|
+
std.CNPJ = '99999999999999'; //CNPJ da pessoa jurídica responsável pelo sistema utilizado na emissão do documento fiscal eletrônico
|
1601
|
+
std.xContato= 'Fulano de Tal'; //Nome da pessoa a ser contatada
|
1602
|
+
std.email = 'fulano@soft.com.br'; //E-mail da pessoa jurídica a ser contatada
|
1603
|
+
std.fone = '1155551122'; //Telefone da pessoa jurídica/física a ser contatada
|
1604
|
+
std.CSRT = 'G8063VRTNDMO886SFNK5LDUDEI24XJ22YIPO'; //Código de Segurança do Responsável Técnico
|
1605
|
+
std.idCSRT = '01'; //Identificador do CSRT
|
1606
|
+
|
1607
|
+
nfe.taginfRespTec(std);
|
1608
|
+
```
|
1609
|
+
|
1610
|
+
### 🔴 function montaNFe():boolean
|
1611
|
+
Este método chama o metodo monta(), mantido apenas para compatibilidade.
|
1612
|
+
|
1613
|
+
```javascript
|
1614
|
+
$xml = nfe.montaNFe();
|
1615
|
+
```
|
1616
|
+
|
1617
|
+
### 🔴 function monta()
|
1618
|
+
Este método executa a montagem do XML
|
1619
|
+
|
1620
|
+
> NOTA: irá retornar uma Exception caso existam erros na montagem OU retorna o XML montado caso não hajam erros.
|
1621
|
+
|
1622
|
+
```javascript
|
1623
|
+
$xml = nfe.monta();
|
1624
|
+
```
|
1625
|
+
|
1626
|
+
### 🔴 function getXMl():string
|
1627
|
+
Este método retorna o XML em uma string, mesmo que existam erros.
|
1628
|
+
|
1629
|
+
```javascript
|
1630
|
+
$xml = nfe.getXML();
|
1631
|
+
```
|
1632
|
+
|
1633
|
+
### 🔴 function getErrors(): array
|
1634
|
+
Este método retorna os erros identificados na passagem dos parâmetros para a classe.
|
1635
|
+
|
1636
|
+
```javascript
|
1637
|
+
$erros = nfe.getErrors();
|
1638
|
+
```
|
1639
|
+
|
1640
|
+
|
1641
|
+
### 🔴 function getChave():string
|
1642
|
+
Este método retorna o numero da chave da NFe
|
1643
|
+
|
1644
|
+
```javascript
|
1645
|
+
$chave = nfe.getChave();
|
1646
|
+
```
|
1647
|
+
|
1648
|
+
### 🔴 function getModelo():int
|
1649
|
+
Este método retorna o modelo de NFe 55 ou 65
|
1650
|
+
|
1651
|
+
```javascript
|
1652
|
+
$modelo = nfe.getModelo();
|
1653
|
+
```
|