Item-v2: mudanças entre as edições

De BIS Wiki
Ir para navegação Ir para pesquisar
Linha 64: Linha 64:
* '''Validações Extra:'''
* '''Validações Extra:'''
** '''[ve0001] Códigos de Itens já associados a outros grupos''' - Durante a inserção ou atualização, um grupo não deve permitir que um código de item já associado à outro grupo seja associado a este. Em outras palavras, um código de item não pode estar associado em mais de um grupo ao mesmo tempo.
** '''[ve0001] Códigos de Itens já associados a outros grupos''' - Durante a inserção ou atualização, um grupo não deve permitir que um código de item já associado à outro grupo seja associado a este. Em outras palavras, um código de item não pode estar associado em mais de um grupo ao mesmo tempo.
= Item =
A entidade Item representa um produto qualquer da empresa. Esse produto por ser um insumo, uma matéria prima ou um produto de venda (ou revenda).
* '''Requisitos:'''
** '''Fixação do prefixo da descrição de acordo com o tipo do Item''' - Todo item deve ser de algum ''Tipo de Item''. Uma vez que o tipo de item esteja definido, a descrição do item obrigatoriamente deve começar com o valor do ''Prefixo'' definido no ''Tipo de Item''
** '''Obrigatoriedade da Marca ou da Descrição''' - Todo item deve ter preenchidos no mínimo um dos campos ''Marca'' ou ''Descrição''. Mesmo para produtos de fabricação própria, é recomendável definir a marca da empresa por questões de organização dos itens. Caso nenhum dos dois seja preenchido a descrição pode acabar sendo apenas o ''Prefixo'' do ''Tipo de Item''. Para Itens "genéricos", cuja marca não importa, pois em cada momento uma marca diferente é comprada ou usada, a marca não é necessária, mas uma descrição sim.
** '''Códigos dos Itens:'''
*** '''Múltiplos Códigos''' - Cada item pode ter mais que um código definido, ou seja, uma lista de códigos. Códigos são a maneira definir um modo quantidade, preço de venda, pacote, etc. de um determinado Item. Normalmente tem uma identificação única (e normalmente numérica, embora não obrigatória) para ser referenciada em terminais, notas, códigos de barras, etc. No entanto a identificação única não deve ser obrigatória. Um item pode ter um código para definir uma determinada quantidade de movimentação de entrada ou saída, ou simplesmente para definir uma nova unidade de medida. Por exemplo, produtos identificados hora por Kilos hora por Unidades.
* '''Validações Extras:'''
* '''[ve0001] Validar requisito de Obrigatoriedade entre Marca e Descrição'''.

Edição das 22h41min de 2 de setembro de 2015

O módulo Item é o módulo responsável por cadastrar os itens de consumo, produtos de revenda, fabricação própria para venda ou consumo, etc. Este módulo oferecerá um cadastro com controle de preços, markups, custos, entre outras funcionalidades que servirão de suporte para diversos outros módulos, como PDV, Controle de Estoques, Base de Custos para Planilhas de Cálculos, etc.

Para oferecer todo o conceito o módulo é dividido nos seguintes cadastros:

Categoria do Item

A categoria do item tem a finalidade de organizar e agrupar os itens de acordo com suas categorias. Mutias vezes a categoria é o corredor em que as mercadorias são agrupadas, como "Bazar", "Açougue", "Produtos de Limpeza", etc.

  • Requisitos:
    • Estrutura Hierárquica: As categorias são uma estrutura hierárquica, isto é, permite que uma categoria seja adiciona dentro da outra.
    • Nomes Únicos 'por Pai': Os nomes das categorias são únicos dentro do mesmo pai. Em outras palavras, os nomes das categorias só podem se repetir se estiverem em pontos diferentes da estrutura hierárquica.
    • Tipo da Categoria: Toda categoria poderá ser de 2 tipos:
      • Categoria: Uma categoria do tipo categoria permite que esta categoria tenha categorias filhas (subcategorias).
      • Grupo: Grupos funcionam praticamente como uma categoria do tipo categoria, a única exceção é que são categorias mais organizacionais ou para separar uma leva de produtos com configurações de Markups diferentes. Outro detalhe é que as categorias do tipo Grupo não aceitam sub categorias. O uso comum de categorias do tipo grupo são por exemplo: Dentro da categoria "Refrigerantes" podemos ter um agrupamento de "Latas" e outro de "PETs 2L". Ambos pertencem a refrigerante, mas é desejável definir Markups diferentes.
    • Congelamento de Preços: Este atributo define se os preços dos itens nesta categoria devem permanecer congelados quando forem editados ou houver uma entrada de NFe.
    • Arredondamento de Preços: Permite definir uma regra de arredondamento dos preços de venda de todos os itens que estão nesta categoria. Uma vez definida, nenhum item deverá ter um preço diferente do arredondamento definido.
    • Permite Itens: Esta opção define se os itens podem ser alocados nesta categoria ou não. Quando a opção estiver desmarcada nenhum código de item deverá ser definido nesta categoria. Esta função permite que um determinado tipo de item possa ser alocado nesta categoria, mas força que os itens tenham que ser alocados nas subcategorias.
  • Validações Extras:
    • [ve0001] Categoria do tipo Grupo deve sempre aceitar que itens sejam associados. - A única ideia de uma categoria não aceitar associação de itens nela é para garantir que os tipos de itens sejam associados às suas subcategorias e não a ela própria. Se uma categoria for tipo Grupo ela não aceitará subcategorias. Logo, se ela não tiver subcategorias e não aceitar itens, não tem função nenhuma.
    • [ve0002] Categoria do tipo Grupo não pode ser uma categoria raiz. - As categorias de grupo são categorias de "pouca importância", tem a finalidade apenas de permitir um agrupamento de produtos de uma categoria com a finalidade maior apenas de definir markups diferentes para aquele conjunto. Por isso não deve ser permitido que as categorias do tipo grupo sejam categorias de raiz.
    • [ve0003] Categorias do tipo Grupo não devem ter subcategorias. - Durante o cadastro não é necessário validar, no entanto durante uma edição o usuário pode alterar o tipo da categoria. Neste caso é necessário validar se a categoria não tem subcategorias já cadastradas no banco de dados.
    • [ve0004] Validar a estrutura de uso por Itens e Tipo de Itens quando a categoria pai for alterada. - A categoria pai de uma categoria não pode ser alterada se algum item estiver associado à ela ou à alguma subcategoria enquanto que o seu tipo de item aponta para a categoria pai. Em outras palavras, caso ao alterar a categoria de posição na hierarquia se não invalidará as condições do tipo de item.
    • [ve0005] Hierarquia Cíclica. - Garantir que durante a atualização uma categoria não passa a apontar "como pai" uma categoria que está abaixo dela na hierarquia, criando um relacionamento cíclico.
    • [ve0006] A categoria pai não pode ser do tipo 'GROUP'. - Nenhuma categoria do tipo GROUP pode ter filhos, logo é necessário validar se a categoria pai definida não é do tipo GROUP.


Tipo do Item

O tipo do item tem a finalidade de agrupar todos os itens de um mesmo tipo. Entende-se por tipo de produto "o que o produto é", por exemplo: Refrigerante, Água, Suco, Pasta de Dente, Pão de Queijo, etc. Não faz parte do tipo a marca, embalagem, quantidades etc. Marca, quantidade, códigos, preços, etc. são parte do cadastro do Iten e não do tipo.

  • Requisitos:
    • Tipo do Item: O nome do tipo de item é usado para identificar o cadastro. Deve ser único.
    • Prefixo: O prefixo é um "começo" da descrição, que será usada em todos os itens desse mesmo tipo. Ao forçar que todos os itens comecem com o mesmo prefixo ajuda na organização do cadastro do banco de dados.
    • Descrição de Exemplo: Cada tipo de item deve ter um espaço para orientar o usuário sobre quais as informações importantes para aquele tipo de produto, além de definir a ordem em que devem aparecer.
    • Associação com Aliquota ICMS: No tipo do item devemos definir qual a alíquota de tributação do ICMS que deverá ser utilizada em todos os itens desse tipo. Centralizando e simplificando as configurações.
    • Associação com As categorias: Cada tipo de item deve associar no mínimo uma categoria de itens. Cada item deste tipo deverá associar seus códigos nessas categorias ou suas subcategorias. O tipo de item pode permitir associação com mais de um "nó" da hierarquia da categoria. Permitindo assim que itens do mesmo tipo possam ser lançados em categorias diferentes. Como por exemplo um refrigerante com um código lançado na categoria de "Geladeiras/Loja" e outro código em "Restaurante/SelfService".
  • Validações Extras:
    • [ve0001] Categoria em Uso por Itens continua Disponível - Quando um tipo de item é alterado, é preciso validar se os itens desse tipo atualmente cadastrados não ficarão inválidos caso a categoria não esteja mais associada ao tipo de item. Ou seja, quando um item associado a esse tipo de item já estiver utilizando determinada categoria ela não pode ser excluída do tipo de item.
    • [ve0002] Alteração do Prefixo reflete nos itens existentes - Caso o prefixo seja alterado, todos os itens deste tipo de item devem ter seu nome atualizado de acordo com o novo prefixo.


ICMS

O objeto ICMS é a definição das alíquotas de ICMS utilizadas pelos Itens/Tipo de Itens. As alíquotas devem ser cadastradas conforme as alíquotas que a empresa utiliza.

  • Requisitos:
    • Tipo de Alíquota - As alíquotas podem ser de 3 tipos diferentes: Isento, Substituição e Tributada.
    • Alíquota - A alíquota é a percentagem usado para calcular o valor do tributo. A alíquota quando definida é um valor positivo.
    • Nome - As alíquotas devem ter um nome que facilite a identificação da alíquota para o usuário. Este nome deve ser único.
  • Validações Extra:
    • [ve0001] Definição Obrigatória da Alíquota quando o tipo for Tributado - A definição da alíquota é obrigatória sempre que o tipo for Tributada.
    • [ve0002] Não definição da Alíquota para os tipos Isento e Substituição. - Para os tipos Isento e Substituição o valor da alíquota devem estar nulos.
    • [ve0003] Em uso por algum tipo de item - durante a tentativa de exclusão, verificar se o ICMS não está em uso atualmente por algum Tipo de Item.


ItemCodeGroup

O Grupo de Código de Item tem a finalidade de agrupar diferentes códigos de itens e fazer com que SEMPRE tenham o mesmo preço de venda. Independente de custo, categorias markups, arredondamentos, etc. Uma vez que um preço de venda de um item for alterado, os demais vão segui-lo fielmente.

  • Requisitos:
    • Nome - Tudo grupo de código deve ter um nome para facilitar a identificação dos itens que fazem parte do grupo.
    • Lista de Còdigos - Dentro de um mesmo grupo podem ser associados 0+ códigos de itens. Códigos de um mesmo item podem fazer parte do mesmo grupo.
    • Sempre o mesmo preço de venda - Independente das diferentes configurações que um código de item pode ter dentro do mesmo grupo, como diferentes categorias, MarkUps, Custos, definições de arredondamento, package ratios, etc.. O preço de venda de todos os itens do grupo devem ter exatamente o mesmo valor. Mesmo que para isso tenha que desrespeitar qualquer outra regra do sistema (como arredondamento, ou cálculo de package, etc.)
  • Validações Extra:
    • [ve0001] Códigos de Itens já associados a outros grupos - Durante a inserção ou atualização, um grupo não deve permitir que um código de item já associado à outro grupo seja associado a este. Em outras palavras, um código de item não pode estar associado em mais de um grupo ao mesmo tempo.

Item

A entidade Item representa um produto qualquer da empresa. Esse produto por ser um insumo, uma matéria prima ou um produto de venda (ou revenda).

  • Requisitos:
    • Fixação do prefixo da descrição de acordo com o tipo do Item - Todo item deve ser de algum Tipo de Item. Uma vez que o tipo de item esteja definido, a descrição do item obrigatoriamente deve começar com o valor do Prefixo definido no Tipo de Item
    • Obrigatoriedade da Marca ou da Descrição - Todo item deve ter preenchidos no mínimo um dos campos Marca ou Descrição. Mesmo para produtos de fabricação própria, é recomendável definir a marca da empresa por questões de organização dos itens. Caso nenhum dos dois seja preenchido a descrição pode acabar sendo apenas o Prefixo do Tipo de Item. Para Itens "genéricos", cuja marca não importa, pois em cada momento uma marca diferente é comprada ou usada, a marca não é necessária, mas uma descrição sim.
    • Códigos dos Itens:
      • Múltiplos Códigos - Cada item pode ter mais que um código definido, ou seja, uma lista de códigos. Códigos são a maneira definir um modo quantidade, preço de venda, pacote, etc. de um determinado Item. Normalmente tem uma identificação única (e normalmente numérica, embora não obrigatória) para ser referenciada em terminais, notas, códigos de barras, etc. No entanto a identificação única não deve ser obrigatória. Um item pode ter um código para definir uma determinada quantidade de movimentação de entrada ou saída, ou simplesmente para definir uma nova unidade de medida. Por exemplo, produtos identificados hora por Kilos hora por Unidades.
  • Validações Extras:
  • [ve0001] Validar requisito de Obrigatoriedade entre Marca e Descrição.