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/:
| Campo | Tipo | Requerido | Notas |
|---|---|---|---|
code | string | Sí | Código de la cuenta. Entre 1 y 20 caracteres. |
name | string | Sí | Nombre de la cuenta. Entre 1 y 200 caracteres. |
account_type | string | Sí | Tipo de cuenta. Valores admitidos: asset, liability, equity, revenue, expense. |
parent_code | string | No | Código de la cuenta padre, para armar la jerarquía. |
level | integer | No | Nivel jerárquico de la cuenta. Entre 1 y 5. |
is_detail | boolean | No | Indica si la cuenta es imputable (de detalle). |
description | string | No | Descripción de la cuenta. Hasta 500 caracteres. |
afip_code | string | No | Có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/:
| Campo | Tipo | Requerido | Notas |
|---|---|---|---|
date | string | No | Fecha del asiento. |
description | string | Sí | Descripción o glosa del asiento. Entre 1 y 500 caracteres. |
lines | array | Sí | Líneas del asiento. Mínimo 2 líneas. Cada línea es un objeto con los campos de la tabla siguiente. |
reference_type | string | No | Tipo de documento que originó el asiento. |
reference_id | string | No | ID del documento que originó el asiento. |
Cada elemento del array lines tiene estos campos:
| Campo | Tipo | Requerido | Notas |
|---|---|---|---|
account_code | string | Sí | Código de la cuenta contable imputada. |
account_name | string | No | Nombre de la cuenta imputada. |
debit | number | No | Importe al debe. Mínimo 0. |
credit | number | No | Importe al haber. Mínimo 0. |
description | string | No | Descripció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étodo | Endpoint | Descripció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étodo | Endpoint | Descripció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étodo | Endpoint | Descripció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étodo | Endpoint | Descripció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étodo | Endpoint | Descripció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étodo | Endpoint | Descripció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étodo | Endpoint | Descripció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étodo | Endpoint | Descripción |
|---|---|---|
GET | /dashboard/ | Métricas del panel principal del negocio |
GET | /activity/ | Estadísticas de actividad |
POST | /transactions/ | Métricas de transacciones |