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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4d8ffb07a7ddccdda717e66d7962338f6829f413
4
- data.tar.gz: 9185d96c8d79c492b0861cc449d72ea4ca01b0a3
3
+ metadata.gz: 3d5fedf25d5e25569830a505913e74691d14ed6f
4
+ data.tar.gz: 43565a22af7a9357a61da6d59fa599064b1aad75
5
5
  SHA512:
6
- metadata.gz: fffe964bad7628178056848cc6b2a7890dc599577c8ba565c0a3b523440138c6281320f5270097e75e671068077f0bd68878724843bea82eb7367cc30cf74501
7
- data.tar.gz: 1ea1f0d2eb53fa2bca910bcd4d3c388f48710379427389901948c8765ea356b1a7ff2fce29456bee25ce1c34439dad1337d2be7dd0ae656ee6f6791f0bc3fc68
6
+ metadata.gz: 88de5586f0aa1cbd9e8ba99ae910c1d3ad5dced47e8cdf3d6be22d8ecd4065e5b1bbb6b04ab64c5121bbf350bb6f4633a01a4d06cf51564773ee71be2d6b2f78
7
+ data.tar.gz: 44bceaf6290360d7c8c0b0cad2b6548aefa4c0dbf85db3d61ebb5fa7cd93ffe3a53200827f8767f7fa5d64d0b7eb5f2747e0af94b8aaded9b12ce1172b6cb841
data/CHANGELOG.md CHANGED
@@ -3,6 +3,7 @@
3
3
  ## CHANGELOG
4
4
 
5
5
  ### Unreleased
6
+ - [Corrigindo] NFC-e em contingência
6
7
 
7
8
  ### 0.2.7 [2017-10-06]
8
9
  - [Add] PDF generator to NFC-e
@@ -9,14 +9,17 @@ module BrInvoicesPdf
9
9
 
10
10
  module_function
11
11
 
12
- EMIT_ROOT_PATH = "#{Util::XmlLocate::ROOT_PATH}/emit"
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, "#{EMIT_ROOT_PATH}/xNome"),
17
- cnpj: locate_element(xml, "#{EMIT_ROOT_PATH}/CNPJ"),
18
- state_number: locate_element(xml, "#{EMIT_ROOT_PATH}/IE"),
19
- address: mount(xml, address_params(EMIT_ROOT_PATH, 'Emit'))
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
- DEST_ROOT_PATH = "#{Util::XmlLocate::ROOT_PATH}/dest"
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, "#{DEST_ROOT_PATH}/#{identification_type}"),
19
- address: mount(xml, address_params(DEST_ROOT_PATH, 'Dest'))
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
- return 'CNPJ' if locate_element(xml, "#{DEST_ROOT_PATH}/CNPJ")
25
- return 'CPF' if locate_element(xml, "#{DEST_ROOT_PATH}/CPF")
26
- return 'idEstrangeiro' if locate_element(xml, "#{DEST_ROOT_PATH}/idEstrangeiro")
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
- EMISSION_ROOT_PATH = "#{Util::XmlLocate::ROOT_PATH}/ide"
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
- type: EMISSION_TYPES[locate_element(xml, "#{EMISSION_ROOT_PATH}/tpEmis").to_sym],
27
- number: locate_element(xml, "#{EMISSION_ROOT_PATH}/nNF"),
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
- check_urls = Util::NfceCheckUrls::URLS[locate_element(xml, "#{EMISSION_ROOT_PATH}/cUF").to_sym]
40
- check_urls[locate_element(xml, "#{EMISSION_ROOT_PATH}/tpAmb").to_sym]
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.new(locate_element(xml, path)).utc
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("#{ROOT_PATH}/pag")
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("#{ROOT_PATH}/det")
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
- TOTAL_ROOT_PATH = "#{Util::XmlLocate::ROOT_PATH}/total/ICMSTot"
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, "#{TOTAL_ROOT_PATH}/vProd"),
17
- discounts: locate_element(xml, "#{TOTAL_ROOT_PATH}/vDesc"),
18
- total: locate_element(xml, "#{TOTAL_ROOT_PATH}/vNF"),
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][:access_key])
16
+ consult_key(pdf, data[:emission_details])
17
17
  end
18
18
  end
19
19
 
20
- def consult_key(pdf, key)
21
- pdf.text("CHAVE DE ACESSO:\n#{key.scan(/.{1,4}/).join(' ')}", align: :center)
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
 
@@ -11,7 +11,7 @@ module BrInvoicesPdf
11
11
  end
12
12
  end
13
13
 
14
- def address_params(root_path, local)
14
+ def address_params(_xml, root_path, local)
15
15
  {
16
16
  streetname: "#{root_path}/ender#{local}/xLgr",
17
17
  number: "#{root_path}/ender#{local}/nro",
@@ -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)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BrInvoicesPdf
4
- VERSION = '0.2.7'
4
+ VERSION = '0.2.8'
5
5
  end
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.7
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-10-27 00:00:00.000000000 Z
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>