Integrar cal.com con verifactu o ticketbai

Para integrar Cal.com con VeriFactu o TicketBAI, conecto la reserva y el pago con un sistema de facturación fiscal. Cal.com recibe la reserva; Stripe confirma el cobro; y el sistema fiscal emite la factura. El recibo de Stripe no la sustituye.

Antes de activarlo, compruebo qué régimen te corresponde y preparo estos pasos:

  • Datos fiscales y emisión: recojo los datos del cliente, configuro el IVA y la numeración y emito desde un pago confirmado en el servidor.
  • Control de errores: vinculo reserva, pago y factura, evito duplicados y reviso los envíos pendientes o rechazados.
  • Entrega y devoluciones: guardo la factura y su entrega; si procede un reembolso, tramito también la rectificación.
  • Pruebas y seguimiento: pruebo el circuito antes del lanzamiento y reviso las incidencias cada día.

A 6 de octubre de 2026, los plazos de adaptación en territorio común son el 1 de enero de 2027 para sociedades y el 1 de julio de 2027 para autónomos sujetos a estas obligaciones. Para TicketBAI, consulto los requisitos de la hacienda foral correspondiente.

Mi regla es sencilla: <u>cobrar no equivale a facturar</u>. Por eso, mantengo separados los estados del pago, la factura y el resultado fiscal.

Cal.com con VeriFactu o TicketBAI: de la reserva a la factura

Cal.com con VeriFactu o TicketBAI: de la reserva a la factura

Configura los pagos y los datos de facturación

Antes de activar los cobros, comprueba que los datos fiscales sean correctos tanto en Stripe como en el sistema de facturación. Configura una numeración correlativa, única y cronológica, con una serie aparte para las facturas rectificativas, y define el IVA aplicable al servicio.

Si un tercero realiza el envío fiscal, utiliza un certificado electrónico español y, cuando proceda, un acuerdo de colaboración social. Con estos datos preparados, puedes activar el cobro y vincular cada reserva con su factura.

Configura eventos de pago en Cal.com

Conecta Stripe desde Apps o Payments y activa los pagos en los tipos de evento que elijas. Fija el precio en euros (€) y decide si cobrarás el importe completo o un anticipo. Si cobras un anticipo, emite la factura en el momento del cobro.

Recoge los datos de facturación del cliente

Tras activar el cobro, añade campos personalizados en los ajustes avanzados del formulario de reserva. Marca los datos fiscales como obligatorios para emitir una factura completa o si el importe supera los 400 € con impuestos.

Vincula los campos con el destinatario de la factura y la descripción del servicio para transferir los datos sin intervención manual. Antes de enviarlos, normaliza el NIF/CIF: en mayúsculas y sin espacios.

Comprueba los requisitos del conector de facturación

Antes de automatizar la emisión, comprueba que el conector genere los registros exigidos, el encadenado/hash, la firma cuando proceda y el QR.

Revisa qué datos de Stripe necesita el conector y confirma que el flujo de Cal.com los entrega para convertir el pago en una factura fiscal válida. Para evitar facturas duplicadas, define qué sistema controla la numeración y cuál inicia la emisión una vez confirmado el pago en Stripe.

Crea facturas a partir de pagos confirmados

Elige una vía de integración

Cuando el pago esté confirmado y hayas recogido los datos fiscales, define cómo los enviarás al sistema de facturación.

Usa Stripe Verifactu Connector como capa fiscal para los pagos ya confirmados en Stripe. Si Cal.com necesita campos o reglas propias, añade una capa intermedia que relacione la reserva, el cobro y la factura.

ArquitecturaCuándo usarlaQué debes verificar
Conector fiscal gestionadoReservas pagadas con un flujo estándarQue reciba el evento de pago y los datos fiscales
Capa intermedia mediante APICampos personalizados o reglas complejasEl mapeo de datos, las credenciales y la validación previa
Revisión manualErrores, datos incompletos o incidenciasQue se revise el caso antes de emitir

Vincula los identificadores de reserva, pago y factura

Guarda la relación entre el ID de reserva de Cal.com, el PaymentIntent de Stripe y el identificador final de la factura, junto con su serie y número. Si el conector devuelve un hash y un QR, consérvalos también. Así podrás seguir el rastro técnico de cada operación.

Si falta algún dato, deja la factura en borrador y envíala a revisión. Guarda el estado de la reserva, del pago y de la factura en un índice interno o una base de datos para poder auditar cada caso.

Define los eventos de emisión y evita duplicados

Emite la factura solo a partir de eventos verificados en el servidor, como payment_intent.succeeded, no desde la pantalla de confirmación.

Aplica idempotencia tanto por pago como por emisión: si un evento se repite, el sistema debe recuperar la factura existente en vez de crear otra. Registra cada intento de emisión y cada error para revisarlos después.

Distingue entre un cobro completo, un anticipo y varios pagos de una misma reserva. Cada cobro debe quedar asociado a su documento correspondiente.

Una vez emitida la factura y vinculada al pago, registra su envío y su estado fiscal.

Controla las facturas y los registros fiscales

Controla los envíos y entrega las facturas

Una vez emitida la factura, lleva por separado el seguimiento del cobro, el registro fiscal y la entrega. Para cada reserva pagada en Cal.com, mantén tres estados separados: pago, factura y resultado fiscal. Enviar un registro no significa que se haya aceptado. Guarda la respuesta de la Administración, cuando exista, y el resultado de cada intento. Los registros pendientes, fallidos o rechazados deben quedar visibles para su revisión.

En modalidad VeriFactu, controla los registros enviados a la AEAT. Si trabajas sin envío, conserva los registros firmados y el registro de eventos durante el plazo exigible. En TicketBAI, comprueba el resultado ante la Hacienda Foral correspondiente. En Bizkaia, ten en cuenta también las obligaciones del LROE dentro de Batuz.

Antes de enviar el PDF, revisa el QR y la mención obligatoria. Si hay remisión, entrega el PDF tras la aceptación fiscal y registra la entrega al cliente como un estado aparte. Guarda el PDF entregado y deja constancia de esa entrega.

Gestiona cancelaciones, reembolsos y rectificaciones

Si surge una incidencia, gestiona primero la corrección fiscal y después la devolución. La cancelación afecta a la reserva; el reembolso, al cobro; la rectificación, a la factura. Cancelar una reserva en Cal.com no demuestra que se haya devuelto el cobro. Si procede, emite una factura rectificativa vinculada a la original. No borres ni sobrescribas la factura emitida.

Usa una serie específica para la factura rectificativa. Ajusta la base imponible y las cuotas según la devolución o corrección, y tramita el registro fiscal correspondiente. Guarda la respuesta y la constancia de entrega al cliente. El reembolso en Stripe no cierra el expediente fiscal.

Prueba la integración antes del lanzamiento

Prueba el flujo completo de reserva a factura

Una vez definido el flujo reserva-pago-factura, utiliza el modo de prueba de Stripe. Revisa en el borrador el NIF, la dirección, la base imponible, el IVA y el total.

  • Simula cobros correctos y fallidos, eventos duplicados, NIF/CIF ausentes o inválidos y operaciones con empresas y consumidores. Comprueba que el NIF/CIF queda en mayúsculas, sin espacios ni caracteres especiales.
  • Verifica que la factura solo se emite tras confirmar el pago. Cada reserva pagada debe generar una única factura y un único registro, aunque el evento se repita.
  • Comprueba la relación entre el ID de reserva de Cal.com, el ID de pago de Stripe y el ID de factura.
  • Revisa la numeración, el PDF, el QR, la URL de verificación y el envío del correo.

Prueba también una cancelación con su factura rectificativa (R1 o R4). Si un envío falla antes de la validación, corrige los datos y pulsa Reintentar. Comprueba que el trámite se recupera sin crear un segundo registro.

Si la AEAT o la Hacienda Foral rechazan el envío, corrige la incidencia y, si procede, anula la factura y emite una nueva. Antes de pasar a producción, confirma con tu asesor el tratamiento fiscal, los plazos y el procedimiento para corregir rechazos. Solicita también la declaración responsable del software cuando corresponda al régimen del RD 1007/2023.

Si las pruebas salen bien, pasa al control diario.

Asigna las comprobaciones diarias y la revisión de errores

Tras el lanzamiento, asigna una revisión diaria de los casos pendientes o inconsistentes: pagos sin factura, facturas sin pago asociado, envíos rechazados y rectificaciones pendientes.

Cada mes, revisa la numeración, la conservación de los registros y la seguridad de las credenciales. Automatiza los pagos, la emisión y el envío cuando la integración lo permita. Mantén bajo supervisión la configuración fiscal, los casos no admitidos y los rechazos.

FAQs

¿Cómo sé si me corresponde VeriFactu o TicketBAI?

Si tu empresa está en territorio común, te corresponde VeriFactu. Lo gestiona la AEAT y exige enviar o registrar la facturación con software homologado.

Si operas en el País Vasco – Álava, Bizkaia o Gipuzkoa – , te corresponde TicketBAI. En este caso, lo gestionan las autoridades fiscales forales, no la AEAT.

Si usas Cal.com/Stripe, el sistema selecciona automáticamente el régimen según la dirección que tengas configurada.

¿Puedo integrar Cal.com sin programar?

Sí. Cal.com permite conectar aplicaciones de pago desde su interfaz para gestionar cobros sin programar. Si también quieres automatizar la facturación sin escribir código, puedes usar Make o Zapier como puente entre Cal.com y tu sistema de facturación compatible con VeriFactu o TicketBAI.

Estas herramientas conectan los datos de las reservas y los pagos para generar facturas automáticamente y evitar tareas manuales. Para cumplir los requisitos del régimen aplicable, el sistema de facturación y la configuración deben ajustarse a ellos.

¿Cómo facturo el saldo de una reserva con anticipo?

Para facturar el saldo con VeriFactu o TicketBAI, mantén la trazabilidad entre las facturas. El IVA se devenga al cobrar el anticipo, así que debes emitir la factura del anticipo cuando recibas el pago.

En la factura final, indica expresamente el anticipo ya facturado y réstalo del importe total. De este modo, queda claro cuánto falta por pagar y se mantiene la trazabilidad fiscal exigida.

Publicaciones de blog relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *