¿Qué es una API de contabilidad? Una guía en lenguaje sencillo para creadores de plataformas
Una definición en lenguaje sencillo de la API de contabilidad, lo que la separa de una API de impuestos o de pagos, y lo que debes verificar antes de integrar una.
Una API de contabilidad es una interfaz que permite que un programa lleve la contabilidad de otro programa. Tu software envía un evento financiero a través de HTTP. La API convierte ese evento en asientos de partida doble (double-entry) equilibrados contra un plan contable (chart of accounts), los almacena de modo que no puedan modificarse de forma silenciosa, aplica el tratamiento fiscal y te devuelve informes, documentos y exportaciones a través de la misma interfaz.
Esa definición hace la mayor parte del trabajo. Todo lo demás en este artículo es consecuencia de ella.
La versión de una sola frase
Una API de contabilidad acepta eventos financieros de tu aplicación, convierte cada uno en un asiento contable equilibrado, lo almacena de forma inmutable junto con su tratamiento fiscal y la evidencia de respaldo, y expone el libro mayor (ledger) resultante, los documentos y los informes como puntos de conexión (endpoints) programables.
Si un producto se hace llamar API de contabilidad pero no genera asientos contables, es otra cosa con un buen nombre. Eso no es necesariamente malo. Solo significa que no hará el trabajo que estás a punto de pedirle.
Lo que no es una API de contabilidad
Cuatro categorías de productos adyacentes se confunden con las API de contabilidad, por lo general en una fase avanzada de un proyecto.
| Categoría | Lo que hace | Lo que no hace |
|---|---|---|
| API de cálculo de impuestos | Devuelve la tasa o el importe de impuesto correcto para una transacción | Llevar tus libros ni almacenar la evidencia detrás de la decisión durante el período de retención |
| API de pagos | Mueve dinero entre partes e informa sobre dichos movimientos | Registrar las comisiones ganadas, el IVA adeudado o la cuenta por pagar a un vendedor entre el pago y la liquidación |
| API unificada o agregadora | Lee y escribe datos en el software de contabilidad existente de tu cliente | Actuar como el sistema de registro (system of record); tus libros residen en la herramienta que cada cliente ya utiliza |
| API de informes o BI | Lee cifras de un libro mayor existente y las visualiza | Crear los asientos a partir de los cuales se derivan las cifras |
Cada una de esas herramientas tiene usos reales. Una plataforma que necesita ser el sistema de registro requiere una API de contabilidad por debajo, no en lugar de ella.
Las cinco funciones que debe cumplir una API de contabilidad
1. Registrar asientos equilibrados. Cada evento se convierte en débitos y créditos que suman la misma cantidad. Cuando un comprador paga 100 € en un mercado (marketplace) que cobra una comisión de 15 €, el asiento debita una cuenta de compensación por 100 €, acredita una cuenta por pagar al vendedor por 85 € y acredita los ingresos por comisiones por 15 €. Esto no es un mero trámite contable, sino un control estructural que detecta clases enteros de errores de integración antes de que lleguen a un informe.
2. Conservar el historial. Un asiento registrado no se edita. Un error se corrige mediante un reverso más un asiento corregido, ambos vinculados al original. Los meses cerrados se bloquean para que no se les pueda asignar ninguna fecha nueva.
3. Resolver los impuestos. Para el comercio en la UE, esto significa el lugar de entrega (place of supply), la inversión del sujeto pasivo (reverse charge), los números de identificación de IVA verificados contra el registro oficial y la evidencia que justificó la decisión, todo almacenado junto con la transacción en lugar de ser descartado tras el cálculo.
4. Conciliar con dinero externo. Unos libros que nunca se enfrentan a un extracto bancario son solo una estimación. La API debe ingerir extractos o liquidaciones de proveedores y compararlos con lo que se registró.
5. Exportar. Informes, documentos y archivos de auditoría, en formatos que un contable humano y una autoridad fiscal acepten.
Un producto que hace las primeras tres funciones pero no las últimas dos seguirá dejando a una persona haciendo trabajo en hojas de cálculo todos los meses.
Cómo es una llamada en la práctica
La mecánica es más sencilla que la contabilidad. En la API de Nordlet, cada operación es un POST de estilo RPC con una estructura predecible:
POST /v1/{module}/{resource}/{action}
Authorization: Bearer <api key>
Idempotency-Key: <your event id>
Creas una factura de venta y luego la emites. La emisión es el momento en el que ocurre la contabilidad: el documento obtiene su número correlativo sin huecos, se publica el asiento contable equilibrado y las líneas de IVA se registran junto con él. Tu plataforma nunca ensambla débitos y créditos a mano.
Tres detalles en ese fragmento importan más que el nombre del punto de conexión (endpoint):
- El ámbito (scope) de la clave. Una clave incluye permisos como
sales:write, por lo que una integración obtiene únicamente el acceso que necesita. - La clave de idempotencia (idempotency key). Vuelve a intentar la misma solicitud con la misma carga útil (payload) y obtendrás la respuesta almacenada en lugar de una segunda factura. Envía la misma clave con una carga útil diferente y la solicitud será rechazada con
idempotency_key_reuseen lugar de ser aceptada silenciosamente. - El dinero como cadenas de texto (strings). Los importes son cadenas de texto decimales, no números de coma flotante, porque los flotantes pierden céntimos de maneras que se manifiestan al final del año.
Dónde se ubica en tu arquitectura
Tu aplicación sigue siendo la interfaz de usuario (front-end) y la fuente de eventos de negocio. La API de contabilidad se convierte en el sistema de registro financiero detrás de ella. El flujo suele ser el siguiente:
- Ocurre algo en tu producto: un pedido, un reembolso, una liquidación, la renovación de una suscripción.
- Tu backend llama a la API de contabilidad con el evento y una clave de idempotencia.
- La API publica el asiento contable, aplica el IVA y devuelve identificadores que almacenas en tus propios registros.
- Un webhook como
sale_invoice.paidle indica a tu sistema cuándo cambia el estado, para que reacciones a los eventos en lugar de consultar su estado constantemente (polling). - Las transacciones bancarias llegan a través de una fuente bancaria o una importación de extractos y se concilian con los documentos registrados.
- Al cierre del período, los informes y los registros fiscales se generan a partir de los mismos datos, y el mes cerrado se bloquea.
Nada en esa lista requiere que un humano abra una aplicación de contabilidad. De eso trata esta categoría.
Cómo se compara con las alternativas
| Enfoque | Esfuerzo inicial | Posición ante auditorías | Escalabilidad con el volumen de transacciones |
|---|---|---|---|
| Hojas de cálculo y registro manual | El más bajo | Débil; el historial es editable | No |
| Aplicación de contabilidad más exportaciones CSV | Bajo | Depende totalmente de la disciplina | Deficiente; alguien tiene que importar archivos |
| API agregadora en los libros propios de cada cliente | Medio | Hereda lo que sea que haga la herramienta del cliente | Sí, pero nunca eres dueño del registro |
| API de contabilidad integrada (embedded) | Medio | Sólida si el libro mayor es inmutable y los períodos se bloquean | Sí |
| Construir tu propio libro mayor | El más alto | Sólido solo si también construyes los controles | Sí, y lo mantienes para siempre |
Construir tu propio sistema es una opción legítima para algunos equipos. Se detalla más a fondo en nuestra guía de desarrollo frente a compra para marketplaces.
Qué verificar antes de integrar una
- ¿El saldo se calcula o se almacena? Pregunta si el saldo de un vendedor es una consulta sobre las líneas del diario o una columna que alguien actualiza. Solo una de estas opciones sobrevive a una auditoría.
- ¿Qué sucede al reintentar una operación? Envía la misma solicitud dos veces y cuenta los asientos.
- ¿Se puede editar un asiento registrado? La respuesta debe ser no, con una ruta de corrección documentada.
- ¿Un período bloqueado realmente rechaza un asiento? Pruébalo en un entorno de pruebas (sandbox). Nordlet devuelve un
409para un asiento con fecha dentro de un período bloqueado. - ¿Cómo se representa el dinero? Cadenas de texto decimales o unidades menores en números enteros. Nunca números de coma flotante.
- ¿Qué contiene el registro de auditoría (audit record)? Actor, acción, entidad y el cambio en sí, consultable en lugar de estar enterrado en archivos de registro (log files).
- ¿Cuáles son los límites de peticiones (rate limits)? Nordlet permite 300 peticiones por minuto por clave de API e informa de tu presupuesto restante en las cabeceras de respuesta (response headers). Sea cual sea el número, conócelo antes de diseñar tu sincronización.
- ¿Cómo extraes tus datos? Informes, documentos y diarios, en formatos que puedas entregar a un contable.
Cada uno de estos puntos se puede probar en una tarde contra una empresa de prueba (sandbox company). Las listas de funciones de los proveedores no son pruebas; una prueba reproducible sí lo es.
FAQ
¿Es una API de contabilidad lo mismo que un software de contabilidad?
Es un software de contabilidad con la interfaz reubicada. El software de contabilidad tradicional pone a una persona frente al libro mayor; una API de contabilidad pone tu código allí. Las obligaciones subyacentes, la estructura de partida doble y los informes son los mismos.
¿Sigo necesitando un contable si utilizo una?
Sí. Una API automatiza el registro, el cálculo y la elaboración de informes. No toma decisiones de juicio sobre clasificaciones, provisiones ni sobre cómo se debe tratar un contrato específico y, en la mayoría de los países, no firma ni presenta tus cuentas anuales obligatorias.
¿Puedo usar una API de contabilidad sin entender la partida doble?
En parte. Una buena API construye los asientos contables por ti a partir de un documento comercial como una factura. Aún necesitas entender qué significan las cuentas cuando lees un informe o explicas un saldo a un auditor.
¿Cuál es la diferencia entre una API de contabilidad y una API de libro mayor (ledger)?
Una API de libro mayor registra movimientos equilibrados entre cuentas. Una API de contabilidad hace eso y añade la capa legal y fiscal encima: documentos con numeración legal, tratamiento del IVA, registros fiscales, activos fijos, cierre de período y los informes que una jurisdicción espera. Toda API de contabilidad contiene un libro mayor; no todo libro mayor es un sistema contable.
¿Cuánto tiempo lleva realizar la integración?
Para un primer flujo de trabajo operativo (crear un cliente, emitir una factura, recibir un pago, ver el asiento contable), calcula días en lugar de semanas utilizando un SDK con tipos definidos y un entorno de pruebas. Una integración en producción que cubra reembolsos, correcciones, multidivisa, conciliación y cierre de período requiere un trabajo mayor, y la estimación honesta depende de cuántos de esos casos genere realmente tu producto.