UC00081 - Entrada automática de documentos a pagar-receber
Conteúdo |
[editar] Objetivo
- Manter entrada automática de documentos a pagar-receber
[editar] Atores
- Usuário
[editar] Pré-requisitos
- Considerar documento Padrões de desenvolvimento.
- No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Entrada automática de documento a receber. Este nome será utilizado para criar a página no Wiki.
- No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Entrada automática de documento a pagar. Este nome será utilizado para criar a página no Wiki.
[editar] Resultado esperado
- Gerar documentos a pagar e a receber em lote.
[editar] Diagrama de classes
[editar] Fluxo de eventos
[editar] Fluxos principais
Fluxo 1: Usuário acessa a rotina Menu > Movimentos > Receber/Pagar > Entrada de documentos automática.
- Sistema exibe a tela inicial da rotina conforme regra de negócio RN03.
Fluxo 2: Usuário aciona o botão <Adicionar documentos a receber> ou <Adicionar documentos a pagar>.
- Sistema exibe tela de manutenção da rotina conforme layout sugerido e RN01.
Fluxo 3: Usuário informa dados para geração dos documentos acionando o botão <Gerar parcelas> e em seguida o botão <Salvar>.
- Sistema gera as parcelas conforme dados informados de acordo com a regra de negócio RN04.
[editar] Fluxos alternativos
Fluxo 1: Usuário acessa a rotina em questão (receber/pagar) entra em modo de alteração em um lote de documentos já gravado/gerado e aciona o botão <Reajustar parcelas>.
- Sistema exibe a tela reajuste de parcelas conforme layout sugerido.
Fluxo 2: Na tela de reajuste de parcelas, usuário informa dados para reajustar o valor das parcelas.
- Sistema atualiza o valor das parcelas no grid conforme proposto na regra de negócio RN02.
Fluxo 3: Em modo de inclusão ou de alteração, com parcelas já geradas no grid, usuário altera os dados do cabeçalho da tela de manutenção e aciona novamente o botão <Gerar parcelas>.
- Sistema procede conforme item 13 da regra de negócio RN01.
Fluxo 4: Em modo de inclusão ou alteração com parcelas já preenchidas no grid, usuário aciona o botão <Reajustar parcelas>.
- Sistema procede conforme regra de negócio RN02.
Fluxo 3: Usuário acessa a rotina de entrada automática de documentos informando uma operação que em seu cadastro está configurada para informar conta caixa ou centro de custo, opcional ou obrigatoriamente.
- Se no cadastro da operação utilizada os campos Informar centro de custo e Informar conta caixa estão configurados como Sempre ou Pede confirmação, serão visíveis na tela, respectivamente à configuração feita, os campos Conta caixa e Centro de custo e também o parâmetro Ratear despesas/receitas conforme layout sugerido.
- Caso a conta caixa ou centro de custo estejam configurados para sempre informar na operação o usuário deverá, obrigatoriamente, informar no respectivo campo uma conta caixa ou centro de custo e o valor correspondente ao campo Valor da parcela. Se na operação a conta caixa e o centro de custo estiverem configurados para pedir confirmação, o usuário poderá não informar estes valores se desejar, mas se informar, o valor também deverá corresponder ao valor da parcela. Em outras palavras quando houver rateio, não é permitido fazer rateio parcial para uma determinada conta caixa ou centro de custo.
- Caso usuário marque o parâmetro Ratear despesas/receitas será exibida a aba Contas caixa e centros de custo conforme layout sugerido. Nesta aba o usuário poderá ratear o valor da parcela entre um ou mais centros de custo ou contas caixa, sendo que a soma dos percentuais de rateio deverá totalizar 100% ao final, tanto para conta caixa quanto para centro de custo. Esta aba será a mesma utilizada na entrada de documento avulso, porem na rotina de entrada automática de documentos não será exibido o valor correspondente ao percentual de rateio informado, uma vez que o usuário poderá reajustar o valor de uma determinada parcela.
[editar] Fluxos de exceção
Fluxo 1: Usuário acessa a rotina em questão, e na tela de pesquisa aciona o botão <Excluir> para um lote de documentos que possui um ou mais documentos total ou parcialmente liquidados.
- Sistema aborta a exclusão e exibe ao usuário a seguinte mensagem de alerta: Um ou mais documentos deste lote já foram total ou parcialmente liquidados e portanto a exclusão do mesmo não é permitida. Faça o estorno das liquidações e tente novamente.
Fluxo 2: Usuário entra em modo de alteração em um lote de documentos que possui um ou mais documentos total ou parcialmente liquidados, altera os dados do cabeçalho da tela de manutenção e em seguida aciona o botão <Gerar parcelas>.
- Sistema aborta a geração das parcelas e emite ao usuário a seguinte mensagem de alerta: Um ou mais documentos deste lote já foram total ou parcialmente liquidados e portanto não é permitido gerar novas parcelas para o mesmo. Faça o estorno das liquidações e tente novamente ou utilize o botão <Reajustar parcelas>.
Fluxo 3: Em modo de alteração usuário aciona o botão <Reajustar parcelas> e tenta reajustar valores de parcelas que estejam total ou parcialmente liquidadas (por intervalo ou por número de parcelas).
- Sistema aborta o reajuste e emite ao usuário a seguinte mensagem de alerta: Uma ou mais parcelas dentre as informadas estão parcial ou totalmente liquidadas e portanto o reajuste não será permitido. Informe apenas parcelas que estejam em aberto ou faça antes o estorno das liquidações das parcelas em questão..
Fluxo 4: Usuário informa número de parcelas incoerentes/inexistentes na tela de reajuste de parcelas e aciona o botão <Reajustar>.
- Sistema valida o intervalo ou número das parcelas, aborta a operação e emite ao usuário uma mensagem com a não conformidade.
Fluxo 5: Usuário acessa a tela de manutenção da rotina em questão, preenche os dados do cabeçalho e aciona o botão [Gerar parcelas]. Em seguida após os documentos serem gerados no grid, o usuário altera os dados do cabeçalho e aciona o botão [Salvar].
- Sistema aborta a operação e emite a seguinte mensagem de alerta: Os dados do cabeçalho foram alterados após a geração dos documentos no grid e portanto não será possível salvar/realizar a geração automática dos mesmos. Sugestão: Acione o botão [Gerar parcelas] novamente para gerar novos documentos com as informações atuais do cabeçalho antes de acionar o botão [Salvar].
[editar] Regras de negócio
[editar] RN01 - Entrada automática de documento a pagar-receber
- Filial: Campo onde serão exibidas todas as filiais cadastradas no sistema cujo usuário logado possui acesso. A filial logada virá preenchida por padrão.
- Operação: Campo onde serão exibidas todas as operações de entrada de documentos (a receber ou a pagar dependendo da rotina) cujo usuário logado tem acesso. A operação definida como padrão nas configurações de documentos a receber/pagar deverá vir preenchida ao acessar a tela.
- Cliente: Campo onde deverá ser informado o cliente para qual os documentos a receber serão gerados. No caso do documento a pagar, este campo deverá ser substituído pelo campo Fornecedor.
- Tipo documento: Campo onde serão exibidos todos os tipos de documentos cadastrados no sistema. Para documento a receber, serão listados somente tipos de documento do tipo receber e ambas. Para documentos a pagar, serão listados somente tipos de documento do tipo pagar e ambas. Este campo não será preenchido automaticamente pelo sistema, fazendo com que o usuário selecione, obrigatoriamente, o tipo de documento desejado.
- Código: Campo onde deverão ser informadas as 12 primeiras posições do código/número dos documentos a receber/pagar.
- Emissão: Campo onde deverá ser informada a data de emissão para os documentos a serem gerados.
- Dia de vencimento: Campo onde deverá ser informado o dia de vencimento para os documentos a serem gerados. O sistema deve proceder da forma correta para dias finais que não existem em determinados meses, como dia 31 (exemplo: não existe 31/set nem 31/fev). Nestes casos o sistema deve deslocar a data para o último dia válido.
- Mês/ano inicial: Campo onde deverão ser informados o mês e ano inicial para geração dos documentos.
- Nº parcelas: Campo onde deverá ser informada a quantidade de parcelas/documentos a serem gerados, limitado a 99.
- Valor parcela: Campo onde deverá ser informado o valor no qual cada documento será gerado.
- Desconto: Campo onde poderá ser informado um valor de desconto para cada documento a ser gerado.
- Observação: Campo onde poderá ser informada uma observação a ser atribuída em cada documento a ser gerado.
- Valor líquido: Campo somente leitura que será calculado automaticamente e exibirá o valor da parcela subtraído do desconto (caso informado).
- Gerar parcelas: Quando acionado, este botão preencherá o grid logo abaixo com as parcelas de acordo com os dados informados nos campos anteriores. Caso grid já esteja preenchido com parcelas geradas anteriormente, antes de gerar novamente as parcelas será emitida ao usuário a seguinte mensagem de confirmação: As parcelas já inseridas/reajustadas no grid serão descartadas e novas parcelas serão geradas de acordo com os dados informados. Deseja prosseguir?.
- Grid de parcelas: Grid onde serão visualizadas as parcelas geradas com as seguintes colunas:
- CÓDIGO: Código/número do documento concatenado com o identificador de parcela.
- VENCIMENTO: Data de vencimento de cada documento.
- SITUAÇÃO: Situação atual do documento.
- VALOR: Valor de cada documento (sem desconto nem acréscimo).
- DESCONTO: Valor de desconto de cada documento.
- VLR. ABERTO: Valor em aberto para o documento caracterizado por VALOR DOC - DESCONTOS + ACRÉSCIMOS + JUROS + MULTA - VALOR PAGO/LIQUIDADO.
- OBSERVAÇÕES: Observação atribuída para cada documento.
- Reajustar parcelas: Este botão somente ficará habilitado em modo de alteração e quando acionado invocará a tela Reajuste de parcelas.
Registros que possuírem juros ou multa deverão ser destacados na cor vermelha no grid.
[editar] RN02 - Reajuste de parcelas
- Valor original: Campo somente leitura que exibirá o valor da parcela informado na criação/geração das mesmas. Corresponde ao campo Valor da parcela da tela de manutenção da rotina em questão.
- Valor original c/ desconto: Campo somente leitura que exibirá valor de desconto das parcelas informado na sua geração. Corresponde ao campo Desconto da tela de manutenção da rotina em questão.
- Valor original líquido: Campo somente leitura que exibirá valor original do documento deduzido de seu desconto. Corresponde ao campo Valor líquido da tela de manutenção da rotina em questão.
- Desconto: Campos onde poderá ser informado desconto em percentual ou em valor para as parcelas a serem reajustadas.
- Acréscimo: Campo onde poderá ser informado um valor de acréscimo para as parcelas a serem reajustadas.
- Valor parcela reajustado: Campo somente leitura que exibirá o novo valor da parcela com base no desconto ou acréscimo informado.
- Tipo de ajuste: Campo onde o usuário deverá selecionar se o reajuste será por Intervalo ou por Nº das parcelas. Dependendo da opção selecionada serão habilitados os respectivos campos logo abaixo.
- Parcelas: Caso no tipo de reajuste seja selecionada a opção Intervalo este campo será habilitado para que o usuário informe um valor inicial e final com a faixa de parcelas cujo valor deseja reajustar.
- Nº das parcelas: Caso no tipo de reajuste seja selecionada a opção Nº das parcelas este campo será habilitado para que o usuário informe especificamente o número de cada parcela que deseja ajustar separados por ponto e vírgula.
- Reajustar: Quando este botão for acionado o sistema fechará a tela Reajuste de parcelas e atualizará o valor das parcelas no grid da tela de manutenção da rotina em questão conforme os dados de reajuste informados. Os valores serão atualizados somente no grid. Para salvar o reajuste o usuário deverá acionar o botão <Salvar> da tela de manutenção.
- Cancelar: Este botão fecha a tela de reajuste e descarta qualquer informação presente na mesma.
O reajuste sempre será feito com base nos valores originais informados na geração das parcelas. Caso usuário realize um segundo reajuste em uma determinada parcela, ele deverá considerar o valor original da mesma para realizar o segundo reajuste. Em outras palavras, não haverá reajustem em cima de reajuste.
[editar] RN03 - Tela de pesquisa
A tela de pesquisa da rotina em questão deverá utilizar o grid sem lucene com mecanismo de consulta. O grid deverá dispor das seguintes informações:
- FILIAL: Código (3 dígitos) da filial na qual o lote de documentos foi gerado.
- OPERAÇÃO: Código e descrição da operação utilizada na geração dos documentos.
- CLIENTE: Cliente (Fornecedor no caso do pagar) para quem os documentos foram gerados.
- TIPO DOCUMENTO: Tipo dos documentos gerados.
- CÓDIGO: Dez primeiros dígitos do código dos documentos informado na geração do lote.
- EMISSÃO: Data de emissão dos documentos gerados.
- DIA VENCIMENTO: Dia de vencimento dos documentos gerados.
- MÊS/ANO INICIAL: Mês e ano inicial da geração dos documentos.
- Nº PARCELAS: Quantidade de documentos/parcelas geradas no lote.
- VALOR PARCELAS: Valor original em que as parcelas foram geradas (valor parcela - desconto).
- OBSERVAÇÃO: Observação informada na geração das parcelas.
Na consulta, o usuário poderá buscar movimentações através dos seguintes filtros:
- Filial
- Cliente (Fornecedor no caso de pagar)
- Tipo de documento
- Código (seja com 10 ou 15 dígitos)
- Período de emissão
- Valor da Parcela Inicial e Valor da Parcela final (filtrar contra [valor da parcela - desconto] )
- Nº de parcelas
- O único filtro obrigatório será período.
- Por padrão, ao exibir a tela de pesquisa o sistema deverá filtrar e exibir automaticamente todos
os movimentos realizados entre o primeiro e o último dia do mês corrente.
[editar] RN04 - Geração de parcelas
- O tipo de documento de todas as parcela deverá ser aquele que foi informado no campo Tipo documento.
- O código de cada documento deverá ser composto com os 12 primeiros dígitos informados no campo Código concatenados com o identificador de cada parcela. O identificador de parcela adicionará nos 3 últimos dígitos do código caracteres que permitirão identificar o número/ordem das parcelas, exemplo:
000000125687-A
000000125688-AB
000000925333-BC
- A data emissão de cada parcela será a que foi informada no campo Emissão.
- O dia de vencimento de cada parcela será o que foi informado no campo Dia de vencimento.
- A primeira parcela deverá deverá vencer no dia de vencimento e mês/ano inicial informados. Para cada parcela seguinte, o mês de vencimento deverá ser acrescido de 1 até atingir o mês 12. Havendo mais parcelas, será acrescentado 1 ao ano e o mês de vencimento voltará para 1.
- A quantidade de parcelas a serem geradas será de acordo com a informação do campo Nº parcelas.
- Cada parcela deverá receber em sua observação o que estiver digitado no campo Observação.
No sistema/banco de dados a geração de cada parcela ocorrerá na mesma estrutura utilizada hoje para a geração de documentos avulsos, mas gravando um identificador do lote conforme a classe LoteDocumento do diagrama de classes.
[editar] RN05 - Regras de rateio
A informação de conta caixa e centro de custo poderá ser opcional ou obrigatória de acordo com a configuração da operação utilizada. Com os campos de conta caixa ou centro de custo visíveis no cabeçalho, caso o usuário informe valor para estes, o valor deverá ser, obrigatoriamente, igual ao valor da parcela tanto para conta caixa quanto para o centro de custo.
Para documentos a pagar poderão ser utilizadas somente contas caixa de débito. Para documentos a receber, somente contas de crédito.
Se o usuário optar por ratear o valor do documento para mais de uma conta caixa ou centro de custo ele deverá marcar o checkbox Ratear despesas/receitas. Desta forma os campos de conta caixa e centro de custo do cabeçalho serão zerados e desabilitados e será disponibilizada para o usuário a aba Contas caixa e centros de custo.
Na nova aba estarão disponíveis para o usuário os seguintes dados:
Caso a operação esteja configurada para informar conta caixa:
- Conta caixa: Campo onde o usuário poderá informar a conta caixa para o rateio, sendo aceitas contas somente de débito para documento a pagar e somente de crédito para documento a receber.
- Percentual: Campo onde o usuário poderá informar o percentual de ratio para a conta caixa em questão.
- Botão [Adicionar]: Inclui no grid a conta caixa e seus respectivos valores de rateio.
Caso a operação esteja configurada para informar centro de custo:
- Centro de custo: Campo onde o usuário poderá informar o centro de custo para rateio.
- Percentual: Campo onde o usuário poderá informar o percentual de ratio para o centro de custo em questão.
- Botão [Adicionar]: Inclui no grid o centro de custo e seus respectivos valores de rateio.
Uma vez que um documento foi salvo com percentual e valores de centro de custo ou conta caixa sempre que seu valor total for alterado, independente da rotina,
o sistema atualizará o valor do rateio com base no percentual salvo e no novo total do documento.
Para cada documento gerado, deverão ser gravados os respectivos dados de rateio.
[editar] Layouts sugeridos
[editar] Quadro de dados
[editar] Tela de manutenção
| NOME | OBRIGATÓRIO | TIPO DE ENTRADA | VALORES POSSÍVEIS | TAMANHO | VALOR PADRÃO | OBSERVAÇÃO |
| Filial | Sim | Combobox | Filiais cadastradas no sistema cujo usuário logado possui acesso | Filial logada | ||
| Operação | Sim | Combobox | Operações de entrada de documento avulso cadastradas no sistema cujo usuário logado possui acesso | Vazio | Para documentos a pagar e a receber, em cada rotina, deverão ser listadas operações respectivas ao tipo da rotina. | |
| Cliente | Sim | Input | Clientes/Fornecedores cadastrados no sistema | Vazio | Para receber, o campo é de cliente e para pagar, é de fornecedor. | |
| Tipo de documento | Sim | Combobox | Tipos de documentos cadastrados no sistema | Vazio | O tipo de documento que for Ambas aparece tanto para pagar quanto para receber. Já os tipos Receber e Pagar só aparecem para sua respectiva rotina. | |
| Código | Sim | Input | Alphanuméricos | 12 caracteres | Vazio | |
| Emissão | Sim | Input | Numéricos | Data corrente | ||
| Dia de vencimento | Sim | Input | Numéricos | 2 caracteres | Dia corrente | |
| Mês/ano inicial | Sim | Input | Numéricos | 6 caracteres | Mês e ano correntes | Este campo deverá utilizar máscara que formate o mês e o ano à medida que o usuário digita. |
| Nº parcelas | Sim | Input | Numéricos | 2 caracteres | Vazio | |
| Valor da parcela | Input | Valor monetário | 0,00 | |||
| Desconto | Input | Valor monetário | 0,00 | |||
| Observação | Text area | Alphanuméricos | 1000 caracteres | Vazio | Tamanho do campo poderá ser alterado com o mouse | |
| Valor líquido | Sim | Input | Valor monetário | 0,00 | Campo somente leitura calculando valor da parcela - desconto. | |
| Gerar parcelas | Botão html | |||||
| Reajustar parcelas | Botão html |
[editar] Tela de reajuste de parcelas
| NOME | OBRIGATÓRIO | TIPO DE ENTRADA | VALORES POSSÍVEIS | TAMANHO | VALOR PADRÃO | OBSERVAÇÃO |
| Valor original | Sim | Input | Valor monetário | 0,00 | Campo somente leitura | |
| Valor original /c desconto | Sim | Input | Valor monetário | 0,00 | Campo somente leitura calculado | |
| Valor original líquido | Sim | Input | Valor monetário | 0,00 | Campo somente leitura | |
| Desconto (valor) | Sim | Input | Valor monetário | 0,00 | ||
| Desconto (percentual) | Sim | Input | Valor percentual | 0,00 | ||
| Acréscimo | Sim | Input | Valor monetário | 0,00 | ||
| Valor parcela reajustado | Sim | Input | Valor monetário | 0,00 | Somente leitura | |
| Tipo de reajuste | Sim | Combobox | Intervalo; Nº das parcelas | Vazio | ||
| Parcelas de X a Y | Input | Numéricos | 0 a 3 caracteres | Vazio | Sua obrigatoriedade depende do tipo de reajuste. | |
| Nº das parcelas: | Text área | Aplhanuméricos | 1000 | Vazio | Sua obrigatoriedade depende do tipo de reajuste. |