UC00088 - Consulta Saldo Geral de Contas
Conteúdo |
[editar] Objetivo
- Fazer a consulta de saldo geral de contas, que permite ao usuário o acompanhamento de suas despesas (principalmente) e receitas (eventualmente). O sistema usará a conta caixa para gerar as informações.
[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 Consulta saldo geral de contas. Este nome será utilizado para criar a página no Wiki.
- Usuário ter configurado as operações (principalmente a do contas a pagar) para solicitar conta caixa.
[editar] Resultado esperado
- Gerar a consulta saldo geral de contas, estilo draw-drill, possibilitando gerar os vários formatos de arquivos.
[editar] Fluxo de eventos
[editar] Fluxos principais
Fluxo 1: Usuário acessa a rotina no menu Consulta -> Tesouraria -> Saldo Geral de Contas.
- Sistema exibe os campos de filtragem conforme RN01.
Fluxo 2: Usuário informa dados para filtragem do relatório.
- Sistema procede conforme regra de negócio RN02, e em seguida, após clicar em <Pesquisa> o sistema exibe os dados conforme RN03.
[editar] Fluxos Alternativos
Fluxo Alternativo 1 Usuário configura o seu relatório saldo geral de contas (na rotina "Utilitários > Tesouraria > Parâmetros de tesouraria"), informando os seguintes campos:
- Conta caixa juros e multas do contas a pagar: conta analítica, devedora.
- Conta caixa juros e multas do contas a receber: conta analítica, credora. Deixar claro, através de um label, que estas contas são serão utilizadas na consulta, por regime de caixa.
Estas contas são importantes, por exemplo, para diferenciar o valor principal de uma despesa qualquer dos juros e multas pagos. Veja que é importante a empresa saber se esta pagando muitos juros e multas.
[editar] Regras de negócio
[editar] RN01 - Tela de filtragem
- Filiais: Usar componente padrão do sistema
- Período: Usar componente padrão do sistema, para data inicial e final
- Regime: Opções para "Caixa" ou "Competência". Posicionar à frente da data. Lembrando que regime de caixa é quando ocorre o desembolso em si (pagamento) e regime de competência refere-se à data que o documento foi emitido. Exemplo: no mês de novembro chega a conta de água da empresa, que vencerá em dezembro. Se o usuário optar por regime de competência, a conta aparecerá no mês de novembro.
- Grau das Contas: campo numérico, estilo spin, onde o usuário poderá fazer a seguinte escolha: imagine um plano de contas, cuja conta caixa, tenha a máscara ##.##.####. Se ele escolher grau 2, o relatório, em sua primeira exibição, trará as contas até este nível, podendo ele "fechar" para o nível 1 (clicando no sinal -), ou "expandir" para o nível 3, clicando +. O default deste campo será um grau a menos que o máximo da conta caixa. Sendo assim, se a mascará da conta é "#.##.##.####" (ver tela de parametrização da tesouraria) o grau default será 3 (4 graus é o máximo menos 1). Afim de facilitar o entendimento do usuário, do lado do componente de escolha do grau, representar com "#" o grau escolhido, a medida que ele for mudando. No mesmo exemplo acima, ao escolher grau 3, mostrar a string "#.##.##". Ao mudar pra grau 2, a string fica "#.##". Mais detalhes do funcionamento deste campo, ver abaixo, inclusive exemplos.
- Tipo de conta: devedoras / credoras / ambas. Default será devedoras.
[editar] RN02 - Filtragem dos Dados
[editar] Informações pré-eliminares
- A base do relatório do são as contas caixas. Entretanto, algumas contas não representam um despesa ou receita efetiva. Um exemplo: a conta caixa "DEPÓSITO BANCÁRIO" é devedor no caixa (sai dinheiro do caixa), mas, não constitui uma despesa. Sendo assim, a primeira filtragem a ser observada é o campo "receita/despesa efetiva", do cadastro de conta caixa. Se este campo estiver desmarcado, desconsiderar totalmente a conta caixa e todos os seus movimentos, de qualquer fonte.
- Como ocorrem despesas em várias rotinas, o sistema deverá ler as informações provenientes do caixa, bancos e contas a pagar. Deverá haver um cuidado de não duplicar um determina valor. Exemplo: tenho um contas a pagar, referente a pagamento de ICMS, neste caso conta caixa IMPOSTOS. Posso liquidar gerando bancos, e para evitar duplicidades, os movimentos bancários, bem como os de caixa, só podem ser considerados se forem avulsos (há um atributo próprio para isto, em ambas classes).
- Os dados de contas a pagar sofrem forte influência se o regime escolhido é caixa (pagamento) ou competência. Se for regime de caixa, ler os dados referente aos movimento de pagamento, mas, usando conta caixa e centro de custo do documento. Para efeito de simplificação, os dados de centro de custo e conta caixa estarão sempre guardados nas classes de rateio, mesmo que não o sejam, ou seja, o usuário informou uma única conta caixa e um único centro de custo.
- Os dados bancários e de movimento de caixa não possuem distinção de regime de caixa ou competência, uma vez que possuem uma data apenas. Para regime de competência, vamos usar a data de emissão dos documentos.
- Se houver um rateio para um contas a pagar, por exemplo, e ocorrer uma liquidação parcial, fazer a proporção. Exemplo: documento a pagar de R$ 1000,00, para um posto de gasolina, sendo 800,00 R$ gasolina, conta caixa 02.01.0001, e 200,00 R$ lubrificantes, conta caixa 02.01.0008. A proporção é 80% conta 02.01.0001 e 20% conta caixa 02.01.0008. Se eu liquidar parcialmente o documento em 500,00 R$, e for regime de caixa, ficará 400,00 R$ para conta 02.01.0001 e 100,00 R$ para conta 02.01.0008.
[editar] Campos a serem filtrados
- Filiais: filtragem direta.
- Período:
- Bancos: no caso do sistema bancário, não há diferença entre o regime de caixa e competência, e neste caso, filtrar pela data do movimento.
- Caixa: de forma análoga ao sistema bancário, não há diferença entre os tipos de regime, e sendo assim, usar a data do movimento do caixa.
- Contas a Pagar: se for por regime de caixa, ler as liquidações efetivas, pela data do movimento. Não considerar as liquidações canceladas (há um campo para isto - "liquidação estornada" em "movimento documento"), bem como não considerar agrupamentos de documentos, que provocam uma liquidação "virtual". Se for regime de competência, ler pela data de emissão do próprio documento.
- Contas a Receber: mesma técnica do contas a pagar acima. O que muda é a fonte dos dados. Apesar de ambos serem "Documentos", há uma especialização para documento a pagar e documento a receber.
- Grau da conta: na verdade não é bem um filtro, e sim uma forma como a consulta se apresentará em sua forma inicial. Vamos imaginar a máscara de conta caixa "##.##.####". Se eu escolher grau 2, um possível relatório seria:
| Conta Caixa | Descrição da Conta | Valor |
| 01 | Despesas | 34.000,00 |
| 01.01 | Despesas Com Pessoal | 13.000,00 |
| 01.02 | Despesas Administrativas | 10.000,00 |
| 01.03 | Despesas C/ Veículos | 11.000,00 |
Por outro lado, uma consulta de nível 3, tipicamente seria:
| Conta Caixa | Descrição da Conta | Valor |
| 01 | Despesas | 34.000,00 |
| 01.01 | Despesas Com Pessoal | 13.000,00 |
| 01.01.0001 | FGTS | 3.000,00 |
| 01.01.0002 | INSS | 8.000,00 |
| 01.01.0003 | Vale Transporte | 2.000,00 |
Importante observar que este campo determina como será a apresentação inicial da consulta, mas, o usuário poderá "abrir" ou "fechar" uma conta, clicando no sinal de "+" ou "-", ao lado da conta caixa. Além disto, os mesmos botões deverão aparecer, de forma alternada, no canto superior direito do grid, como forma de "abrir" ou "fechar" tudo.
- Tipo de conta: no cadastro da conta caixa há uma informação do seu tipo (débito ou crédito). Filtrar de acordo com a opção do usuário.
[editar] RN03 - Tela exibição dos dados
Após realizar a filtragem, o sistema deverá exibir um grid com as as seguintes colunas. Observação: o grid onde será exibido a consulta não é paginado, e haverá barra de rolagens horizontal e vertical.
- Conta Caixa
- Descrição da Conta Caixa:
- D/C: indica se o saldo da conta é credor ou devedor
- Valor: em relação ao valor, o sistema deverá ir totalizando as contas, para os níveis superiores, deverá também dar um ligeiro avanço nas colunas, afim de deixar claro a hierarquização das contas. Ver modelo abaixo. Este valor terá a seguinte origem:
- Bancos: disponível na própria classe de movimento bancário. Não há rateios para conta caixa (para centro de custo até existe). Sendo assim, campo direto.
- Caixa: similar aos dados bancários. Disponível na própria classe de movimento de caixa. Não há rateios.
- Pagar: se for regime de competência, buscar o valor liquido do documento (valor original - descontos dados no documento + acréscimos dados no documento). Se for regime de caixa, ler o valor do movimento, mas, se houver uma conta própria para juros e multa, e tendo juros e multas, separar os valores.
- Receber: se for regime de competência, buscar o valor liquido do documento (valor original - descontos dados no documento + acréscimos dados no documento). Entretanto, se o documento for um cartão de crédito, não dar o desconto acima, e colocá-lo na conta de despesa com cartão. Importante entender que a despesa da taxa administrativa do cartão, fica gravada como um desconto no contas a receber. A conta utilizada para receber este desconto esta cadastrada no cadastro de cadastro de cartão/financeira, guia "Administradora de cartão ou financeira", campo "Conta caixa de despesa".
Se for regime de caixa, ler o valor do movimento, mas, se houver uma conta própria para juros e multa, e tendo juros e multas, separar os valores.
Detalhamento ao último nível: Estando a consulta no seu grau máximo (mais aberto possível) se o usuário clicar no botão que expande, teremos a listagem do movimento em si. Os campos que deverão ser exibidos são os mesmos do relatório analítico abaixo.
Expandir tudo: a consulta deve contar com o botão "+", no canto superior esquerdo, que expande ao nível máximo, o que ao final, daria o relatório analítico abaixo. Ao clicar nesta opção, o sistema deve deixar claro que esta em processamento, e que o usuário deve aguardar.
Com os dados em tela o usuário poderá, seguindo os padrões da empresa, gerar PDF, word, Excell. A impressão deve ser da mesma forma apresentado na tela. Exemplo: relatório pode estar no grau 2, e eu posso abrir uma conta, e chegar no grau 3.
[editar] Layouts sugeridos
Abaixo os modelos sugeridos, do grid, em PDF e Excell. Vale lembrar que no excell não haverá opção de exibir os documentos (nível mais detalhado), uma vez que a estrutura de células do excell dificulta tal tarefa.
Explicações sobre os campos do modelo analitico:
- Origem: a informação pode vir do sistema de bancos, contas a pagar, caixa, ou contas a receber.
- Documento: se for contas a pagar ou bancos, informar o tipo de documento + documento (concatenado). Caixa não tem este campo, deixar em branco. Sistema bancário tem, embora opcional. Se informado, listar.
- Histórico: todos os sistema tem este campo. No contas a pagar e receber, só pegar a 1a. linha, uma vez que ele é blob.
- Data: a mesma data que foi usada para filtrar, imprimir, lembrando que pode ser período de caixa ou competência (mais detalhes acima).
- Valor: ver campo "valor" da RN03, acima.
- Forncedor/Cliente: contas a pagar ou receber temos a figura da "pessoa". Bancos e caixa nada a imprimir.