API

Documentación para desarrolladores

Scope: accounting

Contabilidad y reportes

El módulo de Contabilidad agrupa varios submódulos —plan de cuentas, libro diario, libro IVA, reportes, conciliación bancaria, calendario y cierre fiscal, retenciones y percepciones— accesibles de forma programática desde la API.


Introducción

El módulo de Contabilidad agrupa varios submódulos independientes. La mayoría de ellos exponen endpoints específicos de su dominio (cierre de libros, declaraciones, conciliación, reportes) y no el patrón CRUD genérico de otros recursos. Las excepciones son el plan de cuentas y el libro diario, que sí siguen un CRUD estándar.

Todos los submódulos de Contabilidad se autentican con el scope accounting: accounting:read para consultar y accounting:write para crear o modificar. El recurso de Estadísticas usa un scope propio, stats:read, y es de solo lectura.

Los endpoints se sirven bajo la URL base https://api.yo-facturo.com y cada submódulo tiene su propio prefijo, indicado abajo en la línea «Endpoint base».

Plan de cuentas

CRUD de las cuentas contables que componen el plan de cuentas. Cada cuenta tiene un código, un tipo y una posición jerárquica que permite armar el árbol contable. Soporta cargar un plan de cuentas argentino por defecto y consultar el saldo de cada cuenta.

Endpoint base: /api/v1/accounting/accounts

Scope: accounting:read / accounting:write

Campos

Body de POST /api/v1/accounting/accounts/:

CampoTipoRequeridoNotas
codestringCódigo de la cuenta. Entre 1 y 20 caracteres.
namestringNombre de la cuenta. Entre 1 y 200 caracteres.
account_typestringTipo de cuenta. Valores admitidos: asset, liability, equity, revenue, expense.
parent_codestringNoCódigo de la cuenta padre, para armar la jerarquía.
levelintegerNoNivel jerárquico de la cuenta. Entre 1 y 5.
is_detailbooleanNoIndica si la cuenta es imputable (de detalle).
descriptionstringNoDescripción de la cuenta. Hasta 500 caracteres.
afip_codestringNoCódigo AFIP asociado a la cuenta.

Petición

{
  "code": "1.1.01",
  "name": "Caja",
  "account_type": "asset",
  "parent_code": "1.1",
  "level": 3,
  "is_detail": true,
  "description": "Dinero en efectivo disponible"
}

Respuesta

{
  "success": true,
  "data": {
    "_id": "66f1a2b3c4d5e6f7a8b9c0d1",
    "code": "1.1.01",
    "name": "Caja",
    "account_type": "asset",
    "parent_code": "1.1",
    "level": 3,
    "is_detail": true,
    "is_active": true,
    "balance": 0.0
  }
}

Libro diario

CRUD de asientos contables. Cada asiento se compone de al menos dos líneas que imputan cuentas al debe y al haber. Los asientos se crean en estado de borrador y luego pueden asentarse (post) para actualizar los saldos de las cuentas, o revertirse mediante un contrasiento.

Endpoint base: /api/v1/accounting/journal

Scope: accounting:read / accounting:write

Campos

Body de POST /api/v1/accounting/journal/:

CampoTipoRequeridoNotas
datestringNoFecha del asiento.
descriptionstringDescripción o glosa del asiento. Entre 1 y 500 caracteres.
linesarrayLíneas del asiento. Mínimo 2 líneas. Cada línea es un objeto con los campos de la tabla siguiente.
reference_typestringNoTipo de documento que originó el asiento.
reference_idstringNoID del documento que originó el asiento.

Cada elemento del array lines tiene estos campos:

CampoTipoRequeridoNotas
account_codestringCódigo de la cuenta contable imputada.
account_namestringNoNombre de la cuenta imputada.
debitnumberNoImporte al debe. Mínimo 0.
creditnumberNoImporte al haber. Mínimo 0.
descriptionstringNoDescripción de la línea.

Petición

{
  "date": "2026-05-21",
  "description": "Venta de mercadería en efectivo",
  "lines": [
    {
      "account_code": "1.1.01",
      "account_name": "Caja",
      "debit": 12100.00,
      "credit": 0.00
    },
    {
      "account_code": "4.1.01",
      "account_name": "Ventas",
      "debit": 0.00,
      "credit": 10000.00
    },
    {
      "account_code": "2.1.05",
      "account_name": "IVA Débito Fiscal",
      "debit": 0.00,
      "credit": 2100.00
    }
  ],
  "reference_type": "invoice",
  "reference_id": "66f1a2b3c4d5e6f7a8b9c0d1"
}

Respuesta

{
  "success": true,
  "data": {
    "_id": "66f1a2b3c4d5e6f7a8b9c0e2",
    "date": "2026-05-21",
    "description": "Venta de mercadería en efectivo",
    "lines": [
      { "account_code": "1.1.01", "debit": 12100.00, "credit": 0.00 },
      { "account_code": "4.1.01", "debit": 0.00, "credit": 10000.00 },
      { "account_code": "2.1.05", "debit": 0.00, "credit": 2100.00 }
    ],
    "total_debit": 12100.00,
    "total_credit": 12100.00,
    "status": "draft"
  }
}

Libro IVA

Gestión de los libros de IVA compras y ventas, la administración de impuestos y la generación de la declaración jurada de IVA. Los libros se arman por período, pueden cerrarse y reabrirse, y exportarse para su presentación.

Endpoint base: /api/v1/iva

Scope: accounting:read / accounting:write

Este submódulo expone endpoints específicos de su dominio. Estos son los principales:

MétodoEndpointDescripción
GET/config/Obtener la configuración de IVA de la cuenta
PUT/config/Actualizar la configuración de IVA
GET/books/{period}/{book_type}/Obtener un libro de IVA (compras o ventas) de un período
GET/books/{book_id}/entries/Listar las entradas de un libro de IVA
POST/books/{book_id}/entries/Agregar una entrada manual a un libro de IVA
PUT/entries/{entry_id}/Editar una entrada de un libro de IVA
DELETE/entries/{entry_id}/Eliminar una entrada de un libro de IVA
POST/books/{period}/close/Cerrar el libro de IVA de un período
POST/books/{period}/reopen/Reabrir un libro de IVA cerrado
GET/summary/{period}/Resumen de IVA del período
POST/summary/{period}/calculate/Recalcular el resumen de IVA del período
GET/declaration/{period}/Declaración jurada de IVA del período
GET/export/{period}/{book_type}/Exportar un libro de IVA del período

Reportes contables

Reportes contables generados a partir del plan de cuentas y los asientos del libro diario: balance de sumas y saldos, estado de resultados, balance general, libro mayor y flujo de efectivo.

Endpoint base: /api/v1/accounting/reports

Scope: accounting:read

Este submódulo expone endpoints específicos de su dominio, todos de solo lectura:

MétodoEndpointDescripción
GET/trial-balance/Balance de sumas y saldos
GET/income-statement/Estado de resultados
GET/balance-sheet/Balance general (estado de situación patrimonial)
GET/general-ledger/Libro mayor general
GET/account-ledger/{account_code}/Mayor de una cuenta puntual
GET/daily-journal/{date}/Libro diario de una fecha
GET/cash-flow/Estado de flujo de efectivo

Conciliación bancaria

Importación de extractos bancarios y conciliación de sus movimientos contra los registros contables. Soporta conciliación automática y conciliación manual movimiento por movimiento.

Endpoint base: /api/v1/accounting/bank

Scope: accounting:read / accounting:write

Este submódulo expone endpoints específicos de su dominio. Estos son los principales:

MétodoEndpointDescripción
GET/statements/Listar los extractos bancarios importados
GET/statements/{statement_id}/Obtener un extracto bancario
POST/import/Importar un extracto bancario
POST/auto-match/{statement_id}/Conciliar automáticamente un extracto
POST/manual-match/Conciliar manualmente un movimiento

Calendario fiscal

Seguimiento de los vencimientos fiscales: lista de obligaciones, vencimientos próximos y marcado de obligaciones como cumplidas. Permite cargar un set de vencimientos por defecto.

Endpoint base: /api/v1/accounting/fiscal-calendar

Scope: accounting:read / accounting:write

Este submódulo expone endpoints específicos de su dominio. Estos son los principales:

MétodoEndpointDescripción
GET/Listar los vencimientos fiscales
GET/upcoming/Vencimientos fiscales próximos
POST/seed/Cargar los vencimientos fiscales por defecto
POST/{deadline_id}/complete/Marcar un vencimiento como cumplido

Cierre fiscal

Cierre del ejercicio contable. Permite listar los ejercicios fiscales, calcular el resultado del ejercicio antes de cerrarlo y ejecutar el cierre definitivo del año.

Endpoint base: /api/v1/accounting/fiscal-close

Scope: accounting:read / accounting:write

Este submódulo expone endpoints específicos de su dominio. Estos son los principales:

MétodoEndpointDescripción
GET/years/Listar los ejercicios fiscales
GET/calculate/{year}/Calcular el resultado del ejercicio antes de cerrar
POST/close/{year}/Cerrar el ejercicio fiscal

Retenciones y percepciones

Administración de regímenes de retención y percepción, cálculo y aplicación de retenciones y percepciones, emisión de certificados y generación de declaraciones juradas del período.

Endpoint base: /api/v1/accounting/retenciones-percepciones

Scope: accounting:read / accounting:write

Este submódulo expone endpoints específicos de su dominio. Estos son los principales:

MétodoEndpointDescripción
GET/config/Obtener la configuración de retenciones y percepciones
PUT/config/Actualizar la configuración
GET/regimes/Listar los regímenes de retención y percepción
POST/regimes/Crear un régimen
GET/retenciones/Listar las retenciones
POST/retenciones/calculate/Calcular una retención
POST/retenciones/apply/Aplicar una retención
GET/percepciones/Listar las percepciones
POST/percepciones/calculate/Calcular una percepción
GET/certificates/Listar los certificados emitidos
POST/certificates/Emitir un certificado
GET/ddjj/{period}/Declaración jurada del período

Datos fiscales

Datos fiscales del contribuyente por sistema de facturación. Permite cargar y mantener los datos del contribuyente, elegir el sistema de facturación activo, gestionar el certificado y verificar la delegación de servicios y los puntos de venta ante AFIP.

Endpoint base: /api/v1/bill/tax_info

Scope: accounting:read / accounting:write

Este submódulo expone endpoints específicos de su dominio. Estos son los principales:

MétodoEndpointDescripción
GET/taxpayer/Obtener los datos fiscales del contribuyente
GET/taxpayer/systems/Listar los sistemas de facturación soportados
GET/taxpayer/{billing_system}/Obtener los datos fiscales de un sistema de facturación
POST/taxpayer/{billing_system}/Cargar los datos fiscales de un sistema de facturación
PUT/taxpayer/{billing_system}/Actualizar los datos fiscales de un sistema
DELETE/taxpayer/{billing_system}/Eliminar los datos fiscales de un sistema
PATCH/taxpayer/active-system/Cambiar el sistema de facturación activo
POST/verify-delegation/Verificar la delegación de servicios ante AFIP
POST/verify-punto-venta/Verificar un punto de venta habilitado

Estadísticas

Métricas del negocio: indicadores del panel principal, estadísticas de actividad y métricas de transacciones. Es un recurso de solo lectura.

Endpoint base: /api/v1/stats

Scope: stats:read (solo lectura)

Endpoints principales de Estadísticas:

MétodoEndpointDescripción
GET/dashboard/Métricas del panel principal del negocio
GET/activity/Estadísticas de actividad
POST/transactions/Métricas de transacciones