node-sped-nfe 1.0.2 → 1.0.4
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 +34 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/tools.d.ts +3 -6
- package/dist/utils/tools.js +22 -8
- package/package.json +17 -3
- package/saida.txt +0 -4
- package/schemas/consReciNFe_v4.00.xsd +9 -0
- package/schemas/consSitNFe_v4.00.xsd +9 -0
- package/schemas/consStatServ_v4.00.xsd +9 -0
- package/schemas/enviNFe_v4.00.xsd +9 -0
- package/schemas/inutNFe_v4.00.xsd +9 -0
- package/schemas/leiauteConsSitNFe_v4.00.xsd +502 -0
- package/schemas/leiauteConsStatServ_v4.00.xsd +98 -0
- package/schemas/leiauteInutNFe_v4.00.xsd +193 -0
- package/schemas/leiauteNFe_v4.00.xsd +7412 -0
- package/schemas/nfe_v4.00.xsd +9 -0
- package/schemas/procInutNFe_v4.00.xsd +9 -0
- package/schemas/procNFe_v4.00.xsd +9 -0
- package/schemas/retConsReciNFe_v4.00.xsd +9 -0
- package/schemas/retConsSitNFe_v4.00.xsd +9 -0
- package/schemas/retConsStatServ_v4.00.xsd +9 -0
- package/schemas/retEnviNFe_v4.00.xsd +9 -0
- package/schemas/retInutNFe_v4.00.xsd +9 -0
- package/schemas/tiposBasico_v4.00.xsd +598 -0
- package/schemas/xmldsig-core-schema_v1.01.xsd +98 -0
- package/src/index.ts +2 -2
- package/src/utils/tools.ts +29 -10
- package/testes/assinar.js +16 -0
- package/testes/nfe.js +166 -0
- package/testes/nfe.json +194 -0
- package/testes/nfe_teste.json +45 -0
@@ -0,0 +1,98 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- ***************************************************-->
|
3
|
+
<!-- *** Schema específico para assinaturas XML ***-->
|
4
|
+
<!-- *** a partir de certificados do padrão (X509) ***-->
|
5
|
+
<!-- *** ICP-Brasil - Projeto Nota Fiscal Eletrônica ***-->
|
6
|
+
<!-- ***************************************************-->
|
7
|
+
<!-- Schema for XML Signatures-->
|
8
|
+
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1">
|
9
|
+
<element name="Signature" type="ds:SignatureType"/>
|
10
|
+
<complexType name="SignatureType">
|
11
|
+
<sequence>
|
12
|
+
<element name="SignedInfo" type="ds:SignedInfoType"/>
|
13
|
+
<element name="SignatureValue" type="ds:SignatureValueType"/>
|
14
|
+
<element name="KeyInfo" type="ds:KeyInfoType"/>
|
15
|
+
</sequence>
|
16
|
+
<attribute name="Id" type="ID" use="optional"/>
|
17
|
+
</complexType>
|
18
|
+
<complexType name="SignatureValueType">
|
19
|
+
<simpleContent>
|
20
|
+
<extension base="base64Binary">
|
21
|
+
<attribute name="Id" type="ID" use="optional"/>
|
22
|
+
</extension>
|
23
|
+
</simpleContent>
|
24
|
+
</complexType>
|
25
|
+
<complexType name="SignedInfoType">
|
26
|
+
<sequence>
|
27
|
+
<element name="CanonicalizationMethod">
|
28
|
+
<complexType>
|
29
|
+
<attribute name="Algorithm" type="anyURI" use="required" fixed="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
|
30
|
+
</complexType>
|
31
|
+
</element>
|
32
|
+
<element name="SignatureMethod">
|
33
|
+
<complexType>
|
34
|
+
<attribute name="Algorithm" type="anyURI" use="required" fixed="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
|
35
|
+
</complexType>
|
36
|
+
</element>
|
37
|
+
<element name="Reference" type="ds:ReferenceType"/>
|
38
|
+
</sequence>
|
39
|
+
<attribute name="Id" type="ID" use="optional"/>
|
40
|
+
</complexType>
|
41
|
+
<complexType name="ReferenceType">
|
42
|
+
<sequence>
|
43
|
+
<element name="Transforms" type="ds:TransformsType">
|
44
|
+
<!-- Garante a unicidade do atributo -->
|
45
|
+
<unique name="unique_Transf_Alg">
|
46
|
+
<selector xpath="./*"/>
|
47
|
+
<field xpath="@Algorithm"/>
|
48
|
+
</unique>
|
49
|
+
</element>
|
50
|
+
<element name="DigestMethod">
|
51
|
+
<complexType>
|
52
|
+
<attribute name="Algorithm" type="anyURI" use="required" fixed="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
53
|
+
</complexType>
|
54
|
+
</element>
|
55
|
+
<element name="DigestValue" type="ds:DigestValueType"/>
|
56
|
+
</sequence>
|
57
|
+
<attribute name="Id" type="ID" use="optional"/>
|
58
|
+
<attribute name="URI" use="required">
|
59
|
+
<simpleType>
|
60
|
+
<restriction base="anyURI">
|
61
|
+
<minLength value="2"/>
|
62
|
+
</restriction>
|
63
|
+
</simpleType>
|
64
|
+
</attribute>
|
65
|
+
<attribute name="Type" type="anyURI" use="optional"/>
|
66
|
+
</complexType>
|
67
|
+
<complexType name="TransformsType">
|
68
|
+
<sequence>
|
69
|
+
<element name="Transform" type="ds:TransformType" minOccurs="2" maxOccurs="2"/>
|
70
|
+
</sequence>
|
71
|
+
</complexType>
|
72
|
+
<complexType name="TransformType">
|
73
|
+
<sequence minOccurs="0" maxOccurs="unbounded">
|
74
|
+
<element name="XPath" type="string"/>
|
75
|
+
</sequence>
|
76
|
+
<attribute name="Algorithm" type="ds:TTransformURI" use="required"/>
|
77
|
+
</complexType>
|
78
|
+
<complexType name="KeyInfoType">
|
79
|
+
<sequence>
|
80
|
+
<element name="X509Data" type="ds:X509DataType"/>
|
81
|
+
</sequence>
|
82
|
+
<attribute name="Id" type="ID" use="optional"/>
|
83
|
+
</complexType>
|
84
|
+
<complexType name="X509DataType">
|
85
|
+
<sequence>
|
86
|
+
<element name="X509Certificate" type="base64Binary"/>
|
87
|
+
</sequence>
|
88
|
+
</complexType>
|
89
|
+
<simpleType name="DigestValueType">
|
90
|
+
<restriction base="base64Binary"/>
|
91
|
+
</simpleType>
|
92
|
+
<simpleType name="TTransformURI">
|
93
|
+
<restriction base="anyURI">
|
94
|
+
<enumeration value="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
|
95
|
+
<enumeration value="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
|
96
|
+
</restriction>
|
97
|
+
</simpleType>
|
98
|
+
</schema>
|
package/src/index.ts
CHANGED
package/src/utils/tools.ts
CHANGED
@@ -6,7 +6,11 @@ import tmp from "tmp"
|
|
6
6
|
import crypto from "crypto";
|
7
7
|
import { urlServicos } from "./eventos.js"
|
8
8
|
import fs from "fs"
|
9
|
+
import path from 'path';
|
10
|
+
import { fileURLToPath } from 'url';
|
9
11
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
13
|
+
const __dirname = path.dirname(__filename);
|
10
14
|
|
11
15
|
class Tools {
|
12
16
|
#cert: {
|
@@ -20,7 +24,15 @@ class Tools {
|
|
20
24
|
XMLBuilder: {} as XMLBuilder,
|
21
25
|
XMLParser: {} as XMLParser
|
22
26
|
};
|
23
|
-
#pem:
|
27
|
+
#pem: {
|
28
|
+
key: string;
|
29
|
+
cert: string;
|
30
|
+
ca: string[]; // <- define que pode ser uma lista de strings
|
31
|
+
} = {
|
32
|
+
key: "", // A chave privada extraída do PKCS#12, em formato PEM
|
33
|
+
cert: "", // O certificado extraído, em formato PEM
|
34
|
+
ca: [] // Uma lista de certificados da cadeia (se houver), ou null
|
35
|
+
};
|
24
36
|
#config: {
|
25
37
|
mod: string;
|
26
38
|
xmllint: string;
|
@@ -43,7 +55,11 @@ class Tools {
|
|
43
55
|
});
|
44
56
|
}
|
45
57
|
|
46
|
-
|
58
|
+
async teste() {
|
59
|
+
return await this.#certTools()
|
60
|
+
}
|
61
|
+
|
62
|
+
sefazEnviaLote(xml: string, data: any = { idLote: 1, indSinc: 0, compactar: false }): Promise<string> {
|
47
63
|
return new Promise(async (resvol, reject) => {
|
48
64
|
if (typeof data.idLote == "undefined") data.idLote = 1;
|
49
65
|
if (typeof data.indSinc == "undefined") data.indSinc = 0;
|
@@ -107,13 +123,14 @@ class Tools {
|
|
107
123
|
})
|
108
124
|
}
|
109
125
|
|
110
|
-
async xmlSign(xmlJSON: string, data: any) {
|
126
|
+
async xmlSign(xmlJSON: string, data: any = { tag: "infNFe" }): Promise<string> {
|
111
127
|
return new Promise(async (resvol, reject) => {
|
112
128
|
if (data.tag === undefined) data.tag = "infNFe";
|
113
129
|
|
114
130
|
//Obter a tag que ira ser assinada
|
115
131
|
let xml = await this.xml2json(xmlJSON) as any;
|
116
|
-
let
|
132
|
+
let tempPem = await this.#certTools() as any;
|
133
|
+
|
117
134
|
const sign = crypto.createSign('RSA-SHA1'); // Correção: Alterado para RSA-SHA1
|
118
135
|
let signedInfo = {
|
119
136
|
"SignedInfo": {
|
@@ -149,10 +166,10 @@ class Tools {
|
|
149
166
|
xml.NFe.Signature = {
|
150
167
|
...signedInfo,
|
151
168
|
...{
|
152
|
-
"SignatureValue": sign.sign(
|
169
|
+
"SignatureValue": sign.sign(tempPem.key, 'base64'),
|
153
170
|
"KeyInfo": {
|
154
171
|
"X509Data": {
|
155
|
-
"X509Certificate":
|
172
|
+
"X509Certificate": tempPem.cert.replace(/-----BEGIN CERTIFICATE-----/g, '').replace(/-----END CERTIFICATE-----/g, '').replace(/\r\n/g, '')
|
156
173
|
}
|
157
174
|
},
|
158
175
|
"@xmlns": "http://www.w3.org/2000/09/xmldsig#"
|
@@ -259,9 +276,10 @@ class Tools {
|
|
259
276
|
const xmlFile = tmp.fileSync({ mode: 0o644, prefix: 'xml-', postfix: '.xml' });
|
260
277
|
fs.writeFileSync(xmlFile.name, xml, { encoding: 'utf8' });
|
261
278
|
|
279
|
+
const schemaPath = path.resolve(__dirname, '../../schemas/nfe_v4.00.xsd');
|
262
280
|
const verif: SpawnSyncReturns<string> = spawnSync(
|
263
281
|
this.#config.xmllint,
|
264
|
-
['--noout', '--schema',
|
282
|
+
['--noout', '--schema', schemaPath, xmlFile.name],
|
265
283
|
{ encoding: 'utf8' }
|
266
284
|
);
|
267
285
|
|
@@ -280,12 +298,13 @@ class Tools {
|
|
280
298
|
|
281
299
|
|
282
300
|
//Extrair dados do certificado pem
|
283
|
-
#certTools() {
|
301
|
+
#certTools(): Promise<object> {
|
284
302
|
return new Promise(async (resvol, reject) => {
|
285
|
-
if (this.#pem !=
|
303
|
+
if (this.#pem.key != "") resvol(this.#pem);
|
286
304
|
pem.readPkcs12(this.#cert.pfx, { p12Password: this.#cert.senha }, (err, myPem) => {
|
305
|
+
if (err) return reject(err); // <-- importante!
|
287
306
|
this.#pem = myPem;
|
288
|
-
resvol(
|
307
|
+
resvol(this.#pem);
|
289
308
|
});
|
290
309
|
})
|
291
310
|
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import SefazService from "../utils/sefaz.js";
|
2
|
+
const baseURL = DISTRIBUICAO[opts.tpAmb]
|
3
|
+
const options = {
|
4
|
+
method: 'POST',
|
5
|
+
data: data,
|
6
|
+
}
|
7
|
+
const client = new SefazService({
|
8
|
+
baseURL: baseURL,
|
9
|
+
ca: CA,
|
10
|
+
cert: opts.cert,
|
11
|
+
key: opts.key,
|
12
|
+
requestOptions: opts.requestOptions,
|
13
|
+
httpsOptions: opts.httpsOptions,
|
14
|
+
})
|
15
|
+
|
16
|
+
const retorno = await client.request(options)
|
package/testes/nfe.js
ADDED
@@ -0,0 +1,166 @@
|
|
1
|
+
import { Make, Tools } from "../dist/index.js"
|
2
|
+
import fs from "fs";
|
3
|
+
//let xml = fs.readFileSync("./nfe.xml", { encoding: "utf-8" });
|
4
|
+
//fs.writeFileSync("./nfe.json", JSON.stringify(convert(xml, { format: 'object' })), { encoding: "utf-8" });
|
5
|
+
|
6
|
+
let myTools = new Tools({ //Configuração de habiente e sistema
|
7
|
+
mod: '55',
|
8
|
+
tpAmb: 2,
|
9
|
+
cUF: '51',
|
10
|
+
xmllint: `../libxml2-2.9.3-win32-x86_64/bin/xmllint.exe`
|
11
|
+
}, { //Certificado digital
|
12
|
+
pfx: '../certificado.pfx',
|
13
|
+
senha: fs.readFileSync('../senha.txt', { encoding: "utf8" }),
|
14
|
+
});
|
15
|
+
|
16
|
+
let NFe = new Make();
|
17
|
+
NFe.tagInfNFe({ Id: null, versao: '4.00' });
|
18
|
+
NFe.tagIde({
|
19
|
+
cUF: "51",
|
20
|
+
cNF: "00002023",
|
21
|
+
natOp: "VENDA",
|
22
|
+
mod: "55",
|
23
|
+
serie: "0",
|
24
|
+
nNF: "248",
|
25
|
+
dhEmi: NFe.formatData(),
|
26
|
+
tpNF: "1",
|
27
|
+
idDest: "1",
|
28
|
+
cMunFG: "5106257",
|
29
|
+
tpImp: "1",
|
30
|
+
tpEmis: "1",
|
31
|
+
cDV: "1",
|
32
|
+
tpAmb: "2",
|
33
|
+
finNFe: "1",
|
34
|
+
indFinal: "0",
|
35
|
+
indPres: "1",
|
36
|
+
indIntermed: "0",
|
37
|
+
procEmi: "0",
|
38
|
+
verProc: "4.13"
|
39
|
+
});
|
40
|
+
NFe.tagEmit({
|
41
|
+
CNPJ: "47506306000188",
|
42
|
+
xNome: "47.506.306 KALMON VALADAO TAVARES",
|
43
|
+
xFant: "GUARA DEV",
|
44
|
+
IE: "139551956",
|
45
|
+
CRT: "1"
|
46
|
+
});
|
47
|
+
NFe.tagEnderEmit({
|
48
|
+
xLgr: "AV PARA",
|
49
|
+
nro: "138",
|
50
|
+
xBairro: "UNIAO",
|
51
|
+
cMun: "5106257",
|
52
|
+
xMun: "Nova Xavantina",
|
53
|
+
UF: "MT",
|
54
|
+
CEP: "78690000",
|
55
|
+
cPais: "1058",
|
56
|
+
xPais: "BRASIL",
|
57
|
+
fone: "66981352912"
|
58
|
+
});
|
59
|
+
NFe.tagDest({
|
60
|
+
CPF: "04079907125",
|
61
|
+
xNome: "ADELMO CARLOS CIQUEIRA SILVA",
|
62
|
+
indIEDest: "2",
|
63
|
+
});
|
64
|
+
NFe.tagEnderDest({
|
65
|
+
xLgr: "RUA DAS SAMAMBAIAS",
|
66
|
+
nro: "144",
|
67
|
+
xBairro: "PARQUE ELDORADO",
|
68
|
+
cMun: "5107040",
|
69
|
+
xMun: "PRIMAVERA DO LESTE",
|
70
|
+
UF: "MT",
|
71
|
+
CEP: "78850000",
|
72
|
+
cPais: "1058",
|
73
|
+
xPais: "BRASIL"
|
74
|
+
});
|
75
|
+
NFe.tagProd([
|
76
|
+
{
|
77
|
+
cProd: "126",
|
78
|
+
cEAN: "SEM GTIN",
|
79
|
+
xProd: "CABOS MICROFONE DMX XR CANON BALANCEADO 20 METROS",
|
80
|
+
NCM: "85044010",
|
81
|
+
CFOP: "5102",
|
82
|
+
uCom: "UNID",
|
83
|
+
qCom: "3.0000",
|
84
|
+
vUnCom: "132.0000000000",
|
85
|
+
vProd: "396.00",
|
86
|
+
cEANTrib: "SEM GTIN",
|
87
|
+
uTrib: "UNID",
|
88
|
+
qTrib: "3.0000",
|
89
|
+
vUnTrib: "132.0000000000",
|
90
|
+
indTot: "1"
|
91
|
+
},
|
92
|
+
{
|
93
|
+
cProd: "129",
|
94
|
+
cEAN: "SEM GTIN",
|
95
|
+
xProd: "CABO P2 PARA P10 CELULAR MESA DE SOM CAIXA DE SOM 25 METRO",
|
96
|
+
NCM: "85044010",
|
97
|
+
CFOP: "5102",
|
98
|
+
uCom: "UNID",
|
99
|
+
qCom: "2.0000",
|
100
|
+
vUnCom: "218.0000000000",
|
101
|
+
vProd: "436.00",
|
102
|
+
cEANTrib: "SEM GTIN",
|
103
|
+
uTrib: "UNID",
|
104
|
+
qTrib: "2.0000",
|
105
|
+
vUnTrib: "218.0000000000",
|
106
|
+
indTot: "1",
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"cProd": 127,
|
110
|
+
"cEAN": "SEM GTIN",
|
111
|
+
"xProd": "CABO DE MICROFONE XLR FEMEA PARA P10 MONO 20 METROS CIRILO CABOS",
|
112
|
+
"NCM": 85044010,
|
113
|
+
"CFOP": 5102,
|
114
|
+
"uCom": "UNID",
|
115
|
+
"qCom": 2,
|
116
|
+
"vUnCom": 185,
|
117
|
+
"vProd": 370,
|
118
|
+
"cEANTrib": "SEM GTIN",
|
119
|
+
"uTrib": "UNID",
|
120
|
+
"qTrib": 2,
|
121
|
+
"vUnTrib": 185,
|
122
|
+
"vDesc": 38,
|
123
|
+
"indTot": 1
|
124
|
+
},
|
125
|
+
{
|
126
|
+
"cProd": 128,
|
127
|
+
"cEAN": "SEM GTIN",
|
128
|
+
"xProd": "CABO DE AUDIO P10 X P10 MONO BLINDADO 5 METROS",
|
129
|
+
"NCM": 85044010,
|
130
|
+
"CFOP": 5102,
|
131
|
+
"uCom": "UNID",
|
132
|
+
"qCom": 2,
|
133
|
+
"vUnCom": 18,
|
134
|
+
"vProd": 36,
|
135
|
+
"cEANTrib": "SEM GTIN",
|
136
|
+
"uTrib": "UNID",
|
137
|
+
"qTrib": 2,
|
138
|
+
"vUnTrib": 18,
|
139
|
+
"indTot": 1
|
140
|
+
}
|
141
|
+
]);
|
142
|
+
[0, 1, 2, 3].map((value, index) => {
|
143
|
+
NFe.tagProdICMSSN(index, { orig: "0", CSOSN: "400" })
|
144
|
+
NFe.tagProdPIS(index, { CST: "49", qBCProd: "0.0000", vAliqProd: "0.0000", vPIS: "0.00" })
|
145
|
+
NFe.tagProdCOFINS(index, { CST: "49", qBCProd: "0.0000", vAliqProd: "0.0000", vCOFINS: "0.00" })
|
146
|
+
});
|
147
|
+
NFe.tagICMSTot();
|
148
|
+
NFe.tagTransp({ modFrete: 9 });
|
149
|
+
NFe.tagDetPag([{ indPag: 0, tPag: 17, vPag: "1200.00" }]);
|
150
|
+
NFe.tagTroco("0.00");
|
151
|
+
NFe.tagInfRespTec({ CNPJ: "47506306000188", xContato: "Guara Dev", email: "admin@guaradev.com", fone: "5566999638922" })
|
152
|
+
fs.writeFileSync("nfe.xml", NFe.xml(), { encoding: "utf-8" });
|
153
|
+
myTools.xmlSign(NFe.xml()).then(async xmlSign => {
|
154
|
+
fs.writeFileSync("nfe_sign.xml", xmlSign, { encoding: "utf-8" });
|
155
|
+
myTools.sefazEnviaLote(xmlSign, { indSinc: 1 }).then(res => {
|
156
|
+
console.log(res)
|
157
|
+
})
|
158
|
+
}).catch(err => {
|
159
|
+
console.log(err)
|
160
|
+
})
|
161
|
+
|
162
|
+
/*
|
163
|
+
myTools.sefazStatus().then(res => {
|
164
|
+
console.log(res)
|
165
|
+
});
|
166
|
+
*/
|
package/testes/nfe.json
ADDED
@@ -0,0 +1,194 @@
|
|
1
|
+
{
|
2
|
+
"NFe": {
|
3
|
+
"@xmlns": "http://www.portalfiscal.inf.br/nfe",
|
4
|
+
"infNFe": {
|
5
|
+
"@Id": "NFe51241047506306000188550000000002471000020235",
|
6
|
+
"@versao": "4.00",
|
7
|
+
"ide": {
|
8
|
+
"cUF": "51",
|
9
|
+
"cNF": "00002023",
|
10
|
+
"natOp": "VENDA",
|
11
|
+
"mod": "55",
|
12
|
+
"serie": "0",
|
13
|
+
"nNF": "247",
|
14
|
+
"dhEmi": "2024-10-10T18:01:59-04:00",
|
15
|
+
"tpNF": "1",
|
16
|
+
"idDest": "1",
|
17
|
+
"cMunFG": "5106257",
|
18
|
+
"tpImp": "1",
|
19
|
+
"tpEmis": "1",
|
20
|
+
"cDV": "5",
|
21
|
+
"tpAmb": "1",
|
22
|
+
"finNFe": "1",
|
23
|
+
"indFinal": "0",
|
24
|
+
"indPres": "1",
|
25
|
+
"indIntermed": "0",
|
26
|
+
"procEmi": "0",
|
27
|
+
"verProc": "4.13"
|
28
|
+
},
|
29
|
+
"emit": {
|
30
|
+
"CNPJ": "47506306000188",
|
31
|
+
"xNome": "47.506.306 KALMON VALADAO TAVARES",
|
32
|
+
"xFant": "GUARA DEV",
|
33
|
+
"enderEmit": {
|
34
|
+
"xLgr": "AV PARA",
|
35
|
+
"nro": "138",
|
36
|
+
"xBairro": "UNIÃO",
|
37
|
+
"cMun": "5106257",
|
38
|
+
"xMun": "Nova Xavantina",
|
39
|
+
"UF": "MT",
|
40
|
+
"CEP": "78690000",
|
41
|
+
"cPais": "1058",
|
42
|
+
"xPais": "BRASIL",
|
43
|
+
"fone": "66981352912"
|
44
|
+
},
|
45
|
+
"IE": "139551956",
|
46
|
+
"CRT": "1"
|
47
|
+
},
|
48
|
+
"dest": {
|
49
|
+
"CPF": "04079907125",
|
50
|
+
"xNome": "ADELMO CARLOS CIQUEIRA SILVA",
|
51
|
+
"enderDest": {
|
52
|
+
"xLgr": "RUA DAS SAMAMBAIAS",
|
53
|
+
"nro": "144",
|
54
|
+
"xBairro": "PARQUE ELDORADO",
|
55
|
+
"cMun": "5107040",
|
56
|
+
"xMun": "PRIMAVERA DO LESTE",
|
57
|
+
"UF": "MT",
|
58
|
+
"CEP": "78850000",
|
59
|
+
"cPais": "1058",
|
60
|
+
"xPais": "BRASIL"
|
61
|
+
},
|
62
|
+
"indIEDest": "2"
|
63
|
+
},
|
64
|
+
"det": [
|
65
|
+
{
|
66
|
+
"@nItem": "1",
|
67
|
+
"prod": {
|
68
|
+
"cProd": "126",
|
69
|
+
"cEAN": "SEM GTIN",
|
70
|
+
"xProd": "CABOS MICROFONE DMX XR CANON BALANCEADO 20 METROS",
|
71
|
+
"NCM": "85044010",
|
72
|
+
"CFOP": "5102",
|
73
|
+
"uCom": "UNID",
|
74
|
+
"qCom": "3.0000",
|
75
|
+
"vUnCom": "132.0000000000",
|
76
|
+
"vProd": "396.00",
|
77
|
+
"cEANTrib": "SEM GTIN",
|
78
|
+
"uTrib": "UNID",
|
79
|
+
"qTrib": "3.0000",
|
80
|
+
"vUnTrib": "132.0000000000",
|
81
|
+
"indTot": "1"
|
82
|
+
},
|
83
|
+
"imposto": {
|
84
|
+
"ICMS": {
|
85
|
+
"ICMSSN102": {
|
86
|
+
"orig": "0",
|
87
|
+
"CSOSN": "400"
|
88
|
+
}
|
89
|
+
},
|
90
|
+
"PIS": {
|
91
|
+
"PISOutr": {
|
92
|
+
"CST": "49",
|
93
|
+
"qBCProd": "0.0000",
|
94
|
+
"vAliqProd": "0.0000",
|
95
|
+
"vPIS": "0.00"
|
96
|
+
}
|
97
|
+
},
|
98
|
+
"COFINS": {
|
99
|
+
"COFINSOutr": {
|
100
|
+
"CST": "49",
|
101
|
+
"qBCProd": "0.0000",
|
102
|
+
"vAliqProd": "0.0000",
|
103
|
+
"vCOFINS": "0.00"
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"@nItem": "2",
|
110
|
+
"prod": {
|
111
|
+
"cProd": "129",
|
112
|
+
"cEAN": "SEM GTIN",
|
113
|
+
"xProd": "CABO P2 PARA P10 CELULAR MESA DE SOM CAIXA DE SOM 25 METRO",
|
114
|
+
"NCM": "85044010",
|
115
|
+
"CFOP": "5102",
|
116
|
+
"uCom": "UNID",
|
117
|
+
"qCom": "2.0000",
|
118
|
+
"vUnCom": "218.0000000000",
|
119
|
+
"vProd": "436.00",
|
120
|
+
"cEANTrib": "SEM GTIN",
|
121
|
+
"uTrib": "UNID",
|
122
|
+
"qTrib": "2.0000",
|
123
|
+
"vUnTrib": "218.0000000000",
|
124
|
+
"indTot": "1"
|
125
|
+
},
|
126
|
+
"imposto": {
|
127
|
+
"ICMS": {
|
128
|
+
"ICMSSN102": {
|
129
|
+
"orig": "0",
|
130
|
+
"CSOSN": "400"
|
131
|
+
}
|
132
|
+
},
|
133
|
+
"PIS": {
|
134
|
+
"PISOutr": {
|
135
|
+
"CST": "49",
|
136
|
+
"qBCProd": "0.0000",
|
137
|
+
"vAliqProd": "0.0000",
|
138
|
+
"vPIS": "0.00"
|
139
|
+
}
|
140
|
+
},
|
141
|
+
"COFINS": {
|
142
|
+
"COFINSOutr": {
|
143
|
+
"CST": "49",
|
144
|
+
"qBCProd": "0.0000",
|
145
|
+
"vAliqProd": "0.0000",
|
146
|
+
"vCOFINS": "0.00"
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
}
|
151
|
+
],
|
152
|
+
"total": {
|
153
|
+
"ICMSTot": {
|
154
|
+
"vBC": "0.00",
|
155
|
+
"vICMS": "0.00",
|
156
|
+
"vICMSDeson": "0.00",
|
157
|
+
"vFCP": "0.00",
|
158
|
+
"vBCST": "0.00",
|
159
|
+
"vST": "0.00",
|
160
|
+
"vFCPST": "0.00",
|
161
|
+
"vFCPSTRet": "0.00",
|
162
|
+
"vProd": "1238.00",
|
163
|
+
"vFrete": "0.00",
|
164
|
+
"vSeg": "0.00",
|
165
|
+
"vDesc": "38.00",
|
166
|
+
"vII": "0.00",
|
167
|
+
"vIPI": "0.00",
|
168
|
+
"vIPIDevol": "0.00",
|
169
|
+
"vPIS": "0.00",
|
170
|
+
"vCOFINS": "0.00",
|
171
|
+
"vOutro": "0.00",
|
172
|
+
"vNF": "1200.00"
|
173
|
+
}
|
174
|
+
},
|
175
|
+
"transp": {
|
176
|
+
"modFrete": "9"
|
177
|
+
},
|
178
|
+
"pag": {
|
179
|
+
"detPag": {
|
180
|
+
"indPag": "0",
|
181
|
+
"tPag": "17",
|
182
|
+
"vPag": "1200.00"
|
183
|
+
},
|
184
|
+
"vTroco": "0.00"
|
185
|
+
},
|
186
|
+
"infRespTec": {
|
187
|
+
"CNPJ": "47506306000188",
|
188
|
+
"xContato": "Guara Dev",
|
189
|
+
"email": "admin@guaradev.com",
|
190
|
+
"fone": "5566999638922"
|
191
|
+
}
|
192
|
+
}
|
193
|
+
}
|
194
|
+
}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
{
|
2
|
+
{
|
3
|
+
"sigla": "MT",
|
4
|
+
"mod_55": {
|
5
|
+
"homologacao": {
|
6
|
+
"NfeStatusServico": "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico4",
|
7
|
+
"NfeAutorizacao": "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao4",
|
8
|
+
"NfeConsultaProtocolo": "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta4",
|
9
|
+
"NfeInutilizacao": "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao4",
|
10
|
+
"NfeRetAutorizacao": "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao4",
|
11
|
+
"RecepcaoEvento": "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento4",
|
12
|
+
"NfeConsultaCadastro": "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro4"
|
13
|
+
},
|
14
|
+
"producao": {
|
15
|
+
"NfeStatusServico": "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico4",
|
16
|
+
"NfeAutorizacao": "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao4",
|
17
|
+
"NfeConsultaProtocolo": "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta4",
|
18
|
+
"NfeInutilizacao": "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao4",
|
19
|
+
"NfeRetAutorizacao": "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao4",
|
20
|
+
"RecepcaoEvento": "https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento4",
|
21
|
+
"NfeConsultaCadastro": "https://nfe.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro4"
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"mod_65": {
|
25
|
+
"homologacao": {
|
26
|
+
"NfeAutorizacao": "https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeAutorizacao4",
|
27
|
+
"NfeRetAutorizacao": "https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao4",
|
28
|
+
"NfeInutilizacao": "https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao4",
|
29
|
+
"NfeConsultaProtocolo": "https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeConsulta4",
|
30
|
+
"NfeStatusServico": "https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeStatusServico4",
|
31
|
+
"RecepcaoEvento": "https://homologacao.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento4",
|
32
|
+
"NfeConsultaQR": "http://homologacao.sefaz.mt.gov.br/nfce/consultanfce"
|
33
|
+
},
|
34
|
+
"producao": {
|
35
|
+
"NfeAutorizacao": "https://nfce.sefaz.mt.gov.br/nfcews/services/NfeAutorizacao4",
|
36
|
+
"NfeRetAutorizacao": "https://nfce.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao4",
|
37
|
+
"NfeInutilizacao": "https://nfce.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao4",
|
38
|
+
"NfeConsultaProtocolo": "https://nfce.sefaz.mt.gov.br/nfcews/services/NfeConsulta4",
|
39
|
+
"NfeStatusServico": "https://nfce.sefaz.mt.gov.br/nfcews/services/NfeStatusServico4",
|
40
|
+
"RecepcaoEvento": "https://nfce.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento4",
|
41
|
+
"NfeConsultaQR": "http://www.sefaz.mt.gov.br/nfce/consultanfce"
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}
|