Saltar al contenido principal

Créditos

El sistema de créditos permite agregar saldo en la cuenta del cliente que se aplica automáticamente en facturas futuras.

Tipos de Crédito​

TipoDescripción
promotionalCréditos promocionales (pueden expirar)
adjustmentAjustes administrativos de saldo
refundCrédito generado por reembolso
manualAdición manual de crédito

Campos del Crédito​

CampoDescripción
Cuenta de cobroCliente que recibe el crédito
EmpresaEmpresa emisora (para alcance de aplicación)
TipoTipo del crédito
Valor (centavos)Valor total del crédito
Valor restanteSaldo aún no utilizado
DescripciónMotivo o descripción del crédito
Expira enFecha de expiración (null = nunca expira)

Aplicación Automática de Créditos​

Cuando una factura es finalizada, el sistema aplica créditos automáticamente usando la estrategia FIFO:

Orden de Aplicación​

  1. Créditos que expiran más pronto (prioridad para evitar pérdida)
  2. Créditos más antiguos (cuando la fecha de expiración es igual)

Reglas de Alcance por Empresa​

  • Si la factura tiene empresa: aplica créditos de la misma empresa y créditos sin empresa
  • Si la factura no tiene empresa: aplica solo créditos sin empresa

Proceso (en transacción atómica)​

  1. Busca créditos no expirados con saldo disponible
  2. Para cada crédito: aplica el mínimo entre (saldo del crédito, valor restante de la factura)
  3. Crea registro de CreditApplication para trazabilidad
  4. Actualiza el saldo del crédito y de la factura
  5. Si la factura fue totalmente pagada: marca como paid
  6. Actualiza el balanceCents de la cuenta de cobro

Restauración de Créditos​

Cuando una factura es anulada (void), todos los créditos aplicados son restaurados:

  • Cada crédito tiene su saldo restante incrementado
  • Los registros de CreditApplication son eliminados
  • La factura vuelve al status open
  • El saldo de la cuenta de cobro es actualizado

Expiración de Créditos​

Los créditos con fecha de expiración son automáticamente reducidos a cero cuando la fecha pasa:

  • El amountRemaining se define como 0
  • El saldo de la cuenta de cobro es reducido

Operaciones​

  • Agregar crédito: Crea crédito e incrementa el saldo de la cuenta
  • Ajustar saldo: Agrega o sustrae créditos
  • Crédito de reembolso: Crea crédito del tipo refund
  • Crédito promocional: Crea crédito con expiración opcional
  • Eliminar crédito: Solo si nunca fue utilizado (saldo restante = valor total)
  • Consultar saldo disponible: Retorna total disponible, créditos activos y créditos por expirar