br_invoices_pdf 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -0
- data/lib/br_invoices_pdf/nfce/parser/company.rb +8 -5
- data/lib/br_invoices_pdf/nfce/parser/customer.rb +12 -6
- data/lib/br_invoices_pdf/nfce/parser/emission_details.rb +31 -10
- data/lib/br_invoices_pdf/nfce/parser/payments.rb +1 -3
- data/lib/br_invoices_pdf/nfce/parser/products.rb +1 -3
- data/lib/br_invoices_pdf/nfce/parser/totals.rb +8 -4
- data/lib/br_invoices_pdf/nfce/renderer/fiscal_message.rb +9 -5
- data/lib/br_invoices_pdf/util/mount_params.rb +1 -1
- data/lib/br_invoices_pdf/util/xml_locate.rb +4 -2
- data/lib/br_invoices_pdf/version.rb +1 -1
- metadata +2 -4
- data/cfe.xml +0 -2
- data/nfce.xml +0 -160
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d5fedf25d5e25569830a505913e74691d14ed6f
|
4
|
+
data.tar.gz: 43565a22af7a9357a61da6d59fa599064b1aad75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88de5586f0aa1cbd9e8ba99ae910c1d3ad5dced47e8cdf3d6be22d8ecd4065e5b1bbb6b04ab64c5121bbf350bb6f4633a01a4d06cf51564773ee71be2d6b2f78
|
7
|
+
data.tar.gz: 44bceaf6290360d7c8c0b0cad2b6548aefa4c0dbf85db3d61ebb5fa7cd93ffe3a53200827f8767f7fa5d64d0b7eb5f2747e0af94b8aaded9b12ce1172b6cb841
|
data/CHANGELOG.md
CHANGED
@@ -9,14 +9,17 @@ module BrInvoicesPdf
|
|
9
9
|
|
10
10
|
module_function
|
11
11
|
|
12
|
-
|
12
|
+
def emit_root_path(xml)
|
13
|
+
"#{root_path(xml)}/emit"
|
14
|
+
end
|
13
15
|
|
14
16
|
def execute(xml)
|
17
|
+
path = emit_root_path(xml)
|
15
18
|
{
|
16
|
-
name: locate_element(xml, "#{
|
17
|
-
cnpj: locate_element(xml, "#{
|
18
|
-
state_number: locate_element(xml, "#{
|
19
|
-
address: mount(xml, address_params(
|
19
|
+
name: locate_element(xml, "#{path}/xNome"),
|
20
|
+
cnpj: locate_element(xml, "#{path}/CNPJ"),
|
21
|
+
state_number: locate_element(xml, "#{path}/IE"),
|
22
|
+
address: mount(xml, address_params(xml, path, 'Emit'))
|
20
23
|
}
|
21
24
|
end
|
22
25
|
end
|
@@ -9,21 +9,27 @@ module BrInvoicesPdf
|
|
9
9
|
|
10
10
|
module_function
|
11
11
|
|
12
|
-
|
12
|
+
def dest_root_path(xml)
|
13
|
+
"#{root_path(xml)}/dest"
|
14
|
+
end
|
13
15
|
|
14
16
|
def execute(xml)
|
15
17
|
identification_type = identification_type_by(xml)
|
18
|
+
root_path = dest_root_path(xml)
|
19
|
+
|
16
20
|
{
|
17
21
|
identification_type: identification_type,
|
18
|
-
identification: locate_element(xml, "#{
|
19
|
-
address: mount(xml, address_params(
|
22
|
+
identification: locate_element(xml, "#{root_path}/#{identification_type}"),
|
23
|
+
address: mount(xml, address_params(xml, root_path, 'Dest'))
|
20
24
|
}
|
21
25
|
end
|
22
26
|
|
23
27
|
def identification_type_by(xml)
|
24
|
-
|
25
|
-
|
26
|
-
return '
|
28
|
+
root_path = dest_root_path(xml)
|
29
|
+
|
30
|
+
return 'CNPJ' if locate_element(xml, "#{root_path}/CNPJ")
|
31
|
+
return 'CPF' if locate_element(xml, "#{root_path}/CPF")
|
32
|
+
return 'idEstrangeiro' if locate_element(xml, "#{root_path}/idEstrangeiro")
|
27
33
|
end
|
28
34
|
private_class_method :identification_type_by
|
29
35
|
end
|
@@ -8,7 +8,9 @@ module BrInvoicesPdf
|
|
8
8
|
|
9
9
|
module_function
|
10
10
|
|
11
|
-
|
11
|
+
def emission_root_path(xml)
|
12
|
+
"#{root_path(xml)}/ide"
|
13
|
+
end
|
12
14
|
|
13
15
|
EMISSION_TYPES = {
|
14
16
|
'1': 'Emissão normal',
|
@@ -22,27 +24,46 @@ module BrInvoicesPdf
|
|
22
24
|
}.freeze
|
23
25
|
|
24
26
|
def execute(xml)
|
27
|
+
locate_element(xml, 'protNFe/infProt/chNFe') ? normal_params(xml) : contingency_params(xml)
|
28
|
+
end
|
29
|
+
|
30
|
+
def normal_params(xml)
|
25
31
|
{
|
26
|
-
|
27
|
-
|
28
|
-
serie: locate_element(xml, "#{EMISSION_ROOT_PATH}/serie"),
|
29
|
-
emission_timestamp: locate_element_to_date(xml, "#{EMISSION_ROOT_PATH}/dhEmi"),
|
32
|
+
**contingency_params(xml),
|
33
|
+
qrcode_url: xml.locate('NFe/infNFeSupl/qrCode').first.nodes.first.value,
|
30
34
|
receival_timestamp: locate_element_to_date(xml, 'protNFe/infProt/dhRecbto'),
|
31
|
-
check_url: check_url(xml),
|
32
35
|
access_key: locate_element(xml, 'protNFe/infProt/chNFe'),
|
33
|
-
qrcode_url: xml.locate('NFe/infNFeSupl/qrCode').first.nodes.first.value,
|
34
36
|
authorization_protocol: locate_element(xml, 'protNFe/infProt/nProt')
|
35
37
|
}
|
36
38
|
end
|
37
39
|
|
40
|
+
def contingency_params(xml)
|
41
|
+
emission_path = emission_root_path(xml)
|
42
|
+
|
43
|
+
hash = {
|
44
|
+
type: EMISSION_TYPES[locate_element(xml, "#{emission_path}/tpEmis").to_sym],
|
45
|
+
number: locate_element(xml, "#{emission_path}/nNF"),
|
46
|
+
serie: locate_element(xml, "#{emission_path}/serie"),
|
47
|
+
emission_timestamp: locate_element_to_date(xml, "#{emission_path}/dhEmi"),
|
48
|
+
check_url: check_url(xml)
|
49
|
+
}
|
50
|
+
|
51
|
+
node = xml.locate('infNFeSupl/qrCode').first
|
52
|
+
|
53
|
+
hash[:qrcode_url] = node.nodes.first.value if node
|
54
|
+
hash
|
55
|
+
end
|
56
|
+
|
38
57
|
def check_url(xml)
|
39
|
-
|
40
|
-
|
58
|
+
emission_path = emission_root_path(xml)
|
59
|
+
|
60
|
+
check_urls = Util::NfceCheckUrls::URLS[locate_element(xml, "#{emission_path}/cUF").to_sym]
|
61
|
+
check_urls[locate_element(xml, "#{emission_path}/tpAmb").to_sym]
|
41
62
|
end
|
42
63
|
private_class_method :check_url
|
43
64
|
|
44
65
|
def locate_element_to_date(xml, path)
|
45
|
-
Time.
|
66
|
+
Time.parse(locate_element(xml, path)).utc
|
46
67
|
end
|
47
68
|
private_class_method :locate_element_to_date
|
48
69
|
end
|
@@ -8,10 +8,8 @@ module BrInvoicesPdf
|
|
8
8
|
|
9
9
|
module_function
|
10
10
|
|
11
|
-
ROOT_PATH = Util::XmlLocate::ROOT_PATH
|
12
|
-
|
13
11
|
def execute(xml)
|
14
|
-
node_payments = xml.locate("#{
|
12
|
+
node_payments = xml.locate("#{root_path(xml)}/pag")
|
15
13
|
|
16
14
|
node_payments.map(&method(:payment_by))
|
17
15
|
end
|
@@ -8,8 +8,6 @@ module BrInvoicesPdf
|
|
8
8
|
|
9
9
|
module_function
|
10
10
|
|
11
|
-
ROOT_PATH = Util::XmlLocate::ROOT_PATH
|
12
|
-
|
13
11
|
FIELDS = { code: 'cProd',
|
14
12
|
description: 'xProd',
|
15
13
|
quantity: 'qCom',
|
@@ -18,7 +16,7 @@ module BrInvoicesPdf
|
|
18
16
|
total_value: 'vProd' }.freeze
|
19
17
|
|
20
18
|
def execute(xml)
|
21
|
-
node_products = xml.locate("#{
|
19
|
+
node_products = xml.locate("#{root_path(xml)}/det")
|
22
20
|
products_params(node_products) if node_products
|
23
21
|
end
|
24
22
|
|
@@ -8,14 +8,18 @@ module BrInvoicesPdf
|
|
8
8
|
|
9
9
|
module_function
|
10
10
|
|
11
|
-
|
11
|
+
def total_root_path(xml)
|
12
|
+
"#{root_path(xml)}/total/ICMSTot"
|
13
|
+
end
|
12
14
|
|
13
15
|
def execute(xml)
|
16
|
+
root_path = total_root_path(xml)
|
17
|
+
|
14
18
|
{
|
15
19
|
items: Products.execute(xml).count,
|
16
|
-
subtotal: locate_element(xml, "#{
|
17
|
-
discounts: locate_element(xml, "#{
|
18
|
-
total: locate_element(xml, "#{
|
20
|
+
subtotal: locate_element(xml, "#{root_path}/vProd"),
|
21
|
+
discounts: locate_element(xml, "#{root_path}/vDesc"),
|
22
|
+
total: locate_element(xml, "#{root_path}/vNF"),
|
19
23
|
cashback: '0.00'
|
20
24
|
}
|
21
25
|
end
|
@@ -13,12 +13,18 @@ module BrInvoicesPdf
|
|
13
13
|
box(pdf, [0, pdf.cursor], page_content_width(pdf)) do
|
14
14
|
emission_details(pdf, data)
|
15
15
|
emission_date(pdf, data)
|
16
|
-
consult_key(pdf, data[:emission_details]
|
16
|
+
consult_key(pdf, data[:emission_details])
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
def consult_key(pdf,
|
21
|
-
|
20
|
+
def consult_key(pdf, details)
|
21
|
+
key = details[:access_key]
|
22
|
+
if key
|
23
|
+
pdf.text("Consulte pela chave de acesso em: #{details[:check_url]} \n\n", align: :center)
|
24
|
+
pdf.text("CHAVE DE ACESSO:\n#{key.scan(/.{1,4}/).join(' ')}", align: :center)
|
25
|
+
else
|
26
|
+
pdf.text("EMITIDA EM CONTIGÊNCIA\nPendente de Autorização \n\n", align: :center)
|
27
|
+
end
|
22
28
|
end
|
23
29
|
private_class_method :consult_key
|
24
30
|
|
@@ -27,8 +33,6 @@ module BrInvoicesPdf
|
|
27
33
|
details = data[:emission_details]
|
28
34
|
text = "Emissão: #{format_date(details[:emission_timestamp])} - Via Consumidor\n\n"
|
29
35
|
pdf.text(text, align: :center)
|
30
|
-
key_text = "Consulte pela chave de acesso em: #{details[:check_url]} \n\n"
|
31
|
-
pdf.text(key_text, align: :center)
|
32
36
|
end
|
33
37
|
private_class_method :emission_date
|
34
38
|
|
@@ -5,13 +5,15 @@ module BrInvoicesPdf
|
|
5
5
|
module XmlLocate
|
6
6
|
module_function
|
7
7
|
|
8
|
-
ROOT_PATH = 'NFe/infNFe'
|
9
|
-
|
10
8
|
def locate_element(xml, path)
|
11
9
|
element = xml.locate(path).first
|
12
10
|
element.text if element.is_a?(Ox::Element)
|
13
11
|
end
|
14
12
|
|
13
|
+
def root_path(xml)
|
14
|
+
xml.name == 'NFe' ? 'infNFe' : 'NFe/infNFe'
|
15
|
+
end
|
16
|
+
|
15
17
|
def node_locate(element, path)
|
16
18
|
value = element.nodes.first.locate(path).first
|
17
19
|
value.text if value.is_a?(Ox::Element)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: br_invoices_pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thiago Ribeiro
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-11-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: prawn
|
@@ -230,7 +230,6 @@ files:
|
|
230
230
|
- bin/console
|
231
231
|
- bin/setup
|
232
232
|
- br_invoices_pdf.gemspec
|
233
|
-
- cfe.xml
|
234
233
|
- lib/br_invoices_pdf.rb
|
235
234
|
- lib/br_invoices_pdf/cfe.rb
|
236
235
|
- lib/br_invoices_pdf/cfe/parser.rb
|
@@ -284,7 +283,6 @@ files:
|
|
284
283
|
- lib/br_invoices_pdf/util/product_table.rb
|
285
284
|
- lib/br_invoices_pdf/util/xml_locate.rb
|
286
285
|
- lib/br_invoices_pdf/version.rb
|
287
|
-
- nfce.xml
|
288
286
|
homepage: https://github.com/pdvend/br_invoices_pdf
|
289
287
|
licenses:
|
290
288
|
- MIT
|
data/cfe.xml
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
<CFe><infCFe Id="CFe35170827192750000240590002257540001395955127" versao="0.07" versaoDadosEnt="0.07" versaoSB="010002"><ide><cUF>35</cUF><cNF>595512</cNF><mod>59</mod><nserieSAT>000225754</nserieSAT><nCFe>000139</nCFe><dEmi>20170808</dEmi><hEmi>151034</hEmi><cDV>7</cDV><tpAmb>1</tpAmb><CNPJ>22769530000131</CNPJ><signAC>FO7E++TPt/v6twwElpLfq8foIU4wE4FUW0fJLU1NTZywbOGZhijk8vH5BJf7/XiefaPP2uPFtS0333ZAlmzImBycKWe0ELM2bpu0k4shuSZrAXKJtY3VDEpWRD7mibQuF7EFzy/+kKHK9G2NIajlstMa90JpbzIx2aYFvzs2SfzuT2zeIeBBsnTMutHF7NFrsZQvgHkYY4Z7/PRzRvqikxb6o1LLt6yX+d+Z40vObqJeaGzWyfVs4KOdEdyv9mOKW7RRXR0/LM0RCcudjwVHlTCjyQ3HYBsjcmkSB1HQSMgydjkJOO9ICPWP7FtMjXcDZUny2gD5BOYkqL2Byple0Q==</signAC><assinaturaQRCODE>V0t3JUTvkC9hbQrfPtsnvQpDpvx950/Qj7lQZQ9Ee6sblwhlyZUitqy/EXyb65cdwz5inSNQhbjclH00bBmhzsIId/0DcJYyWLTZ8+jid6qoQqcZVN7+85nYQwe97k9t55to6/2KtMAdn1ooB4dNLhj+2+gy2s+X6We/2I/wuEcBPgDjUynX8KTnFMeFzCtESF3D1/ykVdxj+J3E5S82emBdBNEW4DL+3+kvHsFSyqbHjsseiuTp0oz2xJUuOoD9KE63hnLbIWuOC3z69gQofgGaKWuFjICFkirtTAHBuvBsMWcaSku3HCH68/fga4W/iIbv/RenbBeecG/Ffw4X9Q==</assinaturaQRCODE><numeroCaixa>001</numeroCaixa></ide><emit><CNPJ>27192750000240</CNPJ><xNome>NUTREM VALENS COMERCIO LTDA ME</xNome><xFant>NUTREM VALENS MARKET</xFant><enderEmit><xLgr>AVENIDA WASHINGTON LUIZ</xLgr><nro>970</nro><xCpl>C</xCpl><xBairro>METROPOLE</xBairro><xMun>DRACENA</xMun><CEP>17900000</CEP></enderEmit><IE>292065728117</IE><IM>197321</IM><cRegTrib>1</cRegTrib><cRegTribISSQN>1</cRegTribISSQN><indRatISSQN>N</indRatISSQN></emit><dest></dest><det nItem="1"><prod><cProd>SUCO4233</cProd><xProd>Suco de Tangerina Integral Mitto 1L</xProd><CFOP>5405</CFOP><uCom>UND</uCom><qCom>1.0000</qCom><vUnCom>16.500</vUnCom><vProd>16.50</vProd><indRegra>A</indRegra><vDesc>1.92</vDesc><vItem>14.58</vItem></prod><imposto><vItem12741>0.00</vItem12741><ICMS><ICMSSN102><Orig>0</Orig><CSOSN>500</CSOSN></ICMSSN102></ICMS><PIS><PISSN><CST>49</CST></PISSN></PIS><COFINS><COFINSSN><CST>49</CST></COFINSSN></COFINS></imposto></det><total><ICMSTot><vICMS>0.00</vICMS><vProd>16.50</vProd><vDesc>1.92</vDesc><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vPISST>0.00</vPISST><vCOFINSST>0.00</vCOFINSST><vOutro>0.00</vOutro></ICMSTot><vCFe>14.58</vCFe><vCFeLei12741>0.00</vCFeLei12741></total><pgto><MP><cMP>04</cMP><vMP>14.58</vMP></MP><vTroco>0.00</vTroco></pgto><infAdic><obsFisco xCampo="02.03.04.03"><xTexto>Consulte o QRCode deste extrato atraves do App DeOlhoNaNota</xTexto></obsFisco></infAdic></infCFe><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"></SignatureMethod><Reference URI="#CFe35170827192750000240590002257540001395955127"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod><DigestValue>x7w+x/SD/didumxuYOXNGpg9o9amGeocwTKXaC2Wt18=</DigestValue></Reference></SignedInfo><SignatureValue>a7h3NWjAwkotebkrsQpVJj0I38ztE+GQagH24O8CeYLzXqvqilWg6ygp7mheNj3eNoZWwrOI2b43pAQogarnvkGHZJfXuG+Tt1rKIF9iTS/IeA2mEg5R5CgAGYtRuQRnGKe4Ws9Es5KjT7V3kWCaDjgHwhLj4+q6fx/ItyWYrAHy/BNTdeF2BKlKGJHmpxE2sZx1erFawgEcj7I3yXqljVAch1W3Q0i7IjvzlGRpDjO36DWm3zQJYRcK9mCo6apqIPTOvOCyWS4xlLE6YF6N9oPG1doBgkZ8Iai5bv94i5aBknKt7LWh5GRU+zTGmTFxoeYIV6WBgn+51dXe5Q2BdA==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></CFe>
|
2
|
-
|
data/nfce.xml
DELETED
@@ -1,160 +0,0 @@
|
|
1
|
-
<nfeProc versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">
|
2
|
-
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
|
3
|
-
<infNFe Id="NFe53171022769530000131654000000000601171025449" versao="3.10">
|
4
|
-
<ide>
|
5
|
-
<cUF>53</cUF>
|
6
|
-
<cNF>17102544</cNF>
|
7
|
-
<natOp>Venda</natOp>
|
8
|
-
<indPag>0</indPag>
|
9
|
-
<mod>65</mod>
|
10
|
-
<serie>400</serie>
|
11
|
-
<nNF>60</nNF>
|
12
|
-
<dhEmi>2017-10-04T16:56:24-03:00</dhEmi>
|
13
|
-
<tpNF>1</tpNF>
|
14
|
-
<idDest>1</idDest>
|
15
|
-
<cMunFG>5300108</cMunFG>
|
16
|
-
<tpImp>4</tpImp>
|
17
|
-
<tpEmis>1</tpEmis>
|
18
|
-
<cDV>9</cDV>
|
19
|
-
<tpAmb>2</tpAmb>
|
20
|
-
<finNFe>1</finNFe>
|
21
|
-
<indFinal>1</indFinal>
|
22
|
-
<indPres>1</indPres>
|
23
|
-
<procEmi>0</procEmi>
|
24
|
-
<verProc>1.0</verProc>
|
25
|
-
</ide>
|
26
|
-
<emit>
|
27
|
-
<CNPJ>22769530000131</CNPJ>
|
28
|
-
<xNome>PDVEND</xNome>
|
29
|
-
<enderEmit>
|
30
|
-
<xLgr>Avenida</xLgr>
|
31
|
-
<nro>LT 06</nro>
|
32
|
-
<xBairro>NORTE (AGUAS CLARAS)</xBairro>
|
33
|
-
<cMun>5300108</cMun>
|
34
|
-
<xMun>brasilia</xMun>
|
35
|
-
<UF>DF</UF>
|
36
|
-
<CEP>71916500</CEP>
|
37
|
-
</enderEmit>
|
38
|
-
<IE>0772733700120</IE>
|
39
|
-
<CRT>1</CRT>
|
40
|
-
</emit>
|
41
|
-
<dest>
|
42
|
-
<CNPJ>25504949000150</CNPJ>
|
43
|
-
<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>
|
44
|
-
<indIEDest>9</indIEDest>
|
45
|
-
</dest>
|
46
|
-
<det nItem="1">
|
47
|
-
<prod>
|
48
|
-
<cProd>LATA9308</cProd>
|
49
|
-
<cEAN></cEAN>
|
50
|
-
<xProd>NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xProd>
|
51
|
-
<NCM>01061200</NCM>
|
52
|
-
<CFOP>5102</CFOP>
|
53
|
-
<uCom>UN</uCom>
|
54
|
-
<qCom>1</qCom>
|
55
|
-
<vUnCom>0.91</vUnCom>
|
56
|
-
<vProd>0.91</vProd>
|
57
|
-
<cEANTrib></cEANTrib>
|
58
|
-
<uTrib>UN</uTrib>
|
59
|
-
<qTrib>1</qTrib>
|
60
|
-
<vUnTrib>0.91</vUnTrib>
|
61
|
-
<indTot>1</indTot>
|
62
|
-
</prod>
|
63
|
-
<imposto>
|
64
|
-
<ICMS>
|
65
|
-
<ICMSSN102>
|
66
|
-
<orig>0</orig>
|
67
|
-
<CSOSN>102</CSOSN>
|
68
|
-
</ICMSSN102>
|
69
|
-
</ICMS>
|
70
|
-
</imposto>
|
71
|
-
</det>
|
72
|
-
<det nItem="2">
|
73
|
-
<prod>
|
74
|
-
<cProd>BUG4933</cProd>
|
75
|
-
<cEAN></cEAN>
|
76
|
-
<xProd>Bugnnn</xProd>
|
77
|
-
<NCM>01061200</NCM>
|
78
|
-
<CFOP>5102</CFOP>
|
79
|
-
<uCom>UN</uCom>
|
80
|
-
<qCom>1</qCom>
|
81
|
-
<vUnCom>4.90</vUnCom>
|
82
|
-
<vProd>4.90</vProd>
|
83
|
-
<cEANTrib></cEANTrib>
|
84
|
-
<uTrib>UN</uTrib>
|
85
|
-
<qTrib>1</qTrib>
|
86
|
-
<vUnTrib>4.90</vUnTrib>
|
87
|
-
<indTot>1</indTot>
|
88
|
-
</prod>
|
89
|
-
<imposto>
|
90
|
-
<ICMS>
|
91
|
-
<ICMSSN102>
|
92
|
-
<orig>0</orig>
|
93
|
-
<CSOSN>102</CSOSN>
|
94
|
-
</ICMSSN102>
|
95
|
-
</ICMS>
|
96
|
-
</imposto>
|
97
|
-
</det>
|
98
|
-
<total>
|
99
|
-
<ICMSTot>
|
100
|
-
<vBC>0.00</vBC>
|
101
|
-
<vICMS>0.00</vICMS>
|
102
|
-
<vICMSDeson>0.00</vICMSDeson>
|
103
|
-
<vBCST>0.00</vBCST>
|
104
|
-
<vST>0.00</vST>
|
105
|
-
<vProd>5.81</vProd>
|
106
|
-
<vFrete>0.00</vFrete>
|
107
|
-
<vSeg>0.00</vSeg>
|
108
|
-
<vDesc>0.00</vDesc>
|
109
|
-
<vII>0.00</vII>
|
110
|
-
<vIPI>0.00</vIPI>
|
111
|
-
<vPIS>0.00</vPIS>
|
112
|
-
<vCOFINS>0.00</vCOFINS>
|
113
|
-
<vOutro>0.00</vOutro>
|
114
|
-
<vNF>5.81</vNF>
|
115
|
-
</ICMSTot>
|
116
|
-
</total>
|
117
|
-
<transp>
|
118
|
-
<modFrete>9</modFrete>
|
119
|
-
</transp>
|
120
|
-
<pag>
|
121
|
-
<tPag>01</tPag>
|
122
|
-
<vPag>5.81</vPag>
|
123
|
-
<vTroco>0.19</vTroco>
|
124
|
-
</pag>
|
125
|
-
</infNFe>
|
126
|
-
<infAdic>
|
127
|
-
<infCpl>
|
128
|
-
Tributos aproximados: (Lei Federal 12.741/2012): R$ 0,00 (0%)
|
129
|
-
</infCpl>
|
130
|
-
</infAdic>
|
131
|
-
<infNFeSupl>
|
132
|
-
<qrCode><![CDATA[http://dec.fazenda.df.gov.br/ConsultarNFCe.aspx?chNFe=53171022769530000131654000000000601171025449&nVersao=100&tpAmb=2&cDest=25504949000150&dhEmi=323031372d31302d30345431363a35363a32342d30333a3030&vNF=5.81&vICMS=0.00&digVal=6d3658314668464774314435487850794d677a557276412b646c733d&cIdToken=000001&cHashQRCode=62F1D30A95E4E08FC5A29D506FF935FD37C8614E]]></qrCode>
|
133
|
-
</infNFeSupl>
|
134
|
-
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
|
135
|
-
<SignedInfo>
|
136
|
-
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
|
137
|
-
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
|
138
|
-
<Reference URI="#NFe53171022769530000131654000000000601171025449">
|
139
|
-
<Transforms>
|
140
|
-
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
|
141
|
-
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
|
142
|
-
</Transforms>
|
143
|
-
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
|
144
|
-
<DigestValue>m6X1FhFGt1D5HxPyMgzUrvA+dls=</DigestValue>
|
145
|
-
</Reference>
|
146
|
-
</SignedInfo>
|
147
|
-
<SignatureValue>ERawIQpTAZxMjiD0s9CJRKNOwv7RjONCMBT+XMDscTLzgRd9a6My8fau29D9tGJwOKGVJ12aRTqr34B+ECnSwyJ9qTE+l1C9pVRY2ypLUhJW5Q3FCg+Zke3MDmDqmJVv44jA5O2s8UIhuw2hVQgz32Gr38ZRkytEU5Xcd5sEOoinClNNtrGduUDVdfeEsIuTfL4TIbkmf5dnqje+P6ZNmSFuwDeb2TH2MG8R/EBSazPM+PR7nGId5cCMj1edfMeSsR6MXMnju7t/8N5qUGpKwmwPC/jQtmFVse18f2joIO4HfeGz9tIP92TNUVnrjTTWmMBrHVWqiT8ogxgXX/SFfQ==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe>
|
148
|
-
<protNFe versao="3.10">
|
149
|
-
<infProt>
|
150
|
-
<tpAmb>2</tpAmb>
|
151
|
-
<verAplic>SVRSnfce201707171030</verAplic>
|
152
|
-
<chNFe>53171022769530000131654000000000601171025449</chNFe>
|
153
|
-
<dhRecbto>2017-10-04T16:56:26-03:00</dhRecbto>
|
154
|
-
<nProt>353170000106963</nProt>
|
155
|
-
<digVal>m6X1FhFGt1D5HxPyMgzUrvA+dls=</digVal>
|
156
|
-
<cStat>100</cStat>
|
157
|
-
<xMotivo>Autorizado o uso da NF-e</xMotivo>
|
158
|
-
</infProt>
|
159
|
-
</protNFe>
|
160
|
-
</nfeProc>
|