UC00110 - Integração DE OLHO NO IMPOSTO (Impostômetro)

De Wiki Java - Interno
Edição feita às 07h22min de 10 de abril de 2015 por Daniel (disc | contribs)

(dif) ← Edição anterior | ver versão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Conteúdo

[editar] Objetivo

  • Manter configurações de integração com o programa DE OLHO NO IMPOSTO.
  • Descrever regras e funcionalidades para exibição da carga tributária aproximada em cupons fiscais e notas fiscais.

[editar] Atores

  • Usuário

[editar] Pré-requisitos

[editar] Resultado esperado

  • Importar a tabela do programa DE OLHO NO IMPOSTO do IBPT.
  • Discriminar carga tributária dos itens em cupons e notas fiscais emitidas.

[editar] Módulos/Sistemas

  • Resulth WEB Start
  • Resulth WEB Business
  • Resulth WEB Telefonia
  • Resulth WEB OS
  • Resulth WEB Representação

[editar] Diagrama de classes

TabelaIBPT.png

[editar] Fluxo de eventos

[editar] Fluxos principais

Fluxo 1: Usuário acessa a rotina Menu > Utilitários > Configurações > Importação da tabela IBPT.

  • Sistema exibe a tela de pesquisa da rotina de importação da tabela do IBPT conforme regra de negócio RN01.


Fluxo 2: Usuário aciona o botão [Importar tabela], informa uma tabela para upload e aciona o botão [Importar].

  • Sistema cadastra automaticamente todos os registros da tabela e em seguida lista-os no grid conforme regra de negócio RN03.

[editar] Fluxos alternativos

Fluxo 1: Usuário acessa a rotina em questão visualizando no grid os dados de uma tabela já importada. Em seguida o usuário usuário entra em modo de alteração em um determinado registro e aciona o botão [Salvar].

  • Quando o usuário entra em modo de alteração ou inclusão o sistema exibe o campo Fonte em branco, mesmo que esta informação esteja gravada no banco de dados.
  • Caso o registro tenha sido incluído ou alterado manualmente pelo usuário, o sistema não irá limpar os dados do campo Fonte, mas manterá as validações existentes no mesmo.
  • Quando o usuário aciona o botão [Salvar] o sistema emite a seguinte mensagem de confirmação: A alteração ou inclusão manual de um registro exige que o valor informado no campo "Fonte" seja replicado para todos os demais registros já existentes. Tanto registros importados via tabela IBPT quanto registros incluídos manualmente terão sua fonte atualizada e perderão o vínculo com sua fonte atual. Deseja prosseguir?
    • Caso usuário clique em [Sim] o sistema irá proceder conforme regra de negócio RN06.
    • Caso usuário clique em [Não] a gravação será abortada.


Fluxo 2: Com os dados de uma tabela já listados no grid usuário aciona o botão [Importar tabela] e no pop-up seleciona uma arquivo para importação acionando o botão [Importar] em seguida.

  • Antes de exibir ao usuário o pop-up de seleção de aquivo o sistema emite a seguinte mensagem de confirmação: Ao importar uma nova tabela TODOS os dados já existentes (inclusive registros criados/alterados manualmente) serão descartados. Deseja prosseguir?
  • Caso usuário clique em [Sim] a importação ocorrerá normalmente e os dados já existentes serão descartados.
  • Caso usuário clique em [Não] a importação será abortada e o pop-up sequer será exibido.

[editar] Fluxos de exceção

Fluxo 1: Usuário informa para importação um arquivo que não esteja no formato CSV e/ou um arquivo cuja formatação dos dados não condiz com o layout da tabela especificado na RN01.

  • Sistema aborta importação e exibe o usuário as seguintes mensagens:
    1. Caso arquivo não esteja no formato CSV: O formato do arquivo selecionado não é suportado. Somente tabelas no formato "CSV" poderão ser importadas.
    2. Caso layout das colunas da tabela importada não esteja conforme especificado: Os dados dentro do arquivo selecionado não estão de acordo com o modelo fornecido pelo IBPT, portanto sua importação não será permitida.


Fluxo 2: Usuário inicia o processo de importação de uma tabela do IBPT selecionando um arquivo cuja coluna Versão é idêntica a versão da última tabela importada.

  • Sistema aborta a importação e emite ao usuário a seguinte mensagem de alerta: A tabela IBPT versão XXXX já foi importada. Onde X corresponde a versão da última tabela importada.


Fluxo 3: Na rotina em questão usuário aciona o botão [Adicionar novo registro] e tenta cadastrar um novo registro cujo código e tipo de código são idênticos aos de um registro já existente.

  • Sistema aborta a inclusão do novo registro e emite ao usuário a seguinte mensagem de alerta: O CÓDIGO e TIPO DE CÓDIGO informados estão sendo utilizados em um registro já cadastrado, portanto a gravação não será permitida.


Fluxo 4: Na rotina em questão em modo de inclusão de um novo registro ou alterando um registro já existente o usuário informa no campo Fonte o valor exato IBPT ou qualquer valor que contenha IBPT e aciona o botão [Salvar].

  • Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: Registros adicionados ou alterados manualmente não poderão ter como fonte o IBPT (Instituto Brasileiro de Planejamento e Tributação). Informe uma fonte válida e tente novamente.


Fluxo 5: Tendo cadastradas uma ou mais filiais cujo endereço não foi informado o usuário aciona o botão [Importar tabela].

  • Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: Uma vez que a tabela IBPT é por estado é necessário que todas as filiais cadastradas tenham seu endereço informado antes de realizar a importação.

[editar] Regras de negócio

[editar] RN01 - Tela de pesquisa

Assim que a rotina for acessada será exibido o grid com os registros já existentes (caso existam, importados ou adicionados manualmente). Estará disponível no canto superior direito da tela o mecanismo de pesquisa lucene, que permitirá ao usuário filtrar os registros existentes digitando qualquer dado coerente com as colunas do grid.


Estarão disponíveis no canto superior direito os botões [Adicionar novo registro] que leva para tela de manutenção e [Importar tabela] que leva para importação da tabela IBPT.


O grid exibirá os dados da última tabela importada e também os dados inseridos manualmente nas seguintes colunas:

  1. UF: Exibe a unidade federativa para qual a tabela se aplica.
  2. CÓDIGO: Exibirá os códigos NBM ou NCM dos registros da tabela importada.
  3. NCM/NBS: Informará a que se refere o código informado na coluna anterior. Se o código for equivalente à nomenclatura comum do Mercosul será exibido NCM. Se o código for equivalente à nomenclatura brasileira de serviços será exibido NBS.
  4. DESCRIÇÃO: Exibirá a descrição do produto ou serviço correspondente conforme dados contidos na tabela.
  5. ALIQ. NACIONAL: Exibirá a alíquota nacional para o NCM/NBS.
  6. ALIQ. IMPORTAÇÃO: Exibirá a alíquota de importação para o NCM/NBS.
  7. ALIQ. ESTADUAL: Exibirá a alíquota estadual para o NCM/NBS.
  8. ALIQ. MUNICIPAL: Exibirá a alíquota municipal para o NCM/NBS.
  9. INÍCIO VIGÊNCIA: Exibe a data de início da vigência das alíquotas para o NCM/NBS.
  10. FIM VIGÊNCIA: Exibe a data final da vigência das alíquotas para o NCM/NBS.
  11. CHAVE: Chave que associa a tabela IBPTax baixada com a empresa, data e parâmetros informados pela empresa e que foram utilizados no cálculo.
  12. VERSÃO: Versão das alíquotas utilizadas para cálculo na tabela.
  13. FONTE: Fonte/origem das informações.
    
    Uma determinada tabela IBPT será visível para todas as filiais cujo endereço em seu cadastro possui a mesma UF da tabela.

[editar] RN02 - Tela de manutenção

Nesta tela o usuário poderá incluir, alterar ou excluir registros com os seguintes campos e funcionalidades:

  1. Código: Campo onde o usuário deverá informar o código NCM ou NBS.
  2. Tipo de código: Campo onde o usuário deverá informar a que se refere o código informado no campo anterior selecionando as opções NCM ou NBS.
  3. Descrição: Campo onde o usuário deverá informar a descrição do produto ou serviço correspondente ao código informado.
  4. Alíquota nacional: Campo onde deverá ser informada a alíquota nacional para o item referente ao código informado.
  5. Alíquota de importação: Campo onde deverá ser informada a alíquota de importação para o NCM/NBS informado.
  6. Alíquota estadual: Campo onde deverá ser informada a alíquota estadual para o NCM/NBS informado.
  7. Alíquota municipal: Campo onde deverá ser informada a alíquota municipal para o NCM/NBS informado.
  8. Período de vigência: Campo onde deve ser informado o período de vigência para as alíquotas.
  9. Chave: Campo onde poderá ser informada a chave que é listada na tabela IBPT.
  10. Versão: Campo onde poderá ser informada a versão das alíquotas, também listada na tabela IBPT.
  11. Fonte: Campo que exibirá a fonte das informações, seja ela do IBPT ou informada pelo usuário.
  12. Botão [Salvar]: Salva os dados no banco de dados.
  13. Botão [Cancelar]: Aborta qualquer operação em andamento e sai da rotina.

[editar] RN03 - Importação da tabela IBPT

Apesar da rotina em questão utilizar as funcionalidades básicas de um cadastro (crud cadastro básico) será possível cadastrar automaticamente todos os dados da tabela IBPT através de sua importação. Na tela de pesquisa, ao lado do botão [Adicionar novo registro] estará disponível o botão [Importar tabela], que quando acionado exibirá ao usuário um pop-up que o permitirá selecionar a tabela do IBPT salva em seu computador (formato CSV) para fazer o upload da mesma para dentro do sistema. Neste pop-up além de poder selecionar uma nova tabela para importação o usuário visualizará os seguintes dados:

  1. Data da última importação: Campo somente leitura que exibirá a data em que foi feita a última importação da tabela IBPT. Caso nenhuma tabela tenha sido importada este campo ficará vazio.
  2. Versão da última tabela importada: Campo somente leitura que exibirá a versão da última tabela importada. Caso nenhuma tabela tenha sido importada este campo ficará vazio.
  3. Usuário que fez a última importação: Campo somente leitura que exibe o nome do usuário que fez a última importação da tabela IBPT. Caso nenhuma tabela tenha sido importada este campo ficará vazio.
  4. Nova tabela no formato CSV: Campo onde o usuário deverá selecionar em seu computador o arquivo correspondente a nota tabela IBPT a ser importada no formato CSV.
  5. UF: Campo onde o usuário deverá, obrigatoriamente, informar a qual unidade federativa se refere tabela a ser importada. Neste campo serão listadas somente as UF´s cadastradas e vinculadas as filiais também cadastradas no sistema. Por padrão este campo virá preenchido com a UF da filial logada sempre que for exibido.
  6. Botão [Importar]: Quando este botão for acionado o sistema irá cadastrar automaticamente cada registro da tabela informada no sistema e em seguida exibi-los no grid da tela de pesquisa. Antes de executar esta ação será exibida ao usuário uma mensagem de confirmação alertando que todos os dados já existentes serão desprezados caso uma nova tabela seja importada.
    
    No pop-up de importação haverá seguinte aviso para o usuário: ATENÇÃO: Somente as filiais cadastradas cuja UF é igual a UF informada no campo acima visualizarão/utilizarão 
    a tabela em questão.

[editar] Layout da tabela

De acordo com o MANUAL DE OLHO NO IMPOSTO v0.0.8, a tabela disponibilizada pelo IBPT terá o seguinte layout:

CAMPO CONTEÚDO FORMATO CAMPOS CORRESPONDENTES NO CADASTRO DE PRODUTOS DO SISTEMA
codigo Contém a NCM e NBS Inteiro de 1~9 Contém o código da NCM ou NBS. Normalmente está presente no cadastro de produtos.
ex Exceção fiscal da NCM ou TIPI. Na data desta versão, a maior EX da TIPI é 11 vazio/inteiro:0~99 Ex ou campo correspondente que armazena a exceção fiscal, ou, ex tarifário, como preferir chamar da tabela NCM – Nomenclatura Comum do Mercosul.
Tipo Define-se o código que pertence a uma NCM ou a uma NBS
  • 0: NCM
  • 1: NBS
Normalmente há um campo no cadastro do produto que indica se o item se refere a MP, MS, ME ou serviço. Pode ser usado um tratamento de exceção, do tipo: se não for serviço, é produto.
descricao Contém o nome do produto ou serviço. Meramente informativo e não possui influência em cálculos. Não é utilizado em cálculos, nem deve ser informado ao consumidor. Texto, com até 500 caracteres. Campo que contém a descrição do produto ou serviço de acordo com a tabela correspondente. Sua informação é meramente informativa e está contido no arquivo para dar apoio aos desenvolvedores de software em atendimento a milhares de pedidos.
nacionalFederal Carga tributária federal para os produtos nacionais. Decimal com precisão de duas casas: Ex: 99.99 Decimal com precisão de duas casas: Ex: 99.99A carga tributária federal de produtos, mercadorias e serviços nacionais é utilizada quando o primeiro caractere que identifica a Origem da Mercadoria ou Serviço, utilizado em conjunto com a CST – Código de Situação Tributária, do cadastro do produto for igual a: 0, 3, 4, 5
importadosFederal Carga tributária federal para os produtos importados. Decimal com precisão de duas casas: Ex: 99.99 A carga tributária federal de produtos, mercadorias e serviços importados é utilizada quando o primeiro caractere que identifica a Origem da Mercadoria ou Serviço, utilizado em conjunto com a CST – Código de Situação Tributária, do cadastro do produto for diferente de: 0, 3, 4, 5
estadual Carga tributária estadual. Decimal com precisão de duas casas: Ex: 99.99 Este código é exclusivo desta tabela.
municipal Carga tributária municipal. Decimal com precisão de duas casas: Ex: 99.99 Este código é exclusivo desta tabela.
vigenciaInicio Data de início da vigência desta alíquota. Data DD/MM/AAAA Este código é exclusivo desta tabela.
vigenciaFim Data de fim da vigência desta alíquota. Data DD/MM/AAAA Este código é exclusivo desta tabela.
Chave Chave que associa a tabela IBPTax baixada com a empresa, data e parâmetros informados pela empresa e que foram utilizados no cálculo. Texto, alfanumérico, 6 caracteres, diferenciando maiúscula e minúscula. Exemplo: aWd7S8 Este código é exclusivo desta tabela e é utilizado apenas no IBPT, devendo constar no cupom fiscal.
Versão Versão das alíquotas utilizadas para cálculo. Novas versões podem ser disponibilizadas por ocasião da criação ou supressão de NCMs e NBSs pelo governo. Contém apenas códigos válidos. Texto, alfanumérico, 6 caracteres, diferenciando maiúscula e minúscula. Exemplo:

14.1.a. onde:

14 = ano

1 = semestre

a = versao do semestre

Contém o número da versão do arquivo. Neste caso, há apenas o nome do campo que contém a versão, sem conter dados neste campo. As versões são sequenciais.
Fonte Fonte Texto, alfanumérico, 34 caracteres. A variável deste campo é obtida do arquivo CSV. O serviço que é gratuito para o empresário e calculado por entidades como o IBPT pode ser patrocinado por entidades. Serão usadas variáveis no arquivo do IBPT do tipo: IBPT, IBPT/FECOMERCIO, IBPT/ACSP, etc.


    
    Antes de importar a tabela/arquivo o sistema deverá verificar se o mesmo está formatado de acordo com o modelo acima através de seu primeiro registro.
    
    Será permitida a importação somente para arquivos que estejam no formato CSV.
    
    A importação da tabela IBPT será por filial, ou seja, cada filial cadastrada no sistema deverá importar a tabela referente a sua UF e uma filial não visualizará os dados importados na outra.

[editar] RN04 - Impostômetro no ECF

Sempre que o módulo ECF for inicializado o sistema deverá verificar se as tabelas IBPT do ECF e do Resulth WEB são compatíveis. Se a versão da tabela do ECF for diferente da versão da tabela do Resulth WEB durante a sincronização o Resulth WEB deverá enviar a nova planilha para o ECF.


Antes de enviar a tabela do Resulth WEB para o ECF o sistema verificará:

  1. Se a tabela do Resulth WEB foi atualizada para a nova estrutura, ou seja, a tabela IBPT do Resulth WEB deve ter as colunas estadual e municipal e pelo menos um dos registros destas colunas deve ser maior que zero.
  2. Caso a tabela do Resulth WEB esteja na nova estrutura, o sistema verificará se a filial logada no ECF possui UF informada em seu cadastro e se para a UF em questão existe uma tabela IBPT importada.

Se a estrutura da tabela IBPT do Resulth WEB não for a atual ou se a tabela IBPT ainda não foi importada no Resulth WEB ou se a filial logada não possui UF informada em seu cadastro e não houver tabela IBPT importada para a UF em questão, a sincronização deverá ser abortada e a seguinte mensagem de alerta deverá ser exibida ao usuário: Visando atender o projeto de lei DE OLHO NO IMPOSTO, para emissão de cupom fiscal é necessário ter importada no sistema Resulth WEB a tabela IBPT mais atual, através da rotina "Menu > Utilitários > Configurações > Importação da tabela IBPT". Faça a importação da tabela e tente novamente. O usuário não poderá vender pelo ECF (diretamente ou importando pedido) enquanto a tabela mais recente não for importada no Resulth WEB e baixada para o ECF.


    
    A sincronização das tabelas do Resulth WEB para o ECF será única e exclusiva, por filial.

[editar] RN05 - Impostômetro na NF-e e NFS-e

Quando emitindo uma nota fiscal eletrônica de produtos ou de serviços, o sistema deverá exibir nas observações da nota um texto informando o valor aproximado dos tributos para atender à legislação.


O sistema deverá, para cada item da nota, consultar a alíquota sugerida pelo IBPT através do NCM (para produtos) ou do NBS (para serviços) contidos na classificação fiscal dos itens . O cálculo deverá ser feito da seguinte maneira:

  • Itens de origem nacional: Para os itens cujo CST inicia com 0, 3, 4 e 5 ou itens cujo CSOSN (para quem é do Simples) inicia com 0, deverá ser considerada a alíquota da coluna ALIQ. NACIONAL da tabela IBPT.
  • Itens de origem estrangeira: Para os itens cujo CST inicia com 1, 2, 6 e 7 ou itens cujo CSOSN (para quem é do Simples) inicia com 1 ou 2, deverá ser considerada a alíquota da coluna ALIQ. IMPORTAÇÃO da tabela IBPT.


Uma vez que as alíquotas sugeridas pelo IBPT foram adquiridas o sistema deverá aplica-las sobre o total de cada item (utilizando o total rateado dos itens nas notas) e exibir a soma dos resultados nas observações em valor e em percentual conforme exemplificado no MANUAL DE OLHO NO IMPOSTO lembrando que:

  • Tributos federais: Refere-se as alíquotas das colunas ALIQ. NACIONAL e ALIQ. IMPORTAÇÃO da tabela IBPT, dependendo da origem (CST ou CSOSN) da mercadoria.
  • Tributos estaduais: Refere-se a alíquota da coluna ALIQ. ESTADUAL da tabela IBPT.
  • Tributos municipais: Refere-se a alíquota da coluna ALIQ. MUNICIPAL da tabela IBPT.

[editar] RN06 - Inclusão de novos dados ou alteração de dados já existentes

Sempre que o usuário incluir manualmente um novo registro ou alterar um registro já existente, antes de salvar os dados o sistema emitirá uma mensagem alertando que o dado informado no campo Fonte será replicado a todos os demais registros já existentes independente se foram importados ou adicionados manualmente e perguntará se o usuário deseja prosseguir com a gravação.

Se o usuário optar por prosseguir o sistema irá cadastrar o novo registro e replicará sua fonte a todos os demais registros já existentes. Se o usuário optar por não prosseguir, a gravação do novo registro será abortada.

    
    Em registros incluídos ou alterados manualmente o sistema não permitirá que o usuário informe no campo Fonte o dado IBPT e irá gravar os campos Chave e Versão em branco.
    
    A informação do campo Fonte será utilizada na impressão dos cupons e notas fiscais para informar a origem das alíquotas para o calculo da carga tributária.

[editar] Quadro de dados

[editar] Tela de manutenção

NOME OBRIGATÓRIO TIPO DE ENTRADA VALORES POSSÍVEIS TAMANHO VALOR PADRÃO OBSERVAÇÃO
Código Sim Input Números inteiros 1 a 99 Vazio
Tipo de código Sim Combobox NCM ou NBS NCM
Descrição Não Input Alfanuméricos 500 Vazio
Alíquota nacional Sim Input Numéricos >= 0 Precision=4, scale=2 (00,00) 00,00
Alíquota de importação Sim Input Numéricos >= 0 Precision=4, scale=2 (00,00) 00,00
Alíquota estadual Sim Input Numéricos >= 0 Precision=4, scale=2 (00,00) 00,00
Alíquota municipal Sim Input Numéricos >= 0 Precision=4, scale=2 (00,00) 00,00
Período de vigência Sim Input Data Vazio Dara inicial e final da vigência das alíquotas.
Chave Sim Input Alfanuméricos 25 Vazio O campo no banco terá o tamanho de 25, mas na tela o sistema deverá permitir que o usuário informe somente 6 caracteres.
Versão Não Input Alfanuméricos 10 Vazio Este dado não é obrigatório somente na inclusão ou alteração manual de um registro. Na importação da tabela este dado devera constar, obrigatoriamente, na tabela IBPT. No banco o campo terá o tamanho de 10, mas na tela o sistema deverá permitir que o usuário informe somente 6 caracteres.
Fonte Sim Input Alfanumérico 50 Vazio No banco o campo terá o tamanho de 50, mas na tela o sistema deverá permitir que o usuário informe somente 34 caracteres.

Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas