UC00004 - Movimentação de series

De Wiki Java - Interno
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Diagrama de classes)
(Fluxos principais)
Linha 25: Linha 25:
 
= Fluxo de eventos =
 
= Fluxo de eventos =
 
== Fluxos principais ==
 
== Fluxos principais ==
'''Fluxo 1'''
+
'''Fluxo 1:'''
#Usuário acessa a rotina “Movimentos > Faturamento > Entrada de notas > Entrada de lote de notas”.
+
#*Sistema exibe tela inicial da rotina.
+
#Usuário aciona o botão <Adicionar lote de notas>.
+
#*Sistema exibe tela de seleção de tipo de nota.
+
#Usuário aciona o botão <Inserir documento com itens>.
+
#*Sistema procede conforme regra de negócio [[#RN01 - Campo para informar a chave da NFe | RN01]].
+
#Usuário realiza a entrada da nota através da importação de seu XML.
+
#*Sistema realiza a importação do XML conforme descreve a regra de negócio [[#RN02 - Formas de importação da NFe | RN02]].
+
#Na tela “Produtos” usuário preenche os dados obrigatórios e aciona o botão <Importar>.
+
#*Sistema procede conforme regras de negócio [[#RN03 - Frete | RN03]], [[#RN04 - Importando dados do XML | RN04]] e [[#RN06 - Processando o XML  | RN08]].
+
  
 
== Fluxos alternativos ==
 
== Fluxos alternativos ==

Edição das 15h23min de 14 de março de 2014

Conteúdo

Objetivo

  • Definir regras e funcionalidades para movimentação de itens que controlam série.

Atores

  • Usuário

Pré-requisitos

  • Seguir orientações do documento de padrões de desenvolvimento.
  • Ter cadastrados produtos que controlam série.
  • Estar movimentando produtos que controlam série.


Resultado esperado

  • Movimentar estoque de produtos que controlam série.

Diagrama de classes

Series.png

Layouts sugeridos

Fluxo de eventos

Fluxos principais

Fluxo 1:

Fluxos alternativos

Fluxos de exceções

Fluxo 1

Usuário informa um arquivo XML inválido para upload.

  • Sistema aborta o processo e exibe ao usuário a seguinte mensagem: O arquivo XML informado não é válido.


Fluxo 2

Usuário informa no campo “Chave” uma chave de acesso inválida.

  • Sistema procede conforme regra de negócio RN05.


Fluxo 3

Usuário informa uma chave de acesso válida no campo “Chave” e aciona o botão <Download>, mas o webservice e/ou site de consulta NF-e da SEFAZ está off-line.

  • Sistema procede conforme regra de negócio RN08.

Regras de negócio

RN01 - Campo para informar a chave da NFe

O campo Chave deverá ser visível na tela somente quando for selecionada no campo Modelo a opção Nota fiscal eletrônica. Uma vez visível, a informação do campo Chave será obrigatória caso regime tributário da filial logada seja diferente de Simples, caso contrário sua informação será opcional.


Os botões de upload e download de arquivo XML ao lado do campo Chave ficarão desabilitados por padrão até que:

  • Seja informado um tipo de operação.
  • Seja selecionado no campo modelo o tipo Nota fiscal eletrônica.


    
    Se desejar, o usuário poderá informar a chave de uma NF-e sem importa-la.

RN02 - Formas de importação da NFe

A importação de uma NF-e através do XML poderá ser feita de duas formas:

Importação de um arquivo XML já existente Importação do arquivo XML direto da SEFAZ através da chave de acesso
O usuário deverá clicar no ícone de pasta logo à direita do campo “Chave” para que seja exibida a janela de upload. Na janela de upload deverá ser selecionado (no computador do usuário) o arquivo XML da NF-e que deseja importar. Assim que o upload do arquivo XML for concluído o processo de importação do mesmo será iniciado. O usuário deverá informar no campo “Chave” à chave da NF-e (digitando ou através de um leitor de código de barras) e acionar o ícone de download logo à direita para que o sistema busque automaticamente o arquivo de XML correspondente à chave informada no site da SEFAZ. Caso o XML seja encontrado, logo após o seu download o processo de importação será iniciado.


Ao concluir o upload/download do arquivo XML serão validados:

  1. Se os dados do XML referentes ao cabeçalho da nota existem e se estão corretos.
  2. Se pelo menos um item do XML possuir uma das tags ICMS30,UCMS51 ou ICMS70, a importação não será permitida. Neste caso a seguinte mensagem deverá ser exibida ao usuário: A rotina de importação de XML não contempla produtos que se enquadram nos tipos ICMS30,UCMS51 ou ICMS70. Favor entrar em contato com o suporte técnico.
  3. Caso exista um ou mais produtos já cadastrados que controlam série, será verificado se para todos os produtos do XML foi encontrado um produto correspondente já cadastrado. Se não, a importação deverá ser abortada e a seguinte mensagem será exibida ao usuário: Existem produtos que controlam série já cadastrados, portanto é obrigatório que todos os itens do XML já estejam cadastrados antes da importação.


Na sequencia o sistema exibirá ao usuário a tela Produtos listando os itens do XML.

RN03 - Frete

  • Na tela Produtos a alíquota e base de ICMS de frete serão obrigatórios se existir valor de frete na NF e se no tipo de operação selecionada o frete incidir sobre ICMS.
  • O valor do frete deverá sempre somar ao total da nota, independente de seu tipo (emitente, destinatário e etc).

RN04 - Importando dados do XML

Quando o botão <Importar> for acionado na tela Produtos, antes de preencher a tela da NF com os dados do XML o sistema deverá:

  1. Verificar se foi informada a data de entrada.
  2. Verificar se base e alíquota de ICMS do frete foram informados caso estejam como obrigatórios.
  3. Verificar se para todos os itens do grid foi informada a unidade de compra.
  4. Caso fornecedor não esteja cadastrado, perguntar se o usuário deseja cadastra-lo automaticamente (RN08).
  5. Se os produtos do XML não estiverem vinculados ao fornecedor em questão, perguntar se o usuário deseja vincular. Isto não é impeditivo para importar.
  6. Se para produtos que controlam série, todas as séries foram devidamente informadas.
  7. Se a unidade de compra informada para um ou mais itens não estiverem vinculadas aos mesmos, perguntar se o usuário deseja que o sistema faça a amarração automaticamente. Caso usuário não queira, abortar a importação.


Assim que a tela Produtos for fechada os dados de cabeçalho e itens da NF serão preenchidos com os dados do XML e ficarão habilitados para que o usuário os altere se desejar.

RN05 - Chave de acesso da NFe

A chave de acesso de uma NF-e deverá ser uma sequência de 44 caracteres que são representados da seguinte forma:

CÓDIGO DA UF AAMM DA EMISSÃO CNPJ DO EMITENTE MODELO SÉRIE NÚMERO DA NF-E FORMA DE EMISSÃO DA NF-E CÓDIGO NUMÉRICO DV (DÍGITO VERIFICADOR)
QUANTIDADE DE CARACTERES 02 04 14 02 03 09 01 08 01

A chave de acesso informada pelo usuário deverá ser validada através do cálculo do dígito verificador conforme descrito abaixo: O dígito verificador da chave de acesso da NF-e é baseado em um cálculo do módulo 11. O módulo 11 de um número é calculado multiplicando-se cada algarismo pela sequência de multiplicadores 2,3,4,5,6,7,8,9,2,3, ..., posicionados da direita para a esquerda. A somatória dos resultados das ponderações dos algarismos é dividida por 11 e o DV (dígito verificador) será a diferença entre o divisor (11) e o resto da divisão: DV = 11 - (resto da divisão) Quando o resto da divisão for 0 (zero) ou 1 (um), o DV deverá ser igual a 0 (zero).


Exemplo: consideremos que a chave de acesso tem a seguinte sequência de caracteres:

CalcChaveNFE.png

Somatória das ponderações = 644

Dividindo a somatória das ponderações por 11 teremos, 644 /11 = 58 restando 6.

Como o dígito verificador DV = 11 - (resto da divisão), portando 11 - 6 = 5

Neste caso o DV da chave de acesso da NF-e é igual a "5", valor este que deverá compor a chave de acesso totalizando a uma sequência de 44 caracteres.


Caso a chave informada pelo usuário não passe pelo calculo do dígito verificador, quando o botão <Download> for acionado a importação será abortada e a seguinte mensagem será exibida ao usuário: A chave de acesso informada não é válida.

RN06 - Tratamento de produtos que controlam grade

Quando importando um XML, caso seja informado no grid um item que controle grade, será exibido na coluna GRADES um ícone que quando acionado exibirá ao usuário a tela Relação de grades que permitirá que informar as grades que entrarão com a nota. A tela utilizada para digitação das grades será a mesma tela utilizada na aba de itens da própria nota de entrada quando o item também controla grade. As regras e funcionalidades desta tela estão descritas na regra de negócio RN02 do caso de uso Movimentação de estoque.

    
    Uma vez que um item que controla grade foi informado no grid o usuário deverá, obrigatoriamente, informar grades com quantidades e preços que correspondam aos dados contidos no XML.

Quando invocada a partir da tela Produtos na importação de um XML a tela Relação de grades terá, excepcionalmente, funcionalidades que se aplicam somente na importação de XML conforme descrito abaixo:

  1. Após o usuário acionar o botão [Adicionar nova grade] e selecionar na coluna DESCRIÇÃO uma determinada grade, o sistema preencherá automaticamente a coluna VLR. UNITÁRIO com o valor unitário do item em questão contido no XML e a desabilitará para edição.
  2. Caso no XML o item possua a tag vDesc, o sistema preencherá automaticamente as colunas DESC % e DESC. VALOR com os valores equivalentes e desabilitará a edição das mesmas, a exemplo do valor unitário.
  3. O sistema só permitirá salvar os dados de grade digitados se a quantidade informada for coerente com a quantidade dos itens no XML. Uma vez que o valor unitário e desconto serão buscados do próprio XML e que o usuário não poderá altera-los, estes dados não serão validados.

RN07 - Integração com ordem de compra

RN08 - Vinculando o fornecedor da nota aos produtos

Ao vincular o fornecedor do XML aos produtos, independente do produto/fornecedor já estar cadastrado ou se será cadastrado na importação, o sistema deverá incluir o fornecedor na lista de fornecedores do produto passando como “Cod. Item” o conteúdo da tag <cProd> </cProd> de cada item.

RN09 - Download do XML

O processo de download do XML de uma NF-e através de sua chave de acesso acontecerá nas seguintes etapas:´

  1. O sistema verificará se o webservice NfeDownloadNF da SEFAZ está online. Se estiver, então será feito o download do XML através de sua chave de acesso. Caso webservice não esteja disponível o próximo passo será executado.
  2. O sistema verificará se a página de consulta completa de NF-e está disponível. Se estiver, o XML da nota será buscado através da chave de acesso informada no campo “Chave” e do captcha informado pelo usuário em uma janela popup. Caso não site de consulta não esteja disponível ou a NF-e não seja encontrada na base nacional, será exibida ao usuário a seguinte mensagem: Os serviços de download de NF-e da SEFAZ estão temporariamente indisponíveis. Tente fazer a importação da NF-e fazendo o upload de seu arquivo XML ou aguarde alguns minutos tente novamente.

Processando o XML

Quando o botão <Importar> da tela “Produtos” for acionado o arquivo XML será processado preenchendo na tela da NF os respectivos dados conforme segue abaixo.

Cabeçalho da nota

NF DE ENTRADA (CABEÇALHO) XML OBSERVAÇÕES
Data de emissão <dEmi> </dEmi>
Nº documento <nNF> </nNF>
Série <serie> </serie>
Fornecedor <CNPJ> </CNPJ> Através do CNPJ o sistema verificará se o fornecedor da NF-e está cadastrado e procederá conforme segue abaixo:
  1. Se o fornecedor já está cadastrado no sistema então seu código e nome serão preenchidos no cabeçalho da nota de entrada.
  2. Se o fornecedor não está cadastrado, será exibida ao usuário a seguinte mensagem de confirmação: O fornecedor da NF-e não está cadastrado no sistema e portanto não será possível prosseguir com a importação. Deseja cadastra-lo agora? Caso usuário clique em <Não> na mensagem a importação será abortada. Caso usuário clique sem <Sim> o sistema procederá da seguinte maneira:
    • O cadastro de fornecedores será aberto em uma nova aba do navegador em modo de inclusão.
    • O tipo de pessoa será automaticamente preenchido com “Jurídica”.
    • O nome será preenchido com o conteúdo da tag <xNome> </xNome>.
    • O CNPJ será preenchido com o conteúdo da tag <CNPJ> </CNPJ>.
    • A inscrição estadual será preenchida com o conteúdo da tag <IE></IE>.
    • A inscrição municipal será preenchida com o conteúdo da tag <IM> </IM>.
    • O telefone será preenchido com o conteúdo da tag <fone> </fone>.
    • O endereço será automaticamente preenchido conforme segue abaixo:
CAMPO TAG
CEP <CEP> </CEP>
País <xPais> </xPais>
UF <UF> </UF>
Endereço <xLgr> </xLgr>
<nro> </nro>
Bairro <xBairro> </xBairro>
Cidade <xMun> </xMun>

Para preencher o tipo do endereço (rua, avenida e etc) será verificado no conteúdo da tag <xLgr> </xLgr> se no início consta um tipo conhecido, exemplo: Rua Catete 999. Neste caso o trecho “Rua” seria removido e utilizado como tipo. Caso na tag <xLgr> </xLgr> não seja identificado um tipo para o endereço, o tipo “Rua” será utilizado como padrão e todo conteúdo da tag será aproveitado como endereço.

Base do ICMS <vBC> </vBC>
Total do ICMS <ICMSTot> </ICMSTot>
Base ICMS de substituição <vBCST> </vBCST>
Total ICMS de substituição <vST> </vST>
Valor do frete <vFrete> </vFrete>
Total do IPI <vIPI> </vIPI>
Total do PIS <vPIS> </vPIS>
Total do COFINS <vCOFINS> </vCOFINS>
Total do ISS <vISS> </vISS>
Total da nota <vNF> </vNF>
Desconto <vDesc> </vDesc>
Encargos não tributados <vSeg> </vSeg> + <vOutro> </vOutro> Este campo receberá a soma dos valores Seguro + Outro.


Grid da tela Produtos (do XML)

COLUNAS DO GRID EQUIVALÊNCIA NO XML OBSERVAÇÕES
CÓD. PROD. Caso seja encontrado já cadastrado um produto correspondente ao do XML, então o código dele (do sistema) será listado. Caso contrário, ficará em branco para que o usuário digite/pesquise um produto.
DESCRIÇÃO Se código informado no campo acima for referente a um produto cadastrado, sua descrição será listada.
GRADES Esta coluna será sempre visível no grid e quando um determinado produto já cadastrado no sistema controlar grade, deverá apresentar o ícone (grade). Quando este ícone for acionado o processo de informação das grades deverá ocorrer semelhante ao que acontece na digitação do item naprópria NF de entrada.
SÉRIES Esta coluna será sempre visível e quando um determinado produto já cadastrado no sistema controlar série, deverá apresentar o ícone (série). Quando este ícone for acionado o processo de informação das séries deverá ocorrer semelhante ao que acontece na digitação do item na própria NF de entrada.
CÓD. XML <cProd> </cProd> Código do produto no XML da nota.
DESCRIÇÃO XML <xProd> </xProd> Descrição do produto no XML da nota.
REFERÊNCIA/EAN <cEAN> </cEAN> Referência ou código de barras do item no XML da nota.
NCM <NCM> </NCM> Código NCM do item no XML da nota.
CFOP <CFOP> </CFOP> CFOP do item no XML.
UNIDADE DE COMPRA Nesta coluna do grid, para cada produto, será exibido um combobox para que seja seleciona a unidade de compra/entrada do mesmo. O combobox deverá exibir todas' as unidades cadastradas.
QTDE. <qCom> </qCom> Quantidade do item no XML da nota.
VLR. UNITÁRIO <vUnCom> </vUnCom> Valor unitário do item no XML.
VLR. TOTAL <vProd> </vProd> Valor total do item no XML da nota.
CST <CTS> </CST> O CST a ser exibido no grid será o resultado da concatenação das tags <orig> </orig> + <CST </CTS>. Estes campos se aplicam para as tags: <ICMS00>, <ICMS20>, <ICMS40>, <ICMS60> e <ICMS90>. Se o emissor da nf for do regime simples, ao invés de CST, o XML possuirá CSOSN. Este atributo esta na tag ICMSSN999 (ICMS Simples Nacional 999, onde 999 é o código CSOSN). Exemplo:
 <ICMSSN102>
    <orig>0</orig>
    <CSOSN>102</CSOSN>
 </ICMSSN102>

Nestes casos, é necessário fazer uma conversão, uma vez que a NF de entrada só trata CST. Para isto, use a tabela abaixo:

Obs: o default inicial do CST será 090

CSOSN CST CONDIÇÃO
101 000 Se base icms = 100%
101 020 Se base icms < 100%
102 040
103 000 Se aliq > 0 e base = 100
103 020 Se aliq > 0 e base > 0 a < 100
103 040 Se aliq = 0 e base = 0
201 010
202 010
203 010
500 060
300 000 Se aliq > 0 e base = 100
300 020 Se aliq > 0 e base > 0 a < 100
300 040 Se aliq = 0 e base = 0
400 000 Se aliq > 0 e base = 100
400 020 Se aliq > 0 e base > 0 a < 100
400 040 Se aliq = 0 e base = 0
BASE ICMS <vBC> </vBC> Estes campos se aplicam para as tags: <ICMS00>, <ICMS20>, <ICMS40>, <ICMS60> e <ICMS90>.
ALÍQ. ICMS <pICMS> </pICMS> Estes campos se aplicam para as tags: <ICMS00>, <ICMS20>, <ICMS40>, <ICMS60> e <ICMS90>.
VALOR ICMS <vICMS> </vICMS> Estes campos se aplicam para as tags: <ICMS00>, <ICMS20>, <ICMS40>, <ICMS60> e <ICMS90>.
BASE ST <vBCST> </vBCST>
ALÍQ. ST <pICMSST> </pICMSST>
VALOR ST <vICMSST> </vICMSST>
CST PIS CST> </CST> Aplica-se também para tag <PISST> </PISST>.
VLR. BASE PIS <vBC> </vBC>
ALÍQ. PIS (%) <pPIS> </pPIS>
VALOR PIS <vPIS> </vPIS>
CST COFINS <CST> </CST> Aplica-se também para tag <COFINSST> </COFINSST>
VLR. BASE COFINS <vBC> </vBC>
ALÍQ. COFINS (%) <pCOFINS> </pCOFINS>
VALOR COFINS vCOFINS> </vCOFINS>
ALÍQ. IPI (%) <pIPI> </pIPI>
VALOR IPI <vIPI> </vIPI>

Regras gerais

O sistema verificará se os produtos do XML já estão cadastrados da seguinte maneira:

  1. Nos produtos já cadastrados será verificado se em seus fornecedores (principal e secundário) o Cód. Item corresponde ao <cProd> </cProd> do XML.
  2. Nos produtos já cadastrados será verificado se o dado <cEAN> </cEAN> corresponde à referência ou referência de fabricante dos mesmos.
  3. Se para o produto do XML foi encontrado um correspondente cadastrado, o código do produto (cadastrado) será listado na coluna CÓD. PROD. do grid da tela Produtos. Caso contrário à coluna CÓD. PROD. do produto em questão ficará em branco no grid.


Usabilidade do grid da tela Produtos

  1. O usuário poderá, a qualquer momento, limpar o código dos produtos na coluna CÓD. PROD.
  2. O usuário poderá digitar manualmente o código de um produto já cadastrado e pressionar [Enter] ou [Tab] para valia-lo.
  3. Enquanto a coluna CÓD. PROD. de um determinado item estiver vazia, o usuário poderá pressionar [Enter] para abrir a pesquisa de produtos e selecionar o produto desejado.

Ferramentas pessoais
Espaços nominais

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