Histórico
Em toda e qualquer operação comercial que é realizada no Gestor (seja ela de compra, venda, transferência, etc), não é somente o valor do produto que é levado em consideração. Impostos e tributos são considerados, sendo maiores, menores ou até mesmo não existindo dependedo da operação que está sendo realizada.
O módulo Fiscal serve como uma ferramenta para armazenar e deixar pré-configurado as configurações de impostos. Com o intuito de que o vendedor não precise se preocupar com cálculo de impostos no momento de realizar o pedido/venda, pois o vendedor não é responsável pelo cálculo dos impostos, isto demanda que alguém que entenda da parte fiscal, configure previamente para cada situação fiscal.
Modelagem
O imposto está ligado ao produto/serviço, seja pelo item ou pela hirarquia, desde o item pai até o SKU.
Os impostos sobre o valor faturado, ou seja sobre o valor total da nota, são impostos onde o cáculo é mais simples, devido a base ser sempre o valor do faturamento.
Dentro da modelagem do sistema, um item pode possuir apenas uma configuração fiscal, mas a configuração fiscal pode estar vinculada a vários itens.
Com isto, a tabela de "Grupo Fiscal" foi criada, ela representa a lista dos impostos que se comportam dessa mesma maneira, onde a base é o faturamento.
Para criar uma "Configuração Fiscal", no "Grupo Fiscal" será colocado todos os impostos que se enquadram na mesma regra, sendo assim, toda vez que for feito o cálculo dos impostos, o sistema irá buscar a lista de impostos, baseando no que foi cadastrado como Imposto, Alíquota e Base e com isto será realizado o cálculo.
O resultado deste cálculo ficará armazenado em uma tabela, que conceitualmente falando, se trata da tabela "Impostos_Pagar". Todos impostos calculados ficam salvos nesta tabela.
No comercial havia as tabelas "Transacao_Negocio_Item", "Transacao" e a "Impostos_Pagar" (conceitualmente). Onde a tabela "Transacao" representa os pedidos, a "Transacao_negocio_item" é a lista dos itens do pedido e a "Impostos_Pagar" os impostos destes itens e materializados à base, aliquota e valor.
A ação de recalcular impostos no pedido, apaga os impostos existentes no pedido todo e os recria. Basicamente no "Impostos_Pagar" consta o resultado das configurações fiscais do item que esta no pedido.
Para maiores informações sobre impostos e como configurar clique aqui.
Convenções
Uma sugestao seria que a configuração fosse ligada ao NCM e não ao item.
Há convenções como por exemplo "Sistema Harmonizado", pois nas operações é preciso que quando o produto vendido para outro pais por exemplo, seja possivel identifica-lo da mesma forma em qualquer lugar, sendo assim foram criados códigos padrão para representar um tipo de produto. Este codigos são formados atraves de hierarquia.
NCM
NCM significa "Nomenclatura Comum do Mercosul" e trata-se de um código de oito dígitos estabelecido pelo Governo Brasileiro para identificar a natureza das mercadorias e promover o desenvolvimento do comércio internacional, além de facilitar a coleta e análise das estatísticas do comércio exterior.
O objetivo é classificar os itens de acordo com regulamentos do Mercosul e tem como base o SH (Sistema Harmonizado de Designação e Codificação de Mercadorias).
Dos oito dígitos que compõem a NCM, os seis primeiros são classificações do SH. Os dois últimos dígitos fazem parte das especificações próprias do Mercosul.
Diagrama
Diagrama Complementar
Abaixo um diagrama complementar ao anterior, onde demonstra a modelagem na Transação de Negócio, relacionada ao imposto.