Otros comprobantes · Ecuador
Liquidaciones de compra
POST /api/v1/purchase-settlements/issue · scope documents:write
La liquidación de compra la emite el comprador cuando quien vende no puede emitir comprobantes: una persona natural sin RUC, un extranjero no residente, un trabajador ocasional. Se parece a una factura al revés: tú eres el emisor y el proveedor va donde iría el comprador.
{ "proveedor": { "identificacion": "0912345678", "razon_social": "JUAN PÉREZ", "direccion": "Cdla. Alborada, Guayaquil" }, "items": [ { "descripcion": "Servicio de jardinería", "cantidad": 1, "precio_unitario": 80.00, "impuestos": [{ "codigo": "2", "codigo_porcentaje": "0" }] } ]}Campos de primer nivel
Sección titulada «Campos de primer nivel»| Campo | Obligatorio | Por defecto | Notas |
|---|---|---|---|
proveedor | ✅ | — | Identificado, con dirección: el SRI la exige |
items | ✅ | — | Lo que se compra, con su IVA |
referencia_externa | — | — | Envíala siempre. Única por negocio entre liquidaciones |
fecha_emision | — | Hoy en Ecuador | No puede ser futura |
establecimiento | — | El de la clave o el del negocio | { "codigo", "punto_emision" } |
secuencial | — | El siguiente de la serie de liquidaciones | Solo si controlas la numeración |
totales | — | — | Si lo envías, se comprueba |
proveedor
Sección titulada «proveedor»{ "tipo_identificacion": "05", "identificacion": "0912345678", "razon_social": "JUAN PÉREZ", "direccion": "Cdla. Alborada, Guayaquil"}| Campo | Obligatorio | Notas |
|---|---|---|
identificacion | ✅ | Cédula, RUC o pasaporte. No admite consumidor final |
razon_social | ✅ | |
direccion | ✅ | El SRI la exige en la liquidación |
tipo_identificacion | — | Se deduce de la identificación: 05 cédula, 06 pasaporte, 08 identificación del exterior |
Si la clave tiene «crear contactos» activado, el proveedor se da de alta en Olympus la primera vez.
Las mismas líneas que en una factura: descripcion, cantidad, precio_unitario, descuento e
impuestos. Ver Emitir una factura.
Respuesta
Sección titulada «Respuesta»202 Accepted:
{ "id": "f9b4c6d1-2e8a-4b3f-9c7d-6a5e4f3b2c18", "tipo": "liquidacion_compra", "estado": "pendiente", "secuencial": "001-001-000000012", "clave_acceso": "2509202603099999999900110010010000000121234567811", "proveedor": { "tipo_identificacion": "05", "identificacion": "0912345678", "razon_social": "JUAN PÉREZ", "email": null, "telefono": null, "direccion": "Cdla. Alborada, Guayaquil" }, "totales": { "total_sin_impuestos": 80.0, "descuento": 0.0, "iva": 0.0, "importe_total": 80.0 }, "items": [ { "descripcion": "Servicio de jardinería", "cantidad": 1.0, "precio_unitario": 80.0, "descuento": 0.0, "subtotal": 80.0, "impuestos": [ { "codigo": "2", "codigo_porcentaje": "0", "tarifa": 0.0, "base_imponible": 80.0, "valor": 0.0 } ] } ], "urls": { "detalle": "https://olympus.atharix.com/api/v1/purchase-settlements/f9b4c6d1-…", "pdf": null, "xml": null, "publica": null }}Ejemplo completo
Sección titulada «Ejemplo completo»curl -X POST https://olympus.atharix.com/api/v1/purchase-settlements/issue \ -H "X-API-Key: $OLYMPUS_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: LC-2026-0012" \ -d '{ "referencia_externa": "LC-2026-0012", "proveedor": { "identificacion": "0912345678", "razon_social": "JUAN PÉREZ", "direccion": "Cdla. Alborada, Guayaquil" }, "items": [{ "descripcion": "Servicio de jardinería", "cantidad": 1, "precio_unitario": 80.00, "impuestos": [{ "codigo": "2", "codigo_porcentaje": "0" }] }], "totales": { "total_sin_impuestos": 80.00, "importe_total": 80.00 } }'import os, requests
liquidacion = requests.post( "https://olympus.atharix.com/api/v1/purchase-settlements/issue", headers={"X-API-Key": os.environ["OLYMPUS_API_KEY"], "Idempotency-Key": "LC-2026-0012"}, json={ "referencia_externa": "LC-2026-0012", "proveedor": {"identificacion": "0912345678", "razon_social": "JUAN PÉREZ", "direccion": "Cdla. Alborada, Guayaquil"}, "items": [{ "descripcion": "Servicio de jardinería", "cantidad": 1, "precio_unitario": 80.00, "impuestos": [{"codigo": "2", "codigo_porcentaje": "0"}], }], "totales": {"total_sin_impuestos": 80.00, "importe_total": 80.00}, }, timeout=30,)liquidacion.raise_for_status()print(liquidacion.json()["clave_acceso"])const response = await fetch("https://olympus.atharix.com/api/v1/purchase-settlements/issue", { method: "POST", headers: { "X-API-Key": process.env.OLYMPUS_API_KEY, "Content-Type": "application/json", "Idempotency-Key": "LC-2026-0012", }, body: JSON.stringify({ referencia_externa: "LC-2026-0012", proveedor: { identificacion: "0912345678", razon_social: "JUAN PÉREZ", direccion: "Cdla. Alborada, Guayaquil" }, items: [{ descripcion: "Servicio de jardinería", cantidad: 1, precio_unitario: 80.0, impuestos: [{ codigo: "2", codigo_porcentaje: "0" }], }], totales: { total_sin_impuestos: 80.0, importe_total: 80.0 }, }),});const liquidacion = await response.json();console.log(liquidacion.clave_acceso);$client = new \GuzzleHttp\Client(['base_uri' => 'https://olympus.atharix.com/api/v1/']);$response = $client->post('purchase-settlements/issue', [ 'headers' => ['X-API-Key' => getenv('OLYMPUS_API_KEY'), 'Idempotency-Key' => 'LC-2026-0012'], 'json' => [ 'referencia_externa' => 'LC-2026-0012', 'proveedor' => ['identificacion' => '0912345678', 'razon_social' => 'JUAN PÉREZ', 'direccion' => 'Cdla. Alborada, Guayaquil'], 'items' => [[ 'descripcion' => 'Servicio de jardinería', 'cantidad' => 1, 'precio_unitario' => 80.00, 'impuestos' => [['codigo' => '2', 'codigo_porcentaje' => '0']], ]], 'totales' => ['total_sin_impuestos' => 80.00, 'importe_total' => 80.00], ],]);$liquidacion = json_decode((string) $response->getBody(), true);echo $liquidacion['clave_acceso'];