UC00067 - Controle de caixa
(→RN02 - Descrição dos campos e funcionalidades da rotina de fechamento na aba Conferência cega) |
(→RN03 - Descrição dos campos e funcionalidades da rotina de fechamento na aba Fechamento) |
||
| Linha 60: | Linha 60: | ||
== RN03 - Descrição dos campos e funcionalidades da rotina de fechamento na aba ''Fechamento'' == | == RN03 - Descrição dos campos e funcionalidades da rotina de fechamento na aba ''Fechamento'' == | ||
| − | + | '''Apuração do fechamento:''' Nesta seção serão confrontados os valores informados na aba de conferência cega com os valores calculados pelo sistema onde: | |
| − | # | + | #'''CALCULADO:''' Para o usuário/caixa em questão serão consideradas e discriminadas em cada forma de pagamento todas as vendas realizadas desde a abertura de seu caixa. Serão contabilizados também, desde a abertura do caixa, movimentos de sangria, suprimento de caixa e liquidações realizadas por este usuário. Sangrias, suprimentos e liquidações serão discriminadas em um grid logo à direita com os seguintes detalhes: |
| − | #*MOVIMENTO: Indica se foi sangria, suprimento ou liquidação. | + | #*'''MOVIMENTO:''' Indica se foi sangria, suprimento ou liquidação. |
| − | #*VALOR: Valor do movimento. | + | #*'''VALOR:''' Valor do movimento. |
| − | #*DATA/HORA: Data e hora em que o movimento foi realizado. | + | #*'''DATA/HORA:''' Data e hora em que o movimento foi realizado. |
| − | #*MOTIVO: No caso da sangria ou suprimento será exibida a justificativa para tal movimento quando o mesmo foi realizado. Já no caso da liquidação deverá ser exibido: “Referente à liquidação do título XXXXX para o cliente XXXXX - XXXXXXXXXXXXXX”, onde X corresponde respectivamente ao código do documento liquidado, código e nome do cliente. | + | #*'''MOTIVO:''' No caso da sangria ou suprimento será exibida a justificativa para tal movimento quando o mesmo foi realizado. Já no caso da liquidação deverá ser exibido: “Referente à liquidação do título XXXXX para o cliente XXXXX - XXXXXXXXXXXXXX”, onde X corresponde respectivamente ao código do documento liquidado, código e nome do cliente. |
#'''INFORMADO:''' Os valores informados em cada forma de pagamento na aba de conferência cega serão listados nesta coluna. | #'''INFORMADO:''' Os valores informados em cada forma de pagamento na aba de conferência cega serão listados nesta coluna. | ||
#'''DIFERENÇA:''' Exibirá o valor da diferença entre o valor calculado subtraído pelo informado, seja ele positivo ou negativo. Quando a diferença for negativa o campo deverá assumir a cor de fundo vermelha. | #'''DIFERENÇA:''' Exibirá o valor da diferença entre o valor calculado subtraído pelo informado, seja ele positivo ou negativo. Quando a diferença for negativa o campo deverá assumir a cor de fundo vermelha. | ||
Edição das 13h21min de 19 de novembro de 2013
Objetivo
Gerar movimentos de suprimento/sangria e fechamento de caixa.
Atores
- Usuário
Pré-requisitos
- No projeto da rotina (receber), em confsrc > META-INF > messages > view.properties definir o nome como Controle de caixa. Este nome será utilizado para criar a página no Wiki
- Considerar documento Padrões de desenvolvimento.
Resultado esperado
- Ter realizados e controlados movimentos de sangria/suprimento e fechamento de caixa.
Diagrama de classes
Fluxo de eventos
Fluxos principais
Fluxo 1: Usuário acessa a rotina Menu > Movimentos > Tesouraria > Controle de caixa.
- Sistema exibe tela inicial da rotina conforme regra de negócio RN05.
Fluxo 2: Usuário aciona o botão <Sangria/Suprimento>.
- Sistema exibe a tela de sangrias e suprimentos conforme layout sugerido.
Fluxo 3: Usuário informa os dados da sangria ou suprimento e aciona o botão <Salvar>.
- Sistema procede conforme regra de negócio RN06.
Fluxos alternativos
Fluxo 1:
Fluxos de exceções
Fluxo 1:
Regras de negócio
RN01 - Descrição dos campos e funcionalidades da rotina de suprimento/sangria
- Tipo de movimento: Neste campo deverá ser definido se o movimento será de sangria ou de suprimento de caixa. Sua informação é obrigatória e a opção padrão será sangria.
- Data: Neste campo deverá ser informada a data em que o movimento está sendo realizado. Esta informação é obrigatória e a data deverá serio maior ou igual à data de movimento (data de login).
- Valor: Neste campo deverá ser informado o valor da sangria ou suprimento a ser realizado. A informação é obrigatória e somente serão aceitos valores maiores que zero.
- Usuário: Neste campo deverá ser informado o usuário/operador do caixa cujo movimento de sangria ou suprimento será realizado. Serão listados somente usuários que são operadores de caixa e que possuem caixa aberto. Assim que um usuário/operador for selecionado o sistema deverá marcar automaticamente os mesmos turnos marcados na abertura do caixa do mesmo.
- Motivo: Neste campo deverá ser esclarecido um motivo para sangria ou suprimento a ser realizado. Esta informação é obrigatória.
- Turno: Assim que um usuário válido for informado estes dados serão automaticamente preenchidos. Por padrão este campo ficará sempre desabilitado, ou seja, será somente para leitura.
Após os movimentos de sangria e suprimento deverá ser gerado, obrigatoriamente, um recibo.
Este recibo deverá seguir o modelo do recibo emitido na abertura de caixa.
Movimentações
- Ao realizar uma sangria deverá ser gerado um movimento de débito no subcaixa do usuário utilizando a conta caixa de débito de suprimento e um movimento de crédito no subcaixa da tesouraria utilizando a conta caixa de crédito de suprimento. As contas caixas de crédito e débito de suprimento são configuradas nos parâmetros da abertura de caixa.
- Ao realizar um suprimento deverá ser gerado um movimento de débito no subcaixa da tesouraria utilizando a conta caixa de débito de suprimento e um movimento de crédito no subcaixa do usuário utilizando a conta caixa para crédito de suprimento. As contas caixas de crédito e débito de suprimento são configuradas nos parâmetros da abertura de caixa.
RN02 - Descrição dos campos e funcionalidades da rotina de fechamento na aba Conferência cega
- Usuário: Neste campo deverá ser informado um usuário cujo caixa será fechado. Somente serão listados neste campo usuários que são operadores de caixa e que possuem caixa aberto. Uma vez que o usuário for informado o sistema preencherá automaticamente a data de abertura e os turnos conforme informado na abertura do caixa. A informação deste dado é obrigatória.
- Data de abertura: Campo somente para leitura. Será automaticamente preenchido após o usuário ser informado.
- Turno: Idem data de abertura.
- Formas de pagamento: Nestes campos o usuário/caixa deverá informar, em cada forma de pagamento, o valor correspondente às vendas do dia. Estes dados deverão ser digitados através de conferência cega, ou seja, o usuário deverá primeiro informar os valores para depois confrontar com o que o sistema calcular. À medida que os valores forem informados estes serão totalizados no campo Total à direita.
- Botão <Fechamento>: Quando este botão for acionado será exibida a aba Fechamento.
É importante ressaltar que para sangrias e suprimentos do caixa o usuário deverá manter os recibos gerados para conferência.
RN03 - Descrição dos campos e funcionalidades da rotina de fechamento na aba Fechamento
Apuração do fechamento: Nesta seção serão confrontados os valores informados na aba de conferência cega com os valores calculados pelo sistema onde:
- CALCULADO: Para o usuário/caixa em questão serão consideradas e discriminadas em cada forma de pagamento todas as vendas realizadas desde a abertura de seu caixa. Serão contabilizados também, desde a abertura do caixa, movimentos de sangria, suprimento de caixa e liquidações realizadas por este usuário. Sangrias, suprimentos e liquidações serão discriminadas em um grid logo à direita com os seguintes detalhes:
- MOVIMENTO: Indica se foi sangria, suprimento ou liquidação.
- VALOR: Valor do movimento.
- DATA/HORA: Data e hora em que o movimento foi realizado.
- MOTIVO: No caso da sangria ou suprimento será exibida a justificativa para tal movimento quando o mesmo foi realizado. Já no caso da liquidação deverá ser exibido: “Referente à liquidação do título XXXXX para o cliente XXXXX - XXXXXXXXXXXXXX”, onde X corresponde respectivamente ao código do documento liquidado, código e nome do cliente.
- INFORMADO: Os valores informados em cada forma de pagamento na aba de conferência cega serão listados nesta coluna.
- DIFERENÇA: Exibirá o valor da diferença entre o valor calculado subtraído pelo informado, seja ele positivo ou negativo. Quando a diferença for negativa o campo deverá assumir a cor de fundo vermelha.
- Observações: Neste campo poderão ser inseridas algumas observações em relação ao fechamento de caixa. As observações são livres para o usuário digitar o que desejar.
- Total calculado: Exibirá o total geral que o sistema calculou para vendas, liquidações, sangrias e suprimentos realizados no caixa do usuário em questão.
- Total informado: Exibirá o total geral que o usuário/caixa informou para vendas, sangrias e suprimentos.
- Saldo final: Exibirá a diferença da subtração de total calculado e total informado. O ideal é que o saldo final fique zerado, indicando que o fechamento do caixa bateu perfeitamente com o que o sistema calculou.
Caso o saldo final fique negativo, o campo em questão assumirá a cor de fundo vermelha.
Após realizar o fechamento de um caixa o sistema deverá imprimir os dados do mesmo, ou seja, todos os dados existentes na aba Fechamento. Na impressão deverá constar local para assinatura do operador e também do responsável pelo fechamento do caixa.
RN04 - Descrição das funcionalidades da rotina Parâmetros
Quando este botão for acionado será exibida ao usuário uma tela de configurações onde deverá ser definida uma conta caixa de crédito e também um subcaixa para geração do movimento de crédito o valor do caixa fechado.
Deverá ser exibido ao usuário um campo onde poderá ser parametrizado um percentual/valor de tolerância para quebra de caixa, seja ela negativa ou positiva. Este campo deverá ser chamado “Tolerância para quebra de caixa (positiva/negativa)”.
Ainda nesta tela deverão ser definidas uma conta caixa de débito para diferença negativa no fechamento de caixa e uma conta caixa de crédito para diferença positiva no fechamento. Para as diferenças será utilizado o mesmo subcaixa da geração de crédito com o valor de fechamento.
RN05 - Fechamento do caixa
Ocorrerá no momento em que o botão <Fechar caixa> for acionado. Neste momento o sistema deverá:
- Verificar se na aba “Conferência cega” um usuário válido foi informado. Caso usuário informado não seja válido uma mensagem com a não conformidade deverá ser exibida e o fechamento deverá ser abortado.
- Verificar se foi informado valor maior que zero para pelo menos uma forma de pagamento na aba “Conferência cega”. Se nenhum valor foi informado, uma mensagem com a não conformidade deverá ser exibida e o fechamento será abortado.
- Verificar se na aba “Fechamento” o campo “Saldo final” está com o valor zero. Se não estiver, uma mensagem de confirmação deverá ser exibida ao usuário informando que os valores calculado e informado não bateram e perguntando se ele deseja realmente fechar o caixa.
- Se todos os passos acima estiverem OK, gerar movimento de crédito na conta caixa/subcaixa especificados nos parâmetros. Se nos parâmetros do PDV o sistema estiver configurado para fechar caixa e gerar caixa para cada usuário/operador, será gerado um movimento de débito na(s) conta(s) caixa configurada(s) tendo como observação do movimento: “Referente ao fechamento do caixa do usuário XXXXXX no data/hora XX/XX/XXXX XX:XX”, sendo que X corresponde respectivamente ao nome do usuário que teve o caixa fechado e a data e hora do fechamento.
- Após fechar um caixa, atualizar seu status para FECHADO.
No fechamento, se um usuário válido que possui seu caixa em aberto foi informado, o sistema procederá conforme segue abaixo:
- Será verificado se na aba Conferência cega pelo menos uma forma de pagamento possui valor informado. Caso contrário o fechamento será abortado e uma mensagem com a não conformidade será exibida ao usuário.
- Será verificado se o saldo final do fechamento é igual a zero. Se sim, o caixa será fechado normalmente. Caso não seja, o sistema irá alertar o usuário da diferença e perguntar se deseja realmente fechar o caixa com a diferença.
- Ao fechar o caixa as seguintes movimentações serão realizadas:
- Será gerado um movimento de crédito com a conta caixa e subcaixa definidos nos parâmetros da rotina de controle de caixa.
- Será gerado movimento de crédito ou débito nas contas caixas definidas nos parâmetros para armazenar as diferenças entre calculado e informado no fechamento.
- Caso PDV esteja configurado para gerar caixa para cada venda realizada pelo usuário, será gerado nas contas caixas configuradas nos parâmetros do PDV um movimento de débito com o subcaixa determinado nos parâmetros da rotina de controle de caixa.
RN05 - Tela inicial (tela de pesquisa)
A tela inicial da rotina deverá dispor dos botões/funcionalidades:
- Sangria/Suprimento
- Fechamento de caixa
- Parâmetros
Logo abaixo deverá ser exibido um grid que listará todas as movimentações realizadas com os seguintes dados:
- TIPO MOVIMENTO: Informa se um determinado registro foi gerado a partir de uma sangria, suprimento ou fechamento de caixa.
- RESPONSÁVEL: Informa o usuário que realizou o tipo de movimento listado na primeira coluna.
- DATA/HORA: Informará a data e hora em que a última movimentação foi realizada.
- STATUS CAIXA: Informa se o caixa encontra-se aberto ou fechado.
- USUÁRIO/CAIXA: Informa o usuário responsável pelo caixa.
- DATA ABERTURA: Informa a data de abertura do caixa.
- DATA FECHAMENTO: Se o caixa já foi fechado, informa a data de fechamento do mesmo.
- OBSERVAÇÕES: No caso de sangria e suprimento, informa o motivo da movimentação. Para fechamento, informa às observações que foram gravadas no mesmo.
Na última coluna do grid além das opções de alteração, visualização e exclusão, deverão estar disponíveis (somente para Controle de caixa) opções que permitam ao usuário realizar sangria/suprimento ou fechar um determinado caixa. Obviamente, se um caixa já foi fechado à opção de sangria/suprimento não ficará habilitada.
O grid deverá ordenar seus registros de forma decrescente pela data da ultima movimentação.
RN06 - Validações gerais
- As telas de sangria/suprimento e de fechamento deverão considerar/exibir somente movimentações de data menor ou igual à data de login do usuário. Desta forma se o usuário logar com data retroativa ele não corre o risco visualizar/alterar movimentações futuras.