Cada factura tiene una due_date establecida cuando se emitió (predeterminada: issue_date + net_terms, normalmente 30 días). A las 6 AM cada día corre un cron de Postgres:
UPDATE invoices SET status='overdue'
WHERE status='sent' AND due_date < current_date; Tres cosas pasan automáticamente
- El estado cambia de
sentaoverdue - Una fila aterriza en
notification_eventsconkind='invoice_overdue'apuntando al correo del propietario de facturación del cliente - En menos de 60 segundos, el drainer
send-notificationslee esa fila y envía un correo vía Resend (asunto: "La factura #N está vencida")
Lo que ve su administrador
- La factura ahora aparece en la pestaña Vencidas en su vista de Facturas
- El banner de saldo pendiente en la parte superior de cada página lo refleja
- Resumen semanal opcional con todas las facturas vencidas (BACKLOG)
Lo que ve el cliente
- Si tiene acceso al portal de cliente, la factura también aparece en su pestaña Vencidas
- El banner de saldo pendiente en la parte superior de SU portal lo refleja
- Reciben la notificación por correo que acabamos de enviar
Marcarla como pagada
Dos rutas:
- Manual — el administrador hace clic en "Marcar como Pagada" en la factura. Establece
amount_paid = total,paid_at = now(), el estado cambia apaid. - Webhook de QuickBooks — si QBO está conectado, cuando USTED registra el pago en QBO, Intuit dispara un webhook de regreso a TradelyHQ y nosotros cambiamos el estado automáticamente.
Suprimir el marcado automático
Si por alguna razón quiere que una factura se mantenga en sent incluso después de la fecha de vencimiento (por ejemplo, otorgó una extensión), marque la casilla "No marcar automáticamente como vencida" en la factura. El cron la salta.