API de adeudo directo SEPA: guía práctica de integración

2026-04-22

Si estás leyendo esto, es probable que tu equipo financiero ya tenga los datos de las remesas. Están en un Excel, en una exportación CSV del ERP, o en algún fichero AEB heredado que solo una persona en la oficina entiende del todo. El problema no son los datos en sí. El problema es convertirlos en algo que el banco acepte sin pasarse medio día revisando columnas, formatos, referencias de mandatos y fechas.

Ahí es donde una API de adeudo directo SEPA resulta útil. No elimina la lógica de negocio. Sigues necesitando mandatos válidos, las fechas de cobro correctas y registros de deudores limpios. Lo que sí elimina es el frágil paso manual entre “tenemos la lista de pagos” y “tenemos un fichero SEPA válido listo para enviar al banco”.

Para los equipos en el Reino Unido, ese cambio es importante. El adeudo directo SEPA lleva plenamente operativo desde el 31 de marzo de 2014, y en la segunda mitad de 2022 los adeudos directos representaban el 16 % de todos los pagos no monetarios en las zonas SEPA. En el Reino Unido, los volúmenes de adeudo directo SEPA crecieron más de un 25 % interanual entre 2014 y 2018, alcanzando aproximadamente 1200 millones de transacciones anuales en 2020, según las estadísticas de pagos SEPA del European Payments Council.

Del caos de las hojas de cálculo a la claridad de una API

La preparación manual de ficheros SEPA suele fallar en los sitios más corrientes. Cambia una cabecera de columna. Alguien pega un IBAN con espacios en el formato incorrecto. Un importe se exporta como texto en lugar de como decimal. Un identificador de mandato que parecía correcto en Excel resulta no coincidir con lo que espera el esquema XML.

Un espacio de trabajo moderno con dos monitores mostrando una interfaz de software para gestionar integraciones de la API de adeudo directo SEPA.

Los equipos financieros suelen verlo como un problema de ficheros. Los desarrolladores lo ven como un problema de estructura de datos. Ambos tienen razón. La respuesta práctica es tratar las exportaciones de hojas de cálculo como datos de entrada, no como el fichero de pago definitivo.

Dónde está realmente la fricción

Un flujo de trabajo típico de hoja de cálculo al banco tiene tres puntos frágiles:

  • Desajuste en el mapeo de campos. “Nombre del cliente” se convierte en “Cliente”, “Fecha de cobro” pasa a “Vencimiento”, y tu lógica de importación empieza a adivinar.
  • Falta de validación. Las hojas de cálculo no garantizan el cumplimiento de las reglas SEPA sobre IBAN (un validador de IBAN ayuda a detectar estos errores pronto), referencias de mandato o metadatos de cobro.
  • Rigidez en la salida. Al banco le da igual que tu CSV fuera legible. Le importa si el XML final es válido.

Por eso la higiene de datos importa antes de escribir código de transformación. Si tus exportaciones de origen son inconsistentes, merece la pena revisar técnicas prácticas de preprocesamiento de datos para normalizar columnas, formatos y registros duplicados antes de que lleguen a la capa de pagos.

Regla práctica: Trata Excel como el lugar donde operaciones mantiene la intención, no como el lugar donde se garantiza el cumplimiento normativo.

Una buena API de adeudo directo SEPA ofrece a ambos equipos un contrato más limpio. Finanzas puede seguir trabajando con las columnas habituales. Los desarrolladores pueden mapear esas columnas a JSON, validarlas y dejar que la API genere el XML conforme a la norma.

El puente entre el trabajo administrativo y el trabajo de integración

Esa capa intermedia es lo que la mayoría de la documentación omite. Las especificaciones bancarias te dicen cómo es un XML válido. Rara vez te ayudan a convertir una exportación real con “Ref. Mandato”, “IBAN cliente”, “Importe” y “Fecha de cobro” en un cuerpo de solicitud predecible.

El flujo de trabajo suele ser así:

  1. Exportar las filas de la remesa desde Excel, CSV o un programa de contabilidad antiguo.
  2. Limpiar y estandarizar los campos.
  3. Mapear las filas a un payload JSON.
  4. Enviar ese payload a la API.
  5. Recibir de vuelta el fichero SEPA generado o los errores de validación.

Si tu equipo sigue haciendo el paso del fichero bancario a mano, merece la pena ver cómo otros abordan la conversión de CSV a SEPA XML. La ventaja principal no es la elegancia, sino la repetibilidad. Una vez que el mapeo es estable, el cierre de mes deja de depender de que una persona recuerde qué macros ejecutar.

Una herramienta como ConversorSEPA encaja bien en este hueco porque acepta formatos de entrada amigables para el negocio como Excel, CSV, JSON y variantes del antiguo AEB, y los convierte en XML SEPA válido a través de una API JSON. Eso importa cuando el proyecto no es una construcción desde cero, sino una migración desde la preparación manual de remesas.

Autenticación y preparación de tu primera llamada a la API

Antes de mapear cualquier dato de remesa, haz que funcione una cosa primero. Confirma que tu aplicación puede autenticarse y realizar una solicitud básica sin tocar las filas de pago. Los equipos que se saltan este paso suelen pasar horas depurando payloads cuando el problema real es una cabecera que falta o la clave de entorno equivocada.

Una persona con un jersey verde usando un portátil para gestionar la configuración de acceso seguro a una API.

Qué hace la autenticación

En esta fase, tu aplicación solo está demostrando su identidad. En la práctica, normalmente significa una clave API, un token bearer o ambos, dependiendo del proveedor. Mantén la primera solicitud simple. Quieres una comprobación de conectividad, no un envío completo de adeudo.

Una solicitud típica tiene esta forma:

  • Cabecera de autorización con tu token bearer
  • Content-Type configurado como application/json
  • Endpoint de sandbox en lugar del modo de producción
  • Cuerpo mínimo si el endpoint lo requiere

Para un equipo nuevo, recomiendo almacenar las credenciales fuera del código de la aplicación desde el principio. Las variables de entorno son suficientes para las primeras pruebas. Escribir las claves directamente en los scripts crea malos hábitos que resultan dolorosos durante el despliegue y las auditorías.

Una primera solicitud segura

Este es el tipo de llamada cURL que uso para verificar que la conexión funciona:

curl -X POST "https://api.example.com/v1/auth/check" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Si el proveedor ofrece un endpoint de estado, utilízalo. La URL exacta variará, pero el patrón es el mismo. Quieres un éxito inmediato o un error de autenticación claro.

La primera razón de negocio para preferir una API sobre la preparación manual aparece muy rápido. Los datos bancarios inválidos son una fuente habitual de fallos evitables. En las integraciones SEPA, las discrepancias entre IBAN y Sort Code pueden producir una tasa de rechazo del 15 % en algunos procesos manuales, y la autovalidación basada en API puede reducir estos errores iniciales de envío hasta en un 40 %, como señala la documentación de SEPA Direct Debit de PPRO.

Qué comprobar antes de seguir adelante

Una vez que la autenticación funciona, verifica cuatro cosas antes de intentar el mapeo real de payloads:

  • Separación de entornos. Asegúrate de que las credenciales de sandbox y producción no puedan mezclarse por error.
  • Visibilidad de errores. Registra los códigos de estado HTTP y los cuerpos de respuesta. Los fallos silenciosos hacen perder tiempo.
  • Gestión idempotente de solicitudes. Aunque tu primer endpoint no lo requiera, construye el patrón ahora.
  • Propiedad de las credenciales. Ten claro qué equipo rota las claves y cómo se prueban esas rotaciones.

Un breve recorrido por el producto puede ayudar a los no desarrolladores a entender lo que el flujo de conversión en producción reemplazará. Si estás evaluando herramientas, una prueba gratuita de generador de XML SEPA es útil para comparar el flujo de carga manual con el de la API antes de conectar nada al ERP.

Más adelante, cuando empieces a enviar datos reales de mandatos o cobros, también tendrás que pensar en quién está autorizado para lanzar envíos y qué sistemas internos están habilitados para hacerlo.

Para una explicación visual rápida, este resumen es útil cuando estás formando al equipo:

Mapeo de datos de remesa a un payload JSON

Aquí es donde la mayoría de los proyectos SEPA se vuelven mantenibles o se vuelven dolorosos. El esquema XML no es la parte difícil una vez que una máquina lo genera. La parte difícil es decidir cómo tus datos de negocio se mapean a los campos de forma lo suficientemente consistente como para que finanzas e ingeniería dejen de enviarse capturas de pantalla.

Un diagrama que ilustra el proceso de tres pasos para transformar datos de remesa heredados en un payload JSON estructurado.

Empieza por los datos de origen, no por el esquema

Supongamos que tu CSV tiene este aspecto:

CustomerName IBAN Amount MandateID CollectionDate SequenceType
Acme Ltd GB12BANK12345612345678 1250.00 UKDD-0001 2026-05-15 FRST
Northside Services GB98BANK87654387654321 89.99 UKDD-0002 2026-05-15 RCUR

Eso es comprensible para el personal de operaciones. Pero aún no es un payload seguro para la API. Antes de la conversión, decide las reglas para cada campo:

  • CustomerName se convierte en el nombre del deudor usado en el registro de pago.
  • IBAN debe normalizarse antes del envío.
  • Amount debe almacenarse como un valor seguro para decimales, no como una cadena con formato regional.
  • MandateID debe coincidir con el identificador usado cuando se creó el mandato.
  • CollectionDate debe usar un único formato de fecha en todo el sistema.
  • SequenceType debe ser explícito, nunca inferido a partir de suposiciones.

Una estructura JSON práctica

Una API de adeudo directo SEPA normalmente acepta una estructura similar a esta:

{
  "creditor": {
    "name": "Example Creditor Ltd",
    "creditorId": "GB98ZZZ123456"
  },
  "collection": {
    "requestedCollectionDate": "2026-05-15",
    "sequenceType": "RCUR",
    "currency": "EUR"
  },
  "debtors": [
    {
      "name": "Acme Ltd",
      "iban": "GB12BANK12345612345678",
      "amount": "1250.00",
      "mandateId": "UKDD-0001",
      "remittanceInformation": "Invoice INV-1048"
    },
    {
      "name": "Northside Services",
      "iban": "GB98BANK87654387654321",
      "amount": "89.99",
      "mandateId": "UKDD-0002",
      "remittanceInformation": "Subscription May"
    }
  ]
}

Los nombres exactos de los campos variarán según el proveedor. El principio de diseño no debería variar. Mantén la terminología de la hoja de cálculo lo bastante visible como para que finanzas pueda seguir reconociendo el payload durante las pruebas.

Las integraciones más limpias preservan el significado de negocio en el JSON y dejan las acrobacias de esquema para la capa de la API.

El campo que los equipos más confunden

SequenceType causa más problemas de los que debería porque parece algo menor. En la práctica, es un campo de control con un impacto operativo real. En el Reino Unido, el 12 % de los fallos en envíos SEPA se deben a un SequenceType ausente o incorrecto en el fichero XML pain.008, lo que puede causar retrasos en la liquidación de 7 a 10 días, según la documentación de referencia SEPA de Worldline.

Esto importa porque los equipos financieros a menudo asumen que “cliente recurrente” es contexto suficiente. No lo es. Tu sistema necesita una regla fiable para saber cuándo enviar FRST y cuándo enviar RCUR.

Una versión en lenguaje sencillo ayuda:

  • FRST significa el primer cobro bajo un mandato.
  • RCUR significa un cobro recurrente posterior bajo el mismo mandato.

Si tu API acepta un campo JSON simple y gestiona la generación correcta del atributo XML, esa es exactamente el tipo de abstracción que necesitas.

Una capa de mapeo que sobrevive a las operaciones reales

No mapees directamente desde las columnas cargadas al payload final sin un modelo intermedio. Construye un paso de transformación. Incluso un pequeño script o capa de servicio marca una gran diferencia.

Por ejemplo:

def map_row_to_debtor(row):
    return {
        "name": row["CustomerName"].strip(),
        "iban": row["IBAN"].replace(" ", ""),
        "amount": f"{float(row['Amount']):.2f}",
        "mandateId": row["MandateID"].strip(),
        "remittanceInformation": row.get("Reference", "").strip()
    }

Ese paso intermedio es donde manejas el recorte, los nulos, la conversión de fechas y las reglas de negocio internas. También te da un único punto donde rechazar registros defectuosos antes de que contaminen el lote completo.

Si estás comparando payloads entre exportaciones del ERP, middleware y el proveedor de pagos, esta guía sobre cómo comparar y sincronizar eficientemente datos JSON de múltiples APIs es útil. Sirve cuando tu problema no es “¿es válido el JSON?” sino “¿por qué el sistema de origen no coincide con el payload de salida?”.

Para equipos que migran desde la carga de hojas de cálculo, un flujo de conversión de Excel a XML SEPA suele ser el paso intermedio más fácil. Permite a finanzas validar la lógica de mapeo mientras los desarrolladores construyen la versión automatizada en segundo plano.

Gestión de respuestas de la API y webhooks asíncronos

Enviar el payload es solo la primera mitad del trabajo. Una integración fiable de API de adeudo directo SEPA tiene que hacer bien dos cosas diferentes. Debe gestionar la respuesta inmediata de la API y también reaccionar correctamente cuando llegan cambios de estado posteriores del flujo de pago.

Un gráfico digital mostrando esferas abstractas conectadas por flechas con el texto Process Results sobre fondo azul.

Las respuestas inmediatas necesitan caminos claros

La respuesta síncrona normalmente te dice una de tres cosas:

Tipo de respuesta Qué significa Qué debe hacer tu sistema
Aceptada El payload pasó la validación inicial Almacenar el ID del lote y marcarlo como enviado
Error de validación La solicitud es incorrecta o incompleta Rechazar el lote y devolver errores de campo accionables
Estado en procesamiento La API aceptó la solicitud pero el estado final llegará después Esperar las actualizaciones por webhook

Donde los equipos tienen problemas es en tratar “aceptado” como “pagado”. No son el mismo evento. En el momento de la aceptación, tu sistema normalmente sabe que el fichero o instrucción es estructuralmente válido. Aún no sabe el resultado final del banco.

Los webhooks son donde llega la realidad del pago

Un webhook es simplemente una notificación de servidor a servidor. Tu aplicación expone un endpoint y el proveedor envía actualizaciones cuando algo cambia. En un flujo de adeudo directo, así es como te enteras de si un mandato se ha activado, si un cobro ha fallado o si una devolución o cancelación necesita atención.

Tu gestor de webhooks debe hacer cuatro cosas en orden:

  1. Verificar la firma del webhook si el proveedor soporta eventos firmados.
  2. Parsear el tipo de evento y el payload del evento.
  3. Vincularlo a un registro interno de mandato, cobro o lote.
  4. Actualizar el estado interno de forma idempotente para que los reintentos no dupliquen acciones.

Este es el error operativo que veo más a menudo. Los equipos construyen una integración de salida bien hecha y dejan la recuperación de fallos como trabajo manual en correos electrónicos y hojas de cálculo. Eso no escala. Las pymes a menudo tienen dificultades para sistematizar la recuperación de fallos, especialmente en los flujos de rechazo de mandatos y reautorización de clientes. Una integración madura necesita tener en cuenta las ventanas de reintento de 10 a 14 días y la gestión automatizada de reautorizaciones descrita en la documentación de SEPA solo API de Adyen.

Visión operativa: Si un cobro fallido crea un ticket de soporte pero no actualiza la cuenta del cliente, la facturación y el flujo de caja divergen inmediatamente.

Un modelo de eventos sensato

Aunque tu proveedor use nombres diferentes, mantén tu modelo interno simple. Por ejemplo:

  • mandate.active
  • mandate.failed
  • collection.submitted
  • collection.paid
  • collection.failed
  • collection.returned
  • reauthorisation.required

Eso da a finanzas, soporte e ingeniería un lenguaje compartido. También facilita mucho las alertas. Un cobro fallido podría activar un flujo de reintento. Un mandato fallido debería activar una reautorización, no intentos repetidos de adeudo.

Qué funciona y qué no

Lo que funciona:

  • Almacenar los payloads de eventos en bruto para auditoría y resolución de problemas.
  • Usar procesamiento idempotente para que entregas duplicadas de webhooks no creen entradas duplicadas en el libro mayor.
  • Separar los fallos recuperables de los permanentes en tu lógica de negocio.
  • Devolver estados significativos al ERP o CRM en lugar de dejarlos en la capa de pagos.

Lo que no funciona:

  • Tratar todos los fallos igual. Fondos insuficientes y autorización inválida necesitan seguimientos diferentes.
  • Depender de notificaciones por correo electrónico como mecanismo principal de recuperación.
  • Dejar que los equipos de soporte vuelvan a introducir datos corregidos manualmente sin que la corrección vuelva al sistema.

El indicador práctico es simple. Si un cobro falla un viernes, ¿puede el sistema clasificarlo, poner en cola la siguiente acción correcta y mostrar a finanzas el estado actual el lunes sin que alguien reconstruya el panorama a mano? Si la respuesta es no, la integración no está terminada.

Pruebas, validación y prácticas de seguridad esenciales

Una integración de adeudo directo SEPA no debería pasar a producción porque el camino feliz funcionó una vez en un sandbox. Debería pasar a producción cuando tu equipo tenga confianza en la gestión de fallos, la validación de datos y los controles operativos. Eso exige un listón más alto, y debe ser así.

Prueba los casos difíciles pronto

Los equipos suelen sentirse cómodos probando un payload válido. Menos prueban los registros que son costosos en producción. Necesitas ambos.

Construye un paquete de pruebas que incluya:

  • Un caso de éxito limpio con un mandato válido, datos de deudor válidos y el tipo de secuencia esperado.
  • Un caso de datos bancarios malformados para confirmar que los errores de validación se muestran con claridad.
  • Un caso de desajuste de mandato para ver si tu sistema marca correctamente la reautorización.
  • Un caso de repetición de webhook para demostrar que tu gestión de eventos es idempotente.
  • Un lote con validez mixta para saber si tu sistema rechaza el fichero completo o aísla las filas defectuosas.

Aquí es también donde importan la carga y los tiempos. Un flujo de remesas suele funcionar bien con diez filas y falla a escala de ciclo de facturación por problemas de colas, timeout o registro. Si tus ventanas de envío son ajustadas, estas estrategias de pruebas de carga para APIs merece la pena aplicarlas a la capa de integración antes de llegar a producción.

La validación debe ocurrir antes del envío al banco

Las integraciones más sólidas validan dos veces. Validan en la ingesta, cuando la exportación de la hoja de cálculo o del ERP se transforma por primera vez, y de nuevo antes del envío final. Eso detecta tanto los problemas de datos de origen como los errores de transformación.

Usa una lista de comprobación previa al envío:

  • El estado del mandato está presente y es actual
  • La fecha de cobro es válida para la ejecución prevista
  • Los campos obligatorios del deudor están rellenos
  • El tipo de secuencia es explícito
  • Los importes y referencias coinciden con el sistema de origen
  • El endpoint de webhook es accesible y está monitorizado

Prueba las acciones posteriores, no solo el payload de la solicitud. Un adeudo técnicamente válido que aterriza en el estado de cliente incorrecto sigue siendo un defecto en producción.

Las responsabilidades de seguridad no desaparecen

Un proveedor puede reducir el trabajo de cumplimiento, pero no elimina tus responsabilidades. Tu aplicación sigue manejando datos financieros sensibles, así que mantén la disciplina en lo básico:

  • Usa HTTPS para todo el tráfico con la API
  • Restringe quién puede ver y exportar datos de remesa
  • Evita registrar payloads sensibles completos en texto plano
  • Rota las credenciales de forma controlada
  • Mantén los datos del sandbox separados de los registros operativos en producción

La PSD2 y las reglas de pagos recurrentes afectan a cómo se gestionan los mandatos y las autorizaciones de clientes asociadas. Algunos proveedores también soportan flujos recurrentes de formas que reducen la cantidad de infraestructura de cumplimiento que tu equipo tiene que construir por su cuenta. Eso es útil, pero no es razón para saltarse el control de acceso interno, el registro de auditoría o la revisión de versiones.

Automatización completa y mejores prácticas de migración

La ganancia definitiva no es generar un fichero válido. Es eliminar la carrera de final de mes por completo. Una configuración madura de API de adeudo directo SEPA convierte la generación de remesas en un flujo de trabajo programado y observable en el que finanzas puede confiar y que los desarrolladores no necesitan vigilar.

Construye alrededor del ciclo de facturación

La estrategia de automatización debe ir desde el ERP o la plataforma de facturación hacia fuera, no desde un script independiente hacia dentro. La secuencia es sencilla en principio:

  • Exportar las cuentas por cobrar aprobadas del sistema de registro
  • Transformar los registros al modelo interno de remesas
  • Validarlos y enriquecerlos
  • Enviarlos a la API según un calendario
  • Registrar el identificador del lote resultante y esperar las actualizaciones de estado
  • Devolver los estados finales a los sistemas financieros

El uso de cron jobs, workers de cola o tareas programadas tiene sentido. La automatización debe ejecutarse en un punto predecible del ciclo de facturación y producir logs que finanzas pueda leer sin pedirle a ingeniería que los descifre.

Migra los formatos heredados por etapas

Los proyectos de migración fracasan cuando los equipos intentan reemplazar todos los procesos de ficheros antiguos a la vez. Un patrón más seguro es la migración por fases:

  1. Ejecuta el proceso heredado de hoja de cálculo o AEB en paralelo con la nueva capa de mapeo.
  2. Compara un conjunto limitado de resultados y excepciones.
  3. Bloquea las definiciones de columnas y las reglas de negocio.
  4. Cambia primero un flujo de pago o una unidad de negocio.
  5. Expande solo después de que la gestión de webhooks y la conciliación sean estables.

Esto importa aún más cuando las exportaciones antiguas contienen peculiaridades no documentadas. Los formatos heredados a menudo llevan suposiciones ocultas en los campos de referencia, el manejo de fechas o el formato de cuentas. Si no sacas a la luz esas reglas durante la migración, reaparecen después como fallos de envío inexplicables o diferencias en la conciliación.

Piensa en bucles operativos, no en llamadas a la API

Las implementaciones más sólidas conectan cuatro bucles:

Bucle operativo Resultado positivo
Ingesta de datos Las filas de origen limpias llegan a un modelo estándar
Envío Los lotes se crean de forma consistente y puntual
Recuperación Los fallos activan la siguiente acción correcta
Conciliación Los estados finales fluyen de vuelta a los registros financieros

Ahí es cuando la integración se convierte en un activo de negocio en lugar de un proyecto técnico secundario. Finanzas obtiene un cobro de efectivo más predecible. Los equipos administrativos dejan de corregir errores de fichero evitables. Los desarrolladores dejan de mantener scripts de exportación puntuales que nadie quiere tocar.

Una API de adeudo directo SEPA está en su mejor momento cuando nadie piensa mucho en ella. El ciclo de facturación se ejecuta. Las excepciones son visibles. Los problemas de mandatos van a una cola. Los cobros y las devoluciones aterrizan en los registros correctos. Esa fiabilidad silenciosa es el objetivo.


Si tu equipo sigue moviéndose entre hojas de Excel, ficheros AEB heredados y XML construido a mano, ConversorSEPA merece una evaluación como puente práctico. Gestiona Excel, CSV, JSON y formatos AEB antiguos, mapea los datos de remesa a una salida compatible con SEPA y ofrece una API JSON para equipos que quieran automatizar el flujo completo sin mantener la generación de XML SEPA por su cuenta.


Preguntas frecuentes

¿Cómo funciona la autenticación con una API de adeudo directo SEPA?
La autenticación suele realizarse mediante un token bearer o una clave API enviada en la cabecera de la petición. Es recomendable almacenar las credenciales en variables de entorno en lugar de incluirlas directamente en el código, mantener separadas las claves de sandbox y producción, y verificar la conectividad con una comprobación básica antes de enviar cobros.
¿Qué formato de datos espera una API de adeudo directo SEPA?
La mayoría de las API de adeudo directo SEPA aceptan un payload en JSON con los datos del acreedor, parámetros de cobro como fecha y tipo de secuencia, y un array de registros de deudores con nombre, IBAN, importe e identificador de mandato. La API genera internamente el XML pain.008 conforme, de modo que tu equipo trabaja con JSON estructurado en lugar de XML.
¿Cómo gestiono los cobros SEPA fallidos a través de la API?
Los cobros fallidos se notifican mediante webhooks asíncronos que tu aplicación recibe tras el procesamiento bancario. Tu sistema debe clasificar los fallos por tipo — como fondos insuficientes o autorización inválida — y activar la acción correspondiente, ya sea un reintento automático dentro de la ventana de 10 a 14 días o una solicitud de reautorización del mandato.
¿Puedo automatizar el cobro por adeudo directo SEPA desde archivos Excel o CSV?
Sí. El enfoque recomendado es exportar los cobros pendientes desde tu hoja de cálculo o ERP, mapear las filas a un payload JSON estandarizado mediante una capa de transformación y enviarlos a la API de forma programada. Esto elimina el paso manual entre tener una lista de pagos y producir un fichero XML SEPA válido listo para el banco.