Invoices
Las Invoices permiten emitir, enviar y gestionar facturas de clientes de forma programática. Cada factura genera un enlace de pago alojado y puede enviarse automáticamente por correo electrónico. Está vinculada a un Customer y puede contener una o varias líneas de productos.
El flujo estándar es: crear una factura (draft) → finalizar → enviar
por correo electrónico → esperar el pago (paid).
Ciclo de vida
| Estado | Significado | Acción disponible |
|---|---|---|
draft | Borrador: modificable, no enviada. | /finalize/ para pasar a open. |
open | Finalizada: enlace de pago activo. | /send/, /pay/, /void/. |
paid | Pagada: pago recibido. | Ninguna acción posible. |
void | Anulada: enlace desactivado. | Crear una nueva Invoice. |
uncollectible | Declarada incobrable. | Solo acción manual. |
Endpoints
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /invoices/ | Crear una factura (estado draft) |
| GET | /invoices/ | Listar las facturas |
| GET | /invoices/{id}/ | Recuperar una factura |
| PATCH | /invoices/{id}/ | Modificar una factura draft |
| POST | /invoices/{id}/finalize/ | Finalizar (draft → open) |
| POST | /invoices/{id}/send/ | Enviar por correo electrónico al Customer |
| POST | /invoices/{id}/void/ | Anular una factura open |
| POST | /invoices/{id}/pay/ | Marcar como pagada manualmente |
Esquema del objeto
Crear una Invoice
Crea una factura en estado draft. En esta fase es totalmente
modificable. No se envía ningún correo electrónico y no hay ningún enlace de pago activo.
customerRequisID del Customer destinatario de la factura. El correo electrónico y el nombre del Customer se utilizarán en la factura en PDF y en el correo de envío.
line_itemsRequisLíneas de facturación. Cada línea contiene un producto o un importe libre, una cantidad y un precio.
Cada elemento debe contener: product (ID de un Product existente)
o bien description + unit_amount para una
línea libre. quantity es un entero positivo (por defecto: 1). El IVA se
calcula automáticamente según la configuración de su App.
currencyOptionnelCódigo de moneda de la factura. Por defecto, se utiliza la moneda principal de su App.
due_dateOptionnelFecha de vencimiento del pago. Se muestra en la factura en PDF y en el correo de envío.
En savoir plus
Si no se indica, el vencimiento se fija 30 días después de la fecha de
finalización (no de creación). Pasado el vencimiento, la factura
sigue en open: Sangho no envía recordatorios automáticos. Puede
implementar recordatorios mediante los webhooks invoice.payment_overdue.
descriptionOptionnelAsunto o descripción de la factura. Aparece en el encabezado de la factura en PDF y en el correo.
metadataOptionnelDatos libres: referencia de orden de compra, número de contrato, etc.
Finalizar, Enviar, Anular
Finalizar (/finalize/): bloquea la factura y
genera el enlace de pago. La factura pasa a open. Las líneas y el
importe ya no se pueden modificar.
Enviar (/send/): envía la factura por correo electrónico al
Customer con el enlace de pago y el PDF adjunto. Se puede llamar
varias veces (recordatorio manual).
Puede llamar a /finalize/ y después a /send/ inmediatamente
a continuación. O bien pasar auto_send: true en el cuerpo de /finalize/ para activar el envío automáticamente al finalizar.
Anular (/void/): invalida definitivamente la factura.
El enlace de pago se desactiva. Es irreversible: cree una nueva Invoice si es
necesario.