Referencia
Contabilidad y reportes
Asientos para el ERP, cuentas contables, impuestos propios, reportes, planillas y presupuestos.
- GET
/exportar/asientosExportar asientos - GET
/cuentas-contablesVer las cuentas contables - PUT
/cuentas-contablesCambiar las cuentas contables - GET
/impuestosListar impuestos propios - POST
/impuestosCrear un impuesto propio - PATCH
/impuestos/{id}Cambiar un impuesto propio - GET
/reportesReporte del período - GET
/exportarPlanilla del período - GET
/exportar/documentosDocumentos del período - GET
/plantillasListar plantillas de exportación - POST
/plantillasCrear una plantilla - PATCH
/plantillas/{id}Cambiar una plantilla - DELETE
/plantillas/{id}Borrar una plantilla - GET
/presupuestosListar presupuestos - POST
/presupuestosCrear un presupuesto - PUT
/presupuestosCargar varios presupuestos - DELETE
/presupuestos/{id}Borrar un presupuesto
Exportar asientos
/api/v1/exportar/asientosLos asientos de las rendiciones aprobadas o cerradas del período, en CSV para importar en el ERP: comprobante, fecha, cuenta, glosa, debe, haber, centro de costo, RUT, tipo de documento y folio, y después nombre de la cuenta, auxiliar, código SII, fecha de emisión y respaldo. Con formato=json trae además advertencias.
- Quién: Contabilidad y administración.
Parámetros de consulta
desdefechaobligatorio- AAAA-MM-DD.
hastafechaobligatorio- AAAA-MM-DD.
formatotexto- json para recibir { lineas, advertencias } en vez del CSV.
Pedido
curl "https://simpligastos.cl/api/v1/exportar/asientos?desde=2026-10-01&hasta=2026-10-31&formato=json" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/exportar/asientos?desde=2026-10-01&hasta=2026-10-31&formato=json", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/exportar/asientos?desde=2026-10-01&hasta=2026-10-31&formato=json",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"lineas": [
{
"comprobante": 25,
"fecha": "2026-10-05",
"rut": "78441427-2",
"auxiliar": "Sodimac",
"tipoDocumento": "factura",
"codigoSii": 33,
"folio": "411473",
"fechaEmision": "2026-10-05",
"respaldo": "https://app.simpligastos.cl/api/v1/gastos/b0c153af-2b73-4a74-98bd-28b2220c8209/archivo",
"cuenta": "5201",
"nombreCuenta": "Materiales",
"glosa": "Sodimac, Rendición N° 25 Gastos de octubre, Pedro Soto",
"debe": 74101,
"haber": 0,
"centroCosto": "CC-10"
}
],
"advertencias": []
}Sin formato=json responde text/csv separado por punto y coma.
Ver las cuentas contables
/api/v1/cuentas-contablesLas cuentas que usa el asiento: IVA crédito fiscal, reembolsos por pagar, fondos por rendir, tarjeta y gastos sin categoría, y cómo van las facturas: gasto_e_iva (el neto a su categoría y el IVA al crédito) o cuenta_puente (una línea por el total a facturasPuente, para quien ya las contabiliza desde el Registro de Compras y Ventas del SII).
Pedido
curl "https://simpligastos.cl/api/v1/cuentas-contables" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/cuentas-contables", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/cuentas-contables",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"cuentas": {
"ivaCredito": "1105",
"porPagar": "2110",
"fondos": "1120",
"tarjeta": "2120",
"sinCategoria": "5199",
"facturas": "gasto_e_iva",
"facturasPuente": null
}
}Cambiar las cuentas contables
/api/v1/cuentas-contablesResponde las cuentas guardadas. Sin facturas ni facturasPuente, quedan como estaban.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
ivaCreditotexto o null- Hasta 30 caracteres.
porPagartexto o null- Hasta 30 caracteres.
fondostexto o null- Hasta 30 caracteres.
tarjetatexto o null- Hasta 30 caracteres.
sinCategoriatexto o null- Hasta 30 caracteres.
facturastexto- Uno de: gasto_e_iva, cuenta_puente.
facturasPuentetexto o null- Hasta 30 caracteres.
Pedido
curl -X PUT "https://simpligastos.cl/api/v1/cuentas-contables" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"ivaCredito":"1105","porPagar":"2110","fondos":"1120","tarjeta":"2120","sinCategoria":"5199","facturas":"cuenta_puente","facturasPuente":"2105"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/cuentas-contables", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"ivaCredito": "1105",
"porPagar": "2110",
"fondos": "1120",
"tarjeta": "2120",
"sinCategoria": "5199",
"facturas": "cuenta_puente",
"facturasPuente": "2105"
}),
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.put(
"https://simpligastos.cl/api/v1/cuentas-contables",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"ivaCredito": "1105",
"porPagar": "2110",
"fondos": "1120",
"tarjeta": "2120",
"sinCategoria": "5199",
"facturas": "cuenta_puente",
"facturasPuente": "2105",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"cuentas": {
"ivaCredito": "1105",
"porPagar": "2110",
"fondos": "1120",
"tarjeta": "2120",
"sinCategoria": "5199",
"facturas": "cuenta_puente",
"facturasPuente": "2105"
}
}Listar impuestos propios
/api/v1/impuestosImpuestos además del IVA (ILA, impuesto específico...) con su cuenta: el asiento los separa del gasto.
Pedido
curl "https://simpligastos.cl/api/v1/impuestos" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/impuestos", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/impuestos",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"impuestos": [
{
"id": "531e8c86-7ddc-4f3c-8389-af892d2ae117",
"nombre": "ILA",
"alias": [
"impuesto adicional bebidas"
],
"cuenta": "5301",
"recuperable": false,
"activo": true
}
]
}Crear un impuesto propio
/api/v1/impuestosalias son los nombres con que aparece en las boletas.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
nombretextoobligatorio- De 1 a 80 caracteres.
aliaslista de texto- Hasta 20 elementos.
cuentatexto o null- Hasta 30 caracteres.
recuperablebooleano- Por omisión: false.
activobooleano- Por omisión: true.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/impuestos" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"nombre":"ILA","alias":["impuesto adicional bebidas"],"cuenta":"5301","recuperable":false}'const respuesta = await fetch("https://simpligastos.cl/api/v1/impuestos", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nombre": "ILA",
"alias": [
"impuesto adicional bebidas"
],
"cuenta": "5301",
"recuperable": false
}),
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.post(
"https://simpligastos.cl/api/v1/impuestos",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"nombre": "ILA",
"alias": ["impuesto adicional bebidas"],
"cuenta": "5301",
"recuperable": False,
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"id": "531e8c86-7ddc-4f3c-8389-af892d2ae117"
}Cambiar un impuesto propio
/api/v1/impuestos/{id}Manda el impuesto completo.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
nombretextoobligatorio- De 1 a 80 caracteres.
aliaslista de texto- Hasta 20 elementos.
cuentatexto o null- Hasta 30 caracteres.
recuperablebooleano- Por omisión: false.
activobooleano- Por omisión: true.
Pedido
curl -X PATCH "https://simpligastos.cl/api/v1/impuestos/531e8c86-7ddc-4f3c-8389-af892d2ae117" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"nombre":"ILA","alias":["impuesto adicional bebidas","ila"],"cuenta":"5301","recuperable":false,"activo":true}'const respuesta = await fetch("https://simpligastos.cl/api/v1/impuestos/531e8c86-7ddc-4f3c-8389-af892d2ae117", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nombre": "ILA",
"alias": [
"impuesto adicional bebidas",
"ila"
],
"cuenta": "5301",
"recuperable": false,
"activo": true
}),
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.patch(
"https://simpligastos.cl/api/v1/impuestos/531e8c86-7ddc-4f3c-8389-af892d2ae117",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"nombre": "ILA",
"alias": ["impuesto adicional bebidas", "ila"],
"cuenta": "5301",
"recuperable": False,
"activo": True,
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"id": "531e8c86-7ddc-4f3c-8389-af892d2ae117"
}Reporte del período
/api/v1/reportesTotales agrupados, lo fuera de política, los duplicados y las horas promedio de aprobación.
Parámetros de consulta
desdefecha- AAAA-MM-DD. Por omisión, el primer día del mes en curso (hora de Chile).
hastafecha- AAAA-MM-DD. Por omisión, el último día del mes en curso.
alcancetexto- aprobados (por omisión) o todos.
personaid- Solo los de esa persona.
portexto- persona, categoria (por omisión), centro, emisor o mes.
Pedido
curl "https://simpligastos.cl/api/v1/reportes?desde=2026-10-01&hasta=2026-10-31&por=categoria" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/reportes?desde=2026-10-01&hasta=2026-10-31&por=categoria", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/reportes?desde=2026-10-01&hasta=2026-10-31&por=categoria",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"reporte": {
"filas": [
{
"clave": "16855a8d-78e0-4c59-9365-1739dcd23ac4",
"nombre": "Materiales",
"gastos": 1,
"total": 88180
}
],
"total": 157010,
"gastos": 4,
"fueraDePolitica": {
"gastos": 0,
"total": 0
},
"duplicados": 0,
"horasAprobacion": 40.0098779375463
}
}Planilla del período
/api/v1/exportarLos gastos del período en Excel o CSV, con las columnas de una plantilla (sin plantilla, la estándar).
Parámetros de consulta
desdefecha- AAAA-MM-DD. Por omisión, el primer día del mes en curso (hora de Chile).
hastafecha- AAAA-MM-DD. Por omisión, el último día del mes en curso.
alcancetexto- aprobados (por omisión) o todos.
personaid- Solo los de esa persona.
plantillaid- Una plantilla de /plantillas.
Pedido
curl "https://simpligastos.cl/api/v1/exportar?desde=2026-10-01&hasta=2026-10-31" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-o gastos.xlsximport { writeFile } from "node:fs/promises";
const respuesta = await fetch("https://simpligastos.cl/api/v1/exportar?desde=2026-10-01&hasta=2026-10-31", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
await writeFile("gastos.xlsx", Buffer.from(await respuesta.arrayBuffer()));import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/exportar?desde=2026-10-01&hasta=2026-10-31",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
with open("gastos.xlsx", "wb") as f:
f.write(respuesta.content)Respuesta
200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
(el archivo: gastos.xlsx)Documentos del período
/api/v1/exportar/documentosLas fotos y PDF del período en un ZIP. Si no hay ninguno (solo gastos sin documento, o nada), responde 404 con el motivo.
Parámetros de consulta
desdefecha- AAAA-MM-DD. Por omisión, el primer día del mes en curso (hora de Chile).
hastafecha- AAAA-MM-DD. Por omisión, el último día del mes en curso.
alcancetexto- aprobados (por omisión) o todos.
personaid- Solo los de esa persona.
Pedido
curl "https://simpligastos.cl/api/v1/exportar/documentos?desde=2026-10-01&hasta=2026-10-31" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-o documentos.zipimport { writeFile } from "node:fs/promises";
const respuesta = await fetch("https://simpligastos.cl/api/v1/exportar/documentos?desde=2026-10-01&hasta=2026-10-31", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
await writeFile("documentos.zip", Buffer.from(await respuesta.arrayBuffer()));import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/exportar/documentos?desde=2026-10-01&hasta=2026-10-31",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
with open("documentos.zip", "wb") as f:
f.write(respuesta.content)Respuesta
200 Content-Type: application/zip
(el archivo: documentos.zip)Listar plantillas de exportación
/api/v1/plantillasLas plantillas de la empresa y todas las columnas que se pueden usar.
Pedido
curl "https://simpligastos.cl/api/v1/plantillas" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/plantillas", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/plantillas",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"plantillas": [
{
"id": "estandar",
"nombre": "Estándar",
"columnas": [
{
"campo": "fecha",
"titulo": "Fecha"
}
],
"formato": "xlsx",
"separador": ";",
"formatoFecha": "DD-MM-AAAA"
}
],
"columnas": [
{
"campo": "fecha",
"titulo": "Fecha"
}
]
}Crear una plantilla
/api/v1/plantillasLas columnas salen de la lista que trae GET /plantillas.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
nombretextoobligatorio- De 1 a 60 caracteres.
columnaslista de objetoobligatorio- De 1 a 60 elementos.
columnas[].campotextoobligatorio- De 1 a 80 caracteres.
columnas[].titulotextoobligatorio- De 1 a 80 caracteres.
formatotexto- Uno de: xlsx, csv. Por omisión: "xlsx".
separadortexto- Uno de: ;, ,, tab. Por omisión: ";".
formatoFechatexto- Uno de: DD-MM-AAAA, AAAA-MM-DD, DD/MM/AAAA. Por omisión: "DD-MM-AAAA".
Pedido
curl -X POST "https://simpligastos.cl/api/v1/plantillas" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"nombre":"Para el ERP","columnas":[{"campo":"fecha","titulo":"Fecha"},{"campo":"total","titulo":"Monto"}],"formato":"csv","separador":";","formatoFecha":"AAAA-MM-DD"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/plantillas", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nombre": "Para el ERP",
"columnas": [
{
"campo": "fecha",
"titulo": "Fecha"
},
{
"campo": "total",
"titulo": "Monto"
}
],
"formato": "csv",
"separador": ";",
"formatoFecha": "AAAA-MM-DD"
}),
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.post(
"https://simpligastos.cl/api/v1/plantillas",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"nombre": "Para el ERP",
"columnas": [
{
"campo": "fecha",
"titulo": "Fecha",
},
{
"campo": "total",
"titulo": "Monto",
},
],
"formato": "csv",
"separador": ";",
"formatoFecha": "AAAA-MM-DD",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"id": "8f3e2d1c-0b9a-4e7f-8d6c-5b4a3f2e1d0c"
}Cambiar una plantilla
/api/v1/plantillas/{id}Manda la plantilla completa.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
nombretextoobligatorio- De 1 a 60 caracteres.
columnaslista de objetoobligatorio- De 1 a 60 elementos.
columnas[].campotextoobligatorio- De 1 a 80 caracteres.
columnas[].titulotextoobligatorio- De 1 a 80 caracteres.
formatotexto- Uno de: xlsx, csv. Por omisión: "xlsx".
separadortexto- Uno de: ;, ,, tab. Por omisión: ";".
formatoFechatexto- Uno de: DD-MM-AAAA, AAAA-MM-DD, DD/MM/AAAA. Por omisión: "DD-MM-AAAA".
Pedido
curl -X PATCH "https://simpligastos.cl/api/v1/plantillas/8f3e2d1c-0b9a-4e7f-8d6c-5b4a3f2e1d0c" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"nombre":"Para el ERP","columnas":[{"campo":"fecha","titulo":"Fecha"}],"formato":"csv"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/plantillas/8f3e2d1c-0b9a-4e7f-8d6c-5b4a3f2e1d0c", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nombre": "Para el ERP",
"columnas": [
{
"campo": "fecha",
"titulo": "Fecha"
}
],
"formato": "csv"
}),
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.patch(
"https://simpligastos.cl/api/v1/plantillas/8f3e2d1c-0b9a-4e7f-8d6c-5b4a3f2e1d0c",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"nombre": "Para el ERP",
"columnas": [
{
"campo": "fecha",
"titulo": "Fecha",
},
],
"formato": "csv",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Borrar una plantilla
/api/v1/plantillas/{id}La estándar no se borra.
- Quién: Contabilidad y administración.
Pedido
curl -X DELETE "https://simpligastos.cl/api/v1/plantillas/8f3e2d1c-0b9a-4e7f-8d6c-5b4a3f2e1d0c" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/plantillas/8f3e2d1c-0b9a-4e7f-8d6c-5b4a3f2e1d0c", {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.delete(
"https://simpligastos.cl/api/v1/plantillas/8f3e2d1c-0b9a-4e7f-8d6c-5b4a3f2e1d0c",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Listar presupuestos
/api/v1/presupuestosLos presupuestos del año (o del mes) con lo gastado, lo comprometido en rendiciones en curso y lo disponible.
Parámetros de consulta
anioentero- Por omisión, el año en curso.
mesentero- De 1 a 12.
Pedido
curl "https://simpligastos.cl/api/v1/presupuestos?anio=2026&mes=10" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/presupuestos?anio=2026&mes=10", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/presupuestos?anio=2026&mes=10",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"presupuestos": [
{
"id": "2c8e4a6b-0d1f-4e3a-9b5c-7d6e8f0a1b2c",
"centroCostoId": "51e6abca-a8e0-4fbd-adf1-ebfe070f272d",
"centroCosto": "Faena Antofagasta",
"categoriaId": null,
"categoria": null,
"anio": 2026,
"mes": 10,
"monto": 2000000,
"gastado": 412350,
"comprometido": 157010,
"disponible": 1430640
}
]
}Crear un presupuesto
/api/v1/presupuestosPor centro de costo, por categoría o ambos; sin mes, es del año.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
centroCostoIdid o null- Opcional.
categoriaIdid o null- Opcional.
anioenteroobligatorio- De 2.000 a 2.100.
mesentero o null- De 1 a 12.
montoenteroobligatorio- Mayor que 0.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/presupuestos" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"centroCostoId":"51e6abca-a8e0-4fbd-adf1-ebfe070f272d","categoriaId":null,"anio":2026,"mes":10,"monto":2000000}'const respuesta = await fetch("https://simpligastos.cl/api/v1/presupuestos", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"centroCostoId": "51e6abca-a8e0-4fbd-adf1-ebfe070f272d",
"categoriaId": null,
"anio": 2026,
"mes": 10,
"monto": 2000000
}),
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.post(
"https://simpligastos.cl/api/v1/presupuestos",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"centroCostoId": "51e6abca-a8e0-4fbd-adf1-ebfe070f272d",
"categoriaId": None,
"anio": 2026,
"mes": 10,
"monto": 2000000,
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Cargar varios presupuestos
/api/v1/presupuestosHasta 2000 de una vez, por ejemplo desde el ERP. Los que ya existen para el mismo centro, categoría y período se reemplazan.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
presupuestoslista de objetoobligatorio- De 1 a 2.000 elementos.
presupuestos[].centroCostoIdid o null- Opcional.
presupuestos[].categoriaIdid o null- Opcional.
presupuestos[].anioenteroobligatorio- De 2.000 a 2.100.
presupuestos[].mesentero o null- De 1 a 12.
presupuestos[].montoenteroobligatorio- Mayor que 0.
Pedido
curl -X PUT "https://simpligastos.cl/api/v1/presupuestos" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"presupuestos":[{"centroCostoId":"51e6abca-a8e0-4fbd-adf1-ebfe070f272d","anio":2026,"mes":10,"monto":2000000}]}'const respuesta = await fetch("https://simpligastos.cl/api/v1/presupuestos", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"presupuestos": [
{
"centroCostoId": "51e6abca-a8e0-4fbd-adf1-ebfe070f272d",
"anio": 2026,
"mes": 10,
"monto": 2000000
}
]
}),
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.put(
"https://simpligastos.cl/api/v1/presupuestos",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"presupuestos": [
{
"centroCostoId": "51e6abca-a8e0-4fbd-adf1-ebfe070f272d",
"anio": 2026,
"mes": 10,
"monto": 2000000,
},
],
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"guardados": 1
}Borrar un presupuesto
/api/v1/presupuestos/{id}- Quién: Contabilidad y administración.
Pedido
curl -X DELETE "https://simpligastos.cl/api/v1/presupuestos/2c8e4a6b-0d1f-4e3a-9b5c-7d6e8f0a1b2c" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/presupuestos/2c8e4a6b-0d1f-4e3a-9b5c-7d6e8f0a1b2c", {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
const datos = await respuesta.json();import os
import requests
respuesta = requests.delete(
"https://simpligastos.cl/api/v1/presupuestos/2c8e4a6b-0d1f-4e3a-9b5c-7d6e8f0a1b2c",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}