Referencia
Rendiciones
Un grupo de gastos que alguien rinde junto y que pasa por aprobación, contabilidad y pago.
- GET
/rendicionesListar rendiciones - POST
/rendicionesCrear una rendición - GET
/rendiciones/{id}Ver una rendición - PATCH
/rendiciones/{id}Cambiar una rendición - POST
/rendiciones/{id}/enviarEnviar a aprobación - POST
/rendiciones/{id}/retirarRetirar de aprobación - POST
/rendiciones/{id}/aprobarAprobar - POST
/rendiciones/{id}/rechazarRechazar - POST
/rendiciones/{id}/cerrarCerrar - POST
/rendiciones/{id}/gastosAgregar gastos - DELETE
/rendiciones/{id}/gastos/{gastoId}Quitar un gasto - POST
/rendiciones/{id}/gastos/{gastoId}/rechazarRechazar un gasto - POST
/rendiciones/{id}/contabilizarMarcar como contabilizada - DELETE
/rendiciones/{id}/contabilizarDeshacer la marca - PUT
/rendiciones/{id}/etapaCambiar la etapa propia - GET
/rendiciones/{id}/informeInforme en PDF - GET
/rendiciones/{id}/asientoAsiento contable - GET
/estados-rendicionListar etapas propias - POST
/estados-rendicionCrear una etapa propia - PATCH
/estados-rendicion/{id}Cambiar una etapa propia
Listar rendiciones
/api/v1/rendicionesDe la más reciente a la más antigua. Con una llave se ven todas las de la empresa. Sin limite vienen todas; ver Paginación.
Parámetros de consulta
estadotexto- borrador, enviada, aprobada, rechazada o cerrada.
contabilizada0 o 1- 1: las que el ERP ya marcó como registradas; 0: las que faltan.
propias1- Solo las de la persona que pregunta.
por_aprobar1- Las que esperan la decisión de la persona que pregunta (con Simpligastos-Persona).
decididas1- Las que decidió la persona que pregunta en los últimos 7 días.
limiteentero- De 1 a 500.
desplazamientoentero- Cuántas saltar, para pedir la página siguiente.
Pedido
curl "https://simpligastos.cl/api/v1/rendiciones?estado=aprobada&contabilizada=0&limite=50" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones?estado=aprobada&contabilizada=0&limite=50", {
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/rendiciones?estado=aprobada&contabilizada=0&limite=50",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"rendiciones": [
{
"id": "c7031420-7f7d-4b53-b3f7-8484a7b9c7e5",
"numero": 25,
"titulo": "Gastos de octubre",
"estado": "aprobada",
"personaId": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"personaNombre": "Pedro Soto",
"total": 157010,
"cantidad": 4,
"conAvisos": 1,
"fueraDePolitica": 0,
"campos": {},
"fondoId": "0604288d-8cfb-4d13-a385-e48eae827a8a",
"riesgo": "medio",
"riesgoMotivos": [
"Un gasto con lectura dudosa",
"2 gastos en fin de semana"
],
"contabilizadaEn": null,
"contabilizadaRef": null,
"fondoMotivo": "Turno faena Calama",
"motivoRechazo": null,
"enviadaEn": "2026-10-12T00:24:28.209Z",
"cerradaEn": null,
"creadaEn": "2026-10-12T00:24:28.182Z",
"portadaId": "1ddc50ca-d684-40df-bd5e-a9c34c99f31b",
"estadoPropio": null
}
]
}Crear una rendición
/api/v1/rendicionesJunta gastos propios sin rendir, contra un fondo (fondoId) o como reembolso. Con enviar: true la manda a aprobación de inmediato.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Cuerpo (JSON)
titulotextoobligatorio- De 1 a 120 caracteres.
gastoIdslista de idobligatorio- Hasta 500 elementos.
fondoIdid o null- Opcional.
enviarbooleano- Por omisión: false.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca" \
-H "Content-Type: application/json" \
-d '{"titulo":"Gastos de octubre","gastoIds":["b0c153af-2b73-4a74-98bd-28b2220c8209"],"fondoId":null,"enviar":true}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"Content-Type": "application/json",
},
body: JSON.stringify({
"titulo": "Gastos de octubre",
"gastoIds": [
"b0c153af-2b73-4a74-98bd-28b2220c8209"
],
"fondoId": null,
"enviar": true
}),
});
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/rendiciones",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
json={
"titulo": "Gastos de octubre",
"gastoIds": ["b0c153af-2b73-4a74-98bd-28b2220c8209"],
"fondoId": None,
"enviar": True,
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"id": "c7031420-7f7d-4b53-b3f7-8484a7b9c7e5"
}Ver una rendición
/api/v1/rendiciones/{id}El detalle con sus gastos (con sus ítems), los pasos de aprobación, el fondo, el pago, el historial y lo que puede hacer quien pregunta (puedo). formulario trae lo del formulario de rendición ya calculado: tipo (caja_chica, fondo, viatico o reembolso), empresa y solicitante con su RUT, los totales de boletas y facturas por separado con el resumen por cuenta contable y el período, el fondo actualizado (saldo antes, lo rendido y el saldo después) y las firmas: solicitante, VºBº de jefatura y VºBº de control de pago.
Pedido
curl "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5", {
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"rendicion": {
"id": "c7031420-7f7d-4b53-b3f7-8484a7b9c7e5",
"numero": 25,
"titulo": "Gastos de octubre",
"estado": "aprobada",
"personaId": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"personaNombre": "Pedro Soto",
"total": 157010,
"cantidad": 4,
"conAvisos": 1,
"fueraDePolitica": 0,
"campos": {},
"fondoId": "0604288d-8cfb-4d13-a385-e48eae827a8a",
"riesgo": "medio",
"riesgoMotivos": [
"Un gasto con lectura dudosa",
"2 gastos en fin de semana"
],
"contabilizadaEn": null,
"contabilizadaRef": null,
"fondoMotivo": "Turno faena Calama",
"motivoRechazo": null,
"enviadaEn": "2026-10-12T00:24:28.209Z",
"cerradaEn": null,
"creadaEn": "2026-10-12T00:24:28.182Z",
"portadaId": "1ddc50ca-d684-40df-bd5e-a9c34c99f31b",
"estadoPropio": null,
"gastos": [
{
"id": "b0c153af-2b73-4a74-98bd-28b2220c8209",
"personaId": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"rendicionId": "c7031420-7f7d-4b53-b3f7-8484a7b9c7e5",
"estado": "listo",
"canal": "movil",
"archivoTipo": "image/jpeg",
"tieneArchivo": true,
"partes": 1,
"tipoDocumento": "factura",
"folio": "411473",
"fecha": "2026-10-05",
"emisorRut": "78441427-2",
"emisorNombre": "Sodimac",
"neto": 74101,
"exento": null,
"iva": 14079,
"impuestosAdicionales": [],
"total": 88180,
"medioPago": null,
"detalle": "Taladro, brocas y tarugos",
"items": [
{
"descripcion": "Taladro percutor 750 W",
"cantidad": 1,
"precioUnitario": 49990,
"total": 49990
},
{
"descripcion": "Juego de brocas",
"cantidad": 2,
"precioUnitario": 8403,
"total": 16806
},
{
"descripcion": "Tarugos 8 mm",
"cantidad": 3,
"precioUnitario": 2435,
"total": 7305
}
],
"pagadoPorEmpresa": false,
"categoriaId": "16855a8d-78e0-4c59-9365-1739dcd23ac4",
"centroCostoId": "ec909ecb-6aa3-4795-80bd-02446735b974",
"comentario": null,
"campos": {},
"observaciones": [],
"modelo": "timbre",
"conTimbre": true,
"siiEstado": "valido",
"corregido": false,
"duplicadoDe": null,
"motivoRechazo": null,
"creadoEn": "2026-10-05T17:42:00.000Z"
}
],
"fondo": {
"id": "0604288d-8cfb-4d13-a385-e48eae827a8a",
"motivo": "Turno faena Calama",
"tipo": "fondo",
"saldo": 250000,
"porEntregar": 0,
"abierto": true
},
"pago": null,
"aprobaciones": [
{
"ronda": 1,
"paso": 1,
"aprobadorNombre": "Ana Morales",
"rol": null,
"grupoNombre": null,
"estado": "aprobada",
"decididaPorNombre": "Ana Morales",
"decididaEn": "2026-10-12T00:28:01.573Z",
"comentario": "Todo en orden"
}
],
"historial": [
{
"accion": "creada",
"personaNombre": "Pedro Soto",
"detalle": {
"gastos": 4
},
"creadoEn": "2026-10-12T00:24:28.182Z"
}
],
"puedo": {
"editar": false,
"enviar": false,
"retirar": false,
"decidir": false,
"cerrar": true
},
"formulario": {
"tipo": "fondo",
"empresa": {
"nombre": "Montajes Andes Sur SpA",
"rut": "76543210-3"
},
"solicitante": {
"nombre": "Pedro Soto",
"rut": "15.200.000-6",
"centrosCosto": [
"Faena Calama"
]
},
"totales": {
"boletas": {
"cantidad": 3,
"total": 68830
},
"facturas": {
"cantidad": 1,
"neto": 74101,
"iva": 14079,
"exento": 0,
"total": 88180
},
"total": 157010,
"porCuenta": [
{
"categoriaId": "b4beec61-4ea4-41ae-839b-56365013bd74",
"nombre": "Materiales",
"codigoContable": "5103",
"boletas": 0,
"facturas": 88180,
"total": 88180,
"cantidad": 1
},
{
"categoriaId": "f1d3a6b8-2c4e-4f7a-9b1d-3e5f7a9c1b2d",
"nombre": "Combustible",
"codigoContable": "5104",
"boletas": 68830,
"facturas": 0,
"total": 68830,
"cantidad": 3
}
],
"periodo": {
"desde": "2026-10-01",
"hasta": "2026-10-09"
}
},
"fondo": {
"saldoAntes": 250000,
"rendido": 157010,
"saldoDespues": 92990,
"pagadoPorEmpresa": 0,
"descontado": false,
"reposicion": null
},
"firmas": {
"solicitante": {
"nombre": "Pedro Soto",
"fecha": "2026-10-12T00:24:28.209Z",
"detalle": null
},
"jefatura": [
{
"nombre": "Ana Morales",
"fecha": "2026-10-12T00:28:01.573Z",
"detalle": "Todo en orden"
}
],
"controlPago": null
}
}
}
}Cambiar una rendición
/api/v1/rendiciones/{id}Cambia el título, el fondo o los campos propios mientras está en borrador.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Cuerpo (JSON)
titulotexto- De 1 a 120 caracteres.
camposobjeto- Opcional.
fondoIdid o null- Opcional.
Pedido
curl -X PATCH "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca" \
-H "Content-Type: application/json" \
-d '{"titulo":"Gastos de octubre, faena Calama"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"Content-Type": "application/json",
},
body: JSON.stringify({
"titulo": "Gastos de octubre, faena Calama"
}),
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
json={
"titulo": "Gastos de octubre, faena Calama",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Enviar a aprobación
/api/v1/rendiciones/{id}/enviarManda un borrador a aprobar. Lo hace quien rindió.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/enviar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/enviar", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/enviar",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Retirar de aprobación
/api/v1/rendiciones/{id}/retirarQuien rindió la saca de aprobación y vuelve a borrador, mientras nadie la haya decidido.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/retirar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/retirar", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/retirar",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Aprobar
/api/v1/rendiciones/{id}/aprobarAprueba el paso que le toca a la persona del encabezado Simpligastos-Persona. Una llave sin persona no decide rendiciones.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Cuerpo (JSON)
comentariotexto o null- Hasta 500 caracteres.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/aprobar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca" \
-H "Content-Type: application/json" \
-d '{"comentario":"Todo en orden"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/aprobar", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"Content-Type": "application/json",
},
body: JSON.stringify({
"comentario": "Todo en orden"
}),
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/aprobar",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
json={
"comentario": "Todo en orden",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Rechazar
/api/v1/rendiciones/{id}/rechazarLa devuelve a quien rindió con el motivo, para corregirla. Necesita Simpligastos-Persona, igual que aprobar.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Cuerpo (JSON)
motivotextoobligatorio- De 1 a 500 caracteres.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/rechazar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca" \
-H "Content-Type: application/json" \
-d '{"motivo":"Falta la boleta del almuerzo del 5 de octubre"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/rechazar", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"Content-Type": "application/json",
},
body: JSON.stringify({
"motivo": "Falta la boleta del almuerzo del 5 de octubre"
}),
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/rechazar",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
json={
"motivo": "Falta la boleta del almuerzo del 5 de octubre",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Cerrar
/api/v1/rendiciones/{id}/cerrarContabilidad cierra una rendición aprobada: queda registrada y su reembolso pasa a pagos (o se descuenta del fondo).
- Quién: Contabilidad y administración.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/cerrar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/cerrar", {
method: "POST",
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.post(
"https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/cerrar",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Agregar gastos
/api/v1/rendiciones/{id}/gastosSuma gastos sin rendir a un borrador.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Cuerpo (JSON)
gastoIdslista de idobligatorio- De 1 a 500 elementos.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca" \
-H "Content-Type: application/json" \
-d '{"gastoIds":["b0c153af-2b73-4a74-98bd-28b2220c8209"]}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"Content-Type": "application/json",
},
body: JSON.stringify({
"gastoIds": [
"b0c153af-2b73-4a74-98bd-28b2220c8209"
]
}),
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
json={
"gastoIds": ["b0c153af-2b73-4a74-98bd-28b2220c8209"],
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Quitar un gasto
/api/v1/rendiciones/{id}/gastos/{gastoId}Saca un gasto de un borrador; vuelve a quedar sin rendir.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Pedido
curl -X DELETE "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos/b0c153af-2b73-4a74-98bd-28b2220c8209" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos/b0c153af-2b73-4a74-98bd-28b2220c8209", {
method: "DELETE",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos/b0c153af-2b73-4a74-98bd-28b2220c8209",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Rechazar un gasto
/api/v1/rendiciones/{id}/gastos/{gastoId}/rechazarQuien aprueba saca un gasto puntual de la rendición, con su motivo, y aprueba el resto.
- En nombre de alguien: manda
Simpligastos-Personacon el id de la persona.
Cuerpo (JSON)
motivotextoobligatorio- De 1 a 500 caracteres.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos/b0c153af-2b73-4a74-98bd-28b2220c8209/rechazar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Simpligastos-Persona: 72efadfd-f668-4bec-a7c4-f728bbe2e3ca" \
-H "Content-Type: application/json" \
-d '{"motivo":"Es un gasto personal"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos/b0c153af-2b73-4a74-98bd-28b2220c8209/rechazar", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
"Content-Type": "application/json",
},
body: JSON.stringify({
"motivo": "Es un gasto personal"
}),
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/gastos/b0c153af-2b73-4a74-98bd-28b2220c8209/rechazar",
headers={
"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}",
"Simpligastos-Persona": "72efadfd-f668-4bec-a7c4-f728bbe2e3ca",
},
json={
"motivo": "Es un gasto personal",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Marcar como contabilizada
/api/v1/rendiciones/{id}/contabilizarTu ERP avisa que ya registró una rendición aprobada o cerrada, con la referencia de su comprobante. Después filtra con ?contabilizada=0 para no traerla de nuevo.
- Quién: Contabilidad y administración.
Cuerpo (JSON)
referenciatexto o null- Hasta 100 caracteres.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/contabilizar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"referencia":"COMP-2026-00412"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/contabilizar", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"referencia": "COMP-2026-00412"
}),
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/contabilizar",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"referencia": "COMP-2026-00412",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Deshacer la marca
/api/v1/rendiciones/{id}/contabilizarQuita la marca de contabilizada para volver a enviarla al ERP.
- Quién: Contabilidad y administración.
Pedido
curl -X DELETE "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/contabilizar" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/contabilizar", {
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/contabilizar",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Cambiar la etapa propia
/api/v1/rendiciones/{id}/etapaPone una de las etapas propias de la empresa (de /estados-rendicion) dentro de enviada, aprobada o cerrada; null la quita.
Cuerpo (JSON)
estadoIdid o nullobligatorio- Opcional.
Pedido
curl -X PUT "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/etapa" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"estadoId":"ae415524-981d-4e07-8ee9-03d00c9f7fb4"}'const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/etapa", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"estadoId": "ae415524-981d-4e07-8ee9-03d00c9f7fb4"
}),
});
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/etapa",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"estadoId": "ae415524-981d-4e07-8ee9-03d00c9f7fb4",
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"ok": true
}Informe en PDF
/api/v1/rendiciones/{id}/informeEl informe de la rendición con el detalle y las fotos de los documentos.
Pedido
curl "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/informe" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-o rendicion-25.pdfimport { writeFile } from "node:fs/promises";
const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/informe", {
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
},
});
if (!respuesta.ok) throw new Error((await respuesta.json()).error);
await writeFile("rendicion-25.pdf", Buffer.from(await respuesta.arrayBuffer()));import os
import requests
respuesta = requests.get(
"https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/informe",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
with open("rendicion-25.pdf", "wb") as f:
f.write(respuesta.content)Respuesta
200 Content-Type: application/pdf
(el archivo: rendicion-25.pdf)Asiento contable
/api/v1/rendiciones/{id}/asientoLas líneas del asiento: el gasto a la cuenta de su categoría, el IVA de las facturas al crédito fiscal (o, con cuenta puente, cada factura en una línea por el total) y el haber según cómo se pagó. Cada línea trae el nombre de la cuenta, el RUT y nombre del auxiliar (el emisor, o quien rindió en el haber), el código SII del documento, su fecha de emisión y el enlace a su respaldo. advertencias dice por qué alguna línea quedó sin cuenta.
Pedido
curl "https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/asiento" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/asiento", {
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/rendiciones/c7031420-7f7d-4b53-b3f7-8484a7b9c7e5/asiento",
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": []
}Listar etapas propias
/api/v1/estados-rendicionLas etapas que la empresa definió dentro de enviada, aprobada o cerrada (por ejemplo, En revisión de gerencia).
Pedido
curl "https://simpligastos.cl/api/v1/estados-rendicion" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE"const respuesta = await fetch("https://simpligastos.cl/api/v1/estados-rendicion", {
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/estados-rendicion",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"estados": [
{
"id": "ae415524-981d-4e07-8ee9-03d00c9f7fb4",
"nombre": "En revisión de gerencia",
"base": "enviada",
"orden": 1,
"activo": true
}
]
}Crear una etapa propia
/api/v1/estados-rendicionAgrega una etapa dentro de uno de los estados base.
- Quién: Administración.
Cuerpo (JSON)
nombretextoobligatorio- De 1 a 40 caracteres.
basetextoobligatorio- Uno de: enviada, aprobada, cerrada.
ordenentero- De 0 a 999. Por omisión: 0.
activobooleano- Por omisión: true.
Pedido
curl -X POST "https://simpligastos.cl/api/v1/estados-rendicion" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"nombre":"En revisión de gerencia","base":"enviada","orden":1}'const respuesta = await fetch("https://simpligastos.cl/api/v1/estados-rendicion", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nombre": "En revisión de gerencia",
"base": "enviada",
"orden": 1
}),
});
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/estados-rendicion",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"nombre": "En revisión de gerencia",
"base": "enviada",
"orden": 1,
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"id": "ae415524-981d-4e07-8ee9-03d00c9f7fb4"
}Cambiar una etapa propia
/api/v1/estados-rendicion/{id}Cambia el nombre, el orden o si está activa.
- Quién: Administración.
Cuerpo (JSON)
nombretextoobligatorio- De 1 a 40 caracteres.
basetextoobligatorio- Uno de: enviada, aprobada, cerrada.
ordenentero- De 0 a 999. Por omisión: 0.
activobooleano- Por omisión: true.
Pedido
curl -X PATCH "https://simpligastos.cl/api/v1/estados-rendicion/ae415524-981d-4e07-8ee9-03d00c9f7fb4" \
-H "Authorization: Bearer $SIMPLIGASTOS_LLAVE" \
-H "Content-Type: application/json" \
-d '{"nombre":"Revisión de gerencia","base":"enviada","orden":1,"activo":true}'const respuesta = await fetch("https://simpligastos.cl/api/v1/estados-rendicion/ae415524-981d-4e07-8ee9-03d00c9f7fb4", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.SIMPLIGASTOS_LLAVE}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"nombre": "Revisión de gerencia",
"base": "enviada",
"orden": 1,
"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/estados-rendicion/ae415524-981d-4e07-8ee9-03d00c9f7fb4",
headers={"Authorization": f"Bearer {os.environ['SIMPLIGASTOS_LLAVE']}"},
json={
"nombre": "Revisión de gerencia",
"base": "enviada",
"orden": 1,
"activo": True,
},
)
respuesta.raise_for_status()
datos = respuesta.json()Respuesta
{
"id": "ae415524-981d-4e07-8ee9-03d00c9f7fb4"
}