Saltar al contenido
API v1 · https://bentho.org/api
POST/api/mod/contabilidad/{espacio}/push/invoice

Encola una factura

Deja una factura de venta en la cola para tu software contable. Responde al momento con el id de la entrada; la factura la emite tu software cuando se procesa la cola.

  • PERMISOescribe
  • CRÉDITOSno gasta
  • AUTENTICACIÓNBearer bth_…

PARÁMETROS

CAMPOTIPOREQUERIDOQUÉ ES
espaciostringSÍEl id del espacio (sale en GET /api/companies). Tiene que tener el módulo Contabilidad.

CUERPO · JSON

CAMPOTIPOREQUERIDOQUÉ ES
referencia_internastringSÍTu id de la venta (el de tu pedido). Es la clave que impide facturar dos veces lo mismo.
clienteobjectSÍA quién se factura: ver cliente.
lineasarraySÍUna por producto: ver lineas[].
subtotal · totalcifraSÍYa calculados: el módulo no los recalcula ni los comprueba.
descuento_totalcifranoPor defecto 0.
monedastringnoPor defecto COP.
fechastringSÍLa fecha de la venta, en ISO 8601 (2026-10-02T15:04:05).
metadataobjectnoLa observación de la factura: anotation en Alegra, observations en Siigo. Sin ella, «Ref interna <referencia_interna>».

RESPUESTA 202

La entrada en la cola. Guarda su outbox_id.

CAMPOTIPOQUÉ ES
outbox_idstringEl id de la entrada.
estadostringpending si es nueva; si ya existía, el suyo de ahora.
idempotent_replaybooleantrue si esa referencia_interna ya estaba encolada: no se creó otra.

CLIENTE

CAMPOTIPOQUÉ ES
tipo_id"NIT" | "CC" | "CE" | "PASAPORTE"El tipo de documento. Por defecto CC.
identificacionstringEl número.
nombrestringNombre o razón social.
email · telefonostringOpcionales.
rawobjectCampos extra, con los nombres de tu software, que se mandan tal cual al crear el cliente. Al facturar no se usan.

LINEAS[]

CAMPOTIPOQUÉ ES
skustringLa referencia del producto.
descripcionstringEl texto de la línea.
cantidad · precio_unitariocifraUnidades y precio de cada una.
descuento · impuesto_pctcifraEl descuento de la línea y el porcentaje de impuesto (19 = 19 %). Por defecto 0.

ERRORES DE ESTA RUTA · SIEMPRE {"detail": …}

STATUSCUÁNDODETAIL LITERAL
403El espacio no tiene el módulo Contabilidadmódulo no habilitado para este espacio.
403La clave es de solo lecturaTu cuenta es de solo lectura en este espacio.
502El módulo no está disponible en este momento: reintenta en unos minutos—
422Falta un campo obligatorio o uno no tiene su tipo (detail es una lista)—

Y los de cualquier ruta —clave inválida, cuenta no al día, IP, límites—, en Errores, límites y créditos.

CONVIENE SABER

  • Encolar no manda nada todavía: el envío ocurre al procesar la cola. Síguelo con GET push/{entrada}.
  • Encolar dos veces la misma referencia_interna no duplica nada: devuelve la entrada que ya existía, con idempotent_replay: true y su estado de ahora.
  • Las cifras se guardan exactas: mándalas como texto ("38000.50"). También aceptan números, pero un número con decimales puede perder precisión antes de llegar.
  • La factura legal la emite tu software con su numeración: Bentho le pasa los datos. El número y, si lo da, el CUFE vuelven en resultado_json.