invoice.overdue
Un recibo pendiente pasó su fecha de vencimiento sin pago.
Payload
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
The invoice ID.
The human-readable invoice number.
Always "outstanding" for this event.
ISO 8601 start of the billing period.
ISO 8601 end of the billing period.
ISO 8601 date the invoice was issued.
ISO 8601 date the invoice was due — now in the past.
The invoice currency code.
Subtotal in cents (100 = $1.00).
Total in cents (100 = $1.00).
The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.
The subscription ID, if the invoice is linked to a subscription.
{
"event": "invoice.overdue",
"timestamp": "2026-05-02T06:00:00.000Z",
"organizationId": "org_abc123",
"mode": "live",
"apiVersion": "2026-05-25",
"data": {
"invoiceId": "inv_n4o5p6",
"invoiceNumber": "INV-0043",
"invoiceStatus": "outstanding",
"periodStart": "2026-04-25T00:00:00.000Z",
"periodEnd": "2026-05-25T00:00:00.000Z",
"issueDate": "2026-04-25T00:00:00.000Z",
"dueDate": "2026-04-25T00:00:00.000Z",
"currency": "usd",
"subtotal": 9900,
"total": 9900,
"customerId": "user_123",
"subscriptionId": "sub_1a2b3c4d"
}
}Cuándo se dispara
Un escaneo diario encuentra recibos pendientes cuya dueDate está en el pasado y emite este evento una vez por recibo. La clave de idempotencia se deriva del recibo, por lo que volver a ejecutar el escaneo nunca envía un duplicado.
El recibo mantiene su estado "outstanding" — estar vencido es un hecho sobre la fecha de vencimiento, no un estado nuevo. Si el recibo se paga o se anula más adelante, payment.received o invoice.voided reflejan el resultado.
Úsalo para iniciar tu propio flujo de dunning: enviar un correo al cliente, mostrar un banner en la app o marcar la cuenta para seguimiento.
¿Cómo está esta guía?