Pular para o conteúdo principal

Cashier (Caixa)

O Cashier representa um caixa do PDV, controlando abertura, fechamento, sangrias e suprimentos.

Descricao

O caixa e o ponto de operacao do PDV. Ele controla o saldo em dinheiro, registra movimentacoes e permite o fechamento com conferencia de valores.

Dados

Informacoes do Caixa

CampoTipoObrigatorioDescricao
nameTextoSimNome do caixa (ex: "Caixa 1")
statusSelecaoSim"open" ou "closed"
opening_valueMonetarioSimValor de abertura
opening_date_timeDataHoraAutoData/hora da abertura
closing_date_timeDataHoraAutoData/hora do fechamento

Valores Calculados

CampoTipoDescricao
current_balanceMonetarioSaldo atual em dinheiro
expected_balanceMonetarioSaldo esperado (calculado)
total_salesMonetarioTotal de vendas no periodo
total_withdrawalsMonetarioTotal de sangrias
total_depositsMonetarioTotal de suprimentos

Relacionamentos

Pertence a

EntidadeObrigatorioDescricao
AccountSimConta do petshop
StoreSimFilial
UserSimOperador responsavel

Possui

EntidadeDescricao
CashierTransactionsMovimentacoes do caixa
CashierBalancesFechamentos realizados
CashierDivergencesDivergencias encontradas

Ciclo de Vida

Estados

StatusDescricaoOperacoes Permitidas
closedCaixa fechadoAbrir
openCaixa em operacaoVender, sangria, suprimento, fechar

Abertura de Caixa

Processo

  1. Informar valor de abertura (fundo de caixa)
  2. Sistema registra data/hora
  3. Status muda para "open"
  4. Cria CashierTransaction tipo "opening"

Validacoes

  • Caixa deve estar fechado
  • Valor de abertura deve ser >= 0
  • Usuario deve ter permissao

Fechamento de Caixa

Processo

  1. Usuario informa valor contado
  2. Sistema calcula valor esperado
  3. Compara e registra divergencia (se houver)
  4. Cria CashierBalance com resumo
  5. Status muda para "closed"

Calculo do Saldo Esperado

saldo_esperado = abertura
+ vendas_dinheiro
+ suprimentos
- sangrias

Tratamento de Divergencia

SituacaoAcao
Contado > EsperadoRegistra sobra
Contado < EsperadoRegistra falta
Contado = EsperadoSem divergencia

Sangria

Descricao

Retirada de dinheiro do caixa durante o expediente.

Dados

CampoTipoObrigatorio
valueMonetarioSim
reasonTextoSim
date_timeDataHoraAuto

Validacoes

  • Caixa deve estar aberto
  • Valor deve ser > 0
  • Valor nao pode exceder saldo atual

Efeito

  • Diminui current_balance
  • Cria CashierTransaction tipo "withdrawal"

Suprimento

Descricao

Adicao de dinheiro ao caixa durante o expediente.

Dados

CampoTipoObrigatorio
valueMonetarioSim
reasonTextoSim
date_timeDataHoraAuto

Validacoes

  • Caixa deve estar aberto
  • Valor deve ser > 0

Efeito

  • Aumenta current_balance
  • Cria CashierTransaction tipo "deposit"

CashierTransaction (Movimentacao)

Tipos

TipoDescricaoEfeito no Saldo
openingAbertura+ valor
saleVenda em dinheiro+ valor
withdrawalSangria- valor
depositSuprimento+ valor
closingFechamentoZera

Dados

CampoTipoDescricao
typeSelecaoTipo da movimentacao
valueMonetarioValor movimentado
date_timeDataHoraData/hora da operacao
descriptionTextoDescricao/motivo
user_idReferenciaOperador

CashierBalance (Fechamento)

Descricao

Registro do fechamento do caixa com resumo de valores.

Dados

CampoTipoDescricao
opening_valueMonetarioValor de abertura
sales_valueMonetarioTotal de vendas
withdrawals_valueMonetarioTotal de sangrias
deposits_valueMonetarioTotal de suprimentos
expected_valueMonetarioSaldo esperado
counted_valueMonetarioSaldo contado
divergence_valueMonetarioDiferenca
opening_date_timeDataHoraAbertura
closing_date_timeDataHoraFechamento

Resumo por Metodo

O fechamento tambem inclui totais por metodo de pagamento:

MetodoTotal
DinheiroR$ X
DebitoR$ Y
CreditoR$ Z
PIXR$ W

CashierDivergence (Divergencia)

Descricao

Registro de diferenca entre valor esperado e contado.

Dados

CampoTipoDescricao
typeSelecao"surplus" (sobra) ou "shortage" (falta)
valueMonetarioValor da divergencia
statusSelecao"pending" ou "solved"
resolutionTextoDescricao da resolucao

Estados

StatusDescricao
pendingAguardando resolucao
solvedDivergencia resolvida/justificada

Integracao com Vendas

Registro de Venda em Dinheiro

Quando venda e paga em dinheiro:

  1. Cria CashierTransaction tipo "sale"
  2. Valor = pagamento em dinheiro
  3. Aumenta current_balance

Troco

Troco e calculado no Checkout, nao afeta o caixa diretamente (valor registrado e o recebido, nao o troco).

Relatorios

Movimentacoes do Periodo

Lista todas as transacoes entre abertura e fechamento:

  • Tipo, valor, data/hora
  • Vendas associadas (se aplicavel)
  • Usuario responsavel

Resumo de Fechamento

Exibe:

  • Periodo (abertura a fechamento)
  • Totais por tipo de movimentacao
  • Totais por metodo de pagamento
  • Divergencia (se houver)

Permissoes

AcaoPerfis Tipicos
Abrir caixaOperador, Gerente
Fechar caixaOperador, Gerente
Fazer sangriaGerente
Fazer suprimentoGerente
Ver relatoriosGerente, Admin
Resolver divergenciaGerente, Admin

Validacoes de Operacao

Venda

  • Para registrar venda, caixa do usuario deve estar aberto
  • Se nao ha caixa aberto, sistema solicita abertura

Multiplos Caixas

  • Cada usuario pode ter apenas um caixa aberto por vez
  • Filial pode ter multiplos caixas abertos (usuarios diferentes)