Class: BrNfe::Product::Nfe::Item

Inherits:
ActiveModelBase show all
Defined in:
lib/br_nfe/product/nfe/item.rb

Instance Attribute Summary collapse

Attributes inherited from ActiveModelBase

#reference

Instance Method Summary collapse

Methods inherited from ActiveModelBase

#assign_attributes, #initialize

Constructor Details

This class inherits a constructor from BrNfe::ActiveModelBase

Instance Attribute Details

#cfopObject

Código Fiscal de Operações e Prestações Utilizar a Tabela de CFOPs para preencher essa informação.

OBS: esse atributo sempre vai retornar apenas os números

EX: Se preencher com '5.102' vai retornar '5102'

Type: String OR Number Required: Yes Example: _’5.102’_ OR 5102 Length: 4 tag: CFOP



141
142
143
# File 'lib/br_nfe/product/nfe/item.rb', line 141

def cfop
  @cfop
end

#codigo_cestObject

Código CEST Código Especificador da Substituição Tributária – CEST, que estabelece a sistemática de uniformização e identificação das mercadorias e bens passíveis de sujeição aos regimes de substituição tributária e de antecipação de recolhimento do ICMS

Type: Number Required: No Example: 1234567 Length: 7 tag: CEST



359
360
361
# File 'lib/br_nfe/product/nfe/item.rb', line 359

def codigo_cest
  @codigo_cest
end

#codigo_eanObject

GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras Preencher com o código GTIN-8, GTIN-12, GTIN-13 ou GTIN-14 (antigos códigos EAN, UPC e DUN-14), não informar o conteúdo da TAG em caso de o produto não possuir este código.

OBS: esse atributo sempre vai retornar apenas os números setados

Type: Number Required: No Example: 12345678 Length: _max: 14_ tag: cEAN



53
54
55
# File 'lib/br_nfe/product/nfe/item.rb', line 53

def codigo_ean
  @codigo_ean
end

#codigo_ean_tributavelObject

GTIN (Global Trade Item Number) da unidade tributável, antigo código EAN ou código de barras Preencher com o código GTIN-8, GTIN-12, GTIN-13 ou GTIN-14 (antigos códigos EAN, UPC e DUN-14) da unidade tributável do produto, não informar o conteúdo da TAG em caso de o produto não possuir este código.

OBS: esse atributo sempre vai retornar apenas os números setados

Type: Number Required: No Example: 12345678 Length: _max: 14_ tag: cEANTrib



215
216
217
# File 'lib/br_nfe/product/nfe/item.rb', line 215

def codigo_ean_tributavel
  @codigo_ean_tributavel
end

#codigo_extipiObject

Código da Tabela de Incidência do IPI - TIPI Preencher de acordo com o código EX da TIPI. Em caso de serviço, não incluir a TAG.

Type: String Required: No Example: 123 Length: _min: 2, max: 3_ tag: EXTIPI



126
127
128
# File 'lib/br_nfe/product/nfe/item.rb', line 126

def codigo_extipi
  @codigo_extipi
end

#codigo_ncmObject

Código NCM com 8 dígitos Obrigatória informação do NCM completo (8 dígitos). Nota: Em caso de item de serviço ou item que não tenham produto (ex. transferência de crédito, crédito do ativo imobilizado, etc.), informar o valor 00 (dois zeros). (NT 2014/004)

OBS: esse atributo sempre vai retornar apenas os números

Type: Number Required: Yes Example: _’12345678’_ OR 123454 Length: _max: 8(:product) OR max: 2(not :product)_ tag: NCM



86
87
88
# File 'lib/br_nfe/product/nfe/item.rb', line 86

def codigo_ncm
  @codigo_ncm
end

#codigo_produtoObject

Código do produto ou serviço Preencher com CFOP, caso se trate de itens não relacionados com mercadorias/produtos e que o contribuinte não possua codificação própria. Formato: ”CFOP9999”

OBS: Caso não seja preenchido irá pegar automaticamente o valor

da CFOP.

Type: String Required: Yes Default: _CFOP##cfop_ Example: COD65452 Length: _max: 60_ tag: cProd



33
34
35
# File 'lib/br_nfe/product/nfe/item.rb', line 33

def codigo_produto
  @codigo_produto
end

#codigos_nveObject

Codificação NVE - Nomenclatura de Valor Aduaneiro e Estatística. Codificação opcional que detalha alguns NCM. Formato: duas letras maiúsculas e 4 algarismos. Se a mercadoria se enquadrar em mais de uma codificação, informar até 8 codificações principais. Vide: Anexo XII.03 - Identificador NVE.

Type: Array Required: No Example: _ OU ‘AB4567’_ Length: _max: 8_

tag: NVE



107
108
109
# File 'lib/br_nfe/product/nfe/item.rb', line 107

def codigos_nve
  @codigos_nve
end

#descricao_produtoObject

Descrição do produto ou serviço

Type: String Required: Yes Example: _COPO DE PLÁSTICO 700 ML PARATA_ Length: _max: 120_ tag: xProd



68
69
70
# File 'lib/br_nfe/product/nfe/item.rb', line 68

def descricao_produto
  @descricao_produto
end

#informacoes_adicionaisObject

INFORMAÇÕES ADICIONAIS DO PRODUTO (PARA O ITEM DA NF-e) Norma referenciada, informações complementares, etc.

Type: String Required: No Example: _’DOCUMENTO EMITIDO POR ME OU EPP OPTANTE PELO SIMPLES NACIONA’_ Length: _max: 500_ tag: infAdProd



581
582
583
# File 'lib/br_nfe/product/nfe/item.rb', line 581

def informacoes_adicionais
  @informacoes_adicionais
end

#item_pedido_compraObject

ITEM DO PEDIDO DE COMPRA

Type: Number Required: No Example: 1234567 Length: _max: 15_ tag: nItemPed



406
407
408
# File 'lib/br_nfe/product/nfe/item.rb', line 406

def item_pedido_compra
  @item_pedido_compra
end

#numero_fciObject

NÚMERO DE CONTROLE DA FCI - FICHA DE CONTEÚDO DE IMPORTAÇÃO Informação relacionada com a Resolução 13/2012 do Senado Federal. Formato: Algarismos, letras maiúsculas de “A” a “F” e o caractere hífen. Exemplo: B01F70AF-10BF-4B1F-848C-65FF57F616FE

Type: String Required: No Example: B01F70AF-10BF-4B1F-848C-65FF57F616FE Length: 36 tag: nFCI



423
424
425
# File 'lib/br_nfe/product/nfe/item.rb', line 423

def numero_fci
  @numero_fci
end

#numero_pedido_compraObject

NÚMERO DO PEDIDO DE COMPRA Informação de interesse do emissor para controle do B2B. (v2.0)

Type: String Required: No Example: 1234567 Length: _max: 15_ tag: xPed



395
396
397
# File 'lib/br_nfe/product/nfe/item.rb', line 395

def numero_pedido_compra
  @numero_pedido_compra
end

#percentual_devolucaoObject

PERCENTUAL DA MERCADORIA DEVOLVIDA

O valor máximo deste percentual é 100%, no caso de devolução
total da mercadoria.

Type: Float Required: No Example: 30.0 Length: _13v2 - max: 100.0_ tag: pDevol



450
451
452
# File 'lib/br_nfe/product/nfe/item.rb', line 450

def percentual_devolucao
  @percentual_devolucao
end

#quantidade_comercialObject

Quantidade Comercial Informar a quantidade de comercialização do produto (v2.0).

Type: Float Required: Yes Example: 2.5 tag: qCom



168
169
170
# File 'lib/br_nfe/product/nfe/item.rb', line 168

def quantidade_comercial
  @quantidade_comercial
end

#quantidade_tributavelObject

Quantidade Tributável Informar a quantidade de tributação do produto (v2.0).

NOTA: Por termos diversos casos na legislação onde a tributação

incide em unidades de produtos diferentes da que ele é costumeiramente 
vendido no mercado, especialmente no atacado. Ou seja, a unidade tributa 
é diferente da unidade comercializada, por este motivo é que foram criados 
os respectivos campos na NF-e (uCom, qCom e vCom)  (uTrib, qTrib e vUnTrib),  
sendo que o resultado  (qCom * uCom) seja igual a (qTrib * uTrib).
  Tomemos como exemplo o refrigerante pet de 2 litros que tem 
definido na pauta fiscal a “unidade tributável” como garrafa de 2litros, 
sendo que o fabricante comercializa o mesmo produto em pacote com 6 unidades.
Assim na venda de 2 pacotes, temos como unidade comercial de 2 unidades 
que equivalem a 12 litros (2 x 6), com 2 litros cada.
Na unidade tributável, temos também 12 unidades tributáveis (12 x 1 unidade de 2 litros).
  Observem que sempre qCom * uCom = qTrib * uTrib.
  É importante ressaltar que na maioria dos casos a unidade comercial e a 
unidade tributável são iguais.
Fonte: http://www.tecnospeed.com.br/forum/o-contador/motivo-da-rejeicao-nos-campos-unidade-tributave-e-unidade-comercial/

Type: Float Required: Yes Example: 2.5 tag: qTrib



263
264
265
# File 'lib/br_nfe/product/nfe/item.rb', line 263

def quantidade_tributavel
  @quantidade_tributavel
end

#soma_total_nfeObject

Indica se valor do Item (vProd) entra no valor total da NF-e (vProd)

0=Valor do item (vProd) não compõe o valor total da NF-e
1=Valor do item (vProd) compõe o valor total da NF-e (vProd)
(v2.0)

Informar true ou false

true  = 1 (compõe o valor total da NF-e)
false = 0 (NÃO compõe o valor total da NF-e)

Type: Boolean Required: Yes Example: true Default: true tag: indTot



343
344
345
# File 'lib/br_nfe/product/nfe/item.rb', line 343

def soma_total_nfe
  @soma_total_nfe
end

#tipo_produtoObject

Utilizado apenas para fins de validação. informa se o item da NF-e é um produto ou um serviço.

Type: Symbol Required: Yes Default: :product Example: :service Avaliable: _one of [:product, :service, :other]_



16
17
18
# File 'lib/br_nfe/product/nfe/item.rb', line 16

def tipo_produto
  @tipo_produto
end

#total_descontoObject

Valor do Desconto

Type: Number Required: No Example: 22.5 OU 2 tag: vDesc



315
316
317
# File 'lib/br_nfe/product/nfe/item.rb', line 315

def total_desconto
  @total_desconto
end

#total_freteObject

Valor Total do Frete

Type: Number Required: No Example: 22.5 OU 2 tag: vFrete



295
296
297
# File 'lib/br_nfe/product/nfe/item.rb', line 295

def total_frete
  @total_frete
end

#total_ipi_devolucaoObject

VALOR DO IPI DEVOLVIDO

Type: Float Required: No Example: 137.47 Length: 13v2 tag: vIPIDevol



461
462
463
# File 'lib/br_nfe/product/nfe/item.rb', line 461

def total_ipi_devolucao
  @total_ipi_devolucao
end

#total_outrosObject

Outras despesas acessórias

Type: Number Required: No Example: 22.5 OU 2 tag: vOutro



325
326
327
# File 'lib/br_nfe/product/nfe/item.rb', line 325

def total_outros
  @total_outros
end

#total_seguroObject

Valor Total do Seguro

Type: Number Required: No Example: 22.5 OU 2 tag: vSeg



305
306
307
# File 'lib/br_nfe/product/nfe/item.rb', line 305

def total_seguro
  @total_seguro
end

#total_tributosObject

VALOR TOTAL DE TRIBUTOS FEDERAIS, ESTADUAIS E MUNICIPAIS NT 2013/003

Type: Float Required: No Example: 178.46 Length: 13v2 tag: vTotTrib



435
436
437
# File 'lib/br_nfe/product/nfe/item.rb', line 435

def total_tributos
  @total_tributos
end

#unidade_comercialObject

Unidade Comercial informar a unidade de comercialização do produto (Ex. pc, und, dz, kg, etc.).

Type: String Required: Yes Example: KG Length: _max: 6_ tag: uCom



157
158
159
# File 'lib/br_nfe/product/nfe/item.rb', line 157

def unidade_comercial
  @unidade_comercial
end

#unidade_tributavelObject

Unidade Tributável Informar a unidade de tributação do produto (Ex. pc, und, dz, kg, etc.).

Type: String Required: Yes Example: KG Length: _max: 6_ tag: uTrib



232
233
234
# File 'lib/br_nfe/product/nfe/item.rb', line 232

def unidade_tributavel
  @unidade_tributavel
end

#valor_total_produtoObject

Valor Total Bruto dos Produtos ou Serviços

Type: Float Required: Yes Example: 3122.55 OU 100 tag: vProd



197
198
199
# File 'lib/br_nfe/product/nfe/item.rb', line 197

def valor_total_produto
  @valor_total_produto
end

#valor_unitario_comercialObject

Valor Unitário de Comercialização Informar o valor unitário de comercialização do produto, campo meramente informativo, o contribuinte pode utilizar a precisão desejada (0-10 decimais). Para efeitos de cálculo, o valor unitário será obtido pela divisão do valor do produto pela quantidade comercial. (v2.0)

Type: Number Required: Yes Example: 22.5 OU 2 tag: vUnCom



183
184
185
# File 'lib/br_nfe/product/nfe/item.rb', line 183

def valor_unitario_comercial
  @valor_unitario_comercial
end

#valor_unitario_tributavelObject

Valor Unitário de tributação Informar o valor unitário de tributação do produto, campo meramente informativo, o contribuinte pode utilizar a precisão desejada (0-10 decimais). Para efeitos de cálculo, o valor unitário será obtido pela divisão do valor do produto pela quantidade tributável (NT 2013/003).

Type: Number Required: Yes Example: 22.5 OU 2 tag: vUnTrib



281
282
283
# File 'lib/br_nfe/product/nfe/item.rb', line 281

def valor_unitario_tributavel
  @valor_unitario_tributavel
end

Instance Method Details

#default_valuesObject



585
586
587
588
589
590
# File 'lib/br_nfe/product/nfe/item.rb', line 585

def default_values
	{
		tipo_produto:   :product,
		soma_total_nfe: true,
	}
end

#is_product?Boolean

Returns:

  • (Boolean)


657
658
659
# File 'lib/br_nfe/product/nfe/item.rb', line 657

def is_product?
	tipo_produto == :product
end

#is_service?Boolean

Returns:

  • (Boolean)


661
662
663
# File 'lib/br_nfe/product/nfe/item.rb', line 661

def is_service?
	tipo_produto == :service
end