Method: Nfe::Ipi#initialize

Defined in:
lib/nfe_reader/taxation/ipi.rb

#initialize(attrs = {}) ⇒ Ipi

Returns a new instance of Ipi.



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
# File 'lib/nfe_reader/taxation/ipi.rb', line 7

def initialize(attrs = {})
  # Classe de enquadramento do IPI para Cigarros e Bebidas
  @frame_class = attrs[:clEnq]
  # Codigo enquadramento
  @frame_code = attrs[:cEnq]
  # CNPJ do produtor
  @cnpj = attrs[:CNPJProd]
  # Código do selo de controle
  @seal = attrs[:cSelo]
  # Quantidade do selo de controle
  @seal_amount = attrs[:qSelo]
  
  # == Tributação
  if attrs[:IPITrib]
    # Código da situação tributária do IPI
    @cst = attrs[:IPITrib][:CST]
    # Valor da BC do IPI
    @ipi_base = attrs[:IPITrib][:vBC]
    # Quantidade total na unidade padrão para tributação
    @amount = attrs[:IPITrib][:qUnid]
    # Valor por Unidade Tributável
    @value_unit = attrs[:IPITrib][:vUnid]
    # % do IPI
    @percentage = attrs[:IPITrib][:pIPI]
    # Valor do IPI
    @value = attrs[:IPITrib][:vIPI]
  end

  if attrs[:IPINT]
    # Grupo do CST 01, 02, 03, 04, 51, 52, 53, 54 e 55
    @cst_group = attrs[:IPINT][:CST]
  end
end