Listar Facturas
Permite obtener una lista de elementos, donde cada elemento contiene la información de cada una de las facturas registradas en la inmobiliaria.
Endpoint: https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list
{{instancia}}: Hace referencia a la instancia de cada inmobiliaria.
Petición
| Método | GET |
| Content-Type | application/json |
| Authorization | Bearer token, Token obtenido al consumir el servicio Login |
| Parámetros | ||||
| Parámetro | Tipo | Obligatorio |
Valor por defecto |
Descripción |
| page | integer | No | 1 | Especifica la página de resultados que se desea recuperar al realizar la solicitud. |
| page_size | integer | No | 10 | Especifica el número máximo de elementos que se deben devolver en la solicitud, el límite máximo es de 1000. |
| estado | integer | No | - | Filtra facturas por estado. Valores válidos: 1 (Facturada), 2 (Anulada), 3 (Pagada), 5 (Borrador), 6 (Anulada por NC). |
| documento | string | No | - | Filtra facturas por el número de documento del tercero/cliente. |
| pendientes | boolean | No | false | Si es true, filtra solo facturas pendientes de pago (estado Facturada y saldo mayor a cero). |
Ejemplos de peticiones
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page=1
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page_size=100
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page=1&page_size=100
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?estado=1
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?documento=1234567890
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?pendientes=true
https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?documento=1234567890&pendientes=true&page_size=50
Respuesta
Lista de elementos, donde cada elemento contiene la información de los datos obtenidos, estado, mensaje, listado de las facturas, paginación y filtros aplicados.
{
"status": 200,
"message": null,
"body": [
{
"factura_id": 366,
"factura_numero": 324,
"resolucion": "0 - 120000042273",
"fecha_factura": "2014-08-01",
"fecha_vencimiento": "2014-08-06",
"valor_total": "94992.00",
"saldo": "94992.00",
"tercero_id": 15,
"documento_tercero": "1111111",
"nombre_tercero": "TERCERO FACTURADO",
"estado_id": 1,
"estado": "Facturada",
"estado_dian": null,
"estado_cliente_dian": null,
"observaciones": "CONTRATO 5 - TERCERO FACTURADO Propietario: C.C. 9999999 JUAN PEREZ",
"notas": 0,
"creado_por": "Administrador",
"fecha_envio_dian": null,
"fecha_creacion": "2014-08-08 10:50:52",
"pdf_link": "https://instancia.arrendasoft.co/fpdf/contabilidad_documento.php?hash=abc123def456...",
"detalles": [
{
"detalle_id": 1,
"producto": "Canon De Arrendamiento",
"descripcion": "Canon De Arrendamiento De 01-Ago-2014 a 31-Ago-2014",
"contrato_id": 5,
"contrato_numero": 5,
"cantidad": 1,
"valor_unitario": 80000,
"iva": 0,
"por_iva": 0,
"retencion": 0,
"por_retencion": 0,
"reteiva": 0,
"por_reteiva": 0,
"reteica": 0,
"por_reteica": 0,
"descuento": 0,
"por_descuento": 0
},
{
"detalle_id": 2,
"producto": "Administración",
"descripcion": "Administración De 01-Ago-2014 a 31-Ago-2014",
"contrato_id": 5,
"contrato_numero": 5,
"cantidad": 1,
"valor_unitario": 14992,
"iva": 0,
"por_iva": 0,
"retencion": 0,
"por_retencion": 0,
"reteiva": 0,
"por_reteiva": 0,
"reteica": 0,
"por_reteica": 0,
"descuento": 0,
"por_descuento": 0
}
]
},
{
"factura_id": 8,
"factura_numero": 7,
"resolucion": "0 - 120000042273",
"fecha_factura": "2014-01-01",
"fecha_vencimiento": "2014-01-06",
"valor_total": "1666850.00",
"saldo": "0.00",
"tercero_id": 22,
"documento_tercero": "22222222",
"nombre_tercero": "COOPERATIVA MULTIACTIVA",
"estado_id": 3,
"estado": "Pagada",
"estado_dian": null,
"estado_cliente_dian": null,
"observaciones": null,
"notas": 0,
"creado_por": "Contador",
"fecha_envio_dian": null,
"fecha_creacion": "2014-05-07 11:14:46",
"pdf_link": "https://instancia.arrendasoft.co/public/pdf?hash=xyz789ghi012...",
"detalles": [
{
"detalle_id": 10,
"producto": "Canon De Arrendamiento",
"descripcion": "Canon De Arrendamiento De 01-Ene-2014 a 31-Ene-2014",
"contrato_id": 3,
"contrato_numero": 3,
"cantidad": 1,
"valor_unitario": 1666850,
"iva": 0,
"por_iva": 0,
"retencion": 0,
"por_retencion": 0,
"reteiva": 0,
"por_reteiva": 0,
"reteica": 0,
"por_reteica": 0,
"descuento": 0,
"por_descuento": 0
}
]
}
],
"pagination": {
"total_records": 41326,
"total_pages": 83,
"current_page": 83,
"page_size": 500,
"current_page_records": 326,
"has_next_page": false,
"has_previous_page": true
},
"filters_applied": {
"documento": "1111111",
"pendientes": true
}
}
Claves y Descripciones del JSON de Facturación
Esta tabla enumera las claves presentes en el JSON principal de la respuesta y proporciona una breve descripción de cada una, explicando su propósito y el tipo de información que contienen.
| Clave | Tipo | Descripción |
|---|---|---|
status |
Entero | Código del estado de la respuesta, 200 para exitoso, 400 para errores de validación, 500 para error |
message |
Texto | Cuando la respuesta es exitosa, es nulo o vacío, y cuando hay error, este contiene el mensaje que describe el error presentado. |
body |
Objeto | Contiene el listado de facturas retornadas por la API. |
pagination |
Objeto | Contiene toda la información de paginación y respuesta. |
filters_applied |
Objeto | Contiene los filtros que fueron aplicados en la consulta. Es nulo si no se aplicaron filtros. |
Cuerpo
Cada elemento dentro de la lista body, tiene las siguientes claves:
| Clave | Tipo | Descripción |
|---|---|---|
factura_id |
Entero | Identificador único de la factura |
factura_numero |
Entero | Número de la factura |
resolucion |
Texto | Prefijo y número de la resolución |
fecha_factura |
Texto | Fecha de la factura |
fecha_vencimiento |
Texto | Fecha de vencimiento de la factura |
valor_total |
Numérico | Valor de la factura |
saldo |
Numérico | Saldo pendiente de la factura |
tercero_id |
Entero | Identificador único del tercero/cliente asociado a la factura |
documento_tercero |
Texto | Número de documento del cliente |
nombre_tercero |
Texto | Nombre completo del cliente |
estado_id |
Entero | Identificador numérico del estado de la factura (1=Facturada, 2=Anulada, 3=Pagada, 5=Borrador, 6=Anulada por NC) |
estado |
Texto | Estado de la factura |
estado_dian |
Texto | Estado de la factura en la DIAN cuando es una factura electrónica |
estado_cliente_dian |
Texto | Estado de la factura respecto al cliente en la DIAN cuando es una factura electrónica |
observaciones |
Texto | Observaciones o notas registradas en la factura |
notas |
Numérico | Cantidad de notas débito o crédito que tiene la factura |
creado_por |
Texto | Usuario que creó la factura en el sistema |
fecha_envio_dian |
Texto | Fecha de envío de la factura a la DIAN cuando es factura electrónica |
fecha_creacion |
Texto | Fecha de creación de la factura |
pdf_link |
Texto | URL con hash de seguridad para visualizar o descargar el PDF de la factura. El enlace tiene una vigencia de 30 días desde la fecha de consulta |
detalles |
Array | Lista de los productos o conceptos detallados de la factura. Cada elemento contiene la información del detalle (ver sección Detalles de la factura) |
Detalles de la factura
Funcionalidad en pruebas
Esta funcionalidad forma parte de un proceso de pruebas internas y no se encuentra disponible para usuarios del sistema.
Cada elemento dentro de la lista detalles de una factura, tiene las siguientes claves:
| Clave | Tipo | Descripción |
|---|---|---|
detalle_id |
Entero | Identificador único del detalle de la factura |
producto |
Texto | Nombre del producto o concepto facturado |
descripcion |
Texto | Descripción detallada del concepto facturado |
contrato_id |
Entero | Identificador del contrato asociado al detalle. Puede ser nulo si no está vinculado a un contrato |
contrato_numero |
Entero | Número consecutivo del contrato asociado. Puede ser nulo si no está vinculado a un contrato |
cantidad |
Entero | Cantidad facturada del producto o concepto |
valor_unitario |
Numérico | Valor unitario del producto o concepto |
iva |
Numérico | Valor del IVA aplicado al detalle |
por_iva |
Numérico | Porcentaje de IVA aplicado |
retencion |
Numérico | Valor de la retención en la fuente aplicada |
por_retencion |
Numérico | Porcentaje de retención en la fuente aplicado |
reteiva |
Numérico | Valor de la retención de IVA aplicada |
por_reteiva |
Numérico | Porcentaje de retención de IVA aplicado |
reteica |
Numérico | Valor de la retención de ICA aplicada |
por_reteica |
Numérico | Porcentaje de retención de ICA aplicado |
descuento |
Numérico | Valor del descuento aplicado al detalle |
por_descuento |
Numérico | Porcentaje de descuento aplicado |
Paginación
Cada elemento dentro de la lista pagination tiene las siguientes claves:
| Clave | Tipo | Descripción |
|---|---|---|
total_records |
Numérico | Total de facturas del sistema |
total_pages |
Numérico | Cantidad de páginas, este corresponde al total de registros dividido por el tamaño de la página |
current_page |
Numérico | Página actual |
page_size |
Numérico | Tamaño de la página, es decir, cantidad de registros por consulta |
current_page_records |
Numérico | Cantidad de registros de la página actual |
has_next_page |
Booleano | Verdadero si hay siguientes páginas que se pueden consultar, falso en otro caso |
has_previous_page |
Booleano | Verdadero si existen páginas previas que se pueden consultar, falto en otro caso |
Filtros Aplicados
Funcionalidad en pruebas
Esta funcionalidad forma parte de un proceso de pruebas internas y no se encuentra disponible para usuarios del sistema.
El objeto filters_applied contiene los filtros que fueron utilizados en la consulta. Solo se incluye en la respuesta cuando se aplican filtros. Las posibles claves son:
| Clave | Tipo | Descripción |
|---|---|---|
estado |
Numérico | Estado de factura filtrado (1=Facturada, 2=Anulada, 3=Pagada, 5=Borrador, 6=Anulada por NC) |
documento |
Texto | Número de documento del tercero/cliente utilizado como filtro |
pendientes |
Booleano | Verdadero si se filtró solo por facturas pendientes de pago |
Ejemplos
Curl
curl -X GET "https://{{instancia}}.arrendasoft.co/service/v2/public/invoices/list?page_size=100&page=3" -H "Content-Type: application/json" -H "Authorization: Bearer YOUR_AUTHENTICATION_TOKEN"
PHP Curl
<?php
$instance = 'your_instance'; // Reemplace con su instancia actual
$token = 'YOUR_AUTHENTICATION_TOKEN'; // Reemplace con el token obtenido desde el servicio de login
// Parámetros de ejemplo para listar facturas
$page = 1;
$page_size = 50;
$url = "https://{$instance}.arrendasoft.co/service/v2/public/invoices/list?";
$queryParams = [
'page' => $page,
'page_size' => $page_size
];
$url .= http_build_query($queryParams);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
echo "HTTP Status Code: " . $http_code . "\n";
echo "Response: " . $response . "\n";
// Procesar la respuesta
$info = json_decode($response, true);
$body = $info['body'] ?? [];
if ($http_code == 200 && !empty($body)) {
echo "Se consultaron " . count($body) . " facturas.\n";
// Ejemplo: Imprimir los números de las facturas
foreach($body as $invoice) {
echo "Factura número: " . $invoice['factura_numero'] . "\n";
}
} else {
echo "{$info['message']}.\n";
}
}
curl_close($ch);
?>