API

Introducción

La API de Rindegastos es una API RESTful que permite acceder y gestionar los datos de tu empresa de forma segura y estructurada. A través de ella puedes interactuar con entidades clave como usuarios, gastos, informes, fondos y políticas de gasto, entre otras.

El acceso está protegido mediante autenticación por token, lo que garantiza que solo los usuarios autorizados puedan consultar o modificar información, pues cada token otorga permisos específicos sobre los datos de la empresa.

🚀 ¿Cómo comenzar?

Para empezar a utilizar la API:

  1. Solicita y activa el token de acceso para tu empresa desde la sección de configuración en Rindegastos.

  2. Consulta la sección Autenticación de esta documentación para conocer cómo utilizar correctamente tu token.

  3. Luego, revisa los endpoints disponibles para la versión de API que deseas usar (v1 o v2).

  4. Integra según tus necesidades utilizando las herramientas o los lenguajes que manejes, realizando las llamadas HTTP indicadas en cada endpoint.

⚠️ Importante: Actualmente existen dos versiones activas de la API (v1 y v2). Asegúrate de consultar los endpoints y estructuras de respuesta correspondientes a la versión que vayas a implementar.



API

Autenticación

El acceso a la API de Rindegastos se realiza mediante un token único por empresa, el cual permite realizar operaciones de lectura y escritura sobre los datos de esa empresa. Si administras múltiples empresas dentro de Rindegastos, deberas utilizar un token distinto para cada una.

¿Cómo obtener tu token?

Para habilitar el acceso a la API y obtener el token correspondiente:

  1. Inicia sesión en tu cuenta de Rindegastos.
  2. Dirígete a la sección Admin > Integración.
  3. Solicita el token de acceso desde esa sección.
  4. Una vez solicitado, se generará automáticamente un token para tu empresa y se mostrará en pantalla.

Un token típico tendrá un formato similar al siguiente:

Con este token ya puedes comenzar a realizar llamadas autenticadas a los endpoints descritos en esta documentación. 



API V1

Introducción

La API v1 de Rindegastos corresponde a la primera versión de nuestra interfaz de integración. Su objetivo es mantener la compatibilidad con las integraciones históricas de nuestros clientes, sin afectar sus procesos actuales.

  • Esta versión no recibirá nuevas funcionalidades ni actualizaciones de endpoints.
  • Solo se aplicarán ajustes de mantenimiento si son necesarios para asegurar su estabilidad.
  • Recomendamos a los nuevos clientes migrar a la API v2 para acceder a las mejoras y nuevas funcionalidades.
⚠️ Nota: Si tu empresa ya integra la API v1, puedes continuar utilizándola sin cambios. Sin embargo, considera planificar una migración a v2 para aprovechar las mejoras que realicemos a futuro.  


API V1

Informes de Gastos

La API v1 de Rindegastos permite acceder a la información de los informes de gastos de tu empresa y consultar el detalle de los campos extras configurados a nivel de informe.
Su enfoque principal es la lectura de datos, facilitando la integración con sistemas contables, ERPs u otras aplicaciones externas.
De forma limitada, también dispone de algunos métodos de actualización que permiten: 
  • Marcar informes como integrados con sistemas externos (setExpenseReportIntegration).
  • Cambiar estados personalizados de un informe (setExpenseReportCustomStatus).

Esta versión se mantiene compatible con integraciones existentes y no recibirá nuevas funcionalidades, aunque seguirá operativa para no afectar a los clientes actuales.

Para proyectos nuevos o integraciones que requieran más capacidades, se recomienda migrar a la API v2, que ofrece métodos ampliados y soporte evolutivo.

Método: getExpenseReports

Método para obtener una lista de informes de gastos de la empresa según parámetros definidos.

Parámetro Descripción      
Method GET      
URL https://api.rindegastos.com/v1/getExpenseReports<params>      
Parámetros Parámetros que se pueden agregar a la solicitud para discriminar qué informes se deseas obtener.
Los parámetros posibles son:
     
  Since date Fecha desde cuándo contar los informes de gastos en formato YYYY-MM-DD      
  Until date Fecha hasta cuándo contar los informes de gastos en formato YYYY-MM-DD      
  TypeDateFilter integer Indica en base a cuál fecha vamos a filtrar usando Since  Until donde: 
1 = CloseDate (por defecto) y 2 = SendDate.
     
  Currency string(3) Código ISO de la moneda que se desea filtrar. Por ejemplo:  USD para dólar americano.      
  Status integer Estado en que se encuentran los informes en donde: 0 = Abierto o En proceso; 1 = Cerrado. Si se deja en blanco se toman informes en ambos estados.      
  ExpensePolicyId integer Identificar interno de Rindegastos de la política bajo la cual se ha creado el informe de gastos.      
  IntegrationStatus integer Buscar informes por estado de integración: 1 = Integrados o 0 = No Integrados. Si se envía blanco no se agrega al filtro de búsqueda.      
  IntegrationCode string(255) Buscar informes integrados, filtrando por el código de respuesta asignado posterior al proceso de integración.      
  IntegrationDate date Buscar informes integrados, filtrando por fecha de integración en formato YYYY-MM-DD.      
  UserId integer Identificador interno de Rindegastos del usuario que envío el informe de gastos.      
  OrderBy integer Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida donde: 1 = CloseDate, 2 = SendDate, 3 = Id. Por defecto se ordena en base a la fecha de envío (SendDate)       
  ResultsPerPage integer Número de resultados por página.      
  Page integer Página de resultados.
Por defecto = 1
     
 
A continuación, se muestra un ejemplo de uso:
https://api.rindegastos.com/v1/getExpenseReports?Currency=CLP
METHOD GET
Authorization: Bearer <token>
Un ejemplo de resultado para esta llamada se muestra a continuación:
{
  "Records": {
    "TotalRecords": 2,
    "Reports": 100,
    "Page": 1,
    "Pages": 19
  },
  "ExpenseReports": [
    {
      "Id": 123456,
      "Title": "Licencia Pro Anual",
      "ReportNumber": "2025",
      "SendDate": "2025-07-20",
      "CloseDate": "2025-07-21",
      "EmployeeId": 123434,
      "EmployeeName": "Juan Pérez",
      "EmployeeIdentification": "412414",
      "ApproverId": 1242,
      "ApproverName": "Pedro Rojas",
      "PolicyId": 90384,
      "PolicyName": "Política Personal",
      "Status": 1,
      "CustomStatus": "",
      "FundId": 0,
      "FundName": "",
      "ReportTotal": 50000,
      "ReportTotalApproved": 50000,
      "Currency": "CLP",
      "Note": "Compra anual",
      "Integrated": false,
      "IntegrationDate": "",
      "IntegrationExternalCode": "",
      "IntegrationInternalCode": "",
      "NbrExpenses": 1,
      "NbrApprovedExpenses": 0,
      "NbrRejectedExpenses": 1,
      "ExtraFields": [
        {
 "Name": "Área",
 "Value": "TI"
 "Code": "124"
}, {
 "Name": "Proyecto",
 "Value": "Portal Web"
 "Code": "2313"
} ], "Files": [ { "FileName": "Captura de pantalla 2025-04-02 a la(s) 5.18.06â?¯p.m..png", "Extension": "png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png" }, ] }, { "Id": 789012, "Title": "Viáticos Reunión", "ReportNumber": "2026", "SendDate": "2025-07-19", "CloseDate": "2025-07-20", "EmployeeId": 0, "EmployeeName": "María González", "EmployeeIdentification": "", "ApproverId": 0, "ApproverName": "", "PolicyId": 0, "PolicyName": "Política Eventos", "Status": 0, "CustomStatus": "", "FundId": 0, "FundName": "", "ReportTotal": 20000, "ReportTotalApproved": 0, "Currency": "CLP", "Note": "", "Integrated": false, "IntegrationDate": "", "IntegrationExternalCode": "", "IntegrationInternalCode": "", "NbrExpenses": 0, "NbrApprovedExpenses": 0, "NbrRejectedExpenses": 0, "ExtraFields": [ {
  "Name": "Ciudad"
  "Value": "Valparaíso"
  "Code": "003"
} ], "Files": [ { "FileName": "Captura de pantalla 2025-04-02 a la(s) 5.18.06â?¯p.m..png", "Extension": "png", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png" }, { "FileName": "archivo.jpeg", "Extension": "jpeg", "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg", "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg", "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg", "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-400-c07fc7e2-c59f-4583-aa46-092030657f4b.jpeg" } ] } ] }

 

Método: getExpenseReport

Método para obtener un informe de gastos.

Parámetro Descripción      
Method GET      
URL https://api.rindegastos.com/v1/getExpenseReport<params>      
Parámetros Parámetro obligatorio que se puede agregar a la solicitud es el Id del informe.      
  Id integer Id único del informe de gastos que se desea obtener.      
 
A continuación, se muestra un ejemplo de uso:
https://api.rindegastos.com/v1/getExpenseReport?Id=7894399
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
  "Id": 7894399,
  "Title": "fondo caja chica",
  "ReportNumber": "2095",
  "SendDate": "2024-11-21",
  "CloseDate": "2024-11-21",
  "EmployeeId": 49425,
  "EmployeeName": "Alejandro Pinto",
  "EmployeeIdentification": "C0060",
  "ApproverId": 49425,
  "ApproverName": "Rocio Pinto",
  "PolicyId": 240678,
  "PolicyName": "Política gerencia",
  "Status": 1,
  "CustomStatus": "",
  "FundId": 400722,
  "FundName": "Caja chica admin",
  "ReportTotal": 100000,
  "ReportTotalApproved": 100000,
  "Currency": "CLP",
  "Note": "Nota de prueba",
  "Integrated": false,
  "IntegrationDate": "",
  "IntegrationExternalCode": "",
  "IntegrationInternalCode": "",
  "NbrExpenses": 1,
  "NbrApprovedExpenses": 1,
  "NbrRejectedExpenses": 0,
  "ExtraFields": [
    {
      "Name": "Sociedad",
      "Value": "sucursal A",
      "Code": "124542"
    },
    {
      "Name": "Tipo de Rendición",
      "Value": "Fondo por Rendir",
      "Code": "34"
    },
    {
      "Name": "Organización",
      "Value": "Legal",
      "Code": "556"
    }
  ],
  "Files": [
    {
      "FileName": "WhatsApp Image 2024-11-15 at 12.50.33 (2).jpeg",
      "Extension": "jpeg",
      "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-49425-1-7894399-213.jpeg",
      "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-7894399-213.jpeg",
      "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-49425-1-7894399-213.jpeg",
      "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-49425-1-7894399-213.jpeg"
    }
  ]
}

 

Método: setExpenseReportIntegration

Método para marcar como integrado o no integrado una rendición de gastos específica.

Parámetro Descripción      
Method PUT      
URL https://api.rindegastos.com/v1/setExpenseReportIntegration      
Parámetros Parámetros que deben ser agregados a la solicitud como Body para marcar un informe de gastos como integrado o no integrado.       
  Id integer Id único del informe de gastos que se desea marcar como integrado o no integrado.      
  IntegrationStatus integer Estado Integrado = 1 o bien No Integrado = 0.      
  IntegrationCode string(255) Permite comunicar un código de comprobante contable para enlazar información de la integración con la rendición en Rindegastos.      
  IntegrationDate date Formato de fecha AAAA-MM-DD hh:mm:ss      
 
A continuación se muestra un ejemplo de uso:
curl 'https://api.rindegastos.com/v1/setExpenseReportIntegration' -X PUT
-d '{"Id":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
  "Id": 1,
  "Title": "informe bci",
  "ReportNumber": "2274",
  "IntegrationStatus": 1,
  "IntegrationCode": "xx",
  "IntegrationDate": "2025-01-02 15:30:20"
}

Método: setExpenseReportCustomStatus

Método para actualizar el estado personalizado de una rendición de gastos específica.

Parámetro Descripción      
Method PUT      
URL https://api.rindegastos.com/v1/setExpenseReportCustomStatus      
Parámetros Parámetros que deben ser agregados a la solicitud como Body para marcar un informe de gastos con un estado personalizado.      
  Id integer Id único del informe de gastos al cual queremos asignar un estado personalizado.      
  IdAdmin integer Id único del usuario con rol gestión bajo el cual vamos asignar un estado personalizado. Debe tener definido permiso para gestionar (Obligatorio).      
  CustomStatus string(20) Es el texto del estado personalizado que deseamos asignar al informe de gastos específico.      
  CustomMessage string(255) Es un texto descriptivo de la acción que estamos realizando. Este texto acompañara la acción de cambio de estado en el timeline de mensajes & eventos de la rendición.      
 
A continuación se muestra un ejemplo de uso:
curl 'https://api.rindegastos.com/v1/setExpenseReportCustomStatus' -X POST
-d '{"Id":4,"IdAdmin":5,"CustomStatus":"Waiting for payment","CustomMessage":"Payment By George Clinton"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
 
{

  "Id": 1,

  "Title": "informe bci",

  "ReportNumber": "2077",

  "CustomStatus": "Waiting for payment"

}

Importante: El método setExpenseReportCustomStatus no permite crear estados personalizados en políticas de gasto, solo asigna estado a una rendición. Es recomendable crear el o los estados personalizados en las políticas correspondientes antes de utilizar este método. 



API V1

Gastos

La API te permite consultar información detallada de uno o más gastos registrados en tu empresa dentro de Rindegastos.
 
Los métodos disponibles están orientados principalmente a lectura de datos, pero también incluyen una opción para marcar gastos como integrados.
 
Métodos disponibles
  • GET getExpenses: Obtiene una lista de gastos según filtros definidos.
  • GET getExpense: Devuelve información completa de un gasto especifico.
  • PUT setExpenseIntegration: Marca un gasto como integrado en un sistema externo.

⚠️ Esta API no permite crear, modificar ni eliminar gastos, solo consultarlos o marcarlos como integrados.

 

Método: getExpenses

Método para obtener una lista de gastos de la empresa según parámetros definidos.
 
Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpenses<params>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parámetros posibles son:
  Since date Fecha desde cuando contar los gastos en formato YYYY-MM-DD.
  Until date Fecha hasta cuando contar los gastos en formato YYYY-MM-DD.
  Currency string(3) Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano. Este parámetro trabaja sobre la moneda final del gasto, no la moneda original.
  Status integer 1: Aprobado; 2: Rechazado; 0: En proceso.
  Category string(150) Nombre de la categoría de gastos que se desea.
  ReportId integer Id único del informe de gastos
  ExpensePolicyId integer Id único de la política de gastos
  IntegrationStatus integer Buscar gastos por estado de integración: 1 = Integrados o 0 = No integrados. Si se envía blanco no se agrega al filtro de busqueda.
  IntegrationCode string(255) Buscar gastos integrados, filtrando por el código de comprobante asociado al gasto.
  IntegrationDate date Buscar gastos integrados, filtrando por fecha de integración en formato YYYY-MM-DD.
  UserId integer Id único del usuario en Rindegastos
  OrderBy integer 1: fecha del gasto; 2: fecha creación del gasto. Por defecto el orden es por fecha del gasto.
  Order string ASC o DESC (default)
  ResultsPerPage integer Número de resultados por solicitud (máximo 100).
  Page integer Página de resultados. Por defecto = 1
 
A continuación, se muestra un ejemplo usando el método getExpenses: 
 
https://api.rindegastos.com/v1/getExpenses?Currency=GBP&ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>


El resultado ejemplo para esta llamada se muestra a continuación:
 
{
  "Records": {
    "TotalRecords": 3,
    "Expenses": 2,
    "Page": 1,
    "Pages": 2
  },
  "Expenses": [
    {
      "Id": 7,
      "Status": 1,
      "Supplier": "Great Customer",
      "IssueDate": "2017-06-27",
      "OriginalAmount": 23.99,
      "OriginalCurrency": "GBP",
      "ExchangeRate": 0,
      "Net": 19.99,
      "Tax": 4,
      "TaxName": "VAT",
      "OtherTaxes": 0,
      "RetentionName": "",
      "Retention": 0,
      "Total": 23.99,
      "Currency": "GBP",
      "Reimbursable": false,
      "Category": "Electricity",
      "CategoryCode": "701-201",
      "CategoryGroup": "Utilities",
      "CategoryGroupCode": "U012",
      "Note": 0,
      "IntegrationDate": "",
      "IntegrationExternalCode": "",
      "ExtraFields": [
        {
          "Name": "Expense Type",
          "Value": "Invoice",
          "Code": "02"
        },
        {
          "Name": "VAT ID",
          "Value": "99999999",
          "Code": ""
        }
      ],
      "Files": [
        {
          "FileName": "invoice.png",
          "Extension": "png",
          "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/2-1-5952e07e4c44a-1498603646-192.png",
          "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/2-1-5952e07e4c44a-1498603646-192.png",
          "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/2-1-5952e07e4c44a-1498603646-192.png",
          "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/2-1-5952e07e4c44a-1498603646-192.png"
        }
      ],
      "NbrFiles": 1,
      "ReportId": 1,
      "ExpensePolicyId": 6,
      "UserId": 2
    },
    {
      "Id": 8,
      "Status": 1,
      "Supplier": "London Underground",
      "IssueDate": "2017-06-27",
      "OriginalAmount": 5,
      "OriginalCurrency": "GBP",
      "ExchangeRate": 0,
      "Net": 5,
      "Tax": 0,
      "TaxName": "Exempt",
      "OtherTaxes": 0,
      "RetentionName": "",
      "Retention": 0,
      "Total": 5,
      "Currency": "GBP",
      "Reimbursable": false,
      "Category": "Taxi",
      "CategoryCode": "101-102",
      "CategoryGroup": "Travels",
      "CategoryGroupCode": "T01",
      "Note": 0,
      "IntegrationDate": "",
      "IntegrationExternalCode": "",
      "ExtraFields": [
        {
          "Name": "Expense Type",
          "Value": "Ticket",
          "Code": "01"
        },
        {
          "Name": "VAT ID",
          "Value": "",
          "Code": ""
        }
      ],
      "Files": [
        {
          "FileName": "London_Underground_One-Day_Travelcard.jpg",
          "Extension": "jpg",
          "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/2-1-5952e1803d7d8-1498603904-489.jpg",
          "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/2-1-5952e1803d7d8-1498603904-489.jpg",
          "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/2-1-5952e1803d7d8-1498603904-489.jpg",
          "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/2-1-5952e1803d7d8-1498603904-489.jpg"
        }
      ],
      "NbrFiles": 1,
      "ReportId": 1,
      "ExpensePolicyId": 6,
      "UserId": 2
    }
  ]
}

 

Método: getExpense

Método para obtener un gasto con toda su información.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpense?Id=<id>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parametros posibles son:
  Id integer Id único del gasto que se desea obtener.

A continuación, se muestra un ejemplo usando el método getExpense: 

https://api.rindegastos.com/v1/getExpense?Id=7
METHOD GET
Authorization: Bearer <token>

 

A continuación se muestra el resultado:

{
  "Id": 7,
  "Status": 1,
  "Supplier": "Great Customer",
  "IssueDate": "2017-06-27",
  "OriginalAmount": 23.99,
  "OriginalCurrency": "GBP",
  "ExchangeRate": 0,
  "Net": 19.99,
  "Tax": 4,
  "TaxName": "VAT",
  "OtherTaxes": 0,
  "RetentionName": "",
  "Retention": 0,
  "Total": 23.99,
  "Currency": "GBP",
  "Reimbursable": false,
  "Category": "Electricity",
  "CategoryCode": "701-201",
  "CategoryGroup": "Utilities",
  "CategoryGroupCode": "U012",
  "Note": 0,
  "IntegrationDate": "",
  "IntegrationExternalCode": "",
  "ExtraFields": [
    {
      "Name": "Expense Type",
      "Value": "Invoice",
      "Code": "02"
    },
    {
      "Name": "VAT ID",
      "Value": "99999999",
      "Code": ""
    }
  ],
  "Files": [
    {
      "FileName": "invoice.png",
      "Extension": "png",
      "Original": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/original\/2-1-5952e07e4c44a-1498603646-192.png",
      "Large": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/large\/2-1-5952e07e4c44a-1498603646-192.png",
      "Medium": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/medium\/2-1-5952e07e4c44a-1498603646-192.png",
      "Small": "https:\/\/ppstatic.s3.amazonaws.com\/expenses\/uploads\/small\/2-1-5952e07e4c44a-1498603646-192.png"
    }
  ],
  "NbrFiles": 1,
  "ReportId": 1,
  "ExpensePolicyId": 6,
  "UserId": 2
}

 

Método: setExpenseIntegration

Método para marcar como integrado o no integrado un gasto específico.
 
Parámetro Descripción
Método PUT
URL https://api.rindegastos.com/v1/setExpenseIntegration
Post Params Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se marcarán como integrados o no integrados.
  Id integer Id único del gasto que se desea marcar como integrado o no integrado.
  IntegrationStatus integer Estado Integrado = 1 o bien No Integrado = 0.
  IntegrationCode string(255) Permite comunicar un código de comprobante contable para enlazar información de la integración con los gastos existentes en Rindegastos.
  IntegrationDate dateTime Fecha/hora de integración YYYY-MM-DD H:i:s, por defecto si el valor del atributo IntegrationStatus es igual a cero, este valor será vacío.

 

A continuación, se muestra un ejemplo usando el método setExpenseIntegration:

curl 'https://api.rindegastos.com/v1/setExpenseIntegration' -X PUT
-d '{"Id":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
 
{
"Id": 1,
"Supplier": "Wallmart",
"OriginalAmount": 100000,
"OriginalCurrency": "CLP",
"IntegrationStatus": 1,
"IntegrationCode": "0303456",
"IntegrationDate": "2017-08-01 12:00:00"
}
 


API V1

Fondos

La API permite consultar, crear actualizar fondos de tu empresa en Rindegastos. Además, puedes registrar movimientos (abonos y cargos) y cambiar su estado.

Métodos disponibles

  • GET getFunds: Lista fondos según filtros. No incluye los movimientos cada fondo.
  • GET getFund: Devuelven fondo con toda su información, incluyendo la lista de movimientos.
  • POST createFund: Crean fondo con su información inicial.
  • PUT updateFund: Actualiza datos del fondo. No permite cambiar: propietario, creador, moneda ni monto disponible.
  • POST depositMoneyToFund: Registra un abono en un fondo específico.
  • POST withdrawMoneyFromFund: Registra un cargo en un fondo específico.
  • PUT setFundStatus: Cambia el estado de un fondo.

Notas y consideraciones

  • Los movimientos (abonos/cargos) actualizan el saldo del fondo y quedan trazados en la bitácora del mismo.
  • Para obtener movimientos, usa getFund (no getFunds).

Método: getFunds

Permite obtener una lista de fondos de la empresa según los parámetros definidos. Sin embargo, no incluye la lista de movimientos de cada fondo.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getFunds<params>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desea obtener. Los parámetros posibles son:
  Status integer 1 = Abiertos; 2 = Cerrados; 3 = Bloqueados; en blanco muestra todos los fondos.
  OrderBy integer Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida, donde: 1 = fecha de creación del fondo, 2 = Título del fondo y por defecto si se envía en blanco fecha de creación del fondo.
  Order integer ASC o DESC (default).
  ResultsPerPage integer Número de Resultados por página.
  Page integer Página de resultados. Por defecto = 1
  From date Filtrar fondos creados desde esta fecha. Formato YYYY-MM-DD.
  To date Filtrar fondos creados hasta esta fecha. Formato YYYY-MM-DD.

A continuación, se muestra un ejemplo usando el método getFunds de la API de Rindegastos, el cual permite consultar los fondos de la empresa.

https://api.rindegastos.com/v1/getFunds?ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>

El ejemplo de resultado para esta llamada se muestra a continuación:

{
  "Records": {
    "TotalRecords": 2,
    "Funds": 2,
    "Page": 1,
    "Pages": 1
  },
  "Funds": [
    {
      "Id": 123456,
      "Title": "Licencia Pro Anual",
      "Code": "2025",
      "Currency": "CLP",
      "IdAssignTo": 123434,
      "IdCreator": 123434,
      "Deposits": 50000.00,
      "Withdrawals": 0.00,
      "Balance": 50000.00,
      "Status": 1,
      "CreatedAt": "2025-07-20",
      "ExpirationDate": "",
      "FlexibleFund": "1",
      "ManualDeposit": false,
      "AutomaticBlock": false
    },
    {
      "Id": 789012,
      "Title": "Viáticos Reunión",
      "Code": "2026",
      "Currency": "CLP",
      "IdAssignTo": 0,
      "IdCreator": 0,
      "Deposits": 20000.00,
      "Withdrawals": 0.00,
      "Balance": 20000.00,
      "Status": 0,
      "CreatedAt": "2025-07-19",
      "ExpirationDate": "",
      "FlexibleFund": "1",
      "ManualDeposit": false,
      "AutomaticBlock": false
    }
  ]
}
 

Método: getFund

Método para obtener un fondo con toda su información. Incluye la lista de movimientos del fondo solicitado.

Parámetro  Descripción  
Método GET  
URL https://api.rindegastos.com/v1/getFund?Id=<id>  
Params Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id del fondo.  
  Id integer Id único del fondo que se desea obtener.  

A continuación, se muestra un ejemplo usando el método getFund de la API de Rindegastos, que permite consultar un fondo específico de la empresa.

https://api.rindegastos.com/v1/getFund?Id=3
METHOD GET
Authorization: Bearer <token>

El resultado ejemplo para esta llamada se muestra a continuación:

{
  "Id": 3,
  "Title": "Fund Executive ",
  "Code": "852KJ",
  "Currency": "GBP",
  "IdAssignTo": 4,
  "IdCreator": 4,
  "Deposits": 860.00,
  "Charges": 30.00,
  "Balance": 830.00,
  "Status": 1,
  "CreatedAt": 2020-07-10 13:34:19,
  "ExpirationDate": "",
  "FlexibleFund": "1",
  "ManualDeposit": false,
  "AutomaticBlock": false,
  "Transactions": [
    {
      "TransactionType": 1,
      "TransactionTypeName": "Deposit",
      "TransactionAmount": 860.00,
      "TransactionDate": "2017-06-30"
    },
    {
      "TransactionType": 2,
      "TransactionTypeName": "Withdrawal",
      "TransactionAmount": 30.00,
      "TransactionDate": "2017-06-30"
    }
  ]
}

Método: createFund

Método para crear un fondo con toda su información.

Parámetro Descripción
Método POST
URL https://api.rindegastos.com/v1/createFund
Post Params Parámetros a comunicar para crear un fondo se deben enviar como Body.
  IdEmployee integer Id único del empleado al cual asignaremos el fondo. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual crearemos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio)
  FundName string(200) Nombre del fondo. (Obligatorio)
  FundCurrency string(3) Código estándar (ISO 4217) de la moneda asociada al fondo. (Obligatorio)
  FundCode string(50) Código del fondo.
  FundAmount float Monto del fondo con dos posiciones decimales (separadas con punto). (Obligatorio)
  FundComment string(255) Comentario u observación del fondo.
  FundFlexibility boolean El usuario podrá enviar informes aunque se sobrepase el saldo disponible.
  FundAutoDeposit boolean Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial.
  FundAutoBlock boolean Bloquear este fondo luego de que el rendidor envíe un informe de gastos.
  FundExpiration boolean Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo.
  FundExpirationDate date YYYY-MM-DD Fecha en la que fondo debe ser comprobado (solo si FundExpiration es TRUE)

A continuación, se muestra un ejemplo usando el método createFund de la API v1 de Rindegastos:

curl 'https://api.rindegastos.com/v1/createFund' -X POST
-d '{"IdEmployee":4,"IdAdmin":5,"FundName":"Fund Executive","FundCurrency":"GBP","FundCode":"852KJ","FundAmount":860.00,"FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'

El resultado ejemplo para esta llamada se muestra a continuación:

{
  "Id": 3,
  "Title": "Fund Executive ",
  "Code": "852KJ",
  "Currency": "GBP",
  "IdAssignTo": 4,
  "IdCreator": 5,
  "Deposits": 860.00,
  "Charges": 0.00,
  "Balance": 860.00,
  "Status": 1,
  "CreatedAt": 2016-07-10 13:34:19,
  "ExpirationDate": "2017-01-01",
  "FlexibleFund": true,
  "ManualDeposit": true,
  "AutomaticBlock": true,
  "Transactions": [
    {
      "TransactionType": 1,
      "TransactionTypeName": "Deposit",
      "TransactionAmount": 860.00,
      "TransactionDate": "2017-06-30"
    }
  ]
}
 

Método: updateFund

Permite actualizar un fondo.

⚠️ Importante: No se podrá cambiar el propietario, el creador, la moneda ni el monto disponible del fondo.

Parámetro Descripción
Método PUT
URL https://api.rindegastos.com/v1/updateFund
Post Params Parámetros a comunicar para actualizar un fondo se deben enviar como Body.
  Id integer Id único del fondo que deseamos actualizar. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual actualizaremos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio)
  FundName string(200) Nombre del fondo. (Obligatorio)
  FundCode string(50) Código del fondo.
  FundComment string(255) Comentario u observación del fondo.
  FundFlexibility boolean El usuario podrá enviar informes aunque se sobrepase el saldo disponible
  FundAutoDeposit boolean Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial.
  FundAutoBlock boolean Bloquear este fondo luego de que el rendidor envíe un informe de gastos.
  FundExpiration boolean Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo.
  FundExpirationDate date YYYY-MM-DD Fecha en la que fondo debe ser rendido (solo si FundExpiration es TRUE)

A continuación, se muestra un ejemplo usando el método updateFund de la API de Rindegastos, el cual permite actualizar un fondo específico de la empresa.

curl 'https://api.rindegastos.com/v1/updateFund' -X PUT
-d '{"Id":3,"IdAdmin":5,"FundName":"Fund Executive Update","FundCode":"852KJ","FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'

El resultado ejemplo para esta llamada se muestra a continuación:

{
"Id": 3,
"Title": "Fund Executive Update",
"Code": "852KJ",
"Currency": "GBP",
"IdAssignTo": 4,
"IdCreator": 5,
"Deposits": 860.00,
"Charges": 0.00,
"Balance": 860.00,
"Status": 1,
"CreatedAt": 2016-07-10 13:34:19,
"ExpirationDate": "2017-01-01",
"FlexibleFund": true,
"ManualDeposit": true,
"AutomaticBlock": true,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 860.00,
"TransactionDate": "2017-06-30"
}
]
}
 

Método: depositMoneyToFund

Método para realizar abonos a un fondo específico.

Parámetro Descripción
Método POST
URL https://api.rindegastos.com/v1/depositMoneyToFund
Post Params Parámetros a comunicar para actualizar un fondo se deben enviar como Body.
  Id integer Id único del fondo al cual deseamos realizar un abono. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual realizaremos el abono (debe tener definido permiso para administrar fondos). (Obligatorio)
  DepositAmount float Monto del abono a realizar, permite valores con dos posiciones decimales (con punto separador).

A continuación, se muestra un ejemplo usando el método depositMoneyToFund de la API de Rindegastos.

curl 'https://api.rindegastos.com/v1/depositMoneyToFund' -X POST
-d '{"Id":3,"IdAdmin":6,"DepositAmount":100.00}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'

El ejemplo del resultado para esta llamada se muestra a continuación:

{
"Id": 3,
"Title": "Fund Executive Update",
"Code": "852KJ",
"Currency": "GBP",
"IdAssignTo": 4,
"IdCreator": 5,
"Deposits": 960.00,
"Charges": 0.00,
"Balance": 960.00,
"Status": 1,
"CreatedAt": 2016-08-10 13:34:19,
"ExpirationDate": "2017-01-01",
"FlexibleFund": true,
"ManualDeposit": true,
"AutomaticBlock": true,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 860.00,
"TransactionDate": "2017-06-30"
},
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 100.00,
"TransactionDate": "2017-06-30"
}
]
}
 

Método: withdrawMoneyFromFund

Método para realizar cargos a un fondo específico.

Parámetro Descripción
Método POST
URL https://api.rindegastos.com/v1/withdrawMoneyFromFund
Post Params Parámetros a comunicar para actualizar un fondo se deben enviar como Body.
  Id Id único del fondo al cual deseamos realizar un cargo. (Obligatorio)
  IdAdmin Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio)
  WithdrawAmount Monto del cargo a realizar. Permite valores con dos posiciones decimales (con punto separador).

A continuación, se muestra un ejemplo usando el método withdrawMoneyFromFund de la API de Rindegastos.

curl 'https://api.rindegastos.com/v1/withdrawMoneyFromFund' -X POST
-d '{"Id":3,"IdAdmin":6,"WithdrawAmount":100.00}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'

El resultado ejemplo para esta llamada se muestra a continuación:

{
"Id": 3,
"Title": "Fondo Test",
"Code": "345",
"Currency": "CLP",
"IdAssignTo": 234,
"IdCreator": 8784,
"Deposits": 560000,
"Charges": 80000,
"Balance": 480000,
"Status": 1,
"CreatedAt": "2025-08-11 21:20:19",
"ExpirationDate": "2025-11-05",
"FlexibleFund": "1",
"ManualDeposit": false,
"AutomaticBlock": false,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 500000,
"TransactionDate": "2025-08-11"
},
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 60000,
"TransactionDate": "2025-08-11"
},
{
"TransactionType": 2,
"TransactionTypeName": "Withdrawal",
"TransactionAmount": 80000,
"TransactionDate": "2025-08-11"
}
]
}
 

Método: setFundStatus

Método para cambiar el estado a un fondo.

Parámetro Descripción
Método PUT
URL https://api.rindegastos.com/v1/setFundStatus
Post Params Parámetros a comunicar para actualizar un fondo se deben enviar como Body.
  Id integer Id único del fondo al cual deseamos realizar un cargo. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio)
  FundStatus integer Estado bajo el cual queremos dejar el fondo. Los valores para los estados disponibles son:

1 (Abierto): Al estar el fondo en estado, permite al rendidor enviar informes de gastos asociados al fondo especificado.
2 (Cerrado):Cerrar y dar por terminado el ciclo de vida del fondo especificado.
3 (Bloqueado):Al estar el fondo en estado, No permite al rendidor enviar informes de gastos asociados al fondo especificado.

A continuación, se muestra un ejemplo usando el método setFundStatus de la API de Rindegastos.

curl 'https://api.rindegastos.com/v1/setFundStatus' -X PUT
-d '{"Id":3,"IdAdmin":6,"FundStatus":2}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El ejemplo del resultado para esta llamada se muestra a continuación:
{
"Id": 3,
"Title": "Fund Executive Update",
"Code": "852KJ",
"Currency": "GBP",
"IdAssignTo": 4,
"IdCreator": 5,
"Deposits": 860.00,
"Charges": 100.00,
"Balance": 760.00,
"Status": 2,
"CreatedAt": 2016-09-12 13:34:19,
"ExpirationDate": "2017-01-01",
"FlexibleFund": true,
"ManualDeposit": true,
"AutomaticBlock": true,
"Transactions": [
{
"TransactionType": 1,
"TransactionTypeName": "Deposit",
"TransactionAmount": 860.00,
"TransactionDate": "2017-06-30"
},
{
"TransactionType": 2,
"TransactionTypeName": "Withdrawal",
"TransactionAmount": 100.00,
"TransactionDate": "2017-06-30"
}
]
}
 

 



API V1

Política de Gastos

La API permite consultar la información de las Políticas de Gastos configuradas en tu empresa, incluyendo sus campos personalizados, categorías, flujos de aprobación y tasas asociadas.

Estas sección es únicamente de lectura de datos: no es posible crear, modificar o eliminar políticas de gasto mediante la API v1.

Métodos disponibles

  • GET getExpensePolicies: Obtiene la lista de políticas de gasto configuradas en la empresa.
  • GET getExpensePolicy:  Devuelve información completa de una política de gasto específica.
  • GET geExpensePolicyExpenseReportExtraFields: Lista los campos personalizados de informes asociados a la política.
  • GET getExpensePolicyExpenseFields: Lista los campos personalizados de gastos asociados a la política.
  • GET getExpensePolicyCategories: Devuelve las categorías de gasto definidas en la política.
  • GET getExpensePolicyWorkflow: Muestra la configuración del flujo de aprobación de la política en la antigua versión de Rindegastos.
  • GET getExpensePolicyTaxes: Devuelve los  impuestos asociados a la política.

Notas y consideraciones:

Todos los métodos son de lectura; no existen endpoints para creación o edición en esta versión.

Método: getExpensePolicies

Método para obtener una lista de Políticas de Gastos de la empresa según parámetros definidos.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpensePolicies<params>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué políticas se desean obtener. Los parámetros posibles son:
  Status integer 1 = Activa; 0 = Inactiva; si se envía en blanco muestra políticas en ambos estados.
  OrderBy integer Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida, donde: 1 = fecha de creación de la política, 2 = Título de la Política de Gastos y, por defecto, si se envía en blanco fecha de creación de la política.
  Order integer ASC o DESC (default).
  ResultsPerPage integer Número de Resultados por página.
  Page integer Página de resultados. Por defecto = 1

A continuación, se muestra un ejemplo usando el método getExpensePolicies: 

https://api.rindegastos.com/v1/getExpensePolicies?Status=1&ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>
Un ejemplo de resultado para esta llamada se muestra a continuación:
{
"Records": {
"TotalRecords": 3,
"Policies": 2,
"Page": 1,
"Pages": 2
},
"Policies": [
{
"Id": 7,
"Name": "New Scotland",
"Code": "",
"Description": "",
"IsActive": true,
"Currency": "GBP",
"TotalEmployees": 3,
"TotalApprovers": 2
},
{
"Id": 6,
"Name": "East Devon",
"Code": "852",
"Description": "",
"IsActive": true,
"Currency": "GBP",
"TotalEmployees": 4,
"TotalApprovers": 2
}
]
}

 

Método: getExpensePolicy

Método para obtener una política de gastos específica con toda su información.

Parámetro Descripción
URL https://api.rindegastos.com/v1/getExpensePolicy?Id=<id>
Params Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la Política de Gastos.
  Id integer Id único de la política de gastos que se desea obtener.

 

A continuación, se muestra un ejemplo usando el método getExpensePolicy:

https://api.rindegastos.com/v1/getExpensePolicy?Id=2
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación: 
 
{
"Records": {
"TotalRecords": 1,
"Policies": 1,
"Page": 1,
"Pages": 1
},
"Policies": [
{
"Id": 2,
"Name": "Headquarters",
"Code": "0102HQ",
"Description": "My new Policy",
"IsActive": true,
"Currency": "GBP",
"TotalEmployees": 4,
"TotalApprovers": 2
}
]
}
 

 

Método: getExpensePolicyExpenseReportFields

Método para obtener una lista con los campos extras para informes.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpensePolicyExpenseReportFields?IdPolicy=<id>
Params Para usar este servicio solo podemos comunicar los siguientes parámetros.
  IdPolicy integer Id único de la política que desea consultar.
  OrderBy integer 1: nombre (defecto) o 2: fecha creación
  Order string ASC o DESC (default)

A continuación, se muestra un ejemplo usando el método getExpensePolicyExpenseReportFields:

https://api.rindegastos.com/v1/getExpensePolicyExpenseReportFields?IdPolicy=2
METHOD GET
Authorization: Bearer <token>

El resultado ejemplo para esta llamada se muestra a continuación:

{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrFields": 2,
"ExpenseExtraFields": [
{
"Name": "Due Date",
"Type": "date",
"DefaultValue": "",
"DefaultCode": "",
"Options": [

]
},
{
"Name": "Costing Code",
"Type": "list",
"DefaultValue": "London",
"DefaultCode": "0101",
"Options": [
{
"Value": "London",
"Code": "0101"
},
{
"Value": "North Wales",
"Code": "0202"
}
]
}
]
}
 

Método: getExpensePolicyExpenseFields

Método para obtener una lista con los campos extra para gastos.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpensePolicyExpenseFields?IdPolicy=<id>
Params Para usar este servicio podemos comunicar los siguientes parámetros.
  IdPolicy integer Id único de la política que desea consultar.
  OrderBy integer 1: nombre (defecto) o 2: fecha creación
  Order string ASC o DESC (default)

 

A continuación, se muestra un ejemplo usando el método getExpensePolicyExpenseFields:

 

https://api.rindegastos.com/v1/getExpensePolicyExpenseFields?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
 
El resultado ejemplo para esta llamada se muestra a continuación: 
 
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrFields": 3,
"ExpenseExtraFields": [
{
"Name": "VAT ID",
"Type": "text",
"DefaultValue": "",
"DefaultCode": "",
"Options": [

]
},
{
"Name": "Tipo de Documento",
"Type": "list",
"DefaultValue": "",
"DefaultCode": "",
"Options": [
{
"Value": "BOLETA",
"Code": "dsa"
},
{
"Value": "Factura Electr\u00f3nica",
"Code": "DSA"
},
{
"Value": "Factura Exenta Electronica",
"Code": "SDD"
},
{
"Value": "N.Cr\u00e9d.Electr\u00f3nica",
"Code": "SA"
}
]
},
{
"Name": "Expense Type",
"Type": "list",
"DefaultValue": "Invoice",
"DefaultCode": "02",
"Options": [
{
"Value": "Invoice",
"Code": "02"
},
{
"Value": "Ticket",
"Code": "01"
}
]
}
]
}
 

Método: getExpensePolicyCategories

Método para obtener una lista con todas las categorías de una política específica.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpensePolicyCategories?IdPolicy=<id>
Params Para usar este servicio podemos comunicar los siguientes parámetros:
  IdPolicy integer Id único de la política que desea consultar.
  OrderBy integer 1: nombre (defecto) o 2: fecha creación
  Order string ASC o DESC (default)

A continuación, se muestra un ejemplo usando el método getExpensePolicyCategories:

{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrCategories": 7,
"Categories": [
{
"Name": "Water",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "701-202",
"Instructions": ""
},
{
"Name": "Uber",
"GroupName": "Travels",
"GroupCode": "T01",
"AccountCode": "101-105",
"Instructions": "Only for Uber"
},
{
"Name": "Taxi",
"GroupName": "Travels",
"GroupCode": "T01",
"AccountCode": "101-102",
"Instructions": "Only for taxi"
},
{
"Name": "Phones",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "802-201",
"Instructions": ""
},
{
"Name": "Internet",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "902-302",
"Instructions": ""
},
{
"Name": "Food",
"GroupName": "Travels",
"GroupCode": "T01",
"AccountCode": "101-101",
"Instructions": ""
},
{
"Name": "Electricity",
"GroupName": "Utilities",
"GroupCode": "U012",
"AccountCode": "701-201",
"Instructions": ""
}
]
}
 

Método: getExpensePolicyWorkflow

Método para obtener una lista con todos los aprobadores del flujo de aprobación para una política específica.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpensePolicyWorkflow?IdPolicy=<id>
Params Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la política.
  IdPolicy integer Id único de la política que desea consultar.

A continuación, se muestra un ejemplo usando el método getExpensePolicyWorkflow:

https://api.rindegastos.com/v1/getExpensePolicyWorkflow?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
 
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"RevisionLevels": 2,
"Approvers": [
{
"Level": 1,
"ApproverId": "2",
"ApproverName": "John Lemon",
"ApproverEmail": "John@myAbbey.net",
"AmmountRestriction": false,
"RestrictionReportAmount": 0,
"RestrictionExtraApproverId": "",
"RestrictionExtraApproverEmail": ""
},
{
"Level": 2,
"ApproverId": "4",
"ApproverName": "Apple MacCartney",
"ApproverEmail": "apple@myabbey.net",
"AmmountRestriction": false,
"RestrictionReportAmount": 0,
"RestrictionExtraApproverId": "",
"RestrictionExtraApproverEmail": ""
}
]
}
 

Método: getExpensePolicyTaxes

Método para obtener una lista con todos los impuestos configurados en la política de gastos.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getExpensePolicyTaxes?IdPolicy=<id>
Params Para usar este servicio se debe enviar el Id de la política de gastos.
  IdPolicy integer Id único de la política que desea consultar.

A continuación, se muestra un ejemplo usando el método getExpensePolicyTaxes de la API de Rindegastos.

https://api.rindegastos.com/v1/getExpensePolicyTaxes?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
 
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
"IdPolicy": 2,
"PolicyName": "Headquarters",
"NbrTaxes": 2,
"Taxes": [
{
"Type": 1,
"Name": "Exempt",
"Value": 0
},
{
"Type": 1,
"Name": "VAT",
"Value": 20
}
]
}
 

 



API V1

Usuarios

La API permite consultar información de los usuarios registrados en tu empresa dentro de Rindegastos.
Esta sección está orientada exclusivamente a la lectura de datos, sin capacidad para crear, modificar o eliminar usuarios.
Métodos disponibles
  • GET getUsers: Obtiene la lista de usuarios de la empresa según los parámetros definidos.
  • GET getUser: Devuelve información completa de un usuario específico.

Notas y consideraciones

  • Los datos de usuario pueden incluir información de contacto, rol, estado y configuraciones iniciales.
  • No es posible realizar operaciones de escritura en esta versión de la API para la entidad "Usuarios".

Método: getUsers

Método para obtener una lista de usuarios de la empresa según parámetros definidos.
Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getUsers<params>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desea obtener. Los parametros posibles son:
  OrderBy integer Permite indicar bajo cual parámetros vamos a ordenar la lista de usuarios obtenida, donde: 1 = fecha de creación, 2 = Apellido. Por defecto si se envía en blanco se utilizará fecha de creación del usuario.
  Order integer ASC o DESC (default).
  ResultsPerPage integer Número de Resultados por página.
  Page integer Página de resultados. Por defecto = 1

A continuación, se muestra un ejemplo usando el método getUsers de la API de Rindegastos. Este método permite consultar los usuarios de la empresa.

{
"Records": {
"TotalRecords": 4,
"Users": 4,
"Page": 1,
"Pages": 1
},
"Users": [
{
"Id": 3,
"FirstName": "Mango",
"LastName": "Starr",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "",
"Position": "",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "",
"Role": [
{ "Admin": false, "Management": false } ] },
{
"Id": 5,
"FirstName": "George",
"LastName": "Pearrison",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "",
"Position": "",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "",
"Role": [
{ "Admin": false, "Management": false } ] },
{
"Id": 4,
"FirstName": "Apple",
"LastName": "MacCartney",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "",
"Position": "",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "2017-06-29 20:32:31",
"Role": [
{ "Admin": true, "Management": true } ] },
{
"Id": 2,
"FirstName": "John",
"LastName": "Lemon",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "Gerencia General",
"Position": "Presidente",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "2017-06-29 20:30:21",
"Role": [
{ "Admin": true, "Management": true } ] }
]
}
 

Método: getUser

Obtiene la información completa de un usuarios específico de la empresa.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v1/getUser
Params

Este servicio acepta un único parámetro para identificar al usuario: el Id del usuario.

Si no dispones de este dato, puedes proporcionar la dirección de correo electrónico del usuario que deseas consulta.

  Id integer

Id único del usuario que se desea obtener. (Ej: https://api.rindegastos.com/v1/getUser?Id=<id>)

  Email string(150) Correo electrónico único correspondiente al usuario que se desea obtener. Id único del usuario que se desea obtener. (Ej.: https://api.rindegastos.com/v1/getUser?Email=<name@company.com>)

A continuación, se muestra un ejemplo usando el método getUser: 

https://api.rindegastos.com/v1/getUser?Id=2
METHOD GET
Authorization: Bearer <token>

El resultado ejemplo para esta llamada se muestra a continuación:

    {
"Id": 2,
"FirstName": "John",
"LastName": "Lemon",
"Identification": "",
"CostingCode": "",
"EmployeeNumber": "",
"Department": "Gerencia General",
"Position": "Presidente",
"CreatedAt": "2017-06-28 00:16:03",
"LastLogin": "2017-06-29 20:30:21",
"Role": [
{ "Admin": true, "Management": true } ] }
 


API V2

Introducción

La API v2 de Rindegastos es la versión vigente y evolutiva de nuestra interfaz de integración.
Fue diseñada para mejorar la consistencia de respuestas, ampliar capacidades funcionales y facilitar la escala futura sin afectar a integraciones existentes 

  • Más endpoints y métodos para cubrir casos de uso actuales y futuros.
  • Estructuras de respuestas más claras y consistentes por recurso.
  • Filtros y parámetros de consulta más expresivos.
  • Autenticación por token (idéntica a v1) para mantener simplicidad.
Recomendación: Para nuevos desarrollos o ampliaciones, utiliza API v2. La API v1 seguirá operativa para compatibilidad, pero no recibirá nuevas funcionalidades. 


API V2

Informes de Gastos

La API v2 de Rindegastos permite consultar la información de uno o más informes de gastos registrados en tu empresa.
En comparación con la API v1, esta versión incorpora:
  • Nuevos filtros de búsqueda, que permiten consultas más precisas.
  • Respuestas más completas, con campos adicionales que ampliándosela el contexto del informe.

Métodos disponibles

  • GET getExpenseReports: Obtiene una lista de informes gastos según los parámetros y filtros definidos.
  • GET getExpenseReport: Devuelve la información completa de un informe gastos específico, incluyendo todos los nuevos campos incorporados en v2.

Notas y consideraciones 

  • Ambos métodos son exclusivamente de lectura: no permiten crear, modificar o eliminar informes.
  • Los nuevos filtros permiten segmentar resultados por estado, fecha, usuario, política de gastos, entre otros.
  • Las respuestas incluyen información adicional respecto a v1, lo que facilita integraciones más ricas y precisas.

Método: getExpenseReports

Método para obtener una lista de informes de gastos de la empresa según parámetros definidos.

Parámetro Descripción      
Method GET      
URL https://api.rindegastos.com/v2/getExpenseReports<params>      
Parámetros Parámetros que se pueden agregar a la solicitud para discriminar qué informes se desean obtener.
Los parámetros posibles son:
     
  Since date Fecha desde cuándo contar los informes de gastos en formato YYYY-MM-DD      
  Until date Fecha hasta cuándo contar los informes de gastos en formato YYYY-MM-DD      
  TypeDateFilter integer Indica en base a cuál fecha vamos a filtrar usando Since  Until donde: 
1 = CloseDate (por defecto) y 2 = SendDate.
     
  Currency string(3) Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano.      
  Status integer Estado en que se encuentran los informes en donde: 0 = Abierto o En proceso; 1 = Cerrado. Si se deja en blanco se toman informes en ambos estados.      
  ExpensePolicyId integer Identificar interno de Rindegastos de la política bajo la cual se ha creado el informe de gastos.      
  IntegrationStatus integer Buscar informes por estado de integración: 1 = Integrados o 0 = No Integrados. Si se envía blanco no se agrega al filtro de búsqueda.      
  IntegrationCode string(255) Buscar informes integrados, filtrando por el código de respuesta asignado posterior al proceso de integración.      
  IntegrationDate date Buscar informes integrados, filtrando por fecha de integración en formato YYYY-MM-DD.      
  CustomStatus string(255) Estado personalizado asignado a los informes de gastos. Este puede tener una longitud máxima de 255 caracteres.      
  PoliciesIds string[] Buscar informes de gastos por una lista de políticas, este debe ir con el siguiente formato:
["12321","8975",...,...,"49236"]
     
  UserId integer Identificador interno de Rindegastos del usuario que envío el informe de gastos.      
  OrderBy integer Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida donde: 1 = CloseDate, 2 = SendDate, 3 = Id. Por defecto se ordena en base a la fecha de envío (SendDate)       
  ResultsPerPage integer Número de resultados por página.      
  Page integer Página de resultados.
Por defecto = 1
     
 
A continuación, se muestra un ejemplo de uso:
https://api.rindegastos.com/v2/getExpenseReports?Currency=CLP
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada es el siguiente:
{
  "Records": {
    "TotalRecords": 2,
    "ExpenseReports": 2,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "ExpenseReports": [
    {
      "Id": 80506,
      "Title": "Licencia Pro Anual",
      "ReportNumber": "2143",
      "SentDate": "2025-02-19",
      "ClosedDate": "2025-03-06",
      "Employee": {
        "Id": 104531,
        "Name": "Juan Pérez",
        "Email": "juan@rindegastos.com",
        "Number": "",
        "Identification": "412414",
        "Department": "",
        "Position": "",
        "CostCenter": ""
      },
      "ApproverId": 104531,
      "ApproverName": "Pedro Rojas",
      "Policy": {
        "Id": 271176,
        "Name": "Política Personal",
        "Code": "",
        "Description": null,
        "IsActive": 1,
        "Currency": "CLP",
        "isIntegrated": 0,
        "isBlockedIntegration": 0,
        "isFatherIntegration": 0
      },
      "Status": 1,
      "CompanyStatus": null,
      "CompanyStatusColor": null,
      "FundId": null,
      "FundName": "",
      "ReportTotal": 2131,
      "ReportTotalApproved": 2131,
      "Subtotal": 2131,
      "Currency": "CLP",
      "Note": null,
      "NumberExpenses": 1,
      "NumberExpensesApproved": 1,
      "NumberExpensesRejected": 0,
      "StatusChangedDate": null,
      "IntegrationDate": null,
      "IsIntegrated": 0,
      "InternalIntegrationCode": null,
      "ExternalIntegrationCode": null,
      "NumberOfFiles": 0,
      "Tax": 0,
      "OtherTaxes": 0,
      "Retention": 0,
      "WorkflowId": "64e61b02636f426bb195c8978",
      "ReviewerPositionId": "65c5166ed4262dd01aa93pi2",
      "ExtraFields": [
        {
          "Id": 22937,
          "Name": "Área",
          "Value": "TI",
          "Code": "124",
          "Instructions": null
        },
        {
          "Id": 21832938,
          "Name": "Proyecto",
          "Value": "Portal Web",
          "Code": "2313",
          "Instructions": null
        },
        {
          "Id": 21832939,
          "Name": "Compra anual",
          "Value": "Compra anual",
          "Code": "123",
          "Instructions": null
        }
      ],
      "Files": [
        {
          "FileName": "Captura de pantalla 2025-04-02 a la(s) 5.18.06â?¯p.m..png",
          "Extension": "png",
          "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png",
          "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png",
          "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png",
          "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-104531-1-8890900-174-0212e049-cfe0-40d3-a0d8-e8d8c92569ac.png"
        }
      ]
    },
    {
      "Id": 8598762,
      "Title": "test",
      "ReportNumber": "2147",
      "SentDate": "2025-02-24",
      "ClosedDate": "2025-02-24",
      "Employee": {
        "Id": 159848,
        "Name": "Juan Pérez",
        "Email": "juan@rindegastos.com",
        "Number": "",
        "Identification": "412414",
        "Department": "",
        "Position": "",
        "CostCenter": ""
      },
      "ApproverId": 159848,
      "ApproverName": "Pedro Rojas",
      "Policy": {
        "Id": 255642,
        "Name": "Política Personal",
        "Code": "",
        "Description": "",
        "IsActive": 1,
        "Currency": "CLP",
        "isIntegrated": 0,
        "isBlockedIntegration": 0,
        "isFatherIntegration": 0
      },
      "Status": 1,
      "CompanyStatus": null,
      "CompanyStatusColor": null,
      "FundId": 218918,
      "FundName": "Fondo para prueba de sobrepasar limite",
      "ReportTotal": 9000,
      "ReportTotalApproved": 9000,
      "Subtotal": 9000,
      "Currency": "CLP",
      "Note": "erwre",
      "NumberExpenses": 1,
      "NumberExpensesApproved": 1,
      "NumberExpensesRejected": 0,
      "StatusChangedDate": null,
      "IntegrationDate": null,
      "IsIntegrated": 0,
      "InternalIntegrationCode": null,
      "ExternalIntegrationCode": null,
      "NumberOfFiles": 0,
      "Tax": 0,
      "OtherTaxes": 0,
      "Retention": 0,
      "WorkflowId": "64c96d57d030b80943d08741w",
      "ReviewerPositionId": "64c96d65d030b80943d087884",
      "ExtraFields": [
        {
          "Id": 21920082,
          "Name": "Área",
          "Value": "TI",
          "Code": "124",
          "Instructions": null
        },
        {
          "Id": 21920083,
          "Name": "Proyecto",
          "Value": "Portal Web",
          "Code": "2313",
          "Instructions": null
        },
        {
          "Id": 21920084,
          "Name": "Compra anual",
          "Value": "Compra anual",
          "Code": "123",
          "Instructions": null
        },
        {
          "Id": 21920085,
          "Name": "Compra anual",
          "Value": "Compra anual",
          "Code": "123",
          "Instructions": null
        },
        {
          "Id": 21920086,
          "Name": "Compra anual",
          "Value": "Compra anual",
          "Code": "123",
          "Instructions": null
        }
      ],
      "Files": []
    }
  ]
}

 

Método: getExpenseReport

Método para obtener un informe de gastos.

Parámetro Descripción      
Method GET      
URL https://api.rindegastos.com/v2/getExpenseReport<params>      
Parámetros Parámetro obligatorio que se puede agregar a la solicitud es el Id del informe.      
  Id integer Id único del informe de gastos que se desea obtener.      
  Folio string Número del informes de gastos que se visualiza en la Web de Rindegastos.      
 
A continuación, se muestra un ejemplo de uso:
https://api.rindegastos.com/v2/getExpenseReport?Id=7894399
METHOD GET
Authorization: Bearer <token>
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
  "Records": {
    "TotalRecords": 1,
    "ExpenseReports": 1,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "ExpenseReports": {
    "Id": 99165,
    "Title": "Licencia Pro Anual",
    "ReportNumber": "2277",
    "SentDate": "2025-08-11",
    "ClosedDate": "2025-08-11",
    "Employee": {
      "Id": 342162,
      "Name": "Juan Pérez",
      "Email": "juan@rindegastos.com",
      "Number": "",
      "Identification": "",
      "Department": "",
      "Position": "",
      "CostCenter": ""
    },
    "ApproverId": 342162,
    "ApproverName": "Pedro Rojas",
    "Policy": {
      "Id": 370012,
      "Name": "Política Personal",
      "Code": "000777",
      "Description": "Política Personal",
      "IsIntegrated": 0,
      "IsActive": 1,
      "Currency": "CLP",
      "IsBlockedIntegration": 0,
      "IsFatherIntegration": 0
    },
    "Status": 1,
    "CompanyStatus": null,
    "CompanyStatusColor": null,
    "FundId": null,
    "FundName": "",
    "ReportTotal": 35000,
    "ReportTotalApproved": 15000,
    "Subtotal": 12605,
    "Currency": "CLP",
    "Note": "Nota de ejemplo",
    "NumberExpenses": 2,
    "NumberExpensesApproved": 1,
    "NumberExpensesRejected": 1,
    "StatusChangedDate": null,
    "IntegrationDate": null,
    "IsIntegrated": 0,
    "InternalIntegrationCode": null,
    "ExternalIntegrationCode": null,
    "NumberOfFiles": 0,
    "Tax": 2395,
    "OtherTaxes": 0,
    "Retention": 0,
    "WorkflowId": "689a459c5776b1b2bd91ercv6",
    "ReviewerPositionId": "689a46ad2ae1fb71d6c5fehs4",
    "ExtraFields": [
      {
        "Id": "262912",
        "Name": "CampoExtraInforme",
        "Value": "123123123",
        "Code": null,
        "Instructions": null,
      }
    ],
    "Files": []
  }
}

 



API V2

Gastos

La API te permite consultar información detallada de uno o más gastos registrados en tu empresa dentro de Rindegastos.
En esta versión, las respuestas incluyen información fiscal ampliada y detalles tributarios específicos según país, lo que facilita integraciones contables y reportes locales.
En comparación con la API v1, esta versión incorpora:
  • Múltiples impuestos por gasto.
  • Campos específicos para cumplir con requisitos tributarios de:
    • SAT (México)
    • SUNAT (Perú)
    • SRI (Ecuador)
    • DIAN (Colombia)
  • Estructuras de respuesta más completas y consistentes.
 
Métodos disponibles
  • GET getExpenses: Obtiene una lista de gastos según filtros definidos.
  • GET getExpense: Devuelve información completa de un gasto especifico.

Notas y consideraciones

  • Ambos métodos son de lectura: no permiten crear, modificar o eliminar gastos.
  • La información fiscal incluida depende de la configuración de la empresa y del país asociado al gasto.
  • Los múltiples impuestos se entregan en una estructura de arreglo, permitiendo calcular el total por tipo de impuesto.

 

Método: getExpenses

Método para obtener una lista de gastos de la empresa según parámetros definidos.
 
Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v2/getExpenses<params>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parámetros posibles son:
  Since date Fecha desde cuando contar los gastos en formato YYYY-MM-DD.
  Until date Fecha hasta cuando contar los gastos en formato YYYY-MM-DD.
  Currency string(3) Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano. Este parámetro trabaja sobre la moneda final del gasto, no la moneda original.
  Status integer 1: Aprobado; 2: Rechazado; 0: En proceso.
  Category string(150) Nombre de la categoría de gastos que se desea.
  ReportId integer Id único del informe de gastos
  ExpensePolicyId integer Id único de la política de gastos
  IntegrationStatus integer Buscar gastos por estado de integración: 1 = Integrados o 0 = No integrados. Si se envía blanco no se agrega al filtro de busqueda.
  IntegrationCode string(255) Buscar gastos integrados, filtrando por el código de comprobante asociado al gasto.
  IntegrationDate date Buscar gastos integrados, filtrando por fecha de integración en formato YYYY-MM-DD.
  UserId integer Id único del usuario en Rindegastos
  OrderBy integer 1: fecha del gasto; 2: fecha creación del gasto. Por defecto el orden es por fecha del gasto.
  Order string ASC o DESC (default)
  ResultsPerPage integer Número de resultados por solicitud (máximo 100).
  Page integer Página de resultados. Por defecto = 1
 
A continuación, se muestra un ejemplo usando el método getExpenses: 
 
https://api.rindegastos.com/v2/getExpenses?Currency=GBP&ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>


Ejemplos de respuesta para esta llamada son:
  • Ejemplo con múltiples impuestos: 
{
"Records": {
"TotalRecords": 1,
"Expenses": 1,
"Page": 1,
"Pages": 1,
"ResponseMessage": "La solicitud tuvo éxito."
},
"Expenses": [
{
"Id": 53851,
"Status": 1,
"Supplier": "Cie de col",
"IssueDate": "2025-07-24",
"OriginalAmount": 1591100,
"OriginalCurrency": "COP",
"ExchangeRate": 0,
"Net": 1400000,
"Taxes": {
"taxPercentage": "0.00",
"taxName": null,
"retentionPercentage": "0.00",
"retentionName": null,
"taxAmount": 0,
"otherTaxesAmount": 0,
"retentionAmount": 0,
"tax": 0,
"retention": 0,
"otherTaxes": 0
},
"MultipleTaxes": {
"policyMultipleTaxes": 1,
"taxes": [
{
"id": "1103022",
"taxName": "IVA 19%",
"taxPercentage": "19.00",
"taxAmount": "266000.00",
"tax": "266000.00",
"baseAmount": "1400000.00",
"retention": 0,
"retentionPercentage": 0,
"retentionAmount": 0,
"retentionName": null,
"suggested": true,
"type": 1,
"code": "iva19"
},
{
"id": "1103026",
"taxName": null,
"taxPercentage": 0,
"taxAmount": 0,
"tax": 0,
"baseAmount": null,
"retention": "39900.00",
"retentionPercentage": "0.00",
"retentionAmount": "39900.00",
"retentionName": "Reteiva",
"suggested": true,
"type": 2,
"code": "retiva"
},
{
"id": "1103028",
"taxName": null,
"taxPercentage": 0,
"taxAmount": 0,
"tax": 0,
"baseAmount": null,
"retention": "35000.00",
"retentionPercentage": "0.00",
"retentionAmount": "35000.00",
"retentionName": "Reterenta",
"suggested": true,
"type": 2,
"code": "retren"
}
]
},
"Total": 1591100,
"Currency": "COP",
"Reimbursable": true,
"Category": null,
"CategoryCode": null,
"CategoryGroup": null,
"CategoryGroupCode": null,
"NbrFiles": 1,
"ReportId": 9814155,
"ExpensePolicyId": 295618,
"UserId": 210552,
"Note": null,
"IsIntegrated": false,
"IntegrationDate": null,
"IntegrationExternalCode": null,
"SatInfo": null,
"SunatInfo": null,
"SriInfo": null,
"DianInfo": null,
"ExtraFields": [
{
"id": "303205431",
"expenseId": "53851",
"expensePolicyExtraFieldId": "1590151",
"type": 4,
"name": "Número de documento",
"value": null,
"code": null,
"index": 2,
"instructions": ,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205432",
"expenseId": "53851",
"expensePolicyExtraFieldId": "2116680",
"type": 4,
"name": "Subtotal",
"value": null,
"code": null,
"index": 3,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205433",
"expenseId": "53851",
"expensePolicyExtraFieldId": "1885093",
"type": 4,
"name": "Base IVA 19%",
"value": null,
"code": null,
"index": 4,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205439",
"expenseId": "53851",
"expensePolicyExtraFieldId": "2116681",
"type": 4,
"name": "ReteRenta",
"value": null,
"code": null,
"index": 10,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "303205440",
"expenseId": "53851",
"expensePolicyExtraFieldId": "2116682",
"type": 4,
"name": "ReteIVA",
"value": null,
"code": null,
"index": 11,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
}
],
"Files": []
}
]
}
 
  • Ejemplo con información de la DIAN - Colombia
{
"Records": {
"TotalRecords": 1,
"Expenses": 1,
"Page": 1,
"Pages": 1,
"ResponseMessage": "La solicitud tuvo éxito."
},
"Expenses": [
{
"Id": 510573,
"Status": 1,
"Supplier": "JELM INVERSIONES S.A.S.",
"IssueDate": "2025-03-01",
"OriginalAmount": 230400,
"OriginalCurrency": "COP",
"ExchangeRate": 0,
"Net": 230400,
"Taxes": {
"taxPercentage": "0.00",
"taxName": null,
"retentionPercentage": "0.00",
"retentionName": null,
"taxAmount": 0,
"otherTaxesAmount": 0,
"retentionAmount": 0,
"tax": 0,
"retention": 0,
"otherTaxes": 0
},
"MultipleTaxes": {
"policyMultipleTaxes": 0,
"taxes": []
},
"Total": 230400,
"Currency": "COP",
"Reimbursable": true,
"Category": "Alimentación",
"CategoryCode": null,
"CategoryGroup": null,
"CategoryGroupCode": null,
"NbrFiles": 2,
"ReportId": null,
"ExpensePolicyId": 348614,
"UserId": 215809,
"Note": null,
"IsIntegrated": false,
"IntegrationDate": null,
"IntegrationExternalCode": null,
"SatInfo": null,
"SunatInfo": null,
"SriInfo": null,
"DianInfo": {
"expenseId": 510573,
"fileId": null,
"xmlDocNumber": "GFP19315",
"xmlDate": "2025-03-01T00:00:00.000Z",
"xmlCurrency": "COP",
"xmlTotal": "230400.00",
"xmlPersonType": "Persona Juridica y Asimiladas",
"xmlFiscalResp": "No Aplica - Otros",
"xmlPaymentMethod": "Instrumento no defin",
"xmlWayToPay": "Contado",
"xmlDepartment": "Cundinamarca",
"xmlCufe": "6e79fca40c7b0c78e2e1f841ac5db602319ac75d4f0ccec612a93fac1415ebdcc917d8be9ba9c531e3fc02cee27c88ac",
"xmlProviderName": "JELM INVERSIONES S.A.S.",
"xmlProviderNit": "900361916",
"xmlProviderCity": "La Calera",
"xmlProviderEmail": "contador@eltambor.com",
"xmlProviderAddress": "KM 12 VIA BOGOTA - LA CALERA",
"xmlReceptorNit": "1019131395",
"xmlReceptorName": "SARMIENTO NATALIA",
"xmlTaxBase": "17067.00",
"xmlTaxName": "INC",
"xmlTaxTotal": "213333.00",
"xmlTaxRate": "8.00",
"xmlTaxCode": "4",
"xmlTaxBase2": "0.00",
"xmlTaxName2": null,
"xmlTaxTotal2": "0.00",
"xmlTaxRate2": "0.00",
"xmlTaxCode2": null,
"xmlTaxBase3": "0.00",
"xmlTaxName3": null,
"xmlTaxTotal3": "0.00",
"xmlTaxRate3": "0.00",
"xmlTaxCode3": null,
"xmlTaxBase4": "0.00",
"xmlTaxName4": null,
"xmlTaxTotal4": "0.00",
"xmlTaxRate4": "0.00",
"xmlTaxCode4": null,
"xmlTaxBase5": "0.00",
"xmlTaxName5": null,
"xmlTaxTotal5": "0.00",
"xmlTaxRate5": "0.00",
"xmlTaxCode5": null,
"xmlTaxBase6": "0.00",
"xmlTaxName6": null,
"xmlTaxTotal6": "0.00",
"xmlTaxRate6": "0.00",
"xmlTaxCode6": null,
"xmlTaxBase7": "0.00",
"xmlTaxName7": null,
"xmlTaxTotal7": "0.00",
"xmlTaxRate7": "0.00",
"xmlTaxCode7": null,
"xmlTaxBase8": "0.00",
"xmlTaxName8": null,
"xmlTaxTotal8": "0.00",
"xmlTaxRate8": "0.00",
"xmlTaxCode8": null,
"xmlTaxBase9": "0.00",
"xmlTaxName9": null,
"xmlTaxTotal9": "0.00",
"xmlTaxRate9": "0.00",
"xmlTaxCode9": null,
"xmlTaxBase10": "0.00",
"xmlTaxName10": null,
"xmlTaxTotal10": "0.00",
"xmlTaxRate10": "0.00",
"xmlTaxCode10": null,
"xmlTaxBase11": "0.00",
"xmlTaxName11": null,
"xmlTaxTotal11": "0.00",
"xmlTaxRate11": "0.00",
"xmlTaxCode11": null,
"xmlTaxBase12": "0.00",
"xmlTaxName12": null,
"xmlTaxTotal12": "0.00",
"xmlTaxRate12": "0.00",
"xmlTaxCode12": null,
"xmlTaxBase13": "0.00",
"xmlTaxName13": null,
"xmlTaxTotal13": "0.00",
"xmlTaxRate13": "0.00",
"xmlTaxCode13": null,
"modifiedInfo": false
},
"ExtraFields": [
{
"id": "287919062",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2131738",
"type": 1,
"name": "NIT Proveedor",
"value": "900361916",
"code": null,
"index": 0,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919063",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2162255",
"type": 2,
"name": "Tipo de Documento",
"value": "Factura Electrónica",
"code": null,
"index": 1,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919064",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2131740",
"type": 1,
"name": "Número de Documento",
"value": "GFP19315",
"code": null,
"index": 2,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919065",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2171947",
"type": 2,
"name": "Impuesto 19%",
"value": null,
"code": null,
"index": 3,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919066",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2169199",
"type": 4,
"name": "Valor IVA 19%",
"value": null,
"code": null,
"index": 4,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919067",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2171948",
"type": 4,
"name": "Valor IVA 5%",
"value": null,
"code": null,
"index": 5,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919068",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2171949",
"type": 4,
"name": "Valor INC 8%",
"value": "17067",
"code": null,
"index": 6,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919069",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2169200",
"type": 4,
"name": "Valor ReteFuente",
"value": null,
"code": null,
"index": 7,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919070",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2169201",
"type": 4,
"name": "Valor ReteIVA",
"value": null,
"code": null,
"index": 8,
"instructions": null,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919071",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2199924",
"type": 2,
"name": "Centro de Costo",
"value": "20208 - BIOMASS AGRI",
"code": "20208",
"index": 9,
"instructions": ,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "287919072",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2199871",
"type": 2,
"name": "Localidad",
"value": "BOGOTA",
"code": "1",
"index": 10,
"instructions": ,
"isHiddenField": 0,
"mongoId": null
},
{
"id": "2879073",
"expenseId": "510573",
"expensePolicyExtraFieldId": "2176564",
"type": 2,
"name": "Gasto reembolsable",
"value": null,
"code": null,
"index": 11,
"instructions": null,
"isHiddenField": 1,
"mongoId": null
}
],
"Files": []
}
]
}
 
  • Ejemplo con información de la SRI - Ecuador
{
  "Records": {
    "TotalRecords": 1,
    "Expenses": 1,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "Expenses": [
    {
      "Id": 49414,
      "Status": 1,
      "Supplier": "LAMORSA S.A.S.",
      "IssueDate": "2022-02-01",
      "OriginalAmount": 29.01,
      "OriginalCurrency": "USD",
      "ExchangeRate": 0,
      "Net": 29.01,
      "Taxes": {
        "taxPercentage": "0.00",
        "taxName": null,
        "retentionPercentage": "0.00",
        "retentionName": null,
        "taxAmount": 0,
        "otherTaxesAmount": 0,
        "retentionAmount": 0,
        "tax": 0,
        "retention": 0,
        "otherTaxes": 0
      },
      "MultipleTaxes": {
        "policyMultipleTaxes": 0,
        "taxes": []
      },
      "Total": 29.01,
      "Currency": "USD",
      "Reimbursable": true,
      "Category": "Correo",
      "CategoryCode": "5961063",
      "CategoryGroup": ,
      "CategoryGroupCode": ,
      "NbrFiles": 1,
      "ReportId": 8781015,
      "ExpensePolicyId": 350598,
      "UserId": 229209,
      "Note": null,
      "IsIntegrated": false,
      "IntegrationDate": null,
      "IntegrationExternalCode": null,
      "SatInfo": null,
      "SunatInfo": null,
      "SriInfo": {
        "expenseId": 49414,
        "fileId": null,
        "xmlAmbient": "2",
        "xmlRuc": "993348163001",
        "xmlEstablishment": "1",
        "xmlPtoEmi": "1",
        "xmlSecuencial": "5367",
        "xmlTotalDiscount": "0.00",
        "xmlTotalWithNoTaxes": "26.97",
        "xmlBuyerName": "VERONICA  VILLACIS",
        "xmlBase12": "26.97",
        "xmlBase0": "0.00",
        "xmlBase8": "0.00",
        "xmlBase15": "0.00",
        "xmlIva12": "2.04",
        "xmlIva8": "0.00",
        "xmlIva15": "0.00",
        "xmlTip": "0.00",
        "xmlBuyerId": "1713985289",
        "xmlAuthorizationDate": "2022-02-01",
        "xmlAuthorizationNumber": "1.0220220109933482e+47",
        "createdAt": "2025-03-19T12:50:31.000Z",
        "modifiedInfo": false
      },
      "DianInfo": null,
      "ExtraFields": [
        {
          "id": "264786111",
          "expenseId": "49414",
          "expensePolicyExtraFieldId": "2161838",
          "type": 2,
          "name": "Centro de Costo",
          "value": "Revisiones Tecnicas Samborondon",
          "code": "6305",
          "index": null,
          "instructions": ,
          "isHiddenField": 0,
          "mongoId": null
        },
        {
          "id": "264786112",
          "expenseId": "49414",
          "expensePolicyExtraFieldId": "2161839",
          "type": 1,
          "name": "RUC",
          "value": "993348163001",
          "code": null,
          "index": 1,
          "instructions": null,
          "isHiddenField": 0,
          "mongoId": null
        },
        {
          "id": "264786113",
          "expenseId": "49414",
          "expensePolicyExtraFieldId": "2161840",
          "type": 2,
          "name": "Tipo de Documento",
          "value": "Factura",
          "code": "01",
          "index": 2,
          "instructions": null,
          "isHiddenField": 0,
          "mongoId": null
        },
        {
          "id": "264786114",
          "expenseId": "49414",
          "expensePolicyExtraFieldId": "2161841",
          "type": 1,
          "name": "Número de Documento",
          "value": null,
          "code": null,
          "index": 3,
          "instructions": null,
          "isHiddenField": 0,
          "mongoId": null
        }
      ],
      "Files": []
    }
  ]
}

 

  • Ejemplo con información de la SAT - México
{
  "Records": {
    "TotalRecords": 1,
    "Expenses": 1,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "Expenses": [
    {
      "Id": 50222,
      "Status": 0,
      "Supplier": "DIGITAL SOLUTIONS AMERICAS",
      "IssueDate": "2025-07-02",
      "OriginalAmount": 306.75,
      "OriginalCurrency": "MXN",
      "ExchangeRate": 0,
      "Net": 306.75,
      "Taxes": {
        "taxPercentage": "0.00",
        "taxName": null,
        "retentionPercentage": "0.00",
        "retentionName": null,
        "taxAmount": 0,
        "otherTaxesAmount": 0,
        "retentionAmount": 0,
        "tax": 0,
        "retention": 0,
        "otherTaxes": 0
      },
      "MultipleTaxes": {
        "policyMultipleTaxes": 0,
        "taxes": []
      },
      "Total": 306.75,
      "Currency": "MXN",
      "Reimbursable": true,
      "Category": null,
      "CategoryCode": null,
      "CategoryGroup": null,
      "CategoryGroupCode": null,
      "NbrFiles": 1,
      "ReportId": 9815528,
      "ExpensePolicyId": 265804,
      "UserId": 156453,
      "Note": "holaaa",
      "IsIntegrated": false,
      "IntegrationDate": null,
      "IntegrationExternalCode": null,
      "SatInfo": {
        "expenseId": "50222",
        "fileId": "53120649",
        "xmlRFCEmisor": "DSA130408AM2",
        "xmlFolio": "90994550",
        "xmlFecha": "2024-12-19",
        "xmlFormaDePago": "Tarjeta de crédito",
        "xmlFormaDePagoCode": "4",
        "xmlMetodoDePago": "Pago en Una Exhibición",
        "xmlMetodoDePagoCode": "PUE",
        "xmlLugarDeExpedicion": "1020",
        "xmlRFCReceptor": "CMO161107251",
        "xmlUUID": "F853C6BB-DAA1-5645-900E-5A548774BA88",
        "xmlTipoDeComprobante": "Ingreso",
        "xmlTipoDeComprobanteCode": "I",
        "xmlSerie": "TER",
        "xmlUsoCFDI": "Gastos en general",
        "xmlUsoCFDICode": "G03",
        "xmlTotal": "306.75",
        "xmlCurrency": "MXN",
        "xmlNumeroCertificadoSAT": "1000000707310321",
        "xmlTuaAerolinea": "0.00",
        "xmlTotalCargosAerolinea": "0.00",
        "xmlTotalImpTrasladados": "42.31",
        "xmlTotalRetenciones": "0.00",
        "xmlTotalTrasladosLocales": "0.00",
        "xmlTotalRetencionesLocales": "0.00",
        "xmlNombreReceptor": "CLOE MODA",
        "xmlDomicilioFiscalReceptor": "45200",
        "xmlRegimenFiscalReceptor": "601",
        "xmlRegimenFiscalEmisor": "601",
        "xmlSubtotal": "264.44",
        "xmlDescuento": "0.00",
        "xmlBase": "0.00",
        "xmlNumRegIdTrib": null,
        "xmlTrasladoBase": "264.44",
        "xmlTrasladoTipoImpuesto": "IVA",
        "xmlTrasladoImporte": "42.31",
        "xmlTrasladoTasa": "16.00",
        "xmlTrasladoBase2": "0.00",
        "xmlTrasladoTipoImpuesto2": null,
        "xmlTrasladoImporte2": "0.00",
        "xmlTrasladoTasa2": "0.00",
        "xmlTrasladoBase3": "0.00",
        "xmlTrasladoTipoImpuesto3": null,
        "xmlTrasladoImporte3": "0.00",
        "xmlTrasladoTasa3": "0.00",
        "xmlRetencionBase": "0.00",
        "xmlRetencionTipoImpuesto": null,
        "xmlRetencionImporte": "0.00",
        "xmlRetencionTasa": "0.00",
        "xmlRetencionBase2": "0.00",
        "xmlRetencionTipoImpuesto2": null,
        "xmlRetencionImporte2": "0.00",
        "xmlRetencionTasa2": "0.00",
        "xmlRetencionBase3": "0.00",
        "xmlRetencionTipoImpuesto3": null,
        "xmlRetencionImporte3": "0.00",
        "xmlRetencionTasa3": "0.00",
        "xmlTrasladoLocalImpuesto": null,
        "xmlTrasladoLocalImporte": "0.00",
        "xmlTrasladoLocalTasa": "0.00",
        "xmlTrasladoLocalTipoImpuesto2": null,
        "xmlTrasladoLocalImporte2": "0.00",
        "xmlTrasladoLocalTasa2": "0.00",
        "xmlTrasladoLocalTipoImpuesto3": null,
        "xmlTrasladoLocalImporte3": "0.00",
        "xmlTrasladoLocalTasa3": "0.00",
        "xmlRetencionLocal": "0.00",
        "xmlRetencionLocalImpuesto": null,
        "xmlRetencionLocalImporte": "0.00",
        "xmlRetencionLocalTasa": "0.00",
        "xmlRetencionLocalImpuesto2": null,
        "xmlRetencionLocalImporte2": "0.00",
        "xmlRetencionLocalTasa2": "0.00",
        "xmlRetencionLocalImpuesto3": null,
        "xmlRetencionLocalImporte3": "0.00",
        "xmlRetencionLocalTasa3": "0.00",
        "xmlTotalImpTraslados": "0.00",
        "satInfoRFC": {
          "hasRFCInfo": 1,
          "consultationDate": "2025-05-15",
          "rfc": null,
          "outsourcing": null,
          "snfc": null,
          "rawData": "{\"taxPayerRfc\":null,\"outSourcing\":null,\"sncf\":null}",
          "source": "SW Sapien",
          "sourceUrl": "https://sw.com.mx/"
        },
        "satInfoCFDI": {
          "hasCFDIInfo": 1,
          "consultationDate": "2025-05-15",
          "statusCode": "S - Comprobante obtenido satisfactoriamente.",
          "isCancellable": "Cancelable sin aceptación",
          "status": "Vigente",
          "cancellationStatus": null,
          "efosValidation": "201",
          "rawData": "{\"statusCode\":\"S - Comprobante obtenido satisfactoriamente.\",\"isCancellable\":\"Cancelable sin aceptación\",\"status\":\"Vigente\",\"cancellationStatus\":null,\"efosValidation\":201,\"consultationDate\":\"2025-05-15\"}",
          "source": "SW Sapien",
          "sourceURL": "https://sw.com.mx/"
        },
        "satInfoLCO": {
          "hasLCOInfo": 0,
          "consultationDate": null,
          "certifiedNumber": null,
          "rfc": null,
          "validityObligations": null,
          "certifiedStatus": null,
          "startDate": null,
          "endDate": null,
          "rawData": null,
          "source": null,
          "sourceURL": null
        },
        "satInfoBlacklist": {
          "hasBlacklistInfo": 0,
          "consultationDate": null,
          "rawData": null,
          "id": null,
          "rfc": null,
          "taxpayerName": null,
          "taxpayerSituation": null,
          "globalOfficialNumberAndDatePresumption": null,
          "publicationOfThePresumedSATPage": null,
          "postingDOFPresumed": null,
          "publicationOfTheSATPageDistorted": null,
          "postingDOFDistorted": null,
          "globalNumberDateDistorted": null,
          "distortedDOFPublication": null,
          "definitiveGlobalOfficialDateNumber": null,
          "definitionsPagePublication": null,
          "definitiveDOFPublication": null,
          "globalOfficialDateFavorableJudgement": null,
          "satPagePublicationFavorableRuling": null,
          "publicationDOFFavorableJudgement": null,
          "source": null,
          "sourceURL": null
        },
        "createdAt": "2025-05-15T16:15:00.000Z"
      },
      "SunatInfo": null,
      "SriInfo": null,
      "DianInfo": null,
      "ExtraFields": [],
      "Files": [
        {
          "FileName": "Uber 298.71 mas 8.04.xml",
          "Extension": "xml",
          "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml",
          "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml",
          "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/medium/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml",
          "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-156453-1-50466222-594-03bd561a-1940-4072-b8df-6610086d0aea.xml"
        }
      ]
    }
  ]
}
 

 

Método: getExpense

Método para obtener un gasto con toda su información.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v2/getExpense?Id=<id>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué gastos se desea obtener. Los parametros posibles son:
  Id integer Id único del gasto que se desea obtener.

A continuación, se muestra un ejemplo usando el método getExpense:

https://api.rindegastos.com/v2/getExpense?Id=53851
METHOD GET
Authorization: Bearer <token>

 El resultado se evidencia a continuación:

{
  "Records": {
    "TotalRecords": 1,
    "Expenses": 1,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "Expenses": [
    {
      "Id": 53851,
      "Status": 1,
      "Supplier": "Cie de col",
      "IssueDate": "2025-07-24",
      "OriginalAmount": 1591100,
      "OriginalCurrency": "COP",
      "ExchangeRate": 0,
      "Net": 1400000,
      "Taxes": {
        "taxPercentage": "0.00",
        "taxName": null,
        "retentionPercentage": "0.00",
        "retentionName": null,
        "taxAmount": 0,
        "otherTaxesAmount": 0,
        "retentionAmount": 0,
        "tax": 0,
        "retention": 0,
        "otherTaxes": 0
      },
      "MultipleTaxes": {
        "policyMultipleTaxes": 1,
        "taxes": [
          {
            "id": "1103022",
            "taxName": "IVA 19%",
            "taxPercentage": "19.00",
            "taxAmount": "266000.00",
            "tax": "266000.00",
            "baseAmount": "1400000.00",
            "retention": 0,
            "retentionPercentage": 0,
            "retentionAmount": 0,
            "retentionName": null,
            "suggested": true,
            "type": 1,
            "code": "iva19"
          },
          {
            "id": "1103026",
            "taxName": null,
            "taxPercentage": 0,
            "taxAmount": 0,
            "tax": 0,
            "baseAmount": null,
            "retention": "39900.00",
            "retentionPercentage": "0.00",
            "retentionAmount": "39900.00",
            "retentionName": "Reteiva",
            "suggested": true,
            "type": 2,
            "code": "retiva"
          },
          {
            "id": "1103028",
            "taxName": null,
            "taxPercentage": 0,
            "taxAmount": 0,
            "tax": 0,
            "baseAmount": null,
            "retention": "35000.00",
            "retentionPercentage": "0.00",
            "retentionAmount": "35000.00",
            "retentionName": "Reterenta",
            "suggested": true,
            "type": 2,
            "code": "retren"
          }
        ]
      },
      "Total": 1591100,
      "Currency": "COP",
      "Reimbursable": true,
      "Category": null,
      "CategoryCode": null,
      "CategoryGroup": null,
      "CategoryGroupCode": null,
      "NbrFiles": 1,
      "ReportId": 9814155,
      "ExpensePolicyId": 295618,
      "UserId": 210552,
      "Note": null,
      "IsIntegrated": false,
      "IntegrationDate": null,
      "IntegrationExternalCode": null,
      "SatInfo": null,
      "SunatInfo": null,
      "SriInfo": null,
      "DianInfo": null,
      "ExtraFields": [
        {
          "id": "303205431",
          "expenseId": "53851",
          "expensePolicyExtraFieldId": "1590151",
          "type": 4,
          "name": "Número de documento",
          "value": null,
          "code": null,
          "index": 2,
          "instructions": ,
          "isHiddenField": 0,
          "mongoId": null
        },
        {
          "id": "303205432",
          "expenseId": "53851",
          "expensePolicyExtraFieldId": "2116680",
          "type": 4,
          "name": "Subtotal",
          "value": null,
          "code": null,
          "index": 3,
          "instructions": null,
          "isHiddenField": 0,
          "mongoId": null
        },
        {
          "id": "303205433",
          "expenseId": "53851",
          "expensePolicyExtraFieldId": "1885093",
          "type": 4,
          "name": "Base IVA 19%",
          "value": null,
          "code": null,
          "index": 4,
          "instructions": null,
          "isHiddenField": 0,
          "mongoId": null
        },
        {
          "id": "303205439",
          "expenseId": "53851",
          "expensePolicyExtraFieldId": "2116681",
          "type": 4,
          "name": "ReteRenta",
          "value": null,
          "code": null,
          "index": 10,
          "instructions": null,
          "isHiddenField": 0,
          "mongoId": null
        },
        {
          "id": "303205440",
          "expenseId": "53851",
          "expensePolicyExtraFieldId": "2116682",
          "type": 4,
          "name": "ReteIVA",
          "value": null,
          "code": null,
          "index": 11,
          "instructions": null,
          "isHiddenField": 0,
          "mongoId": null
        }
      ],
      "Files": []
    }
  ]
}

 



API V2

Solicitudes de Fondos

La API v2 permite consultar y sincronizar las solicitudes de fondo generadas por los usuarios de tu empresa.

Esta sección expone endpoints para listar solicitudes, obtener el detalle de una solicitud específica y marcarla como integrada en tu sistema externo. 

Métodos disponibles

  • GET getFundsRequest: Lista página de solicitudes de fondo. 
  • GET getFundRequest: Devuelve una solicitud de fondo.
  • PUT setFundRequestIntegration: Marca una solicitud de fondo como integrado en un sistema externo.

Método: getFundsRequest

Permite obtener una lista de solicitudes de fondos de la empresa según los parámetros definidos.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v2/getFundsRequest?<params>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desean obtener. Los parámetros posibles son:
  Since date Fecha desde cuando contar las solicitudes de fondo. El formato debe ser YYYY-MM-DD.
  Until date Fecha hasta cuando contar las solicitudes de fondo. El formato debe ser YYYY-MM-DD.
  TypeDateFilter integer Indica en base a cuál fecha vamos a filtrar usando Since Until donde: 1 = Fecha de Cierre (Por defecto) y 2 = Fecha de envío de la solicitud de fondo.
  Currency string (3) Código ISO de la moneda que se desea filtrar. Por ejemplo USD para dólar americano.
  Status integer 0 = En Proceso; 1 = Aprobador, 2 = Rechazado; en blanco muestra todos las solicitudes de fondos.
  PolicyId integer Identificador interno de Rindegastos del usuario que envío la solicitud de fondos.
  IntegrationStatus integer Buscar fondos por estado. 1 = Integrado, 0 = no integrado.
  IntegrationCode string(255) Buscar fondos, filtrando por el código de respuesta asignado posterior al proceso de integración.
  IntegrationDate date Buscar solicitudes de fondos integrados, filtrando por fecha de integración en formato YYYY-MM-DD.
  UserId integer Identificador interno de Rindegastos del usuario que envío la solicitud de fondos.
  FundId integer Id del fondo creado desde esta solicitud.
  OrderBy integer Permite indicar bajo cual parámetro vamos a ordenar la lista de solicitudes obtenida, donde: 1 = fecha de cierre, 2 = Fecha de envío de solicitud y 3 Id de la solicitud. Por defecto se ordena en base a la fecha de envío.
  Order integer ASC o DESC (default).
  ResultsPerPage integer Número de Resultados por página.
  Page integer Página de resultados. Por defecto = 1

A continuación, se muestra un ejemplo usando el método getFundsRequest: 

https://api.rindegastos.com/v2/getFundsRequest?ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>

El ejemplo de resultado para esta llamada se muestra a continuación:

{
  "Records": {
    "TotalRecords": 3,
    "FundsRequest": 3,
    "Page": 0,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "FundsRequest": [
    {
      "Id": "6883c1c11fe5097caeqty172",
      "Title": "Viaje de Negocios",
      "Description": "solicitud de viaje de negocios al sur",
      "Currency": "CLP",
      "Amount": 2312,
      "Status": 1,
      "EmployeeId": 213353,
      "ApproverId": 213353,
      "EmployeeName": "Pedro Morales",
      "ApproverName": "Pedro Morales",
      "FundId": null,
      "ApproverPositionId": null,
      "WorkflowId": "674f1cf1e4690iua06e1c2",
      "Type": "FUND",
      "Files": [],
      "Concepts": [
        {
          "name": "Transporte",
          "amount": 2312
        }
      ],
      "ExtraFields": [
        {
          "Id": "8537",
          "PolicyId": "2128",
          "Name": "centro costo",
          "Type": 1,
          "Index": null,
          "Value": "asd",
          "Code": null
        },
        {
          "Id": "8518",
          "PolicyId": "2128",
          "Name": "otro",
          "Type": 2,
          "Index": 1,
          "Code": null
        }
      ],
      "PolicyId": "2128",
      "PolicyName": "Política de Gerencia",
      "SentDate": "2025-07-25T17:41:54.201Z",
      "ClosedDate": null,
      "IsIntegration": false,
      "IntegrationCode": null,
      "IntegrationDate": null,
      "CreatedAt": "2025-07-25T17:41:21.549Z",
      "UpdatedAt": "2025-07-25T17:42:50.729Z"
    },
    {
      "Id": "67bf76def0ab42greg417231f",
      "Title": "Compras de Insumos",
      "Description": "solicitud de compras de insumos para oficina",
      "Currency": "CLP",
      "Amount": 120000,
      "Status": 1,
      "EmployeeId": 104531,
      "ApproverId": 104531,
      "EmployeeName": "Juan Perez",
      "ApproverName": "Juan Perez",
      "FundId": null,
      "ApproverPositionId": null,
      "WorkflowId": "67fd05a04465fa19767d2c3",
      "Type": "FUND",
      "Files": [],
      "Concepts": [
        {
          "name": "Transporte",
          "amount": "120000"
        }
      ],
      "ExtraFields": [
        {
          "Id": "10711",
          "PolicyId": "2711",
          "Name": "Test oculto 1",
          "Type": 1,
          "Index": null,
          "Code": null
        },
        {
          "Id": "10732",
          "PolicyId": "2711",
          "Name": "Test oculto 2",
          "Type": 1,
          "Index": 1,
          "Code": null
        },
        {
          "Id": "1075",
          "PolicyId": "2711",
          "Name": "Texto oculto 3",
          "Type": 4,
          "Index": 2,
          "Code": null
        }
      ],
      "PolicyId": "2711",
      "PolicyName": "Política de Compras Generales",
      "SentDate": "2025-07-21T19:52:40.696Z",
      "ClosedDate": null,
      "IsIntegration": false,
      "IntegrationCode": null,
      "IntegrationDate": null,
      "CreatedAt": "2025-02-26T20:17:34.667Z",
      "UpdatedAt": "2025-07-21T19:54:10.718Z"
    },
    {
      "Id": "6839b8bf0b3e4fcbda12410e",
      "Title": "Viaje Nacional",
      "Description": "solicitud de viaje nacional",
      "Currency": "CLP",
      "Amount": 20001,
      "Status": 1,
      "EmployeeId": 137941,
      "ApproverId": 258428,
      "EmployeeName": "Maria Perez",
      "ApproverName": "Maria Perez",
      "FundId": null,
      "ApproverPositionId": null,
      "WorkflowId": "683640676bc323d24358c9c2",
      "Type": "FUND",
      "Files": [],
      "Concepts": [],
      "ExtraFields": [],
      "PolicyId": "5355",
      "PolicyName": null,
      "SentDate": "2025-05-30T13:55:52.342Z",
      "ClosedDate": null,
      "IsIntegration": false,
      "IntegrationCode": null,
      "IntegrationDate": null,
      "CreatedAt": "2025-05-30T13:55:11.525Z",
      "UpdatedAt": "2025-05-30T13:55:52.345Z"
    }
  ]
}
 

Método: getFundRequest

Método para obtener una solicitud de fondo con toda su información. Incluye la lista de movimientos del fondo solicitado.

Parámetro  Descripción  
Método GET  
URL https://api.rindegastos.com/v2/getFundRequest?Id=<id>  
Params Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la solicitud de fondo.  
  Id integer Id único de la solicitud del fondo que se desea obtener.  

A continuación, se muestra un ejemplo usando el método getFundRequest de la API de Rindegastos, que permite consultar un fondo específico de la empresa.

https://api.rindegastos.com/v2/getFundRequest?Id=3
METHOD GET
Authorization: Bearer <token>

El resultado ejemplo para esta llamada se muestra a continuación:

{
  "Id": "6883c1c11fe5097cacdca172",
  "Title": "Sol de Viaje Sur",
  "Description": "solicitud de viaje de negocios al sur",
  "Currency": "CLP",
  "Amount": 2312,
  "Status": "IN_PROGRESS",
  "EmployeeId": 213353,
  "ApproverId": 213353,
  "EmployeeName": "Joaquin Morales",
  "ApproverName": "Joaquin Morales",
  "FundId": null,
  "ApproverPositionId": null,
  "WorkflowId": "674f1cf1e4234a06e1c269a3",
  "Type": "FUND",
  "Files": [],
  "Concepts": [
    {
      "name": "Transporte",
      "amount": 2312
    }
  ],
  "ExtraFields": [
    {
      "Id": "853617",
      "PolicyId": "281128",
      "Name": "centro costo",
      "Type": 1,
      "Index": null,
      "Value": "asd",
      "Code": null
    },
    {
      "Id": "853618",
      "PolicyId": "281128",
      "Name": "otro",
      "Type": 2,
      "Index": 1,
      "Value": null,
      "Code": null
    }
  ],
  "PolicyId": "281128",
  "PolicyName": "Política de Gerencia",
  "SentDate": "2025-07-25T17:41:54.201Z",
  "ClosedDate": null,
  "IsIntegration": false,
  "IntegrationCode": null,
  "IntegrationDate": null,
  "CreatedAt": "2025-07-25T17:41:21.549Z",
  "UpdatedAt": "2025-07-25T17:42:50.729Z"
}

 

Método: setFundRequestIntegration

Método para marcar como integrado o no integrado una solicitud de fondo en específico.

Parámetro Descripción      
Method PUT      
URL https://api.rindegastos.com/v2/setFundRequestIntegration      
Parámetros Parámetros que deben ser agregados a la solicitud como Params para marcar una solicitud de fondo como integrado o no integrado.       
  FundRequestId integer Id único de la solicitud de fondo que se desea marcar como integrado o no integrado.      
  IntegrationStatus integer Estado Integrado = 1 o bien No Integrado = 0.      
  IntegrationCode string(255) Permite comunicar un código de comprobante contable para enlazar información de la integración con el fondo en Rindegastos.      
  IntegrationDate date Formato de fecha AAAA-MM-DD      
 
A continuación, se muestra un ejemplo de uso:
curl 'https://api.rindegastos.com/v2/setFundRequestIntegration' -X PUT
-d '{"FundRequestId":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
  "Records": {
    "TotalRecords": 1,
    "FundsRequest": 1,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "FundsRequest": {
    "Id": "6883c1c11fe5097cac85a172",
    "Title": "Sol de Viaje",
    "Description": "asdf",
    "Currency": "CLP",
    "Amount": "2312",
    "IsIntegration": true,
    "IntegrationCode": "4331",
    "IntegrationDate": "2025-01-02 22:13:54"
  }
}


API V2

Fondos

La API permite consultar, crear, actualizar e integrar fondos de tu empresa en Rindegastos, así como cambiar su estado individual o masivamente.

En comparación con la API v1, esta versión incorpora:

  • Estructuras de respuestas más claras y normalizadas por recurso.
  • Nuevo método de integración (setFundIntegration) para vincular fondos con sistemas externos.
  • Cambio de estado masivo de fondos (setFundStatusBulk) para optimizar fondos con alto volumen de datos.  

Métodos disponibles

  • GET getFunds: Lista fondos según filtros. 
  • GET getFund: Devuelve un fondo con toda su información, incluyendo la lista de movimientos.
  • POST createFund: Crea un fondo con su información inicial.
  • PUT setFundIntegration: Marca un fondo como integrado en un sistema externo.
  • PUT updateFund: Actualiza datos del fondo. No permite cambiar: propietario, creador, moneda ni monto disponible.
  • PUT setFundStatus: Cambia el estado de un fondo.
  • PUT setFundStatusBulk: Cambia el estado de múltiples fondos en. una sola operación.

Notas y consideraciones

  • Los cambios masivos (setFundStatusBulk) reducen el número de llamadas necesarias en actualizaciones con grandes volúmenes.

Método: getFunds

Permite obtener una lista de fondos de la empresa según los parámetros definidos. Sin embargo, no incluye la lista de movimientos de cada fondo.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v2/getFunds?<params>
Params Parámetros que pueden ser agregados a la solicitud para discriminar qué informes se desean obtener. Los parámetros posibles son:
  Status integer 1 = Abiertos; 2 = Cerrados; 3 = Bloqueados; en blanco muestra todos los fondos.
  IntegrationStatus integer Buscar fondos por estado. 1 = Integrado, 0= no integrado.
  IntegrationCode string(255) Buscar fondos, filtrando por el código de respuesta asignado posterior al proceso de integración.
  IntegrationDate date Buscar fondos integrados, filtrando por fecha de integración en formato YYYY-MM-DD.
  OrderBy integer Permite indicar bajo cual parámetro vamos a ordenar la lista de informes obtenida, donde: 1 = fecha de creación del fondo, 2 = Título del fondo y por defecto si se envía en blanco fecha de creación del fondo.
  Order integer ASC o DESC (default).
  ResultsPerPage integer Número de Resultados por página.
  Page integer Página de resultados. Por defecto = 1
  From date Filtrar fondos creados desde esta fecha. Formato YYYY-MM-DD.
  To date Filtrar fondos creados hasta esta fecha. Formato YYYY-MM-DD.

A continuación, se muestra un ejemplo usando el método getFunds de la API de Rindegastos, el cual permite consultar los fondos de la empresa.

https://api.rindegastos.com/v2/getFunds?ResultsPerPage=2
METHOD GET
Authorization: Bearer <token>

El ejemplo de resultado para esta llamada se muestra a continuación:

{
  "Records": {
    "TotalRecords": 3,
    "Funds": 3,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "Funds": [
    {
      "Id": 468634,
      "Title": "Fund Executive",
      "Code": null,
      "Currency": "CLP",
      "IdAssignTo": 137891,
      "IdCreator": 137891,
      "Deposits": 100000,
      "Withdrawals": 6750,
      "Balance": 93250,
      "Status": 1,
      "CreatedAt": "2025-04-01 17:09:36",
      "ExpirationDate": null,
      "FlexibleFund": true,
      "ManualDeposit": false,
      "AutomaticBlock": false,
      "Calce": false,
      "FundRequestId": null,
      "FundRequest": null,
      "Description": "Nota del fondo",
      "IsIntegrated": 0,
      "IntegrationInternalCode": null,
      "IntegrationExternalCode": null,
      "IntegrationDate": null,
      "Transactions": [
        {
          "ReportId": null,
          "TransactionType": 1,
          "TransactionTypeName": "Deposit",
          "TransactionAmount": 100000,
          "CurrencyCode": "CLP",
          "TransactionDate": "2025-04-01",
          "CreatedAt": "2025-04-01T17:09:36.000Z"
        },
        {
          "ReportId": "5729",
          "TransactionType": 4,
          "TransactionTypeName": "Withdrawal",
          "TransactionAmount": 6750,
          "CurrencyCode": "CLP",
          "TransactionDate": "2025-07-24",
          "CreatedAt": "2025-07-24T21:37:13.000Z"
        }
      ]
    },
    {
      "Id": 12890,
      "Title": "FONDO DE INVESTIGACION",
      "Code": null,
      "Currency": "CLP",
      "IdAssignTo": 12890,
      "IdCreator": 12890,
      "Deposits": 250000,
      "Withdrawals": 100000,
      "Balance": 150000,
      "Status": 1,
      "CreatedAt": "2025-04-01 14:00:26",
      "ExpirationDate": null,
      "FlexibleFund": false,
      "ManualDeposit": true,
      "AutomaticBlock": false,
      "Calce": false,
      "FundRequestId": null,
      "FundRequest": null,
      "Description": null,
      "IsIntegrated": 0,
      "IntegrationInternalCode": null,
      "IntegrationExternalCode": null,
      "IntegrationDate": null,
      "Transactions": [
        {
          "ReportId": null,
          "TransactionType": 1,
          "TransactionTypeName": "Deposit",
          "TransactionAmount": 150000,
          "CurrencyCode": "CLP",
          "TransactionDate": "2025-04-01",
          "CreatedAt": "2025-04-01T14:00:26.000Z"
        },
        {
          "ReportId": "5678",
          "TransactionType": 4,
          "TransactionTypeName": "Withdrawal",
          "TransactionAmount": 100000,
          "CurrencyCode": "CLP",
          "TransactionDate": "2025-04-01",
          "CreatedAt": "2025-04-01T14:02:13.000Z"
        },
        {
          "ReportId": "5678",
          "TransactionType": 3,
          "TransactionTypeName": "Withdrawal",
          "TransactionAmount": 100000,
          "CurrencyCode": "CLP",
          "TransactionDate": "2025-04-01",
          "CreatedAt": "2025-04-01T14:02:13.000Z"
        }
      ]
    },
    {
      "Id": 378156,
      "Title": "fondo",
      "Code": null,
      "Currency": "CLP",
      "IdAssignTo": 49425,
      "IdCreator": 49425,
      "Deposits": 12000,
      "Withdrawals": 0,
      "Balance": 12000,
      "Status": 1,
      "CreatedAt": "2024-10-01 18:26:37",
      "ExpirationDate": null,
      "FlexibleFund": true,
      "ManualDeposit": false,
      "AutomaticBlock": false,
      "Calce": false,
      "FundRequestId": "66fc3e9bf9c58a02c78436e6",
      "FundRequest": {
        "Id": "66fc3e9bf9c58a02c78436e6",
        "Title": "fondo",
        "Description": "xfgdrgetdr",
        "Currency": "CLP",
        "Amount": 12000,
        "Status": "APPROVED",
        "EmployeeId": 49425,
        "ApproverId": 49425,
        "EmployeeName": null,
        "ApproverName": null,
        "FundId": 378156,
        "ApproverPositionId": null,
        "WorkflowId": "64ff717613585f08ff2d814d",
        "Type": "FUND",
        "Files": [
          {
            "FileName": "Captura de pantalla 2024-09-25 a la(s) 14.02.26.png",
            "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-49425-1-file-10.png",
            "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png",
            "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png",
            "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-49425-1-file-10.png",
            "Extension": "png"
          }
        ],
        "Concepts": [
          {
            "name": "Alimentación",
            "amount": "10000"
          },
          {
            "name": "Alojamiento",
            "amount": "2000"
          }
        ],
        "ExtraFields": [
          {
            "Id": "361860",
            "PolicyId": "217831",
            "Name": "asistentes a reunion",
            "Type": 2,
            "Index": null,
            "Value": null,
            "Code": null
          },
          {
            "Id": "361861",
            "PolicyId": "217831",
            "Name": "Centro de Costo",
            "Type": 2,
            "Index": null,
            "Value": "Centro de costo 1",
            "Code": "1"
          },
          {
            "Id": "361862",
            "PolicyId": "217831",
            "Name": "Tipo de rendición",
            "Type": 2,
            "Index": null,
            "Value": "reembolso",
            "Code": null
          }
        ],
        "PolicyId": "217831",
        "PolicyName": "geri poli",
        "SentDate": "2024-10-01T18:26:22.188Z",
        "ClosedDate": "2024-10-01T18:26:36.710Z",
        "IsIntegration": false,
        "IntegrationCode": null,
        "IntegrationDate": null,
        "CreatedAt": "2024-10-01T18:25:31.366Z",
        "UpdatedAt": "2024-10-01T18:26:36.710Z"
      },
      "Description": "xfgdrgetdr",
      "IsIntegrated": 1,
      "IntegrationInternalCode": null,
      "IntegrationExternalCode": "1111",
      "IntegrationDate": "2024-10-22T18:09:43.000Z",
      "Transactions": [
        {
          "ReportId": null,
          "TransactionType": 1,
          "TransactionTypeName": "Deposit",
          "TransactionAmount": 12000,
          "CurrencyCode": "CLP",
          "TransactionDate": "2024-10-01",
          "CreatedAt": "2024-10-01T18:26:37.000Z"
        }
      ]
    }
  ]
}
 

Método: getFund

Método para obtener un fondo con toda su información. Incluye la lista de movimientos del fondo solicitado.

Parámetro  Descripción  
Método GET  
URL https://api.rindegastos.com/v2/getFund?Id=<id>  
Params Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id del fondo.  
  Id integer Id único del fondo que se desea obtener.  

A continuación, se muestra un ejemplo usando el método getFund de la API de Rindegastos, que permite consultar un fondo específico de la empresa.

https://api.rindegastos.com/v2/getFund?Id=3
METHOD GET
Authorization: Bearer <token>

El resultado ejemplo para esta llamada se muestra a continuación:

{
  "Records": {
    "TotalRecords": 1,
    "Funds": 1,
    "Page": 0,
    "Pages": 0,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "Funds": {
    "Id": 378156,
    "Title": "fondo",
    "Code": null,
    "Currency": "CLP",
    "IdAssignTo": 49425,
    "IdCreator": 49425,
    "Deposits": 12000,
    "Withdrawals": 0,
    "Balance": 12000,
    "Status": 1,
    "CreatedAt": "2024-10-01 18:26:37",
    "ExpirationDate": null,
    "FlexibleFund": true,
    "ManualDeposit": false,
    "AutomaticBlock": false,
    "Calce": false,
    "FundRequestId": "66fc3e9bf9c58a02c78436e6",
    "FundRequest": {
      "Id": "66fc3e9bf9c58a02c78436e6",
      "Title": "fondo",
      "Description": "xfgdrgetdr",
      "Currency": "CLP",
      "Amount": 12000,
      "Status": "APPROVED",
      "EmployeeId": 49425,
      "ApproverId": 49425,
      "EmployeeName": null,
      "ApproverName": null,
      "FundId": 378156,
      "ApproverPositionId": null,
      "WorkflowId": "64ff717613585f08ff2d814d",
      "Type": "FUND",
      "Files": [
        {
          "FileName": "Captura de pantalla 2024-09-25 a la(s) 14.02.26.png",
          "Original": "https://ppstatic.s3.amazonaws.com/expenses/uploads/original/app-49425-1-file-10.png",
          "Large": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png",
          "Medium": "https://ppstatic.s3.amazonaws.com/expenses/uploads/large/app-49425-1-file-10.png",
          "Small": "https://ppstatic.s3.amazonaws.com/expenses/uploads/small/app-49425-1-file-10.png",
          "Extension": "png"
        }
      ],
      "Concepts": [
        {
          "name": "Alimentación",
          "amount": "10000"
        },
        {
          "name": "Alojamiento",
          "amount": "2000"
        }
      ],
      "ExtraFields": [
        {
          "Id": "361860",
          "PolicyId": "217831",
          "Name": "asistentes a reunion",
          "Type": 2,
          "Index": null,
          "Value": null,
          "Code": null
        },
        {
          "Id": "361861",
          "PolicyId": "217831",
          "Name": "Centro de Costo",
          "Type": 2,
          "Index": null,
          "Value": "Centro de costo 1",
          "Code": "1"
        },
        {
          "Id": "361862",
          "PolicyId": "217831",
          "Name": "Tipo de rendición",
          "Type": 2,
          "Index": null,
          "Value": "reembolso",
          "Code": null
        }
      ],
      "PolicyId": "217831",
      "PolicyName": "geri poli",
      "SentDate": "2024-10-01T18:26:22.188Z",
      "ClosedDate": "2024-10-01T18:26:36.710Z",
      "IsIntegration": false,
      "IntegrationCode": null,
      "IntegrationDate": null,
      "CreatedAt": "2024-10-01T18:25:31.366Z",
      "UpdatedAt": "2024-10-01T18:26:36.710Z"
    },
    "Description": "xfgdrgetdr",
    "IsIntegrated": 1,
    "IntegrationInternalCode": null,
    "IntegrationExternalCode": "1111",
    "IntegrationDate": "2024-10-22T18:09:43.000Z",
    "Transactions": [
      {
        "ReportId": null,
        "TransactionType": 1,
        "TransactionTypeName": "Deposit",
        "TransactionAmount": 12000,
        "CurrencyCode": "CLP",
        "TransactionDate": "2024-10-01",
        "CreatedAt": "2024-10-01T18:26:37.000Z"
      }
    ]
  }
}

 

Método: createFund

Método para crear un fondo con toda su información.

Parámetro Descripción
Método POST
URL https://api.rindegastos.com/v2/createFund?<params>
Post Params Parámetros a comunicar para crear un fondo se deben enviar como Parámetros.
  IdEmployee integer Id único del empleado al cual asignaremos el fondo. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual crearemos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio)
  FundName string(200) Nombre del fondo. (Obligatorio)
  FundCurrency string(3) Código estándar (ISO 4217) de la moneda asociada al fondo. (Obligatorio)
  FundCode string(50) Código del fondo.
  FundAmount float Monto del fondo con dos posiciones decimales (separadas con punto). (Obligatorio)
  FundComment string(255) Comentario u observación del fondo.
  FundFlexibility boolean El usuario podrá enviar informes aunque se sobrepase el saldo disponible.
  FundAutoDeposit boolean Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial.
  FundAutoBlock boolean Bloquear este fondo luego de que el rendidor envíe un informe de gastos.
  FundExpiration boolean Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo.
  FundExpirationDate date YYYY-MM-DD Fecha en la que fondo debe ser comprobado (solo si FundExpiration es TRUE)
  FundCalce boolean Indicar si el fondo debe ser rendido en su totalidad o no.
  FundRequestId string Id de la solicitud de fondo que da origen a la creación de este fondo.

A continuación, se muestra un ejemplo usando el método createFund de la API v2 de Rindegastos:

curl 'https://api.rindegastos.com/v2/createFund' -X POST
-d '{"IdEmployee":4,"IdAdmin":5,"FundName":"Fund Executive","FundCurrency":"GBP","FundCode":"852KJ","FundAmount":860.00,"FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01", "FundCalce":true, "FundRequestId": null}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'

El resultado ejemplo para esta llamada se muestra a continuación:

{
  "Id": 550253,
  "Title": "Fondo Test V2",
  "Code": "986",
  "Currency": "CLP",
  "IdAssignTo": 87981,
  "IdCreator": 164384,
  "Deposits": "15000.00",
  "Withdrawals": 0,
  "Balance": 0,
  "Status": 1,
  "CreatedAt": "2025-08-13 17:22:24",
  "ExpirationDate": null,
  "FlexibleFund": true,
  "ManualDeposit": false,
  "AutomaticBlock": false,
  "Calce": false,
  "FundRequestId": null,
  "FundRequest": null,
  "Description": "Fondo en api v2",
  "IsIntegrated": 0,
  "IntegrationInternalCode": null,
  "IntegrationExternalCode": null,
  "Transactions": [
    {
      "TransactionType": 1,
      "TransactionTypeName": "Deposit",
      "TransactionAmount": 15000,
      "TransactionDate": "2025-08-13"
    }
  ]
}
 

Método: updateFund

Permite actualizar un fondo.

⚠️ Importante: No se podrá cambiar el propietario, el creador, la moneda ni el monto disponible del fondo.

Parámetro Descripción
Método PUT
URL https://api.rindegastos.com/v2/updateFund
Post Params Parámetros a comunicar para actualizar un fondo se deben enviar como Body.
  Id integer Id único del fondo que deseamos actualizar. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual actualizaremos el Fondo (debe tener definido permiso para administrar fondos). (Obligatorio)
  FundName string(200) Nombre del fondo. (Obligatorio)
  FundCode string(50) Código del fondo.
  FundComment string(255) Comentario u observación del fondo.
  FundFlexibility boolean El usuario podrá enviar informes aunque se sobrepase el saldo disponible
  FundAutoDeposit boolean Al cerrar un informe de gastos asociado a este fondo abonar automáticamente el monto aprobado para volver al saldo disponible inicial.
  FundAutoBlock boolean Bloquear este fondo luego de que el rendidor envíe un informe de gastos.
  FundExpiration boolean Definir una fecha en la que fondo debe ser comprobado y alertar al rendidor y al creador del fondo.
  FundExpirationDate date YYYY-MM-DD Fecha en la que fondo debe ser rendido (solo si FundExpiration es TRUE)
  FundCalce boolean Indicar si el fondo debe ser rendido en su totalidad o no.

A continuación, se muestra un ejemplo usando el método updateFund de la API de Rindegastos, el cual permite actualizar un fondo específico de la empresa.

curl 'https://api.rindegastos.com/v2/updateFund' -X PUT
-d '{"Id":3,"IdAdmin":5,"FundName":"Fund Executive Update","FundCode":"852KJ","FundComment":"Comment...","FundFlexibility":true,"FundAutoDeposit":true,"FundAutoBlock":true,"FundExpiration":true,"FundExpirationDate":"2017-01-01", "FundCalce": true}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'

El resultado ejemplo para esta llamada se muestra a continuación:

{
  "Id": 3,
  "Title": "Fund Executive Update",
  "Code": "852KJ",
  "Currency": "CLP",
  "IdAssignTo": 136955,
  "IdCreator": 164384,
  "Deposits": 15,
  "Withdrawals": 0,
  "Balance": 15,
  "Status": 1,
  "CreatedAt": "2025-07-29 19:47:25",
  "ExpirationDate": "2025-11-05",
  "FlexibleFund": false,
  "ManualDeposit": false,
  "AutomaticBlock": false,
  "Calce": true,
  "FundRequestId": null,
  "FundRequest": null,
  "Description": "actualización de fondo",
  "IsIntegrated": 0,
  "IntegrationInternalCode": null,
  "IntegrationExternalCode": null,
  "IntegrationDate": null,
  "Transactions": []
}
 

Método: setFundStatus

Método para cambiar el estado a un fondo.

Parámetro Descripción
Método PUT
URL https://api.rindegastos.com/v2/setFundStatus
Post Params Parámetros a comunicar para actualizar un fondo se deben enviar como parámetros.
  Id integer Id único del fondo al cual deseamos realizar un cargo. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio)
  FundStatus integer Estado bajo el cual queremos dejar el fondo. Los valores para los estados disponibles son:

1 (Abierto): Al estar el fondo en estado, permite al rendidor enviar informes de gastos asociados al fondo especificado.
2 (Cerrado):Cerrar y dar por terminado el ciclo de vida del fondo especificado.
3 (Bloqueado):Al estar el fondo en estado, No permite al rendidor enviar informes de gastos asociados al fondo especificado.

A continuación, se muestra un ejemplo usando el método setFundStatus de la API de Rindegastos.

curl 'https://api.rindegastos.com/v2/setFundStatus' -X PUT
-d '{"Id":3,"IdAdmin":6,"FundStatus":2}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El ejemplo del resultado para esta llamada se muestra a continuación:
{
  "Id": 549807,
  "Title": "Fondo Test",
  "Code": "fgsdf",
  "Currency": "CLP",
  "IdAssignTo": 87981,
  "IdCreator": 164384,
  "Deposits": 15000,
  "Withdrawals": 0,
  "Balance": 15000,
  "Status": 2,
  "CreatedAt": "2025-08-13 16:22:22",
  "ExpirationDate": "2025-11-05",
  "FlexibleFund": false,
  "ManualDeposit": true,
  "AutomaticBlock": false,
  "Calce": true,
  "FundRequestId": null,
  "FundRequest": null,
  "Description": "actualización de ...",
  "IsIntegrated": 0,
  "IntegrationInternalCode": null,
  "IntegrationExternalCode": null,
  "IntegrationDate": null,
  "Transactions": []
}
 

 

Método: setFundStatusBulk

Método para cambiar el estado a un fondo.

Parámetro Descripción
Método PUT
URL https://api.rindegastos.com/v2/setFundStatusBulk
Post Params Parámetros a comunicar para actualizar una lista de fondos que se deben enviar como Body.
  Id integer Id único del fondo al cual deseamos realizar un cargo. (Obligatorio)
  IdAdmin integer Id único del usuario con rol administrador bajo el cual realizaremos el cargo (debe tener definido permiso para administrar fondos). (Obligatorio)
  FundStatus integer Estado bajo el cual queremos dejar el fondo. Los valores para los estados disponibles son:

1 (Abierto): Al estar el fondo en estado, permite al rendidor enviar informes de gastos asociados al fondo especificado.
2 (Cerrado):Cerrar y dar por terminado el ciclo de vida del fondo especificado.
3 (Bloqueado):Al estar el fondo en estado, No permite al rendidor enviar informes de gastos asociados al fondo especificado.

A continuación, se muestra un ejemplo usando el método setFundStatusBulk de la API de Rindegastos.

curl 'https://api.rindegastos.com/v2/setFundStatusBulk' -X PUT \
-d '{
"Funds": [
{
"Id": "3260",
"IdAdmin": "2973",
"FundStatus": "2"
},
{
"Id": "2264",
"IdAdmin": "9973",
"FundStatus": "2"
}
]
}' \
-H 'authorization: Bearer <token>' -H 'Content-Type: application/json'
El ejemplo del resultado para esta llamada se muestra a continuación:
[
    {
        "Id": 5390,
        "Title": "Fondo apiv2 Calce nada",
        "Code": "1111",
        "Currency": "CLP",
        "IdAssignTo": 13695,
        "IdCreator": 1955,
        "Deposits": 10,
        "Withdrawals": 0,
        "Balance": 10,
        "Status": 2,
        "CreatedAt": "2025-07-29 19:46:49",
        "ExpirationDate": null,
        "FlexibleFund": false,
        "ManualDeposit": false,
        "AutomaticBlock": false,
        "Calce": false,
        "FundRequestId": null,
        "FundRequest": null,
        "Description": "Este es un fondo de prueba apiv2 Calce",
        "IsIntegrated": 0,
        "IntegrationInternalCode": null,
        "IntegrationExternalCode": null,
        "IntegrationDate": null,
        "Transactions": []
    },
    {
        "Id": 39776,
        "Title": "Fondo apiv2 Calce 1 true",
        "Code": "1111",
        "Currency": "CLP",
        "IdAssignTo": 136955,
        "IdCreator": 136955,
        "Deposits": 10,
        "Withdrawals": 0,
        "Balance": 10,
        "Status": 2,
        "CreatedAt": "2025-07-29 19:45:18",
        "ExpirationDate": null,
        "FlexibleFund": false,
        "ManualDeposit": false,
        "AutomaticBlock": false,
        "Calce": true,
        "FundRequestId": null,
        "FundRequest": null,
        "Description": "Este es un fondo de prueba apiv2 Calce",
        "IsIntegrated": 0,
        "IntegrationInternalCode": null,
        "IntegrationExternalCode": null,
        "IntegrationDate": null,
        "Transactions": []
    }
]
 

 

Método: setFundIntegration

Método para marcar como integrado o no integrado un fondo en específico.

Parámetro Descripción      
Method PUT      
URL https://api.rindegastos.com/v2/setFundIntegration      
Parámetros Parámetros que deben ser agregados a la solicitud como Params para marcar un Fondo como integrado o no integrado.       
  Id integer Id único del fondo que se desea marcar como integrado o no integrado.      
  IntegrationStatus integer Estado Integrado = 1 o bien No Integrado = 0.      
  IntegrationCode string(255) Permite comunicar un código de comprobante contable para enlazar información de la integración con el fondo en Rindegastos.      
  IntegrationDate date Formato de fecha AAAA-MM-DD      
 
A continuación se muestra un ejemplo de uso:
curl 'https://api.rindegastos.com/v2/setFundIntegration' -X PUT
-d '{"Id":1,"IntegrationStatus":1,"IntegrationCode":"0303456","IntegrationDate":"2017-08-01 12:00:00"}'
-H 'authorization: Bearer <token> ' -H 'Content-Type: application/json'
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
  "Records": {
    "TotalRecords": 1,
    "Funds": 1,
    "Page": 1,
    "Pages": 1,
    "ResponseMessage": "La solicitud tuvo éxito."
  },
  "Funds": {
    "Id": "808",
    "Code": "986",
    "IsIntegrated": true,
    "IntegrationExternalCode": "4331",
    "IntegrationDate": "2025-01-02 19:30:01"
  }
}


API V2

Política de Gastos

Actualmente, el único método disponible en la versión 2 es el getExpensePolicyWorkflow, el cual ha sido actualizado para recuperar información tanto de los flujos de aprobación configurados en la antigua webApp como en la nueva versión de Rindegastos.

Métodos disponibles

  • GET getExpensePolicyWorkflow: Muestra la configuración del flujo de aprobación de la política en la antigua y nueva versión de Rindegastos.

 

Método: getExpensePolicyWorkflow

Método para obtener una lista con todos los aprobadores del flujo de aprobación para una política específica.

Parámetro Descripción
Método GET
URL https://api.rindegastos.com/v2/getExpensePolicyWorkflow?IdPolicy=<id>
Params Para usar este servicio solo podemos comunicar un parámetro el cual corresponde al Id de la política.
  IdPolicy integer Id único de la política que desea consultar.

A continuación se muestra un ejemplo usando el método getExpensePolicyWorkflow:

https://api.rindegastos.com/v2/getExpensePolicyWorkflow?IdPolicy=2
METHOD GET
Authorization: Bearer <token>
 
El resultado ejemplo para esta llamada se muestra a continuación:
 
{
  "Ok": true,
  "Message": "La solicitud tuvo éxito.",
  "ExpensePolicyWorkflow": {
    "IdPolicy": 109888,
    "PolicyName": "CLP/Rendición - CARGA",
    "RevisionLevels": 4,
    "Approvers": [
      {
        "Level": 1,
        "ApproverId": "69128",
        "ApproverName": ,
        "ApproverEmail": ,
        "CanApproveExpenses": true,
        "CanEditExpenses": true,
        "CanEditReports": true,
        "ReviewConditions": [],
        "FundRequestConditions": []
      },
      {
        "Level": 4,
        "ApproverId": "152494",
        "ApproverName": ,
        "ApproverEmail": ,
        "CanApproveExpenses": true,
        "CanEditExpenses": true,
        "CanEditReports": true,
        "ReviewConditions": [
          {
            "type": "ExpenseReportAmountLimit",
            "value": "500000.00",
            "currency": "CLP"
          }
        ],
        "FundRequestConditions": []
      },
      {
        "Level": 3,
        "ApproverId": "69139",
        "ApproverName": ,
        "ApproverEmail": ,
        "CanApproveExpenses": true,
        "CanEditExpenses": true,
        "CanEditReports": true,
        "ReviewConditions": [
          {
            "type": "ExpenseReportAmountLimit",
            "value": "500000.00",
            "currency": "CLP"
          }
        ],
        "FundRequestConditions": []
      },
      {
        "Level": 2,
        "ApproverId": "68430",
        "ApproverName": ,
        "ApproverEmail": ,
        "CanApproveExpenses": true,
        "CanEditExpenses": true,
        "CanEditReports": true,
        "ReviewConditions": [],
        "FundRequestConditions": []
      }
    ]
  }
}
 

 



Casos de Uso

Introducción

Este documento guía a desarrolladores que necesitan consumir la API de Rindegastos para obtener informes de gastos y llevarlos a un sistema contable, así mismo también las solicitudes de fondos. Es un flujo estándar que puedes ajustar a las necesidades de tu empresa.

Requisitos recomendados

  • Conocimiento de algún lenguaje de programación.
  • Experiencia consumiendo APIs REST.
  • Manejos de estructuras JSON.

Conceptos básicos

  • Autenticación: Necesitas un token de acceso emitido por Rindegastos. Sin él, no podrás usar la API. Puedes generarlo en Administración->Integración en tu cuenta.
  • Solicitudes: Con el token, ya puedes probar los endpoints con herramientas como Postman, Insomnia o Curl, para familiarizarte con la estructura de datos.
  • Objetos principales: La API expone, entre otros: Informes de gastos, Gasto, Solicitudes de fondo, Fondos, Usuario y Política de gastos.

ℹ️ Notas de versiones

  • API v1 (Legacy): estable, sin nuevas funcionalidades. Se mantiene para integraciones existentes.
  • API v2 (Actual): incorpora mejoras, nuevos campos y filtros. Recomendado para nuevas integraciones.


Casos de Uso

Integración estándar

El objetivo de este documento es guiar a los desarrolladores en la integración de Rindegastos con sistemas contables u otros sistemas internos de las empresas.
Independiente de la versión de la API (v1 0 v2), la lógica de integración siguen una misma estructura, que se resumen en 3 pasos fundamentales:

🔑 1. Obtención de informes de gastos cerrados y no integrados

El primer paso es recuperar los informes de gastos cerrados y no integrados desde Rindegastos.

  • Se recomienda filtrar por estado cerrado y estado de no integrado.
  • Esto permite obtener únicamente aquellos informes que completaron el flujo de aprobación y aún no han sido traspasados al sistema contable.

Ejemplo de parámetros comunes:

  • Status = 1 -> Informes cerrados
  • IntegrationStatus = 0-> Informes no integrados

El método a utilizar dependerá de la versión de la API:

  • En v1: getExpenseReports
  • En v2: getExpenseReports (con filtros mejoradas y respuesta más completa)

📑 2. Obtención de los gastos aprobados dentro de cada informe

Una vez identificado los informes pendientes, el siguiente paso es obtener los gastos asociados a cada informe.

  • Se debe recorrer cada informe obtenido en el paso anterior y llamar al método correspondiente para listar sus gastos.
  • El parámetro principal de búsqueda será el Id del informe.
  • Los gastos suelen filtrarse por estado (ejemplo: Status = 1 para aprobados).

El método a utilizar dependerá de la versión de la API:

  • En v1: getExpenses
  • En v2: getExpenses (con campos adicionales como impuestos múltiples, información SAT, SUNAT, SRI, DIAN, etc. 

3. Finalizar la tarea de comunicación de rendiciones.

Luego de que los informes y gastos han sido procesados e insertados en el sistema contable, se recomienda marcarlos como integrados en Rindegastos.

Esto asegura que no aparezcan nuevamente en futuras consultas de informes pendientes.

Los métodos disponibles para confirmar integración son:

  • A nivel de gastos:
    • En v1setExpenseIntegration
  • A nivel de informe:
    • En v1setExpenseReportIntegration

Nota: al consultar por informes cerrados y no integrados, necesariamente deber utilizar el setExpenseReportIntegration independiente si integras cada gasto.

📌 Resumen Visual

  1. Obtener informes cerrados y no integrados -> getExpenseReports
  2. Obtener gastos de cada informe -> getExpenses
  3. Marcar gastos e informes como integrados -> setExpenseIntegration(opcional) y setExpenseReportIntegration

De esta forma, la metodología de integración es siempre la misma, independiente de si utilizas API v1 API v2.

Las diferencias estarán en los campos disponibles en las respuestas y en los filtros adicionales que puede ofrecer la v2.

 

 



Casos de Uso

Integración solicitudes de fondo

Contexto

Una vez implementada la cuenta y habilitada la herramienta de solicitudes de fondos, cada usuario de la cuenta podrá utilizar esta funcionalidad. A lo largo del tiempo, se generará una cantidad de solicitudes de fondo que serán aprobadas.

Actualmente, el proceso de solicitud de fondos, tras pasar por su flujo completo de aprobación, finaliza de manera automática con la creación de un fondo para el usuario solicitante.

Al integrar este proceso con el sistema de su empresa, es necesario notificar al encargado de la cuenta o al equipo de soporte para desactivar la creación automática de fondos mediante solicitudes, permitiendo que la integración maneje este paso de forma personalizada.

🔑 Parte 1: Obtención de solicitudes de fondo aprobadas

Las solicitudes de fondo que se encuentren aprobadas y no integradas deben ser consultadas bajo los siguientes filtros básicos:

  • Status = 1 (Aprobadas)
  • IntegrationStatus = 0 (No integrados)

Para obtener estos datos, utiliza el método GET en la siguiente URL: 

https://api.rindegastos.com/v2/getFundsRequest?Status=1&IntegrationStatus=0
METHOD GET
Authorization: Bearer <token>

🔑 Parte 2: Marcar la solicitud como Integrada en Rindegastos.

En esta sección, el desarrollador procesa la información obtenida y realiza la integración en el ERP según los requisitos específicos. A continuación, se presentan los pasos y parámetros necesarios para dos variantes de integración.

Variante 1: Proceso con validación previa en el ERP

Si el sistema de la empresa requiere un tiempo de validación o aprobación de las solicitudes antes de crear el fondo en el ERP, el flujo de integración es el siguiente:

Paso 1: Mapear e ingresar la solicitud en el ERP.
  1. Mapear la información obtenida de Rindegastos.
  2. Ingresar las solicitudes de fondo al ERP, generando un número de comprobante para cada solicitud.
Paso 2: Marcar la solicitud como integrada en Rindegastos.

Para marcar la solicitud como integrada, utiliza el método PUT de la API de Rindegastos. Los parámetro requeridos son:

  • FundRequestId: Id único de la solicitud en Rindegastos.
  • IntegrationStatus: Estado de integración (para integrado; 0 para no integrado).
  • IntegrationCode: Número de comprobante del ERP asociado a la solicitud.
  • IntegrationDate: Fecha de ingreso en el ERP, en formato YYYY-MM-DD.  

Para realizar esta acción se utiliza el método PUT en la siguiente URL:

https://api.rindegastos.com/v2/setFundRequestIntegration?FundRequestId=XXXX&Integra
tionStatus=1&IntegrationCode=XXXXX&IntegrationDate=YYYY-MM-DD
METHOD GET
Authorization: Bearer <token>
 
Una vez que la solicitud ha pasado el periodo de revisión en el ERP del cliente, el proceso de integración sigue el paso 3.
 
Paso 3: Creación del Fondo en el ERP y en Rindegastos.
  1. El cliente debe crear el fondo en su sistema ERP utilizando la información de la solicitud.
  2. Crear el fondo en Rindegastos

Con el fondo creado en el ERP, crea el fondo en Rindegastos usando el método POST.

A continuación se describen los parámetros necesarios.

  • IdEmployee: Id del usuario para quienes crea el fondo (obligatorio).
  • IdAdmin: Id de un administrador responsable del fondo (obligatorio).
  • FundName:  Nombre del fondo, máximo 255 caracteres (obligatorio).
  • FundCurrency: Código de moneda en formato ISO 4217 (ejemplo: USD para dólar, obligatorio).
  • FundCode: Código único del fondo en el ERP (Obligatorio),
  • FundAmount: Monto del fondo, con dos decimales (Ejemplo: 250.45, obligatorio).
  • FundComment: Comentario del fondo, hasta 255 caracteres.
  • FundFlexibilitytrue o false para permitir gastos superiores al saldo.
  • FundAutoBlock: true o false para bloquear el fondo después de un informe de gastos.
  • FundAutoDeposit: true o false para abonar automáticamente al saldo al cerrar un informe. 
  • FundExpiration: true o false para definir si el fondo tiene una fecha de vencimiento.
  • FundExpirationDate: Fecha de vencimiento en formato YYYY-MM-DD (si FundExpiration es true).
  • FundCalce: true o false para habilitar Calce, que implica el uso de la totalidad del fondo. Es un campo opcional.
  • FundRequestId: Id de la solicitud asociada que genera este fondo.
https://api.rindegastos.com/v2/createFund
METHOD GET
Authorization: Bearer <token>
 
Variante 2: Proceso sin validación previa en el ERP

En este flujo, la integración de la solicitud de fondo en el ERP y en Rindegastos se realiza en un solo proceso de ejecución, sin un periodo de espera o validación adicional por parte del cliente. Esto permite una integración rápida y optimizada, ya que la solicitud se marca como integrada en Rindegastos inmediatamente después de que se ha creado el fondo en el ERP.

Paso 1: Mapear e ingresar la solicitud en el ERP
  1. Mapear los datos obtenidos de Rindegastos: Los campos y parámetros necesarios se extraen directamente de la respuesta obtenida en la Parte 1.

  2. Crear el fondo en el ERP: Utiliza los datos de la solicitud para generar el fondo en el ERP y asigna un número de comprobante al fondo creado.

Paso 2: Marcar la solicitud como integrada en Rindegastos

Para marcar la solicitud como integrada en Rindegastos inmediatamente después de crear el fondo en el ERP, realizar una solicitud PUT a la API de Rindegastos con los siguientes parámetros:

  • FundRequestId: Id único de la solicitud en Rindegastos.
  • IntegrationStatus: Estado de Integración (1 para integrada).
  • IntegrationCode:Número de comprobante del ERP asociado a la solicitud, si este proceso en el ERP del cliente no genera un número de comprobante, ingresar el código arrojado en la creación del fondo en el ERP.
  • IntegrationDate: Fecha de ingreso en el ERP, en formato YYYY-MM-DD.
https://api.rindegastos.com/v2/setFundRequestIntegration?FundRequestId=XXXX&Integra
tionStatus=1&IntegrationCode=XXXXX&IntegrationDate=YYYY-MM-DD

METHOD GET
Authorization: Bearer <token>

Paso 3: Crear el fondo en Rindegastos

Con el fondo ya creado en el ERP y la solicitud marcada como integrada, procede a crear el fondo correspondiente en Rindegastos. 

A continuación se describen los parámetros necesarios.

  • IdEmployee: Id del usuario para quienes crea el fondo (obligatorio).
  • IdAdmin: Id de un administrador responsable del fondo (obligatorio).
  • FundName:  Nombre del fondo, máximo 255 caracteres (obligatorio).
  • FundCurrency: Código de moneda en formato ISO 4217 (ejemplo: USD para dólar, obligatorio).
  • FundCode: Código único del fondo en el ERP (Obligatorio),
  • FundAmount: Monto del fondo, con dos decimales (Ejemplo: 250.45, obligatorio).
  • FundComment: Comentario del fondo, hasta 255 caracteres.
  • FundFlexibilitytrue o false para permitir gastos superiores al saldo.
  • FundAutoBlock: true o false para bloquear el fondo después de un informe de gastos.
  • FundAutoDeposit: true o false para abonar automáticamente al saldo al cerrar un informe. 
  • FundExpiration: true o false para definir si el fondo tiene una fecha de vencimiento.
  • FundExpirationDate: Fecha de vencimiento en formato YYYY-MM-DD (si FundExpiration es true).
  • FundCalce: true o false para habilitar Calce, que implica el uso de la totalidad del fondo. Es un campo opcional.
  • FundRequestId: Id de la solicitud asociada que genera este fondo.
https://api.rindegastos.com/v2/createFund
METHOD GET
Authorization: Bearer <token>
 
Nota adicional
 
Dado que en esta variante el fondo se integra y crea en un solo flujo, asegúrate de que todos los datos necesarios estén completos y sean precisos antes de comenzar el proceso, ya que no habrá una revisión intermedia.
 
Este flujo agiliza el proceso de integración, evitando tiempos de espera adicionales y garantizando que la solicitud y el fondo este alineados en el ERP y en Rindegastos desde el inicio.
 


Ayuda

Contacto

Esperamos que este breve tutorial te ayude a comenzar una integración de Rindegastos con tu sistema. Sabemos que dudas siempre habrá y por ello estamos aquí para ayudarte. Tan solo contáctate con nosotros aquí  y te podremos ayudar.