Cargos y cobros
Cómo se cobra un cargo (total o parcial), por qué la mora se paga primero y cómo revertir un cobro mal hecho.
El cargo es lo que el cliente te debe por un período. El cobro es cuando paga. Este es el único punto de todo el módulo donde se mueve dinero de verdad.
Antes de cobrar: la caja tiene que estar abierta
Cobrar un servicio exige una sesión de caja abierta. Si está cerrada, el cobro se rechaza con un aviso claro y un atajo para abrirla. No es un capricho: cada cobro entra a la caja del turno y tiene que quedar en el arqueo de alguien.
Es el mismo gate que los abonos de préstamos. Abrir la caja es lo primero del día.
Cómo se cobra
- Abre el detalle del servicio.
- En el historial de cargos, busca el cargo pendiente y pulsa Cobrar.
- La hoja de cobro te muestra tres cifras del cargo, calculadas al momento:
- Base pendiente: lo que queda del monto del servicio.
- Mora proyectada: el recargo por atraso, si aplica.
- Total a cobrar: la suma de las dos. Viene rellenada por defecto.
- Confirma. El monto entra a caja y se registra el ingreso.
Necesitas el permiso services:collect.
La mora se cobra PRIMERO
Esta es la regla que más confusión genera, así que dicho de frente: cuando el cliente no paga todo, lo que entra se aplica primero a la mora y solo lo que sobre baja la base.
Nunca vas a quedar con "mora pendiente y base saldada". Es al revés: primero se limpia lo que se le exigió por atrasarse, y la deuda que queda viva es la del servicio.
La mora ya cobrada no se vuelve a cobrar
El sistema lleva la cuenta de cuánta mora ya te pagó el cliente por ese cargo y la descuenta del recargo que calcula después. Si en un abono le cobraste RD$150 de mora, en el siguiente cobro esos RD$150 no se le vuelven a exigir: solo se le exige lo que se haya acumulado de más desde entonces.
Un ejemplo completo, en pesos
Contrato: RD$ 2,000.00 mensuales, 10 días de gracia, tasa de mora del negocio 0.5 % diario (mira Mora en servicios para configurarla).
El cargo vence el 1 de junio y el cliente no aparece.
Cobro #1: 26 de junio (pago parcial de RD$ 500.00)
Concepto | Cálculo | Monto |
|---|---|---|
Días de atraso | 25 días desde el vencimiento | 25 |
Días que cobran mora | 25 − 10 de gracia | 15 |
Base pendiente | El cargo completo, nada cobrado aún | RD$ 2,000.00 |
Mora exigida | 2,000.00 × 0.5 % × 15 días | RD$ 150.00 |
Total a cobrar hoy | 2,000.00 + 150.00 | RD$ 2,150.00 |
El cliente solo trae RD$ 500.00. Aplicando mora primero:
| Monto |
|---|---|
A mora | RD$ 150.00 (se paga completa) |
A base | RD$ 350.00 (lo que sobró) |
Base que queda pendiente | RD$ 1,650.00 |
El cargo pasa a Parcial.
Cobro #2: 1 de julio
Concepto | Cálculo | Monto |
|---|---|---|
Días que cobran mora | 30 − 10 de gracia | 20 |
Base pendiente | Lo que quedó | RD$ 1,650.00 |
Mora acumulada | 1,650.00 × 0.5 % × 20 días | RD$ 165.00 |
Menos la mora ya cobrada | − RD$ 150.00 |
|
Mora que se le exige hoy | 165.00 − 150.00 | RD$ 15.00 |
Total a cobrar hoy | 1,650.00 + 15.00 | RD$ 1,665.00 |
Paga los RD$ 1,665.00 → el cargo queda Pagado.
Cuadre final: el cliente pagó 500.00 + 1,665.00 = RD$ 2,165.00, que son los RD$ 2,000.00 del servicio más RD$ 165.00 de mora. Ni un peso de más.
Fíjate en el detalle fino: la mora del segundo cobro no es "150 anteriores + algo". El recargo se recalcula sobre el saldo que quedaba (RD$1,650, no RD$2,000) y de ahí se resta lo que ya se cobró. Cobrar bajando la base abarata la mora futura.
Pago parcial: hay que confirmarlo
Si escribes un monto menor al total adeudado, el sistema no lo acepta a la ligera: te obliga a marcar la casilla Pago parcial y además exige el permiso services:partial-payment.
Es un seguro contra el error de dedo: si querías cobrar RD$2,150 y escribiste RD$215, el sistema te frena en vez de dejar el cargo mal saldado.
Si no tienes ese permiso, la casilla ni siquiera aparece y solo puedes cobrar el total.
Cobrar de más: imposible
Si intentas cobrar más de lo adeudado, se rechaza. No existe el "saldo a favor" en un cargo: si el cliente adelanta dinero, cóbralo contra el cargo del período siguiente cuando se emita.
Condonar la mora
Con el permiso services:override-mora verás un interruptor Condonar mora en la hoja de cobro. Al activarlo, la mora exigida baja a cero y solo cobras la base.
La mora condonada queda registrada (se ve en el cargo, para auditoría), pero no se contabiliza como ingreso: nunca la cobraste.
Qué pasa en la contabilidad
Cada cobro genera un asiento en el momento (base de caja: no se contabiliza nada al emitir un cargo, solo al cobrar):
Cuenta | Debe | Haber |
|---|---|---|
Caja (1101) | Total recibido |
|
Ingresos por servicios (4103) |
| Lo aplicado a la base |
Ingresos por mora (4102) |
| Lo aplicado a la mora |
Con el ejemplo de arriba, el cobro #1 sería: Caja RD$500.00 al debe; servicios RD$350.00 y mora RD$150.00 al haber. Siempre cuadra, porque el total es base + mora por construcción.
Además, el cobro queda como un movimiento de entrada en la caja del turno, así que aparece en tu arqueo al cerrar.
La contabilidad no es opcional aquí. Si el módulo de contabilidad no está aprovisionado, el cobro se rechaza por completo: no se registra el pago y la caja no se mueve. No existe un "cobro sin asiento". Es la misma regla que rige el desembolso de un préstamo. Ver El ledger de partida doble.
Revertir un cobro
¿Registraste un cobro que no era? En el detalle del servicio, entra al historial de pagos del cargo y pulsa Revertir.
Al revertir:
- Se genera el contra-asiento contable y sale el dinero de la caja.
- Los acumuladores del cargo vuelven atrás y el cargo se reabre (vuelve a Pendiente o Parcial según lo que quede pagado).
- El pago queda marcado como revertido, no borrado: el rastro se conserva.
Reglas:
- También exige la caja abierta.
- Un pago solo se puede revertir una vez.
- Puedes revertir cualquier pago del cargo, no hace falta que sea el último.
- Si la caja no tiene efectivo suficiente para devolver ese cobro (quedaría en negativo), la reversa se bloquea.
- Un cargo anulado (por cancelación del contrato) no revive al revertir un cobro suyo: la contabilidad se corrige, pero el cargo sigue anulado.
Reintentos y doble cobro
Si la conexión falla y le das a Cobrar dos veces, no se cobra doble. Cada envío del formulario lleva una marca única; si el servidor ya procesó ese cobro, el reintento no crea un segundo pago.
Errores frecuentes
Mensaje | Qué significa |
|---|---|
No hay una sesión de caja abierta | Abre la caja antes de cobrar |
El cargo tiene estado …; no admite cobro | Ese cargo ya está pagado o fue anulado |
El monto supera lo adeudado | Estás cobrando de más |
Confirme con partial=true | El monto es menor al total: marca "Pago parcial" |
Falta el permiso services:partial-payment | Solo puedes cobrar el total; pide el permiso |
Falta el permiso services:override-mora | No puedes condonar mora |
Este cobro ya fue revertido | No se revierte dos veces |
La caja no tiene saldo suficiente para revertir | Entra efectivo a la caja o revierte en otro turno |
La contabilidad no está aprovisionada | Sin el módulo contable activo no se puede cobrar; el cobro se rechaza entero |