Pular para o conteúdo principal

Credito e Cashback

O sistema de Credito e Cashback permite que clientes tenham saldos disponiveis para uso em compras futuras.

Visao Geral

TipoDescricaoOrigem
CreditoValor pre-pago pelo clienteDeposito antecipado, devolucao
CashbackValor devolvido ao clienteBonificacao por compras

Ambos funcionam como "carteira digital" do cliente dentro do petshop.

Credito do Cliente

O que e Credito

Credito e um valor que o cliente tem disponivel para usar em compras. Funciona como um pre-pagamento ou conta corrente do cliente no petshop.

Origens de Credito

OrigemDescricao
DepositoCliente deposita valor antecipadamente
DevolucaoValor de troca/devolucao de produto
EstornoCancelamento de compra paga
BonificacaoPremio ou compensacao

Transacoes de Credito

Cada movimentacao gera uma CreditTransaction:

CampoTipoDescricao
valueMonetarioValor da transacao (sempre positivo)
signalSelecao"credit" (entrada) ou "debit" (saida)
signal_valueMonetarioValor com sinal (+ ou -)
descriptionTextoDescricao da transacao
created_atData/HoraMomento da transacao

Saldo de Credito

O campo credit_value do cliente e calculado:

credit_value = SOMA(signal_value de todas as credit_transactions)

Onde:

  • signal = "credit" → signal_value positivo
  • signal = "debit" → signal_value negativo

Fluxo de Credito

Cashback

O que e Cashback

Cashback e um valor devolvido ao cliente como recompensa por compras. Incentiva a fidelidade e retorno do cliente.

Como Funciona

  1. Cliente realiza compra
  2. Sistema calcula cashback (% do valor ou regra customizada)
  3. Cashback e creditado apos confirmacao do pagamento
  4. Cliente pode usar em compras futuras

Transacoes de Cashback

Cada movimentacao gera uma CashbackTransaction:

CampoTipoDescricao
valueMonetarioValor da transacao
signalSelecao"credit" (ganhou) ou "debit" (usou)
signal_valueMonetarioValor com sinal
descriptionTextoDescricao
sale_idReferenciaVenda que gerou o cashback

Saldo de Cashback

O campo cashback_value do cliente e calculado:

cashback_value = SOMA(signal_value de todas as cashback_transactions)

Fluxo de Cashback

Uso no Checkout

Aplicacao de Credito/Cashback

No checkout de uma venda:

  1. Sistema mostra saldo disponivel (credito + cashback)
  2. Operador seleciona valor a usar
  3. Sistema cria transacoes de debito
  4. Valor e abatido do total da venda

Validacoes

RegraDescricao
Saldo suficienteNao pode usar mais do que tem
Valor positivoValor a usar deve ser > 0
Venda abertaSo pode usar em vendas nao finalizadas

Visualizacao no Perfil

Exibicao dos Saldos

No perfil do cliente sao exibidos:

CampoCorDescricao
credit_valueVerdeSaldo de credito disponivel
cashback_valueAzulSaldo de cashback disponivel
pending_valueVermelhoValores pendentes de pagamento

Historico de Transacoes

Clicando nos saldos, o usuario pode ver:

  • Lista de todas as transacoes
  • Data e hora de cada movimentacao
  • Descricao e origem
  • Vendas relacionadas (se aplicavel)

Permissoes

Credito

AcaoPermissao
Ver saldocredit_transaction.view_all/view_own
Emitir creditocredit_transaction.create
Usar creditocredit_transaction.use
Editarcredit_transaction.edit_all/edit_own

Cashback

AcaoPermissao
Ver saldocashback_transaction.view_all/view_own
Emitir cashbackcashback_transaction.create
Usar cashbackcashback_transaction.use
Editarcashback_transaction.edit_all/edit_own

Regras de Negocio

Credito

  1. Saldo nunca negativo: Sistema impede uso acima do saldo
  2. Transacoes imutaveis: Nao se edita, cria-se nova transacao
  3. Rastreabilidade: Toda transacao tem origem identificavel
  4. Multi-uso: Pode ser usado parcialmente em varias compras

Cashback

  1. Vinculo com venda: Cashback gerado sempre tem sale_id
  2. Calculo configuravel: Regras definidas por Account
  3. Nao expira: Cashback nao tem validade
  4. Cumulativo: Valores se acumulam indefinidamente

Configuracao de Cashback

Regras de Calculo

O cashback pode ser configurado por:

CriterioExemplo
Percentual fixo2% de todas as compras
Por categoria5% em racao, 3% em acessorios
Por valor minimoCashback so acima de R$ 100
Por tipo de clienteVIP ganha mais cashback

Momento do Credito

OpcaoDescricao
ImediatoAo finalizar a venda
Apos pagamentoQuando pagamento e confirmado
Apos carenciaX dias apos a compra

Atualizacao de Saldos

Metodos de Calculo

MetodoComportamento
set_credit_valueCalcula e armazena em memoria
set_credit_value!Calcula e persiste no banco
set_cashback_value!Calcula e persiste no banco

Quando Atualizar

Os saldos sao recalculados:

  • Ao criar transacao
  • Ao acessar perfil do cliente
  • Em jobs de reconciliacao
  • Ao gerar relatorios

Integracao com Outros Modulos

PDV

  • Uso como forma de pagamento
  • Geracao de cashback em vendas
  • Debito automatico no checkout

Financial

  • Transacoes refletem no fluxo de caixa
  • Credito e um passivo (divida com cliente)
  • Cashback e uma despesa de marketing

Restricoes

  1. Saldo nao negativo: Nunca pode ficar abaixo de zero
  2. Unico por Account: Saldo e por cliente por Account
  3. Nao transferivel: Saldo nao pode ser transferido entre clientes
  4. Nao monetizavel: Nao pode ser convertido em dinheiro (saque)
  5. Vinculo obrigatorio: Transacoes sempre vinculadas ao cliente