UC00005 - Lançamento de pedidos

De Wiki Java - Interno
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Diagrama de classes)
(Fluxos principais)
Linha 26: Linha 26:
 
= Fluxo de eventos =
 
= Fluxo de eventos =
 
== Fluxos principais ==
 
== Fluxos principais ==
'''Fluxo 1:''' Usuário acessa o '''''Menu > Cadastros > Faturamento > Status de pedido'''''.
+
'''Fluxo 1:''' Usuário acessa o '''''Menu > Movimentos > Faturamento > Lançamento de pedido'''''.
 
*Sistema exibe ao usuário a tela de pesquisa da rotina em questão conforme [[#RN01 - Tela de pesquisa|RN01]].
 
*Sistema exibe ao usuário a tela de pesquisa da rotina em questão conforme [[#RN01 - Tela de pesquisa|RN01]].
  
  
'''Fluxo 2:''' Usuário aciona o botão '''[Adicionar status]'''.
+
'''Fluxo 2:''' Usuário aciona o botão '''[Lançar pedido]'''.
 
*Sistema exibe a tela de manutenção da rotina conforme regra de negócio [[#RN02 - Tela de manutenção|RN02]].
 
*Sistema exibe a tela de manutenção da rotina conforme regra de negócio [[#RN02 - Tela de manutenção|RN02]].
  
  
'''Fluxo 3:''' Usuário informa os dados do status e aciona o botão '''[Salvar]'''.
+
'''Fluxo 3:''' Usuário informa os dados do pedido e aciona o botão '''[Gravar pedido]''' ou o botão '''[Faturar]'''.
*Sistema grava novo status no banco de dados e emite ao usuário uma mensagem confirmando o sucesso da transação.
+
*Sistema grava novo pedido no banco de dados gerando (ou não) contas a receber e gerando PDV´s para emissão de nota conforme regra de negócio [[#RN03 - Movimentações|RN03]].
  
 
== Fluxos alternativos ==
 
== Fluxos alternativos ==

Edição das 20h08min de 17 de julho de 2014

Conteúdo

Objetivo

  • Manter lançamento de pedidos de representação.

Atores

  • Usuário

Pré-requisitos

  • Considerar documento Padrões de desenvolvimento.
  • No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Lançamento de pedido. Este nome será utilizado para criar a página no Wiki.

Sistema

  • ResulthWEB Representações

Resultado esperado

  • Lançar pedidos de representação no sistema.

Diagrama de classes

PCPlace.png

Layouts sugeridos

Fluxo de eventos

Fluxos principais

Fluxo 1: Usuário acessa o Menu > Movimentos > Faturamento > Lançamento de pedido.

  • Sistema exibe ao usuário a tela de pesquisa da rotina em questão conforme RN01.


Fluxo 2: Usuário aciona o botão [Lançar pedido].

  • Sistema exibe a tela de manutenção da rotina conforme regra de negócio RN02.


Fluxo 3: Usuário informa os dados do pedido e aciona o botão [Gravar pedido] ou o botão [Faturar].

  • Sistema grava novo pedido no banco de dados gerando (ou não) contas a receber e gerando PDV´s para emissão de nota conforme regra de negócio RN03.

Fluxos alternativos

Fluxo 1:

Fluxos de exceção

Fluxo 1:

Regras de negócio

RN01 - Tela de pesquisa

Assim que a rotina de lançamento de pedidos for acessada será exibida ao usuário sua tela de pesquisa, que conterá os pedidos lançados no mês corrente listados em um grid e também uma aba de consulta com filtros específicos. O grid listará os pedidos já lançados no mês corrente ou os pedidos filtrados na aba de consulta nas seguintes colunas:

  1. CÓDIGO
  2. DATA (de lançamento do pedido)
  3. Nº PROPOSTA
  4. CLIENTE FINAL (código + nome)
  5. FORNECEDOR (código + nome)
  6. VENDEDOR (código + nome)
  7. MOEDA
  8. SITUAÇÃO (ver filtro da consulta mais abaixo)
  9. STATUS
  10. FATURAMENTO (informa se está faturado, parcialmente faturado ou se o faturamento está pendente)
  11. OBSERVAÇÕES
    
    Os pedidos do mês corrente listados no grid serão ordenados por situação, exibindo primeiro aqueles que estão em aberto seguidos dos entregues parcialmente e dos entregues 
    por completo. Os registros que estiverem na situação EM ABERTO deverão ter a situação exibida na cor vermelha. Os registros que estiverem na situação ENTREGA PARCIAL
    deverão ter a situação exibida na cor amarela. Os registros que estiverem na situação ENTREGUE deverão ter a situação exibida na cor verde.

Por padrão a aba com os filtros para consulta de pedidos será exibida em seu estado recolhido. Caso usuário queira utiliza-la ele deverá clicar sobre a lupa azul no canto superior direito da tela, logo acima do grid. Assim que a aba for expandida, serão exibidos ao usuário os filtros:

  1. Nº Pedido: Neste campo o usuário poderá filtrar pedidos através de seu número. Uma vez que este filtro for utilizado, os demais filtros serão desconsiderados.
  2. Nº Proposta: Neste campo o usuário poderá filtrar pedidos que possuem vinculo com um determinado número de proposta. A exemplo do filtro anterior, quando este filtro for utilizado os demais serão considerados.
  3. Cliente final: Neste campo o usuário poderá filtrar pedidos emitidos para um determinado cliente final.
  4. Fornecedor: Neste campo o usuário poderá filtrar pedidos emitidos para um determinado fornecedor.
  5. Item: Neste campo o usuário poderá filtrar pedidos emitidos com um determinado item (produto ou serviço). Lembrando que este pode ser informado por seu código, nome, referência ou referência de fabricante.
  6. Período de lançamento: Neste campo o usuário poderá informar uma data inicial e final para buscar pedidos lançados neste período.
  7. Data de entrega: Neste campo o usuário poderá informar uma data inicial e final para filtrar pedidos cujos itens possuem data de entrega dentro do período informado.
  8. Moeda: Neste campo o usuário poderá filtrar pedidos emitidos em uma determinada moeda.
  9. Situação: Neste campo o usuário poderá filtrar pedidos que se encontram e uma determinada situação escolhendo uma das opções abaixo:
    • Em aberto: Pedidos em que nenhum item foi marcado como entregue.
    • Entrega parcial: Pedidos em que um ou mais itens foram marcados como entregue.
    • Entregue: Pedidos em que todos os seus itens foram marcados como entregue.
  10. Status: Neste campo o usuário poderá filtrar pedidos que estejam em um determinado status. Os status utilizados neste filtro serão todos que estiverem cadastrados e ativos através da rotina de cadastro de status de pedido.
  11. Faturamento: Neste campo o usuário poderá filtrar pedidos quanto ao estado de seu faturamento com as seguintes opções:
    • Completo: Listará todos os pedidos em que todos os seus itens estão faturados e vinculados a uma NFS-e.
    • Parcial: Listará todos os pedidos que possuem itens já faturados e alguns itens não faturados e não vinculados a nenhuma NFS-e.
    • Pendente: Listará todos os pedidos em que todos os itens ainda não foram faturados ou vinculados a uma NFS-e.
  12. Botão [Limpar]: Limpa todos os filtros da aba voltando-os a seu estado inicial.
  13. Botão [Consultar]: Com base nos filtros informados, lista no grid os resultados encontrados.

No canto superior esquerdo do grid será exibido o botão [Lançar pedido], que quando acionado levará o usuário para a tela de manutenção de pedidos cujas funcionalidades estão descritas mais abaixo.

RN02 - Tela de manutenção

Tela onde o usuário poderá fazer o lançamento de novos pedidos no sistema. Esta tela será dividida em duas abas, cada uma com funcionalidades específicas conforme descrito abaixo.

Dados do pedido

  1. Código do pedido: Campo somente para leitura que armazenará o código do pedido. O código será um sequencial numérico gerado automaticamente pelo sistema.
  2. Data: Campo onde deverá ser informada, obrigatoriamente, a data do pedido. Por padrão o sistema preencherá automaticamente este campo com a data de login, permitindo que a mesma seja alterada.
  3. Nº Proposta: Campo onde o usuário deverá informar, obrigatoriamente, o número de uma proposta já cadastrada cujo status a define como finalizada. O número da proposta poderá ser informado nas seguintes situações:
    • Usuário sabe o número da proposta: Neste caso basta digitar o número da proposta no campo em questão e acionar o botão [Atualizar] logo à direita (3º ícone à direita do campo). Se o número da proposta é válido o sistema preencherá automaticamente o nome do respectivo cliente e vendedor nos respectivos campos. Caso contrário uma mensagem de alerta será exibida ao usuário informando que não foi encontrada nenhuma proposta com o número informado ou que a proposta não está finalizada.
    • Usuário não sabe o número da proposta: Neste caso basta acionar o botão [Pesquisar] logo à direita (1º ícone à direita do campo) para que seja exibida a tela de pesquisa de propostas. Na tela de pesquisa o usuário deverá informar o cliente da proposta que deseja utilizar para que o sistema liste em um grid todas as propostas (finalizadas) existentes para o mesmo. Uma vez que a proposta desejada foi identificada no grid com o resultado da pesquisa, basta clicar sobre a mesma para que seu número seja transportado para a tela de lançamento de pedidos e a pesquisa seja automaticamente fechada.
    • O cliente possui uma proposta, mas ela ainda não foi lançada no sistema: Neste caso o usuário deverá acionar o botão [Cadastrar proposta] logo à direita (2º ícone à direita do campo) para que seja aberto em uma nova aba do navegador o cadastro de propostas. Após cadastrar a proposta e atualizar seu status para Aprovada, o usuário poderá utiliza-la na venda informando seu número ou selecionando-a na pesquisa.
  4. Cliente final: Campo somente leitura que será preenchido automaticamente quando uma proposta válida for informada. Sem uma proposta, não será possível informar o cliente final.
  5. Fornecedor: Campo onde deverá ser informado o fornecedor do pedido, ou seja, a empresa na qual os produtos/serviços serão comprados para serem repassados para o cliente final.
  6. Vendedor: Campo onde serão listados todos os vendedores cadastrados no sistema. Nele o usuário deverá selecionar o vendedor do pedido. O sistema preencherá automaticamente no campo à direita a comissão informada no cadastro do vendedor (se existir).
  7. Moeda: Campo onde serão listadas as moedas R$ Real e U$ Dollar para que o usuário selecione, obrigatoriamente, em qual delas o pedido será lançado.
  8. Condição de pagamento: Campo onde serão listadas as condições de pagamento cadastradas no sistema para que o usuário selecione, obrigatoriamente, uma condição de pagamento a ser utilizada no pedido.
  9. Observação: Campo onde o usuário poderá informar, opcionalmente, observações para o pedido.
  10. Serviço NFS-e: Campo onde o usuário deverá informar, obrigatoriamente, um serviço (dentre os já cadastrados) que será considerado na emissão da nota fiscal eletrônica de serviço para o pedido em questão.
  11. Status: Campo onde o usuário deverá selecionar, obrigatoriamente, um status para o pedido. Neste campo serão listados os status cadastrados e ativos no sistema conforme o cadastro de status de pedido. Este status é apenas informativo e não será parâmetro para nenhum tipo de validação ou movimentação do pedido.

Itens

  1. Item: Campo onde o usuário poderá informar o produto ou serviço a ser adicionado no pedido.
  2. UN de venda: Assim que o item for informado, o sistema preencherá automaticamente este campo com a unidade padrão definida no cadastro do mesmo. Se desejar, o usuário poderá selecionar uma outra unidade de venda dentre as unidades de saída cadastradas no item. Em caso de serviços este campo ficará vazio e desabilitado.
  3. Vlr. Unitário: Assim que um item for informado este campo será automaticamente preenchido com o preço de custo informado em seu cadastro. Em caso de serviços ou de inexistência do preço de custo, este campo será preenchido com 0,00. Se desejar, o usuário poderá alterar livremente o valor unitário do item ou até mesmo zera-lo (caso haja preço informado).
  4. Qtde.: Campo onde deverá ser informada, obrigatoriamente, a quantidade do item na venda.
  5. Total: Campo somente leitura que exibirá o total do item na venda multiplicando seu valor unitário pela quantidade.
  6. Comissão: Campo onde o usuário poderá informar um percentual de comissão a incidir sobre o total do item. O valor da comissão não influenciará o total do item na venda, sendo apenas uma informação que será contabilizada somente em rotinas de relatórios ou consultas.
  7. Margem: Campo onde o usuário poderá informar um percentual de margem de lucro sobre o total do item. O valor da margem não será somado ao total do item na venda, sendo apenas uma informação que será contabilizada somente em rotinas de relatórios e ou consultas.
  8. Total marg. + comis.: Campo somente leitura que exibirá o valor de margem + comissão sobre o item em questão. Este valor será obtido somando o resultado dos percentuais informados nos campos Comissão e Margem aplicados sobre o total do item.
  9. Data de entrega: Campo onde o usuário deverá informar, obrigatoriamente, uma data de entrega/execução para cada item da venda.
  10. Observação: Campo onde o usuário poderá informar alguma observação para o item se desejar.
  11. Botão [Adicionar item]: Botão que quando acionado insere o item no grid caso todos os dados obrigatórios do mesmo tenham sido informados.
  12. Botão [Adicionar componente]: Quando acionado irá inserir o item como um componente do último item inserido através do botão [Adicionar item], agrupando-o no grid como tal. Os componentes de um determinado item serão visualizados de forma agrupada dentro do mesmo no grid, facilitando a identificação de produtos que são compostos por outros produtos, exemplo: Item: SERVIDOR, Item componente: Memória, processador, placa-mãe e etc.
  13. Botão [Limpar]: Botão que quando acionado limpa todos os campos referentes ao item voltando-os a seu estado inicial.
  14. Grid: Exibirá todos os itens adicionados na venda nas seguintes colunas:
    • Botão [+]: Para itens que possuem componente, este botão será exibido na primeira coluna do grid para que quando acionado, os componentes sejam exibidos ou ocultados. Por padrão os componentes de um item são exibidos de forma expandida.
    • ITEM: Código + descrição do produto/serviço.
    • REFERÊNCIA: Exibe a referência/part number do produto ou serviço informada em seu cadastro.
    • UNIDADE: Exibe a unidade de venda selecionada para o item.
    • VLR. UNIT.: Exibe o valor unitário informado para o item.
    • QTDE.: Exibe a quantidade do item na venda.
    • TOTAL: Exibe o valor total do item na venda (Vlr. Unitário * Qtde).
    • % COMISSÃO: Exibe o percentual de comissão informado para o item.
    • % MARGEM: Exibe o percentual de margem informado para o item.
    • TOTAL MARG. + COMIS.: Exibe o valor de margem + comissão que foi calculado no campo Total marg. + comis. ao incluir o item na venda.
    • DATA PREV. ENTREGA: Exibe a data de previsão de entrega informada para o item.
    • ENTREGUE DIA: Campo onde o usuário deverá informar a data em que o produto/serviço foi efetivamente entregue ou realizado. Este somente poderá ser informado no grid e será permitido informa-lo tanto na digitação do pedido quanto na alteração de um pedido já gravado. Produtos e serviços que tiverem uma data informada no campo em questão deverão gerar um contas a receber contra o fornecedor do pedido assim que as alterações forem salvas. Veja maiores detalhes regra de negócio RN03.
    • AUT. FATURAMENTO: Coluna que exibe um checkbox que determina se o faturamento do item está autorizado ou não. O checkbox só poderá ser marcado caso na coluna ENTREGUE DIA haja uma data informada.
    • NFS-e: Coluna que exibe o número do PDV e da NFS-e vinculados ao item.
    • OBSERVAÇÃO: Exibe a observação informada para o item.
    • EXCLUIR: Ícone que quando acionado exclui do grid o item em questão. Antes de excluir o item será exibida uma mensagem de confirmação.
    • ALTERAR: Ícone que quando acionado carrega dos dados do item em questão nos campos acima do grid para que o usuário faça suas alterações. Para salvar as alterações no item basta adicioná-lo novamente no grid para atualizar seus dados.
  15. TOTAL DO PEDIDO: Campo somente leitura que será exibido logo abaixo do grid, totalizando todos os itens da venda considerando a coluna TOTAL do grid.
  16. TOTAL MARGEM + COMISSÃO: Campo somente leitura que totalizará a coluna TOTAL MARG. + COMIS. do grid.
  17. Botão [Gravar pedido]: Botão que quando acionado grava o pedido no banco de dados. Para que um pedido seja gravado todos os campos obrigatórios da aba Dados do pedido devem estar preenchidos e pelo menos um item deve estar adicionado no grid.
  18. Botão [Faturar]: Botão que quando acionado gera automaticamente um PDV vinculando-o aos itens cujo faturamento foi autorizado. Este botão só será habilitado se na rotina Lançamento de comissões a comissão do pedido estiver marcada como Aceita e se no grid existir informação para todos os itens da coluna ENTREGUE DIA e se pelo menos um item possuir permissão para ser faturado. Veja maiores detalhes regra de negócio RN03.
  19. Botão [Cancelar]: Botão que aborta a operação atual (digitação do pedido, consulta e etc) diante mensagem de confirmação e retorna para tela de pesquisa da rotina em questão.

RN03 - Movimentações

A partir de um pedido poderão ser gerados os movimentos de contas a receber ou faturamentos através da emissão de NFS-e (nota fiscal de serviço eletrônica) conforme segue abaixo.

Contas a receber

A partir do momento em que no grid dos itens do pedido for informada uma data na coluna ENTREGUE DIA, assim que o usuário clicar no botão [Gravar pedido] o sistema irá gerar um movimento de contas a receber contra o fornecedor informado na aba Dados do pedido. O valor do contas a receber dependerá de:

  • Produto: Será gerado o contas a receber somente com o valor (calculado) da comissão/margem do item (campo TOTAL MARG. + COMIS.).
  • Serviço: Será gerado o contas a receber com o valor cheio (valor unitário * quantidade) do serviço.


Caso na aba Dados do pedido esteja selecionada a moeda Dólar, antes de gerar o contas a receber sistema exibirá uma tela pop-up para que seja informada a cotação do dólar do dia. Assim que o usuário informar a cotação do dólar o sistema fará a conversão dos valores e gerará o contas a receber em reais.


O sistema só gerará contas a receber de itens que tiveram data informada na coluna ENTREGUE DIA. Itens que já geraram contas a receber ou que ainda não foram entregues não gerarão nenhum movimento quando as alterações forem salvas.

Emissão de NFS-e

Um pedido poderá gerar uma ou mais notas fiscais, permitindo ao usuário faturá-lo total ou parcialmente. Este processo deverá ocorrer da seguinte maneira:

  1. Para itens que possuírem data informada na coluna ENTREGUE DIA e que já geraram contas a receber, será habilitada a edição da coluna AUT. FATURAMENTO, onde o usuário poderá marcar/desmarcar um checkbox que indica se o faturamento do item em questão está autorizado ou não.
  2. Caso um pedido tenha sido gravado com permissão de faturamento para pelo menos um item, será visível e habilitado na parte inferior da tela do pedido o botão [Faturar]. Uma vez que o botão [Faturar] for acionado, o sistema irá gerar automaticamente um PDV e vincula-lo aos itens cujo faturamento foi autorizado para que o usuário possa emitir a nota fiscal na rotina de venda/emissão de NF já existente no sistema. Para gerar o PDV automaticamente será considerado:
    • Condição de pagamento Leasing: Caso no cadastro da condição de pagamento utilizada no pedido esteja marcada a opção Leasing, ao gerar o PDV o sistema utilizará como cliente o banco vinculado à forma de pagamento em questão (um cliente deverá ser cadastrado como banco), possibilitando que a nota fiscal seja emitida contra o mesmo. Caso a forma de pagamento não seja Leasing será colocado como cliente d PDV o fornecedor informado no cabeçalho do pedido.
    • Serviço para emissão da NF: Ao gerar o PDV o sistema utilizará como item do mesmo somente o serviço que está informado no campo Serviço NFS-e no cabeçalho do pedido.


A nota fiscal não irá gerar movimentações financeiras, uma vez que para emiti-la será necessário que todos os itens do pedido tenham data de entrega informada (consequentemente já geraram contas a receber).

    
    A rotina em questão não gerará movimento de estoque, uma vez que o cliente não possui este controle.

Quadro de dados

NOME OBRIGATÓRIO TIPO DE ENTRADA VALORES POSSÍVEIS TAMANHO VALOR PADRÃO OBSERVAÇÃO
Ativo Sim Checkbox Marcado/Desmarcado Marcado
Descrição Sim Input Alfanuméricos 60 Vazio

Ferramentas pessoais
Espaços nominais

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