nfe_reader 1.0.5 → 1.0.6
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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/nfe_reader.rb +4 -4
- data/lib/nfe_reader/address.rb +38 -0
- data/lib/nfe_reader/authorization.rb +8 -10
- data/lib/nfe_reader/billing.rb +21 -0
- data/lib/nfe_reader/billing/duplicate.rb +14 -0
- data/lib/nfe_reader/carrier.rb +12 -14
- data/lib/nfe_reader/customer.rb +15 -57
- data/lib/nfe_reader/delivery.rb +16 -18
- data/lib/nfe_reader/document.rb +63 -65
- data/lib/nfe_reader/export.rb +8 -10
- data/lib/nfe_reader/fiscal.rb +29 -31
- data/lib/nfe_reader/header.rb +114 -123
- data/lib/nfe_reader/helpers/attribute_helper.rb +24 -0
- data/lib/nfe_reader/helpers/creator_helper.rb +40 -0
- data/lib/{helpers → nfe_reader/helpers}/nokogiri_hash.rb +2 -0
- data/lib/nfe_reader/information.rb +17 -19
- data/lib/nfe_reader/nfe.rb +78 -87
- data/lib/nfe_reader/person.rb +53 -0
- data/lib/nfe_reader/product.rb +69 -67
- data/lib/nfe_reader/product/armament.rb +18 -20
- data/lib/nfe_reader/product/cane.rb +22 -24
- data/lib/nfe_reader/product/exportation.rb +15 -17
- data/lib/nfe_reader/product/fuel.rb +13 -15
- data/lib/nfe_reader/product/importation.rb +42 -44
- data/lib/nfe_reader/product/medicament.rb +15 -17
- data/lib/nfe_reader/product/vehicle.rb +113 -115
- data/lib/nfe_reader/provider.rb +10 -40
- data/lib/nfe_reader/purchase.rb +9 -12
- data/lib/nfe_reader/removal.rb +17 -19
- data/lib/nfe_reader/taxation/cofins.rb +41 -41
- data/lib/nfe_reader/taxation/cofins_st.rb +15 -17
- data/lib/nfe_reader/taxation/icms.rb +80 -81
- data/lib/nfe_reader/taxation/importation_tax.rb +14 -16
- data/lib/nfe_reader/taxation/ipi.rb +35 -37
- data/lib/nfe_reader/taxation/issqn.rb +17 -19
- data/lib/nfe_reader/taxation/pis.rb +41 -41
- data/lib/nfe_reader/taxation/pis_st.rb +16 -18
- data/lib/nfe_reader/total.rb +71 -71
- data/lib/nfe_reader/transport.rb +76 -89
- data/lib/nfe_reader/version.rb +2 -4
- data/nfe-reader.gemspec +2 -1
- data/test/nfe_reader/address_test.rb +75 -0
- data/test/nfe_reader/authorization_test.rb +2 -2
- data/test/nfe_reader/{collection → billing}/duplicate_test.rb +2 -2
- data/test/nfe_reader/{collection_test.rb → billing_test.rb} +13 -13
- data/test/nfe_reader/cane_test.rb +2 -2
- data/test/nfe_reader/carrier_test.rb +4 -4
- data/test/nfe_reader/customer_test.rb +6 -101
- data/test/nfe_reader/delivery_test.rb +2 -2
- data/test/nfe_reader/document_test.rb +2 -2
- data/test/nfe_reader/export_test.rb +2 -2
- data/test/nfe_reader/fiscal_test.rb +2 -2
- data/test/nfe_reader/header_test.rb +2 -2
- data/test/{helpers → nfe_reader/helpers}/attributte_helper_test.rb +3 -3
- data/test/{helpers → nfe_reader/helpers}/creator_helper_test.rb +3 -3
- data/test/{helpers → nfe_reader/helpers}/nokogiri_test.rb +1 -1
- data/test/nfe_reader/information_test.rb +2 -2
- data/test/nfe_reader/nfe_test.rb +13 -13
- data/test/nfe_reader/person_test.rb +60 -0
- data/test/nfe_reader/product/armament_test.rb +2 -2
- data/test/nfe_reader/product/exportation_test.rb +2 -2
- data/test/nfe_reader/product/fuel_test.rb +2 -2
- data/test/nfe_reader/product/importation_test.rb +2 -2
- data/test/nfe_reader/product/medicament_test.rb +2 -2
- data/test/nfe_reader/product/vehicle_test.rb +2 -2
- data/test/nfe_reader/product_test.rb +2 -2
- data/test/nfe_reader/provider_test.rb +5 -118
- data/test/nfe_reader/purchase_test.rb +2 -2
- data/test/nfe_reader/removal_test.rb +2 -2
- data/test/nfe_reader/taxation/cofins_st_test.rb +2 -2
- data/test/nfe_reader/taxation/cofins_test.rb +2 -2
- data/test/nfe_reader/taxation/icms_test.rb +2 -2
- data/test/nfe_reader/taxation/importation_tax_test.rb +2 -2
- data/test/nfe_reader/taxation/ipi_test.rb +2 -2
- data/test/nfe_reader/taxation/issqn_test.rb +2 -2
- data/test/nfe_reader/taxation/pis_st_test.rb +2 -2
- data/test/nfe_reader/taxation/pis_test.rb +2 -2
- data/test/nfe_reader/total_test.rb +2 -2
- data/test/nfe_reader/transport_test.rb +3 -3
- metadata +37 -17
- data/lib/helpers/attribute_helper.rb +0 -18
- data/lib/helpers/creator_helper.rb +0 -32
- data/lib/nfe_reader/collection.rb +0 -38
- data/lib/nfe_reader/collection/duplicate.rb +0 -16
@@ -1,44 +1,42 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Ipi
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
6
|
+
attr_reader :frame_class, :frame_code, :cnpj, :seal, :seal_amount,
|
7
|
+
:cst, :ipi_base, :amount, :value_unit, :percentage, :value, :cst_group
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
9
|
+
def initialize(attrs = {})
|
10
|
+
# Classe de enquadramento do IPI para Cigarros e Bebidas
|
11
|
+
@frame_class = attrs[:clEnq]
|
12
|
+
# Codigo enquadramento
|
13
|
+
@frame_code = attrs[:cEnq]
|
14
|
+
# CNPJ do produtor
|
15
|
+
@cnpj = attrs[:CNPJProd]
|
16
|
+
# Código do selo de controle
|
17
|
+
@seal = attrs[:cSelo]
|
18
|
+
# Quantidade do selo de controle
|
19
|
+
@seal_amount = attrs[:qSelo]
|
20
|
+
|
21
|
+
# == Tributação
|
22
|
+
if attrs[:IPITrib]
|
23
|
+
# Código da situação tributária do IPI
|
24
|
+
@cst = attrs[:IPITrib][:CST]
|
25
|
+
# Valor da BC do IPI
|
26
|
+
@ipi_base = attrs[:IPITrib][:vBC]
|
27
|
+
# Quantidade total na unidade padrão para tributação
|
28
|
+
@amount = attrs[:IPITrib][:qUnid]
|
29
|
+
# Valor por Unidade Tributável
|
30
|
+
@value_unit = attrs[:IPITrib][:vUnid]
|
31
|
+
# % do IPI
|
32
|
+
@percentage = attrs[:IPITrib][:pIPI]
|
33
|
+
# Valor do IPI
|
34
|
+
@value = attrs[:IPITrib][:vIPI]
|
35
|
+
end
|
37
36
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
end
|
37
|
+
if attrs[:IPINT]
|
38
|
+
# Grupo do CST 01, 02, 03, 04, 51, 52, 53, 54 e 55
|
39
|
+
@cst_group = attrs[:IPINT][:CST]
|
42
40
|
end
|
43
41
|
end
|
44
42
|
end
|
@@ -1,26 +1,24 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Issqn
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
6
|
+
attr_accessor :base, :aliquot, :value, :city, :services, :cst
|
8
7
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
# Fields Values
|
9
|
+
#
|
10
|
+
# cStiTrib : N - NORMAL;
|
11
|
+
# R - RETIDA;
|
12
|
+
# S - SUBSTITUTA;
|
13
|
+
# I - ISENTA
|
15
14
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
15
|
+
def initialize(attrs = {})
|
16
|
+
@base = attrs[:vBC]
|
17
|
+
@aliquot = attrs[:vAliq]
|
18
|
+
@value = attrs[:vISSQN]
|
19
|
+
@city = attrs[:cMunFG]
|
20
|
+
@services = attrs[:cListServ]
|
21
|
+
@cst = attrs[:cSitTrib]
|
24
22
|
end
|
25
23
|
end
|
26
24
|
end
|
@@ -1,46 +1,46 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Pis
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
6
|
+
attr_reader :cst, :base, :percentage, :value, :amount, :aliquot
|
7
|
+
|
8
|
+
# Fieds Values
|
9
|
+
#
|
10
|
+
# cst:
|
11
|
+
# PISAliq:
|
12
|
+
# 01 - Operação Tributável
|
13
|
+
# (base de cálculo = valor da operação alíquota normal (cumulativo/não cumulativo));
|
14
|
+
# 02 - Operação Tributável
|
15
|
+
# (base de cálculo = valor da operação (alíquota diferenciada));
|
16
|
+
# PISQtde:
|
17
|
+
# 03 - Operação Tributável
|
18
|
+
# (base de cálculo = quantidade vendida x alíquota por unidadede produto);
|
19
|
+
# PISNT:
|
20
|
+
# 04 - Operação Tributável
|
21
|
+
# (tributação monofásica(alíquota zero));
|
22
|
+
# 06 - Operação Tributável(alíquota zero);
|
23
|
+
# 07 - Operação Isenta da Contribuição;
|
24
|
+
# 08 - Operação Sem Incidência da Contribuição;
|
25
|
+
# 09 - Operação com Suspensão da Contribuição;
|
26
|
+
# PISOutr:
|
27
|
+
# 99 - Outras Operações;
|
28
|
+
#
|
29
|
+
def initialize(attrs = {})
|
30
|
+
attrs = attrs.values[0]
|
31
|
+
|
32
|
+
# Cst PIS
|
33
|
+
@cst = attrs[:CST]
|
34
|
+
# Base PIS
|
35
|
+
@base = attrs[:vBC]
|
36
|
+
# % PIS
|
37
|
+
@percentage = attrs[:pPIS]
|
38
|
+
# Valor PIS
|
39
|
+
@value = attrs[:vPIS]
|
40
|
+
# Quantidade Vendida
|
41
|
+
@amount = attrs[:qBCProd]
|
42
|
+
# Alíquota do PIS
|
43
|
+
@aliquot = attrs[:vAliqProd]
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -1,23 +1,21 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class PisSt
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
6
|
+
attr_reader :base, :percentage, :amount, :aliquot, :value
|
7
|
+
|
8
|
+
def initialize(attrs = {})
|
9
|
+
# Valor Base
|
10
|
+
@base = attrs[:vBC]
|
11
|
+
# % PISST
|
12
|
+
@percentage = attrs[:pPIS]
|
13
|
+
# Quantidade
|
14
|
+
@amount = attrs[:qBCProd]
|
15
|
+
# Aliquota PIS ST
|
16
|
+
@aliquot = attrs[:vAliqProd]
|
17
|
+
# Valor PIS ST
|
18
|
+
@value = attrs[:vPIS]
|
21
19
|
end
|
22
20
|
end
|
23
21
|
end
|
data/lib/nfe_reader/total.rb
CHANGED
@@ -1,79 +1,79 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
include ::AttributeHelper
|
2
|
+
module NfeReader
|
3
|
+
class Total
|
4
|
+
include AttributeHelper
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
attr_reader :icms_base, :icms, :st_base, :st, :product, :freight,
|
7
|
+
:insurance, :descount, :ii, :ipi, :pis, :cofins, :another, :total,
|
8
|
+
:service_value, :service_base, :service_iss, :service_pis, :service_cofins,
|
9
|
+
:retention_pis, :retention_csll, :retention_irrf_base, :retention_cofins,
|
10
|
+
:retention_irrf, :retention_foresight_base, :retention_foresight, :tax
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
12
|
+
def initialize(attrs = {})
|
13
|
+
# Impostos
|
14
|
+
if attrs[:ICMSTot]
|
15
|
+
# Base ICMS
|
16
|
+
@icms_base = attrs[:ICMSTot][:vBC]
|
17
|
+
# Valor ICMS
|
18
|
+
@icms = attrs[:ICMSTot][:vICMS]
|
19
|
+
# Base ICMS ST
|
20
|
+
@st_base = attrs[:ICMSTot][:vBCST]
|
21
|
+
# Valor ICMS ST
|
22
|
+
@st = attrs[:ICMSTot][:vST]
|
23
|
+
# Total de Produtos
|
24
|
+
@product = attrs[:ICMSTot][:vProd]
|
25
|
+
# Total de Frete
|
26
|
+
@freight = attrs[:ICMSTot][:vFrete]
|
27
|
+
# Total de Seguro
|
28
|
+
@insurance = attrs[:ICMSTot][:vSeg]
|
29
|
+
# Total de Desconto
|
30
|
+
@descount = attrs[:ICMSTot][:vDesc]
|
31
|
+
# Total de Imposto de Importacao
|
32
|
+
@ii = attrs[:ICMSTot][:vII]
|
33
|
+
# Total de IPI
|
34
|
+
@ipi = attrs[:ICMSTot][:vIPI]
|
35
|
+
# Total de PIS
|
36
|
+
@pis = attrs[:ICMSTot][:vPIS]
|
37
|
+
# Total de COFINS
|
38
|
+
@cofins = attrs[:ICMSTot][:vCOFINS]
|
39
|
+
# Total de Outros
|
40
|
+
@another = attrs[:ICMSTot][:vOutro]
|
41
|
+
# Total NFe
|
42
|
+
@total = attrs[:ICMSTot][:vNF]
|
43
|
+
# Total NFe
|
44
|
+
@tax = attrs[:ICMSTot][:vTotTrib]
|
45
|
+
end
|
45
46
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
47
|
+
# Servicos
|
48
|
+
if attrs[:ISSQNtot]
|
49
|
+
# Valor do Servico
|
50
|
+
@service_value = attrs[:ISSQNtot][:vServ]
|
51
|
+
# Base de calculo do Servico
|
52
|
+
@service_base = attrs[:ISSQNtot][:vBC]
|
53
|
+
# ISS do Servico
|
54
|
+
@service_iss = attrs[:ISSQNtot][:vISS]
|
55
|
+
# Pis do Servico
|
56
|
+
@service_pis = attrs[:ISSQNtot][:vPIS]
|
57
|
+
# Cofins do Servico
|
58
|
+
@service_cofins = attrs[:ISSQNtot][:vCOFINS]
|
59
|
+
end
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
end
|
61
|
+
# Retencoes
|
62
|
+
if attrs[:retTrib]
|
63
|
+
# Retencao de PIS
|
64
|
+
@retention_pis = attrs[:retTrib][:vRetPIS]
|
65
|
+
# Retencao de COFINS
|
66
|
+
@retention_cofins = attrs[:retTrib][:vRetCOFINS]
|
67
|
+
# Retencao de CSLL
|
68
|
+
@retention_csll = attrs[:retTrib][:vRetCSLL]
|
69
|
+
# Base de Retencao do IRRF
|
70
|
+
@retention_irrf_base = attrs[:retTrib][:vBCIRRF]
|
71
|
+
# Valor de Retencao do IRRF
|
72
|
+
@retention_irrf = attrs[:retTrib][:vIRRF]
|
73
|
+
# Base de Retencao da Previdencia
|
74
|
+
@retention_foresight_base = attrs[:retTrib][:vBCRetPrev]
|
75
|
+
# Valor de Retencao da Previdencia
|
76
|
+
@retention_foresight = attrs[:retTrib][:vRetPrev]
|
77
77
|
end
|
78
78
|
end
|
79
79
|
end
|
data/lib/nfe_reader/transport.rb
CHANGED
@@ -1,100 +1,87 @@
|
|
1
1
|
# encoding: UTF-8
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
module NfeReader
|
3
|
+
class Transport
|
4
|
+
include AttributeHelper
|
5
|
+
include CreatorHelper
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
attr_reader :kind, :service_value, :base, :icms_aliquot, :icms_value,
|
8
|
+
:cfop, :city, :vehicle_plaque, :vehicle_state, :vehicle_rntc, :hauling_palque,
|
9
|
+
:hauling_state, :hauling_rntc, :wagon, :ferry, :volume_amount, :volume_kind,
|
10
|
+
:volume_brand, :volume_number, :weight_net, :weight_gross, :seals, :carrier
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
# == Veiculo
|
40
|
-
if attrs[:veicTransp]
|
41
|
-
# Placa
|
42
|
-
@vehicle_plaque = attrs[:veicTransp][:placa]
|
43
|
-
# Estado
|
44
|
-
@vehicle_state = attrs[:veicTransp][:UF]
|
45
|
-
# Registro Nacional de Transportador de Carga
|
46
|
-
@vehicle_rntc = attrs[:veicTransp][:RNTC]
|
47
|
-
end
|
48
|
-
|
49
|
-
# == Reboque
|
50
|
-
if attrs[:reboque]
|
51
|
-
# Placa
|
52
|
-
@hauling_palque = attrs[:reboque][:placa]
|
53
|
-
# Estado
|
54
|
-
@hauling_state = attrs[:reboque][:UF]
|
55
|
-
# Registro Nacional de Transportador de Carga
|
56
|
-
@hauling_rntc = attrs[:reboque][:RNTC]
|
57
|
-
end
|
58
|
-
|
59
|
-
# Vagao
|
60
|
-
@wagon = attrs[:vagao]
|
61
|
-
# Balsa
|
62
|
-
@ferry = attrs[:balsa]
|
63
|
-
|
64
|
-
# == Volume
|
65
|
-
if attrs[:vol]
|
66
|
-
# Quantidade de volumes
|
67
|
-
@volume_amount = attrs[:vol][:qVol]
|
68
|
-
# Espécie dos volumes
|
69
|
-
@volume_kind = attrs[:vol][:esp]
|
70
|
-
# Marca dos volumes
|
71
|
-
@volume_brand = attrs[:vol][:marca]
|
72
|
-
# Numeração dos volumes
|
73
|
-
@volume_number = attrs[:vol][:nVol]
|
74
|
-
# Peso Liquido
|
75
|
-
@weight_net = attrs[:vol][:pesoL]
|
76
|
-
# Peso Bruto
|
77
|
-
@weight_gross = attrs[:vol][:pesoB]
|
78
|
-
# Lacres
|
79
|
-
@seals = set_seals(attrs[:vol][:lacres])
|
80
|
-
end
|
12
|
+
# Fields Values:
|
13
|
+
#
|
14
|
+
# modFrete: 0- Por conta do emitente;
|
15
|
+
# 1- Por conta do destinatário/remetente;
|
16
|
+
# 2- Por conta de terceiros;
|
17
|
+
# 9- Sem frete.
|
18
|
+
#
|
19
|
+
def initialize(attrs = {})
|
20
|
+
# Modalidade
|
21
|
+
@kind = attrs[:modFrete]
|
22
|
+
|
23
|
+
# == Grupo de Retenção do ICMS do transporte
|
24
|
+
if attrs[:retTransp]
|
25
|
+
# Valor do Servico
|
26
|
+
@service_value = attrs[:retTransp][:vServ]
|
27
|
+
# BC da Retenção do ICMS
|
28
|
+
@base = attrs[:retTransp][:vBCRet]
|
29
|
+
# Alíquota da Retenção
|
30
|
+
@icms_aliquot = attrs[:retTransp][:pICMSRet]
|
31
|
+
# Valor do ICMS Retido
|
32
|
+
@icms_value = attrs[:retTransp][:vICMSRet]
|
33
|
+
# CFOP
|
34
|
+
@cfop = attrs[:retTransp][:CFOP]
|
35
|
+
# Municipio gerador de ICMS
|
36
|
+
@city = attrs[:retTransp][:cMunFG]
|
37
|
+
end
|
81
38
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
39
|
+
# == Veiculo
|
40
|
+
if attrs[:veicTransp]
|
41
|
+
# Placa
|
42
|
+
@vehicle_plaque = attrs[:veicTransp][:placa]
|
43
|
+
# Estado
|
44
|
+
@vehicle_state = attrs[:veicTransp][:UF]
|
45
|
+
# Registro Nacional de Transportador de Carga
|
46
|
+
@vehicle_rntc = attrs[:veicTransp][:RNTC]
|
86
47
|
end
|
87
48
|
|
88
|
-
|
89
|
-
|
49
|
+
# == Reboque
|
50
|
+
if attrs[:reboque]
|
51
|
+
# Placa
|
52
|
+
@hauling_palque = attrs[:reboque][:placa]
|
53
|
+
# Estado
|
54
|
+
@hauling_state = attrs[:reboque][:UF]
|
55
|
+
# Registro Nacional de Transportador de Carga
|
56
|
+
@hauling_rntc = attrs[:reboque][:RNTC]
|
57
|
+
end
|
90
58
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
59
|
+
# Vagao
|
60
|
+
@wagon = attrs[:vagao]
|
61
|
+
# Balsa
|
62
|
+
@ferry = attrs[:balsa]
|
63
|
+
|
64
|
+
# == Volume
|
65
|
+
if attrs[:vol]
|
66
|
+
# Quantidade de volumes
|
67
|
+
@volume_amount = attrs[:vol][:qVol]
|
68
|
+
# Espécie dos volumes
|
69
|
+
@volume_kind = attrs[:vol][:esp]
|
70
|
+
# Marca dos volumes
|
71
|
+
@volume_brand = attrs[:vol][:marca]
|
72
|
+
# Numeração dos volumes
|
73
|
+
@volume_number = attrs[:vol][:nVol]
|
74
|
+
# Peso Liquido
|
75
|
+
@weight_net = attrs[:vol][:pesoL]
|
76
|
+
# Peso Bruto
|
77
|
+
@weight_gross = attrs[:vol][:pesoB]
|
78
|
+
# Lacres
|
79
|
+
@seals = to_array(attrs[:vol][:lacres]).join(', ')
|
80
|
+
end
|
96
81
|
|
97
|
-
|
82
|
+
# Transportadora
|
83
|
+
if attrs[:transporta]
|
84
|
+
@carrier = Carrier.new(attrs[:transporta])
|
98
85
|
end
|
99
86
|
end
|
100
87
|
end
|