node-sped-nfe 1.2.36 → 1.2.38
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/dist/utils/make.d.ts +16 -15
- package/dist/utils/make.js +112 -10
- package/dist/utils/tools.js +4 -1
- package/package.json +1 -1
package/dist/utils/make.d.ts
CHANGED
|
@@ -16,11 +16,11 @@ declare class Make {
|
|
|
16
16
|
tagAutXML(obj: any): void;
|
|
17
17
|
tagProd(obj: any): Promise<void>;
|
|
18
18
|
tagCreditoPresumidoProd(obj: any): void;
|
|
19
|
-
taginfAdProd(index:
|
|
19
|
+
taginfAdProd(index: number, obj: any): void;
|
|
20
20
|
tagCEST(obj: any): void;
|
|
21
21
|
tagRECOPI(obj: any): void;
|
|
22
|
-
tagDI(index:
|
|
23
|
-
tagAdi(index:
|
|
22
|
+
tagDI(index: number, obj: any): void;
|
|
23
|
+
tagAdi(index: number, obj: any): void;
|
|
24
24
|
tagDetExport(obj: any): void;
|
|
25
25
|
tagDetExportInd(obj: any): void;
|
|
26
26
|
tagRastro(obj: any): void;
|
|
@@ -31,18 +31,19 @@ declare class Make {
|
|
|
31
31
|
tagEncerrante(): void;
|
|
32
32
|
tagOrigComb(): void;
|
|
33
33
|
tagImposto(): void;
|
|
34
|
-
tagProdICMS(index:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
tagProdICMS(index: number, obj: any): void;
|
|
35
|
+
tagProdICMSPart(index: number, obj: any): void;
|
|
36
|
+
tagProdICMSST(index: number, obj: any): void;
|
|
37
|
+
tagProdICMSSN(index: number, obj: any): void;
|
|
38
|
+
tagProdICMSUFDest(index: number, obj: any): void;
|
|
39
|
+
tagProdIPI(index: number, obj: any): void;
|
|
40
|
+
tagProdII(index: number, obj: any): void;
|
|
41
|
+
tagProdPIS(index: number, obj: any): void;
|
|
42
|
+
tagProdPISST(index: number, obj: any): void;
|
|
43
|
+
tagProdCOFINS(index: number, obj: any): void;
|
|
44
|
+
tagProdCOFINSST(index: number, obj: any): void;
|
|
45
|
+
tagProdISSQN(index: number, obj: any): void;
|
|
46
|
+
tagProdImpostoDevol(index: number, obj: any): void;
|
|
46
47
|
tagICMSTot(obj?: null): void;
|
|
47
48
|
tagISSQNTot(obj: any): void;
|
|
48
49
|
tagRetTrib(obj: any): void;
|
package/dist/utils/make.js
CHANGED
|
@@ -234,15 +234,71 @@ class Make {
|
|
|
234
234
|
throw "não implementado!";
|
|
235
235
|
}
|
|
236
236
|
tagProdICMS(index, obj) {
|
|
237
|
-
|
|
237
|
+
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS === undefined)
|
|
238
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS = {};
|
|
239
|
+
let keyXML = "";
|
|
240
|
+
switch (obj.CST) {
|
|
241
|
+
case '00':
|
|
242
|
+
keyXML = 'ICMS00';
|
|
243
|
+
break;
|
|
244
|
+
case '10':
|
|
245
|
+
keyXML = 'ICMS10';
|
|
246
|
+
break;
|
|
247
|
+
case '20':
|
|
248
|
+
keyXML = 'ICMS20';
|
|
249
|
+
break;
|
|
250
|
+
case '30':
|
|
251
|
+
keyXML = 'ICMS30';
|
|
252
|
+
break;
|
|
253
|
+
case '40':
|
|
254
|
+
case '41':
|
|
255
|
+
case '50':
|
|
256
|
+
keyXML = 'ICMS40';
|
|
257
|
+
break;
|
|
258
|
+
case '51':
|
|
259
|
+
keyXML = 'ICMS51';
|
|
260
|
+
break;
|
|
261
|
+
case '60':
|
|
262
|
+
keyXML = 'ICMS60';
|
|
263
|
+
break;
|
|
264
|
+
case '70':
|
|
265
|
+
keyXML = 'ICMS70';
|
|
266
|
+
break;
|
|
267
|
+
case '90':
|
|
268
|
+
keyXML = 'ICMS90';
|
|
269
|
+
break;
|
|
270
|
+
default: throw new Error('CST inválido');
|
|
271
|
+
}
|
|
272
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = {};
|
|
273
|
+
Object.keys(obj).forEach(key => {
|
|
274
|
+
if (!['orig', 'CST', 'modBC', 'modBCST', 'motDesICMS', 'motDesICMSST', 'cBenefRBC', 'indDeduzDeson', 'UFST'].includes(key))
|
|
275
|
+
obj[key] = obj[key] == 0 ? "0.00" : obj[key];
|
|
276
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML][key] = obj[key];
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
tagProdICMSPart(index, obj) {
|
|
280
|
+
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS === undefined)
|
|
281
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS = {};
|
|
282
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS.ICMSPart = {};
|
|
283
|
+
Object.keys(obj).forEach(key => {
|
|
284
|
+
if (key != 'orig' && key != 'modBC')
|
|
285
|
+
obj[key] = obj[key] == 0 ? "0.00" : obj[key];
|
|
286
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS.ICMSPart[key] = obj[key];
|
|
287
|
+
});
|
|
288
|
+
//Calcular ICMSTot
|
|
289
|
+
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj);
|
|
238
290
|
}
|
|
239
291
|
//
|
|
240
292
|
tagProdICMSST(index, obj) {
|
|
241
293
|
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS === undefined)
|
|
242
294
|
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS = {};
|
|
243
|
-
|
|
295
|
+
let CST = obj.CST;
|
|
296
|
+
//delete obj.CST;
|
|
297
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[`ICMS${CST}`] = {};
|
|
244
298
|
Object.keys(obj).forEach(key => {
|
|
245
|
-
|
|
299
|
+
if (!["orig", "CSOSN", "modBC", "modBCST"].includes(key))
|
|
300
|
+
obj[key] = obj[key] == 0 ? "0.00" : obj[key];
|
|
301
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[`ICMS${CST}`][key] = obj[key];
|
|
246
302
|
});
|
|
247
303
|
//Calcular ICMSTot
|
|
248
304
|
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj);
|
|
@@ -281,19 +337,65 @@ class Make {
|
|
|
281
337
|
}
|
|
282
338
|
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = {};
|
|
283
339
|
Object.keys(obj).forEach(key => {
|
|
340
|
+
if (key != 'orig')
|
|
341
|
+
obj[key] = obj[key] == 0 ? "0.00" : obj[key];
|
|
284
342
|
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML][key] = obj[key];
|
|
285
343
|
});
|
|
286
344
|
//Calcular ICMSTot
|
|
287
345
|
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj);
|
|
288
346
|
}
|
|
289
347
|
tagProdICMSUFDest(index, obj) {
|
|
290
|
-
|
|
348
|
+
console.log(__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total);
|
|
349
|
+
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMSUFDest === undefined)
|
|
350
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMSUFDest = {};
|
|
351
|
+
Object.keys(obj).forEach(key => {
|
|
352
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMSUFDest[key] = obj[key] == 0 ? "0.00" : obj[key];
|
|
353
|
+
});
|
|
354
|
+
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot)?.call(this, obj); // opcional
|
|
291
355
|
}
|
|
292
356
|
tagProdIPI(index, obj) {
|
|
293
|
-
|
|
357
|
+
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI === undefined)
|
|
358
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI = {};
|
|
359
|
+
// Campo obrigatório na raiz do IPI
|
|
360
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI.cEnq = obj.cEnq;
|
|
361
|
+
delete obj.cEnq;
|
|
362
|
+
let keyXML = "";
|
|
363
|
+
switch (obj.CST) {
|
|
364
|
+
case '00':
|
|
365
|
+
case '49':
|
|
366
|
+
case '50':
|
|
367
|
+
case '99':
|
|
368
|
+
keyXML = 'IPITrib';
|
|
369
|
+
break;
|
|
370
|
+
case '01':
|
|
371
|
+
case '02':
|
|
372
|
+
case '03':
|
|
373
|
+
case '04':
|
|
374
|
+
case '05':
|
|
375
|
+
case '51':
|
|
376
|
+
case '52':
|
|
377
|
+
case '53':
|
|
378
|
+
case '54':
|
|
379
|
+
case '55':
|
|
380
|
+
keyXML = 'IPINT';
|
|
381
|
+
break;
|
|
382
|
+
default:
|
|
383
|
+
throw new Error("CST de IPI não identificado!");
|
|
384
|
+
}
|
|
385
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI[keyXML] = {};
|
|
386
|
+
Object.keys(obj).forEach(key => {
|
|
387
|
+
obj[key] = obj[key] == 0 ? "0.00" : obj[key];
|
|
388
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI[keyXML][key] = obj[key];
|
|
389
|
+
});
|
|
390
|
+
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); // opcional se considerar IPI no total
|
|
294
391
|
}
|
|
295
392
|
tagProdII(index, obj) {
|
|
296
|
-
|
|
393
|
+
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.II === undefined)
|
|
394
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.II = {};
|
|
395
|
+
Object.keys(obj).forEach(key => {
|
|
396
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.II[key] = obj[key];
|
|
397
|
+
});
|
|
398
|
+
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj);
|
|
297
399
|
}
|
|
298
400
|
tagProdPIS(index, obj) {
|
|
299
401
|
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PIS === undefined)
|
|
@@ -353,11 +455,11 @@ class Make {
|
|
|
353
455
|
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj);
|
|
354
456
|
}
|
|
355
457
|
tagProdPISST(index, obj) {
|
|
356
|
-
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.
|
|
357
|
-
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.
|
|
358
|
-
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.
|
|
458
|
+
if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST === undefined)
|
|
459
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST = {};
|
|
460
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST = {};
|
|
359
461
|
Object.keys(obj).forEach(key => {
|
|
360
|
-
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.
|
|
462
|
+
__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST[key] = obj[key];
|
|
361
463
|
});
|
|
362
464
|
//Calcular ICMSTot
|
|
363
465
|
__classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj);
|
package/dist/utils/tools.js
CHANGED
|
@@ -654,9 +654,12 @@ async function _Tools_limparSoap(xml) {
|
|
|
654
654
|
if (xml == "Bad Request")
|
|
655
655
|
throw xml;
|
|
656
656
|
const clear = [
|
|
657
|
+
'env:Envelope',
|
|
658
|
+
'env:Body',
|
|
659
|
+
'S:Envelope',
|
|
660
|
+
'S:Body',
|
|
657
661
|
'soapenv:Envelope',
|
|
658
662
|
'soapenv:Body',
|
|
659
|
-
'nfeResultMsg',
|
|
660
663
|
'soap:Envelope',
|
|
661
664
|
'soap:Body',
|
|
662
665
|
'nfeResultMsg',
|