Nordlet

← Blog

API de libro mayor de partida doble para la contabilidad de "marketplaces"

Una guía técnica sobre el funcionamiento de las API de libro mayor de partida doble inmutables, los motivos por los que los "marketplaces" las necesitan y los aspectos clave a la hora de integrar la contabilidad en tu plataforma.

Nordlet Team · · 15 min de lectura

La mayoría de los "marketplaces" descubren que tienen un problema contable de la misma manera: se contrata a un perfil financiero, este abre la hoja de cálculo de liquidaciones y pregunta quién está registrando realmente la deuda con los vendedores entre el momento en que un comprador paga y el momento en que los fondos salen de la cuenta de la plataforma. El equipo de ingeniería señala una tabla de transactions (transacciones). El perfil financiero señala que una tabla de eventos no constituye un conjunto de libros contables. Esa brecha, existente entre los datos de eventos y la contabilidad real, es la que una API de libro mayor de partida doble (double-entry ledger API) está diseñada para cerrar.

Se trata de una cuestión técnica con implicaciones regulatorias de peso. Los "marketplaces" custodian dinero de terceros, calculan el IVA en distintas jurisdicciones y emiten facturas en nombre de los vendedores. Hacer esto con una tabla de transacciones de desarrollo propio funciona hasta que un auditor, una autoridad fiscal o un comprador exigente solicitan justificantes.

Qué es realmente una API de libro mayor de partida doble

Una API de libro mayor de partida doble es un motor contable programable expuesto a través de HTTP. Cada evento financiero que registra tu plataforma se redacta como un asiento contable equilibrado: al menos un débito y un crédito, de importes totales iguales, imputados a cuentas específicas dentro de un plan de cuentas (chart of accounts). La API aplica dicho equilibrio en el momento de la escritura y almacena los asientos de forma que no puedan modificarse posteriormente de manera silenciosa.

El componente de la "partida doble" responde a la norma contable centenaria según la cual toda transacción afecta como mínimo a dos cuentas. El componente de "API" significa que el emisor de la llamada es tu producto, y no un tenedor de libros humano. El componente "inmutable" implica que las correcciones se realizan mediante asientos de reversión, y no alterando el histórico. En conjunto, estas tres propiedades son las que consiguen que la contabilidad resultante esté preparada para una auditoría (audit-ready), en lugar de limitarse a estar ordenada.

Una definición práctica útil:

Una API de libro mayor de partida doble acepta eventos financieros de tu aplicación, convierte cada uno de ellos en un asiento contable equilibrado frente a un plan de cuentas definido, almacena dichos asientos de forma inmutable y expone el libro mayor resultante, el balance de comprobación (trial balance) y los informes financieros a través de puntos de conexión predecibles.

Nordlet se ha desarrollado exactamente en torno a esta idea: libros contables reales como una API, donde el libro mayor, la lógica del IVA, la facturación y la conciliación son accesibles desde el mismo conjunto de puntos de conexión con los que tu producto ya interactúa.

Por qué los "marketplaces" necesitan esto específicamente

Una empresa de software como servicio (SaaS) con un solo comerciante a menudo puede apañarse sincronizándose con una herramienta de contabilidad general una vez al día. Los "marketplaces" no pueden hacerlo, y existen tres razones para ello.

En primer lugar, se sitúan en medio del flujo de dinero. Un comprador paga a la plataforma, esta retiene los fondos y posteriormente paga a los vendedores descontando las comisiones. Cada uno de estos movimientos constituye un evento contable diferenciado que afecta a distintas cuentas: efectivo, cuentas por pagar a vendedores (seller payables), ingresos de la plataforma, IVA repercutido y reservas para reembolsos. Una tabla de payments (pagos) con una columna de status (estado) no refleja esa realidad.

En segundo lugar, operan a través de múltiples jurisdicciones fiscales. Un "marketplace" de la UE con vendedores en Lituania, Alemania y Polonia, y compradores en todo el bloque comunitario, debe aplicar el tratamiento de IVA correcto por cada transacción, validar los números de IVA de los vendedores a través de VIES y generar declaraciones que satisfagan a las autoridades fiscales locales de cada país. Resolver esto correctamente en el código de la aplicación, para luego conciliarlo con un sistema contable independiente, es el punto donde la contabilidad de la mayoría de los "marketplaces" flaquea de forma silenciosa.

En tercer lugar, el volumen de operaciones no es apto para la teneduría de libros manual. Una plataforma que gestione diez mil pedidos al mes genera decenas de miles de asientos contables. Dicho proceso debe automatizarse de extremo a extremo, de lo contrario, el departamento financiero se convierte en un cuello de botella para el crecimiento.

Cómo funciona la API, paso a paso

La operativa mecánica es menos compleja de lo que aparenta. Un flujo típico para un pedido en un "marketplace" se desarrolla de la siguiente manera:

1. Tu plataforma emite un evento financiero. Un comprador finaliza el proceso de pago ("checkout"). Tu "backend" realiza una llamada a la API del libro mayor facilitando datos como: identificador del pedido, comprador, vendedor, importe bruto, tipo de IVA, comisión de la plataforma, moneda y una clave de idempotencia (idempotency key).

2. El libro mayor genera un asiento contable. La API traduce dicho evento en débitos y créditos. En el caso de una venta directa en un "marketplace", esto puede traducirse en un débito a una cuenta de efectivo en tránsito, un crédito a una cuenta de cuentas por pagar a vendedores por el importe neto, un crédito a una cuenta de ingresos de la plataforma por la comisión y un crédito a una cuenta de IVA por pagar correspondiente a la porción impositiva. Todo ello debidamente equilibrado y registrado de forma atómica.

3. El asiento se registra de manera inmutable. Una vez publicado, el asiento cuenta con un identificador y una marca de tiempo, y no puede modificarse. Si se produce algún error, se registra un asiento de reversión junto con otro corregido. La pista de auditoría (audit trail) es el objetivo fundamental.

4. Los informes posteriores se actualizan en tiempo real. El balance de comprobación, los saldos de cuentas por pagar a vendedores, los resúmenes de IVA y la cuenta de pérdidas y ganancias reflejan la nueva entrada de manera inmediata. No existen procesos nocturnos ("nightly jobs"), exportaciones ni ventanas de conciliación en las que las cifras deban "asentar".

5. Los "webhooks" notifican a tu sistema. Eventos tales como sale_invoice.paid o bank_transaction.matched se envían a tus puntos de conexión, lo que permite a tu producto reaccionar sin necesidad de realizar consultas periódicas ("polling"). En combinación con las claves de idempotencia, esto garantiza que los reintentos sean seguros y que no se filtren duplicados cuando se produzcan intermitencias en la red.

El punto clave de diseño: el libro mayor es la fuente única de verdad sobre lo que ha ocurrido financieramente. La base de datos de tu aplicación es la fuente única de verdad sobre el estado del producto. Ambos sistemas concilian porque el libro mayor se alimenta a partir de los eventos de la aplicación, y no a la inversa.

El plan de cuentas es donde se concentra el diseño

La mayor parte del esfuerzo intelectual al configurar un libro mayor para un "marketplace" recae en el plan de cuentas (chart of accounts). Se trata de la lista de partidas nombradas en las que recaen los débitos y créditos: cuentas de efectivo por entidad bancaria, cuentas de cuentas por pagar a vendedores (con frecuencia una por vendedor o una agregada con submayores), ingresos de la plataforma por categoría, IVA por pagar por país, reservas para reembolsos, reservas para devoluciones de cargos ("chargebacks"), etc.

Existen varios patrones que se repiten de forma recurrente en los "marketplaces":

  • Los fondos de los vendedores son un pasivo, no un ingreso. El dinero que custodian en nombre de los vendedores constituye una cuenta por pagar. Tratarlo como un ingreso y contabilizar la liquidación posterior como un "gasto" es el error clásico que aflora durante las auditorías de diligencia debida ("due diligence").
  • El IVA constituye un pasivo independiente por cada país. Si operas en múltiples jurisdicciones de la UE, conviene disponer de cuentas de IVA por pagar diferenciadas por país para que las declaraciones encajen de forma limpia.
  • Las comisiones deben modelarse en el momento en que se devengan, y no cuando se abonan. La contabilidad de acumulación o devengo (accrual accounting) no es opcional en este ámbito.
  • Los reembolsos, las devoluciones de cargos y las disputas precisan de sus propias cuentas para que la cuenta de pérdidas y ganancias refleje la realidad en lugar de una fluctuación caótica de ventas positivas y negativas.

Una buena API de libro mayor permite definir esta estructura una sola vez y registrar operaciones en ella con total seguridad, evitando tener que reinventar la lógica contable dentro del código del proceso de pago.

Inmutabilidad, bloqueo de períodos y el motivo por el cual importa a los auditores

El concepto de inmutabilidad puede parecer un mero detalle de bases de datos. En la práctica, representa la diferencia entre unos libros contables que un auditor validará y unos que rechazarán.

Si un "marketplace" tiene la capacidad de modificar de forma silenciosa los asientos del trimestre pasado, las cifras de dicho periodo pasan a ser incognitables desde una perspectiva contable. Un libro mayor inmutable aplica el principio de que la historia es inalterable. Las correcciones se visualizan explícitamente como correcciones. El bloqueo de periodos (period locking) extiende esta garantía: una vez cerrado un mes, no se permite la introducción de nuevos asientos ni modificaciones en dicho periodo sin una acción explícita de reapertura, la cual queda registrada en el sistema.

Para aquellas plataformas que en el futuro busquen captación de capital, procesos de venta o se enfrenten a una auditoría fiscal, esto no constituye un elemento opcional o secundario. Es el factor que dota de solidez y defensibilidad a la contabilidad. El libro mayor de Nordlet se ha diseñado en torno a este principio de manera nativa, incorporando la estructura de partida doble inmutable y el bloqueo de periodos en la propia arquitectura.

IVA de la UE: el aspecto que consume recursos de ingeniería

El IVA es el ámbito donde la mayoría de los proyectos contables en "marketplaces" sufren desviaciones de tiempo. Las normativas no se limitan a "aplicar un porcentaje". Dependen de la ubicación del comprador, la ubicación del vendedor, la naturaleza del bien o servicio comercializado, si el vendedor está registrado a efectos de IVA, si el "marketplace" actúa como el proveedor considerado sujeto pasivo ("deemed supplier") en virtud de las normas de comercio electrónico de 2021, y qué régimen de declaración resulta aplicable a nivel local.

Una API de libro mayor rigurosa para la UE contempla al menos las siguientes funciones:

  • Validación VIES para los números de IVA de vendedores y compradores, idealmente con almacenamiento en caché de los resultados y su correspondiente registro en la transacción.
  • Lógica de tipos de IVA por país, incluidos tipos reducidos y exenciones.
  • Generación de registros i.SAF para las declaraciones en Lituania, así como salidas estructuradas equivalentes en aquellos otros Estados miembros que las exijan.
  • Facturación electrónica Peppol BIS 3.0 para jurisdicciones que transitan hacia la obligatoriedad de la factura electrónica.
  • Gestión OSS/IOSS para operaciones transfronterizas B2C.

Desarrollar esta operativa en el código de la aplicación, país por país, representa una carga de trabajo equivalente a la de un equipo completo de ingeniería que nunca llega a concluirse debido a los continuos cambios normativos. Delegar esta responsabilidad en la capa del libro mayor es la decisión pragmática.

La conciliación como generadora de ahorro de tiempo

Una vez que el libro mayor se erige como la fuente única de verdad, la conciliación bancaria deja de ser un suplicio mensual. Los extractos bancarios se incorporan al sistema, el libro mayor ya conoce los movimientos previstos y el proceso de coincidencia se automatiza en gran medida.

La aproximación realista a este proceso no persigue el "cero trabajo manual", sino que "las excepciones emerjan por sí mismas". Un flujo de conciliación de un solo clic para el noventa por centos de las transacciones que coinciden de manera limpia, complementado con una cola para el diez por ciento restante que requiere criterio humano, resume lo que una API de conciliación bien diseñada ofrece. Un sistema inteligente de correspondencia de pagos gestiona pagos parciales, sobrepagos y abonos que cubren múltiples facturas sin necesidad de que una persona redacte reglas específicas para cada supuesto.

La exportación SEPA (formato pain.001) para las liquidaciones a proveedores y vendedores cierra el ciclo en el lado de los pagos salientes. El usuario aprueba las liquidaciones en el producto, el libro mayor genera el archivo SEPA, el banco lo procesa y el movimiento resultante se concilia de forma automática.

Construir frente a comprar o integrar

Los equipos de los "marketplaces" suelen valorar tres alternativas. A continuación se comparan en función de los criterios relevantes.

Enfoque Tiempo hasta producción Preparación para auditorías Gestión del IVA en la UE Integración en tu producto
Desarrollar tu propio libro mayor De 12 a más de 24 meses Depende totalmente de tu equipo Lo construyes tú, país por país Sí
Sincronizar con Xero/QuickBooks Semanas Adecuado para la vertiente contable, deficiente para flujos de "marketplace" Parcial, requiere complementos No, reside en una herramienta independiente
Integrar una API de libro mayor (ej. Nordlet) Semanas Integrada mediante libro mayor inmutable y bloqueo de periodos Integrada para la UE, incluye VIES e i.SAF Sí, mediante API y SDKs

Desarrollar una solución propia resulta defendible si la actividad contable constituye el núcleo de tu producto. Para el resto de los casos, la ecuación económica rara vez es favorable. La sincronización con una herramienta contable tradicional funciona en negocios de entidad única, pero se resiente ante los flujos de un "marketplace": pagos divididos, submayores de vendedores, IVA por país y escenarios de plataforma como proveedor considerado sujeto pasivo no encajan de manera limpia en herramientas diseñadas para la contabilidad de una sola empresa.

La integración de un libro mayor basado en API es la opción hacia la que convergen la mayoría de las plataformas modernas. Los libros contables residen dentro de la experiencia de tu producto, los vendedores consultan sus propios datos financieros en tu interfaz y la complejidad normativa se resuelve en la capa de infraestructura.

Qué buscar al evaluar una API de libro mayor

Una breve lista de comprobación útil durante las reuniones con proveedores:

  • Almacenamiento de partida doble inmutable con correcciones mediante asientos de reversión, sin registros editables.
  • Bloqueo de periodos con registro de las acciones de reapertura.
  • Claves de idempotencia en cada punto de conexión de escritura.
  • "Webhooks" para los eventos que tu producto necesita gestionar, más allá de una simple API de consulta ("polling").
  • SDKs tipados en los lenguajes que utiliza habitualmente tu equipo de desarrollo.
  • Lógica de IVA por país que incluya VIES, i.SAF u homólogos, así como OSS/IOSS.
  • Compatibilidad multiempresa en caso de operar con múltiples entidades o tener previsto hacerlo.
  • Control de accesos basado en roles con la granularidad suficiente para separar a desarrolladores, contables y perfiles de consulta.
  • Exportación de informes en formato XLSX, PDF y JSON, con notificaciones por "webhook" cuando los informes de gran tamaño estén listos.
  • Un entorno de pruebas ("sandbox") que replique el comportamiento de producción, y no una demo limitada.

Si un proveedor no es capaz de demostrar los tres primeros puntos en una llamada técnica, el resto carece de relevancia.

Por dónde empezaría

Si un "marketplace" inicia este proceso desde cero, la secuencia que minimiza los problemas es la siguiente:

  1. Mapear los flujos reales de dinero en una pizarra antes de redactar cualquier línea de código: quién debe a quién, en qué momento, en qué moneda y con qué tratamiento de IVA.
  2. Redactar el plan de cuentas a partir de dicho mapa: cuentas por pagar a vendedores, ingresos de la plataforma, IVA por pagar por país, reservas. Solicitar la revisión de un profesional de la contabilidad antes de llevarlo a producción.
  3. Seleccionar la capa del libro mayor (desarrollar, sincronizar o integrar), valorando con franqueza qué opción puede entregar y mantener verdaderamente el equipo.
  4. Implementar un flujo completo de extremo a extremo: desde el pedido hasta la factura, la liquidación y la conciliación. Verificar que cuadra y, a partir de ahí, escalar.
  5. Activar el bloqueo de periodos en cuanto se cierre limpiamente el primer mes. La disciplina genera efectos acumulativos positivos.

Los equipos que aciertan con este enfoque tratan el libro mayor como una infraestructura troncal, y no como un elemento secundario de reporting. Este cambio de perspectiva es lo que permite que una conversación financiera con un auditor, un inversor o una autoridad fiscal sea breve en lugar de dilatada.

FAQ

¿Una API de libro mayor de partida doble es lo mismo que una integración contable?

No. Una integración sincroniza datos de tu producto en una herramienta contable externa, por lo general con cierto retraso. Una API de libro mayor constituye el sistema contable en sí mismo, sobre el cual se escribe de forma directa y en tiempo real. La distinción es crucial porque las integraciones pierden fidelidad en los márgenes: pagos parciales, multidivisa, divisiones en "marketplaces". Una API de libro mayor registra todo esto de manera nativa.

¿No podemos utilizar simplemente los informes de Stripe o Adyen?

Los informes de las pasarelas de pago informan sobre los movimientos procesados a través de ellas. No constituyen libros contables de partida doble; desconocen las cuentas por pagar a vendedores pendientes de liquidación, las obligaciones de IVA en distintos países o los gastos ajenos a la pasarela de pago. Representan un dato de entrada para el libro mayor, pero no lo sustituyen.

¿Hasta qué punto es inmutable la inmutabilidad en la práctica?

Los asientos no pueden modificarse. Las correcciones consisten en nuevos asientos que hacen referencia al original. Esto responde a una decisión de diseño, no a una limitación tecnológica. Cualquier libro mayor competente lo aplicará. La razón por la que importa es que el argumento de "lo hemos modificado para que cuadre con el banco" representa precisamente el patrón que desacredita unos libros contables.

¿Qué ocurre con los "marketplaces" ajenos a la UE?

La operativa mecánica de la partida doble es universal; la normativa fiscal no lo es. Una API de libro mayor optimizada para el IVA de la UE gestionará con solvencia operaciones con un fuerte peso en dicho mercado y podrá soportar transacciones fuera de él, pero si el mercado principal se centra en el impuesto sobre las ventas en EE. UU. (sales tax) o en regímenes de factura electrónica en Latinoamérica, es necesario verificar la cobertura específica de cumplimiento antes de tomar una decisión.

¿Cuánto tiempo requiere la implementación en la práctica?

Para un "marketplace" dotado de un modelo de eventos limpio, integrar una API de libro mayor hasta alcanzar la ejecución de un flujo completo de extremo a extremo suele requerir unas pocas semanas de ingeniería. Una migración completa desde una infraestructura heredada, incluidos los datos históricos, demanda un plazo mayor. La variable determinante suele ser el estado de los datos existentes, más que la propia API.