nfe_reader 1.0.4 → 1.0.5
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 +10 -1
 - data/lib/helpers/attribute_helper.rb +18 -0
 - data/lib/helpers/creator_helper.rb +32 -0
 - data/lib/nfe_reader/authorization.rb +10 -6
 - data/lib/nfe_reader/carrier.rb +14 -10
 - data/lib/nfe_reader/collection/duplicate.rb +10 -6
 - data/lib/nfe_reader/collection.rb +28 -24
 - data/lib/nfe_reader/customer.rb +56 -52
 - data/lib/nfe_reader/delivery.rb +18 -14
 - data/lib/nfe_reader/document.rb +65 -61
 - data/lib/nfe_reader/export.rb +9 -5
 - data/lib/nfe_reader/fiscal.rb +31 -27
 - data/lib/nfe_reader/header.rb +120 -117
 - data/lib/nfe_reader/information.rb +17 -26
 - data/lib/nfe_reader/nfe.rb +130 -0
 - data/lib/nfe_reader/product/armament.rb +20 -16
 - data/lib/nfe_reader/product/cane.rb +22 -32
 - data/lib/nfe_reader/product/exportation.rb +17 -13
 - data/lib/nfe_reader/product/fuel.rb +15 -11
 - data/lib/nfe_reader/product/importation.rb +44 -40
 - data/lib/nfe_reader/product/medicament.rb +17 -13
 - data/lib/nfe_reader/product/vehicle.rb +115 -111
 - data/lib/nfe_reader/product.rb +67 -76
 - data/lib/nfe_reader/provider.rb +39 -35
 - data/lib/nfe_reader/purchase.rb +10 -6
 - data/lib/nfe_reader/removal.rb +18 -14
 - data/lib/nfe_reader/taxation/cofins.rb +41 -37
 - data/lib/nfe_reader/taxation/cofins_st.rb +17 -13
 - data/lib/nfe_reader/taxation/icms.rb +80 -76
 - data/lib/nfe_reader/taxation/importation_tax.rb +16 -12
 - data/lib/nfe_reader/taxation/ipi.rb +37 -33
 - data/lib/nfe_reader/taxation/issqn.rb +19 -15
 - data/lib/nfe_reader/taxation/pis.rb +41 -37
 - data/lib/nfe_reader/taxation/pis_st.rb +18 -14
 - data/lib/nfe_reader/total.rb +71 -67
 - data/lib/nfe_reader/transport.rb +87 -83
 - data/lib/nfe_reader/version.rb +1 -1
 - data/lib/nfe_reader.rb +3 -130
 - data/test/helpers/attributte_helper_test.rb +19 -0
 - data/test/helpers/creator_helper_test.rb +28 -0
 - data/test/{nokogiri_test.rb → helpers/nokogiri_test.rb} +1 -1
 - data/test/nfe_reader/authorization_test.rb +2 -2
 - data/test/nfe_reader/cane_test.rb +2 -2
 - data/test/nfe_reader/carrier_test.rb +2 -2
 - data/test/nfe_reader/collection/duplicate_test.rb +2 -2
 - data/test/nfe_reader/collection_test.rb +3 -3
 - data/test/nfe_reader/customer_test.rb +3 -3
 - 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/nfe_reader/information_test.rb +2 -2
 - data/test/{nfe_reader_test.rb → nfe_reader/nfe_test.rb} +15 -15
 - 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 +27 -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 +6 -6
 - data/test/nfe_reader/provider_test.rb +3 -3
 - 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 +14 -7
 - /data/lib/{nokogiri_hash.rb → helpers/nokogiri_hash.rb} +0 -0
 
    
        data/lib/nfe_reader/removal.rb
    CHANGED
    
    | 
         @@ -1,20 +1,24 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Local de Retirada
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
       6 
     | 
    
         
            -
                   
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                # Identificação do Local de Retirada
         
     | 
| 
      
 5 
     | 
    
         
            +
                class Removal
         
     | 
| 
      
 6 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                   
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
                  attr_reader :cnpj, :cpf, :address, :number, :complement,
         
     | 
| 
      
 9 
     | 
    
         
            +
                    :neighborhood, :city_code, :city, :state
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 12 
     | 
    
         
            +
                    @cnpj = attrs[:CNPJ]
         
     | 
| 
      
 13 
     | 
    
         
            +
                    @cpf = attrs[:CPF]
         
     | 
| 
      
 14 
     | 
    
         
            +
                    @address = attrs[:xLgr]
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @number = attrs[:nro]
         
     | 
| 
      
 16 
     | 
    
         
            +
                    @complement = attrs[:xCpl]
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @neighborhood = attrs[:xBairro]
         
     | 
| 
      
 18 
     | 
    
         
            +
                    @city_code = attrs[:cMun]
         
     | 
| 
      
 19 
     | 
    
         
            +
                    @city = attrs[:xMun]
         
     | 
| 
      
 20 
     | 
    
         
            +
                    @state = attrs[:UF]
         
     | 
| 
      
 21 
     | 
    
         
            +
                  end
         
     | 
| 
       18 
22 
     | 
    
         
             
                end
         
     | 
| 
       19 
23 
     | 
    
         
             
              end
         
     | 
| 
       20 
24 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,43 +1,47 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
                   
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class Cofins
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       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 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :cst, :base, :percentage, :value, :amount,
         
     | 
| 
      
 8 
     | 
    
         
            +
                    :aliquot
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  # Fieds Values
         
     | 
| 
      
 11 
     | 
    
         
            +
                  #
         
     | 
| 
      
 12 
     | 
    
         
            +
                  # cst: 
         
     | 
| 
      
 13 
     | 
    
         
            +
                  #   COFINSAliq:
         
     | 
| 
      
 14 
     | 
    
         
            +
                  #     01 - Operação Tributável 
         
     | 
| 
      
 15 
     | 
    
         
            +
                  #          (base de cálculo = valor da operação alíquota normal (cumulativo/não cumulativo));
         
     | 
| 
      
 16 
     | 
    
         
            +
                  #     02 - Operação Tributável 
         
     | 
| 
      
 17 
     | 
    
         
            +
                  #          (base de cálculo = valor da operação (alíquota diferenciada));
         
     | 
| 
      
 18 
     | 
    
         
            +
                  #   COFINSQtde:
         
     | 
| 
      
 19 
     | 
    
         
            +
                  #     03 - Operação Tributável 
         
     | 
| 
      
 20 
     | 
    
         
            +
                  #          (base de cálculo = quantidade vendida x alíquota por unidadede produto);
         
     | 
| 
      
 21 
     | 
    
         
            +
                  #   COFINSNT:
         
     | 
| 
      
 22 
     | 
    
         
            +
                  #     04 - Operação Tributável
         
     | 
| 
      
 23 
     | 
    
         
            +
                  #          (tributação monofásica(alíquota zero));
         
     | 
| 
      
 24 
     | 
    
         
            +
                  #     06 - Operação Tributável(alíquota zero);
         
     | 
| 
      
 25 
     | 
    
         
            +
                  #     07 - Operação Isenta da Contribuição;
         
     | 
| 
      
 26 
     | 
    
         
            +
                  #     08 - Operação Sem Incidência da Contribuição;
         
     | 
| 
      
 27 
     | 
    
         
            +
                  #     09 - Operação com Suspensão da Contribuição;
         
     | 
| 
      
 28 
     | 
    
         
            +
                  #   COFINSOutr:
         
     | 
| 
      
 29 
     | 
    
         
            +
                  #     99 - Outras Operações;
         
     | 
| 
      
 30 
     | 
    
         
            +
                  #
         
     | 
| 
      
 31 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 32 
     | 
    
         
            +
                    # Cst COFINS
         
     | 
| 
      
 33 
     | 
    
         
            +
                    @cst = attrs[:CST]
         
     | 
| 
      
 34 
     | 
    
         
            +
                    # Base COFINS
         
     | 
| 
      
 35 
     | 
    
         
            +
                    @base = attrs[:vBC]
         
     | 
| 
      
 36 
     | 
    
         
            +
                    # % COFINS
         
     | 
| 
      
 37 
     | 
    
         
            +
                    @percentage = attrs[:pCOFINS]
         
     | 
| 
      
 38 
     | 
    
         
            +
                    # Valor COFINS
         
     | 
| 
      
 39 
     | 
    
         
            +
                    @value = attrs[:vCOFINS]
         
     | 
| 
      
 40 
     | 
    
         
            +
                    # Quantidade Vendida
         
     | 
| 
      
 41 
     | 
    
         
            +
                    @amount = attrs[:qBCProd]
         
     | 
| 
      
 42 
     | 
    
         
            +
                    # Alíquota do COFINS
         
     | 
| 
      
 43 
     | 
    
         
            +
                    @aliquot = attrs[:vAliqProd]
         
     | 
| 
      
 44 
     | 
    
         
            +
                  end
         
     | 
| 
       41 
45 
     | 
    
         
             
                end
         
     | 
| 
       42 
46 
     | 
    
         
             
              end
         
     | 
| 
       43 
47 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,19 +1,23 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class CofinsSt
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :base, :percentage, :amount, :aliquot, :value
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 10 
     | 
    
         
            +
                    # Valor Base
         
     | 
| 
      
 11 
     | 
    
         
            +
                    @base = attrs[:vBC]
         
     | 
| 
      
 12 
     | 
    
         
            +
                    # % COFINS ST
         
     | 
| 
      
 13 
     | 
    
         
            +
                    @percentage = attrs[:pCOFINS]
         
     | 
| 
      
 14 
     | 
    
         
            +
                    # Quantidade
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @amount = attrs[:qBCProd]
         
     | 
| 
      
 16 
     | 
    
         
            +
                    # Aliquota COFINS ST
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @aliquot = attrs[:vAliqProd]
         
     | 
| 
      
 18 
     | 
    
         
            +
                    # Valor COFINS ST
         
     | 
| 
      
 19 
     | 
    
         
            +
                    @value = attrs[:vCOFINS]
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
       17 
21 
     | 
    
         
             
                end
         
     | 
| 
       18 
22 
     | 
    
         
             
              end
         
     | 
| 
       19 
23 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,86 +1,90 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
                   
     | 
| 
       6 
     | 
    
         
            -
                  :mva, :icms_st_base, :icms_st_percentage, :icms_st, :icms_st_base_retained_sender,
         
     | 
| 
       7 
     | 
    
         
            -
                  :icms_st_retained_sender, :icms_st_base_retained, :icms_st_retained, :state,
         
     | 
| 
       8 
     | 
    
         
            -
                  :retained_reason, :credit_percentage, :icms_credit, :sn_operation_code
         
     | 
| 
       9 
     | 
    
         
            -
                
         
     | 
| 
       10 
     | 
    
         
            -
                # == Field Values
         
     | 
| 
       11 
     | 
    
         
            -
                #
         
     | 
| 
       12 
     | 
    
         
            -
                # ori: 0 - Nacional
         
     | 
| 
       13 
     | 
    
         
            -
                #      1 - Estrangeira - Importação direta
         
     | 
| 
       14 
     | 
    
         
            -
                #      2 - Estrangeira – Adquirida no mercado interno.
         
     | 
| 
       15 
     | 
    
         
            -
                #
         
     | 
| 
       16 
     | 
    
         
            -
                # modBC: 0 - Margem Valor Agregado (%);
         
     | 
| 
       17 
     | 
    
         
            -
                #        1 - Pauta (Valor);
         
     | 
| 
       18 
     | 
    
         
            -
                #        2 - Preço Tabelado Máx. (valor);
         
     | 
| 
       19 
     | 
    
         
            -
                #        3 - valor da operação.
         
     | 
| 
       20 
     | 
    
         
            -
                #
         
     | 
| 
       21 
     | 
    
         
            -
                # modBCST: 0 – Preço tabelado ou máximosugerido;
         
     | 
| 
       22 
     | 
    
         
            -
                #          1 - Lista Negativa (valor);
         
     | 
| 
       23 
     | 
    
         
            -
                #          2 - Lista Positiva (valor);
         
     | 
| 
       24 
     | 
    
         
            -
                #          3 - Lista Neutra (valor);
         
     | 
| 
       25 
     | 
    
         
            -
                #          4 - Margem Valor Agregado (%);
         
     | 
| 
       26 
     | 
    
         
            -
                #          5 - Pauta (valor);
         
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class Icms
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
       27 
6 
     | 
    
         | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :origin, :cst, :icms_percentage, :icms, :icms_base_kind,
         
     | 
| 
      
 8 
     | 
    
         
            +
                    :icms_base, :icms_base_reduction, :icms_st_base_kind, :icms_st_base_reduction,
         
     | 
| 
      
 9 
     | 
    
         
            +
                    :mva, :icms_st_base, :icms_st_percentage, :icms_st, :icms_st_base_retained_sender,
         
     | 
| 
      
 10 
     | 
    
         
            +
                    :icms_st_retained_sender, :icms_st_base_retained, :icms_st_retained, :state,
         
     | 
| 
      
 11 
     | 
    
         
            +
                    :retained_reason, :credit_percentage, :icms_credit, :sn_operation_code
         
     | 
| 
       32 
12 
     | 
    
         | 
| 
       33 
     | 
    
         
            -
                  #  
     | 
| 
       34 
     | 
    
         
            -
                  @cst = attrs[:CST]
         
     | 
| 
       35 
     | 
    
         
            -
                  
         
     | 
| 
       36 
     | 
    
         
            -
                  # == ICMS
         
     | 
| 
      
 13 
     | 
    
         
            +
                  # == Field Values
         
     | 
| 
       37 
14 
     | 
    
         
             
                  #
         
     | 
| 
       38 
     | 
    
         
            -
                  #  
     | 
| 
       39 
     | 
    
         
            -
                   
     | 
| 
       40 
     | 
    
         
            -
                  #  
     | 
| 
       41 
     | 
    
         
            -
                  @icms = attrs[:vICMS]
         
     | 
| 
       42 
     | 
    
         
            -
                  # Modalidade de determinação da BC do ICMS
         
     | 
| 
       43 
     | 
    
         
            -
                  @icms_base_kind = attrs[:modBC]
         
     | 
| 
       44 
     | 
    
         
            -
                  # Base ICMS
         
     | 
| 
       45 
     | 
    
         
            -
                  @icms_base = attrs[:vBC]
         
     | 
| 
       46 
     | 
    
         
            -
                  # % Redução Base ICMS
         
     | 
| 
       47 
     | 
    
         
            -
                  @icms_base_reduction = attrs[:pRedBC]
         
     | 
| 
       48 
     | 
    
         
            -
                  
         
     | 
| 
       49 
     | 
    
         
            -
                  # == ICMS ST
         
     | 
| 
      
 15 
     | 
    
         
            +
                  # ori: 0 - Nacional
         
     | 
| 
      
 16 
     | 
    
         
            +
                  #      1 - Estrangeira - Importação direta
         
     | 
| 
      
 17 
     | 
    
         
            +
                  #      2 - Estrangeira – Adquirida no mercado interno.
         
     | 
| 
       50 
18 
     | 
    
         
             
                  #
         
     | 
| 
       51 
     | 
    
         
            -
                  #  
     | 
| 
       52 
     | 
    
         
            -
                   
     | 
| 
       53 
     | 
    
         
            -
                  #  
     | 
| 
       54 
     | 
    
         
            -
                   
     | 
| 
       55 
     | 
    
         
            -
                  # MVA ST
         
     | 
| 
       56 
     | 
    
         
            -
                  @mva = attrs[:pMVAST]
         
     | 
| 
       57 
     | 
    
         
            -
                  # Base ICMS ST
         
     | 
| 
       58 
     | 
    
         
            -
                  @icms_st_base = attrs[:vBCST]
         
     | 
| 
       59 
     | 
    
         
            -
                  # % ICMS ST
         
     | 
| 
       60 
     | 
    
         
            -
                  @icms_st_percentage = attrs[:pICMSST]
         
     | 
| 
       61 
     | 
    
         
            -
                  # Valor ICMS ST
         
     | 
| 
       62 
     | 
    
         
            -
                  @icms_st = attrs[:vICMSST]
         
     | 
| 
       63 
     | 
    
         
            -
                  # Valor do BC do ICMS ST Retido UF Remetente
         
     | 
| 
       64 
     | 
    
         
            -
                  @icms_st_base_retained_sender = attrs[:vBCSTRet]
         
     | 
| 
       65 
     | 
    
         
            -
                  # Valor ICMS ST Retido UF Remetente
         
     | 
| 
       66 
     | 
    
         
            -
                  @icms_st_retained_sender = attrs[:vICMSSTRet]
         
     | 
| 
       67 
     | 
    
         
            -
                  # Valor do BC do ICMS ST Retido UF Destiantaria
         
     | 
| 
       68 
     | 
    
         
            -
                  @icms_st_base_retained = attrs[:vBCSTDest]
         
     | 
| 
       69 
     | 
    
         
            -
                  # Valor ICMS ST Retido UF Destinataria
         
     | 
| 
       70 
     | 
    
         
            -
                  @icms_st_retained = attrs[:vICMSSTDes]
         
     | 
| 
       71 
     | 
    
         
            -
                  # UF para qual é devido o ICMS ST
         
     | 
| 
       72 
     | 
    
         
            -
                  @state = attrs[:UFST]
         
     | 
| 
       73 
     | 
    
         
            -
                  
         
     | 
| 
       74 
     | 
    
         
            -
                  # == Simples Nacional
         
     | 
| 
      
 19 
     | 
    
         
            +
                  # modBC: 0 - Margem Valor Agregado (%);
         
     | 
| 
      
 20 
     | 
    
         
            +
                  #        1 - Pauta (Valor);
         
     | 
| 
      
 21 
     | 
    
         
            +
                  #        2 - Preço Tabelado Máx. (valor);
         
     | 
| 
      
 22 
     | 
    
         
            +
                  #        3 - valor da operação.
         
     | 
| 
       75 
23 
     | 
    
         
             
                  #
         
     | 
| 
       76 
     | 
    
         
            -
                  #  
     | 
| 
       77 
     | 
    
         
            -
                   
     | 
| 
       78 
     | 
    
         
            -
                  #  
     | 
| 
       79 
     | 
    
         
            -
                   
     | 
| 
       80 
     | 
    
         
            -
                  #  
     | 
| 
       81 
     | 
    
         
            -
                   
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
                   
     | 
| 
      
 24 
     | 
    
         
            +
                  # modBCST: 0 – Preço tabelado ou máximosugerido;
         
     | 
| 
      
 25 
     | 
    
         
            +
                  #          1 - Lista Negativa (valor);
         
     | 
| 
      
 26 
     | 
    
         
            +
                  #          2 - Lista Positiva (valor);
         
     | 
| 
      
 27 
     | 
    
         
            +
                  #          3 - Lista Neutra (valor);
         
     | 
| 
      
 28 
     | 
    
         
            +
                  #          4 - Margem Valor Agregado (%);
         
     | 
| 
      
 29 
     | 
    
         
            +
                  #          5 - Pauta (valor);
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 32 
     | 
    
         
            +
                    # Origem da mercadoria
         
     | 
| 
      
 33 
     | 
    
         
            +
                    @origin = attrs[:orig] 
         
     | 
| 
      
 34 
     | 
    
         
            +
                    @origin ||= attrs[:Orig]
         
     | 
| 
      
 35 
     | 
    
         
            +
                    
         
     | 
| 
      
 36 
     | 
    
         
            +
                    # Tributação do ICMS
         
     | 
| 
      
 37 
     | 
    
         
            +
                    @cst = attrs[:CST]
         
     | 
| 
      
 38 
     | 
    
         
            +
                    
         
     | 
| 
      
 39 
     | 
    
         
            +
                    # == ICMS
         
     | 
| 
      
 40 
     | 
    
         
            +
                    #
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # % ICMS
         
     | 
| 
      
 42 
     | 
    
         
            +
                    @icms_percentage = attrs[:pICMS]
         
     | 
| 
      
 43 
     | 
    
         
            +
                    # Valor ICMS
         
     | 
| 
      
 44 
     | 
    
         
            +
                    @icms = attrs[:vICMS]
         
     | 
| 
      
 45 
     | 
    
         
            +
                    # Modalidade de determinação da BC do ICMS
         
     | 
| 
      
 46 
     | 
    
         
            +
                    @icms_base_kind = attrs[:modBC]
         
     | 
| 
      
 47 
     | 
    
         
            +
                    # Base ICMS
         
     | 
| 
      
 48 
     | 
    
         
            +
                    @icms_base = attrs[:vBC]
         
     | 
| 
      
 49 
     | 
    
         
            +
                    # % Redução Base ICMS
         
     | 
| 
      
 50 
     | 
    
         
            +
                    @icms_base_reduction = attrs[:pRedBC]
         
     | 
| 
      
 51 
     | 
    
         
            +
                    
         
     | 
| 
      
 52 
     | 
    
         
            +
                    # == ICMS ST
         
     | 
| 
      
 53 
     | 
    
         
            +
                    #
         
     | 
| 
      
 54 
     | 
    
         
            +
                    # Modalidade de determinação da BC do ICMS ST
         
     | 
| 
      
 55 
     | 
    
         
            +
                    @icms_st_base_kind = attrs[:modBCST]
         
     | 
| 
      
 56 
     | 
    
         
            +
                    # % redução Base ICMS ST
         
     | 
| 
      
 57 
     | 
    
         
            +
                    @icms_st_base_reduction = attrs[:pRedBCST]
         
     | 
| 
      
 58 
     | 
    
         
            +
                    # MVA ST
         
     | 
| 
      
 59 
     | 
    
         
            +
                    @mva = attrs[:pMVAST]
         
     | 
| 
      
 60 
     | 
    
         
            +
                    # Base ICMS ST
         
     | 
| 
      
 61 
     | 
    
         
            +
                    @icms_st_base = attrs[:vBCST]
         
     | 
| 
      
 62 
     | 
    
         
            +
                    # % ICMS ST
         
     | 
| 
      
 63 
     | 
    
         
            +
                    @icms_st_percentage = attrs[:pICMSST]
         
     | 
| 
      
 64 
     | 
    
         
            +
                    # Valor ICMS ST
         
     | 
| 
      
 65 
     | 
    
         
            +
                    @icms_st = attrs[:vICMSST]
         
     | 
| 
      
 66 
     | 
    
         
            +
                    # Valor do BC do ICMS ST Retido UF Remetente
         
     | 
| 
      
 67 
     | 
    
         
            +
                    @icms_st_base_retained_sender = attrs[:vBCSTRet]
         
     | 
| 
      
 68 
     | 
    
         
            +
                    # Valor ICMS ST Retido UF Remetente
         
     | 
| 
      
 69 
     | 
    
         
            +
                    @icms_st_retained_sender = attrs[:vICMSSTRet]
         
     | 
| 
      
 70 
     | 
    
         
            +
                    # Valor do BC do ICMS ST Retido UF Destiantaria
         
     | 
| 
      
 71 
     | 
    
         
            +
                    @icms_st_base_retained = attrs[:vBCSTDest]
         
     | 
| 
      
 72 
     | 
    
         
            +
                    # Valor ICMS ST Retido UF Destinataria
         
     | 
| 
      
 73 
     | 
    
         
            +
                    @icms_st_retained = attrs[:vICMSSTDes]
         
     | 
| 
      
 74 
     | 
    
         
            +
                    # UF para qual é devido o ICMS ST
         
     | 
| 
      
 75 
     | 
    
         
            +
                    @state = attrs[:UFST]
         
     | 
| 
      
 76 
     | 
    
         
            +
                    
         
     | 
| 
      
 77 
     | 
    
         
            +
                    # == Simples Nacional
         
     | 
| 
      
 78 
     | 
    
         
            +
                    #
         
     | 
| 
      
 79 
     | 
    
         
            +
                    # Motivo da desoneração do ICMS
         
     | 
| 
      
 80 
     | 
    
         
            +
                    @retained_reason = attrs[:motDesICMS]
         
     | 
| 
      
 81 
     | 
    
         
            +
                    # Alíquota aplicável de cálculo do crédito
         
     | 
| 
      
 82 
     | 
    
         
            +
                    @credit_percentage = attrs[:pCredSN]
         
     | 
| 
      
 83 
     | 
    
         
            +
                    # Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123
         
     | 
| 
      
 84 
     | 
    
         
            +
                    @icms_credit = attrs[:vCredICMSSN]
         
     | 
| 
      
 85 
     | 
    
         
            +
                    # Código de Situação da Operação
         
     | 
| 
      
 86 
     | 
    
         
            +
                    @sn_operation_code = attrs[:CSOSN]
         
     | 
| 
      
 87 
     | 
    
         
            +
                  end
         
     | 
| 
       84 
88 
     | 
    
         
             
                end
         
     | 
| 
       85 
89 
     | 
    
         
             
              end
         
     | 
| 
       86 
90 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,17 +1,21 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                   
     | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
       9 
     | 
    
         
            -
                   
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class ImportationTax
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :base, :expenditure, :taxes, :iof
         
     | 
| 
      
 8 
     | 
    
         
            +
                  
         
     | 
| 
      
 9 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 10 
     | 
    
         
            +
                    # Base de Caluclo
         
     | 
| 
      
 11 
     | 
    
         
            +
                    @base = attrs[:vBC]
         
     | 
| 
      
 12 
     | 
    
         
            +
                    # Despesas Aduaneiras
         
     | 
| 
      
 13 
     | 
    
         
            +
                    @expenditure = attrs[:vDespAdu]
         
     | 
| 
      
 14 
     | 
    
         
            +
                    # Imposto de Importação
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @taxes = attrs[:vII]
         
     | 
| 
      
 16 
     | 
    
         
            +
                    # IOF
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @iof = attrs[:vIOF]
         
     | 
| 
      
 18 
     | 
    
         
            +
                  end
         
     | 
| 
       15 
19 
     | 
    
         
             
                end
         
     | 
| 
       16 
20 
     | 
    
         
             
              end
         
     | 
| 
       17 
21 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,40 +1,44 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
                   
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class Ipi
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       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 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :frame_class, :frame_code, :cnpj, :seal, :seal_amount,
         
     | 
| 
      
 8 
     | 
    
         
            +
                    :cst, :ipi_base, :amount, :value_unit, :percentage, :value, :cst_group
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 11 
     | 
    
         
            +
                    # Classe de enquadramento do IPI para Cigarros e Bebidas
         
     | 
| 
      
 12 
     | 
    
         
            +
                    @frame_class = attrs[:clEnq]
         
     | 
| 
      
 13 
     | 
    
         
            +
                    # Codigo enquadramento
         
     | 
| 
      
 14 
     | 
    
         
            +
                    @frame_code = attrs[:cEnq]
         
     | 
| 
      
 15 
     | 
    
         
            +
                    # CNPJ do produtor
         
     | 
| 
      
 16 
     | 
    
         
            +
                    @cnpj = attrs[:CNPJProd]
         
     | 
| 
      
 17 
     | 
    
         
            +
                    # Código do selo de controle
         
     | 
| 
      
 18 
     | 
    
         
            +
                    @seal = attrs[:cSelo]
         
     | 
| 
      
 19 
     | 
    
         
            +
                    # Quantidade do selo de controle
         
     | 
| 
      
 20 
     | 
    
         
            +
                    @seal_amount = attrs[:qSelo]
         
     | 
| 
      
 21 
     | 
    
         
            +
                    
         
     | 
| 
      
 22 
     | 
    
         
            +
                    # == Tributação
         
     | 
| 
      
 23 
     | 
    
         
            +
                    if attrs[:IPITrib]
         
     | 
| 
      
 24 
     | 
    
         
            +
                      # Código da situação tributária do IPI
         
     | 
| 
      
 25 
     | 
    
         
            +
                      @cst = attrs[:IPITrib][:CST]
         
     | 
| 
      
 26 
     | 
    
         
            +
                      # Valor da BC do IPI
         
     | 
| 
      
 27 
     | 
    
         
            +
                      @ipi_base = attrs[:IPITrib][:vBC]
         
     | 
| 
      
 28 
     | 
    
         
            +
                      # Quantidade total na unidade padrão para tributação
         
     | 
| 
      
 29 
     | 
    
         
            +
                      @amount = attrs[:IPITrib][:qUnid]
         
     | 
| 
      
 30 
     | 
    
         
            +
                      # Valor por Unidade Tributável
         
     | 
| 
      
 31 
     | 
    
         
            +
                      @value_unit = attrs[:IPITrib][:vUnid]
         
     | 
| 
      
 32 
     | 
    
         
            +
                      # % do IPI
         
     | 
| 
      
 33 
     | 
    
         
            +
                      @percentage = attrs[:IPITrib][:pIPI]
         
     | 
| 
      
 34 
     | 
    
         
            +
                      # Valor do IPI
         
     | 
| 
      
 35 
     | 
    
         
            +
                      @value = attrs[:IPITrib][:vIPI]
         
     | 
| 
      
 36 
     | 
    
         
            +
                    end
         
     | 
| 
       34 
37 
     | 
    
         | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
                    if attrs[:IPINT]
         
     | 
| 
      
 39 
     | 
    
         
            +
                      # Grupo do CST 01, 02, 03, 04, 51, 52, 53, 54 e 55
         
     | 
| 
      
 40 
     | 
    
         
            +
                      @cst_group = attrs[:IPINT][:CST]
         
     | 
| 
      
 41 
     | 
    
         
            +
                    end
         
     | 
| 
       38 
42 
     | 
    
         
             
                  end
         
     | 
| 
       39 
43 
     | 
    
         
             
                end
         
     | 
| 
       40 
44 
     | 
    
         
             
              end
         
     | 
| 
         @@ -1,22 +1,26 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class Issqn
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                #
         
     | 
| 
       8 
     | 
    
         
            -
                # cStiTrib : N - NORMAL;
         
     | 
| 
       9 
     | 
    
         
            -
                #            R - RETIDA;
         
     | 
| 
       10 
     | 
    
         
            -
                #            S - SUBSTITUTA;
         
     | 
| 
       11 
     | 
    
         
            -
                #            I - ISENTA
         
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_accessor :base, :aliquot, :value, :city, :services, :cst
         
     | 
| 
       12 
8 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                   
     | 
| 
       15 
     | 
    
         
            -
                   
     | 
| 
       16 
     | 
    
         
            -
                   
     | 
| 
       17 
     | 
    
         
            -
                   
     | 
| 
       18 
     | 
    
         
            -
                   
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
                  # Fields Values
         
     | 
| 
      
 10 
     | 
    
         
            +
                  #
         
     | 
| 
      
 11 
     | 
    
         
            +
                  # cStiTrib : N - NORMAL;
         
     | 
| 
      
 12 
     | 
    
         
            +
                  #            R - RETIDA;
         
     | 
| 
      
 13 
     | 
    
         
            +
                  #            S - SUBSTITUTA;
         
     | 
| 
      
 14 
     | 
    
         
            +
                  #            I - ISENTA
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @base = attrs[:vBC]
         
     | 
| 
      
 18 
     | 
    
         
            +
                    @aliquot = attrs[:vAliq]
         
     | 
| 
      
 19 
     | 
    
         
            +
                    @value = attrs[:vISSQN]
         
     | 
| 
      
 20 
     | 
    
         
            +
                    @city = attrs[:cMunFG]
         
     | 
| 
      
 21 
     | 
    
         
            +
                    @services = attrs[:cListServ]
         
     | 
| 
      
 22 
     | 
    
         
            +
                    @cst = attrs[:cSitTrib]
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
       20 
24 
     | 
    
         
             
                end
         
     | 
| 
       21 
25 
     | 
    
         
             
              end
         
     | 
| 
       22 
26 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,42 +1,46 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       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 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class Pis
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :cst, :base, :percentage, :value, :amount, :aliquot
         
     | 
| 
      
 8 
     | 
    
         
            +
                  
         
     | 
| 
      
 9 
     | 
    
         
            +
                  # Fieds Values
         
     | 
| 
      
 10 
     | 
    
         
            +
                  #
         
     | 
| 
      
 11 
     | 
    
         
            +
                  # cst: 
         
     | 
| 
      
 12 
     | 
    
         
            +
                  #   PISAliq:
         
     | 
| 
      
 13 
     | 
    
         
            +
                  #     01 - Operação Tributável 
         
     | 
| 
      
 14 
     | 
    
         
            +
                  #          (base de cálculo = valor da operação alíquota normal (cumulativo/não cumulativo));
         
     | 
| 
      
 15 
     | 
    
         
            +
                  #     02 - Operação Tributável 
         
     | 
| 
      
 16 
     | 
    
         
            +
                  #          (base de cálculo = valor da operação (alíquota diferenciada));
         
     | 
| 
      
 17 
     | 
    
         
            +
                  #   PISQtde:
         
     | 
| 
      
 18 
     | 
    
         
            +
                  #     03 - Operação Tributável 
         
     | 
| 
      
 19 
     | 
    
         
            +
                  #          (base de cálculo = quantidade vendida x alíquota por unidadede produto);
         
     | 
| 
      
 20 
     | 
    
         
            +
                  #   PISNT:
         
     | 
| 
      
 21 
     | 
    
         
            +
                  #     04 - Operação Tributável
         
     | 
| 
      
 22 
     | 
    
         
            +
                  #          (tributação monofásica(alíquota zero));
         
     | 
| 
      
 23 
     | 
    
         
            +
                  #     06 - Operação Tributável(alíquota zero);
         
     | 
| 
      
 24 
     | 
    
         
            +
                  #     07 - Operação Isenta da Contribuição;
         
     | 
| 
      
 25 
     | 
    
         
            +
                  #     08 - Operação Sem Incidência da Contribuição;
         
     | 
| 
      
 26 
     | 
    
         
            +
                  #     09 - Operação com Suspensão da Contribuição;
         
     | 
| 
      
 27 
     | 
    
         
            +
                  #   PISOutr:
         
     | 
| 
      
 28 
     | 
    
         
            +
                  #     99 - Outras Operações;
         
     | 
| 
      
 29 
     | 
    
         
            +
                  #
         
     | 
| 
      
 30 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 31 
     | 
    
         
            +
                    # Cst PIS
         
     | 
| 
      
 32 
     | 
    
         
            +
                    @cst = attrs[:CST]
         
     | 
| 
      
 33 
     | 
    
         
            +
                    # Base PIS
         
     | 
| 
      
 34 
     | 
    
         
            +
                    @base = attrs[:vBC]
         
     | 
| 
      
 35 
     | 
    
         
            +
                    # % PIS
         
     | 
| 
      
 36 
     | 
    
         
            +
                    @percentage = attrs[:pPIS]
         
     | 
| 
      
 37 
     | 
    
         
            +
                    # Valor PIS
         
     | 
| 
      
 38 
     | 
    
         
            +
                    @value = attrs[:vPIS]
         
     | 
| 
      
 39 
     | 
    
         
            +
                    # Quantidade Vendida
         
     | 
| 
      
 40 
     | 
    
         
            +
                    @amount = attrs[:qBCProd]
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # Alíquota do PIS
         
     | 
| 
      
 42 
     | 
    
         
            +
                    @aliquot = attrs[:vAliqProd]
         
     | 
| 
      
 43 
     | 
    
         
            +
                  end
         
     | 
| 
       40 
44 
     | 
    
         
             
                end
         
     | 
| 
       41 
45 
     | 
    
         
             
              end
         
     | 
| 
       42 
46 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,19 +1,23 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # encoding: UTF-8
         
     | 
| 
       2 
2 
     | 
    
         
             
            module Nfe
         
     | 
| 
       3 
     | 
    
         
            -
               
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                   
     | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
       9 
     | 
    
         
            -
                   
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
              module Reader
         
     | 
| 
      
 4 
     | 
    
         
            +
                class PisSt
         
     | 
| 
      
 5 
     | 
    
         
            +
                  include ::AttributeHelper
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  attr_reader :base, :percentage, :amount, :aliquot, :value
         
     | 
| 
      
 8 
     | 
    
         
            +
                  
         
     | 
| 
      
 9 
     | 
    
         
            +
                  def initialize(attrs = {})
         
     | 
| 
      
 10 
     | 
    
         
            +
                    # Valor Base
         
     | 
| 
      
 11 
     | 
    
         
            +
                    @base = attrs[:vBC]
         
     | 
| 
      
 12 
     | 
    
         
            +
                    # % PISST
         
     | 
| 
      
 13 
     | 
    
         
            +
                    @percentage = attrs[:pPIS]
         
     | 
| 
      
 14 
     | 
    
         
            +
                    # Quantidade
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @amount = attrs[:qBCProd]
         
     | 
| 
      
 16 
     | 
    
         
            +
                    # Aliquota PIS ST
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @aliquot = attrs[:vAliqProd]
         
     | 
| 
      
 18 
     | 
    
         
            +
                    # Valor PIS ST
         
     | 
| 
      
 19 
     | 
    
         
            +
                    @value = attrs[:vPIS]
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
       17 
21 
     | 
    
         
             
                end
         
     | 
| 
       18 
22 
     | 
    
         
             
              end
         
     | 
| 
       19 
23 
     | 
    
         
             
            end
         
     |