BunnyDoc
API

API de facturación

Todavía no existe una API pública de facturación. Esto es lo que puedes automatizar hoy en facturas, presupuestos y gastos, y lo que está por llegar.

Todavía no disponible

No hay endpoints públicos para facturas, presupuestos, notas de crédito, facturas recurrentes, inventario ni gastos. https://api2.bunnydoc.com/v1 solo sirve hoy la API de firma electrónica. Cualquier cosa que leas sobre llamar a /v1/invoices no es algo que ofrezcamos.

La facturación se gestiona en la aplicación. Si estás planificando una integración, esto es exactamente lo que es y no es posible ahora mismo, para que puedas diseñar con ello en mente en lugar de descubrirlo a mitad del desarrollo.

Qué puedes automatizar hoy

Recibir eventos de facturación por webhook

Es el único punto de enganche programático con la facturación y, para la mayoría de integraciones, el importante: permite que tu sistema reaccione a un pago sin hacer polling.

Se configura en la aplicación en Configuración → Webhooks, eligiendo Facturación como producto. No puedes crear estas suscripciones mediante la API (/v1/webhooks solo gestiona suscripciones de firma electrónica), pero una vez registradas se entregan igual que los webhooks de firma electrónica: misma envoltura, misma firma HMAC, mismo comportamiento de reintento y desactivación automática.

EventoSe dispara cuando
invoice.issuedSe emitió una factura.
invoice.sentSe envió una factura al cliente.
invoice.viewedEl cliente abrió la factura.
invoice.partially_paidSe aplicó un pago parcial.
invoice.paidUna factura se pagó por completo.
invoice.voidedSe anuló una factura.
invoice_payment.succeededUn pago contra una factura tuvo éxito.
invoice_payment.failedUn pago contra una factura falló.
invoice_payment.refundedSe reembolsó un pago contra una factura.
expense.confirmedUn gasto se confirmó y salió de borrador.
expense.ocr_completedEl OCR terminó de extraer datos de un recibo.
expense.ocr_failedEl OCR no pudo extraer datos de un recibo.

Los webhooks de facturación se habilitan por separado de los de firma electrónica, y todos los eventos anteriores están en el nivel estándar de facturación.

No existe el evento invoice.overdue

"Vencida" es un filtro calculado (due_date en el pasado), no un estado almacenado: nada hace que una factura transicione a él, así que ese evento nunca podría dispararse. Controla los vencimientos por tu parte a partir de invoice.issued o invoice.sent.

Para verificar firmas, gestionar reintentos y entender la envoltura de entrega, usa la guía de webhooks: las secciones 2 a 5 se aplican a cualquier suscripción, sea del producto que sea.

Cobrar dentro de un documento que se está firmando

Si lo que realmente quieres es "cobrar al cliente cuando firme", eso es firma electrónica, no facturación, y está plenamente disponible mediante la API. Coloca un bloque de pago en la plantilla, envíala con POST /v1/envelopes/from-template y suscríbete a payment.succeeded.

Sacar los datos de la aplicación

  • Los informes se pueden exportar a CSV/XLSX: consulta Informes.
  • Los correos de recibo y la página pública de pago cubren el lado del cliente sin ningún trabajo de integración. Consulta La página pública de pago.

Qué todavía no es posible

  • Crear, emitir, enviar o anular una factura de forma programática.
  • Leer datos de facturas, presupuestos o notas de crédito por HTTP.
  • Gestionar productos, stock, categorías, descuentos o tipos de impuesto.
  • Crear o leer gastos. (Los gastos sí se pueden crear enviando recibos por correo a tu bandeja de gastos — consulta Bandeja de entrada por correo — lo que es un sustituto práctico de una API de ingesta.)

Relacionado

En esta página