Treli API
Docs
Soporte
  1. Facturas
  • Introducción
  • Autenticación
  • Errores
  • Suscripciones
    • Suscripción
    • Crear suscripción
      POST
    • Actualizar suscripción
      POST
    • Cancelar suscripción
      POST
    • Obtener suscripción
      GET
    • Eliminar descuento
      DELETE
    • Pausar suscripción
      POST
    • Reanudar suscripción
      POST
  • Items de suscripción
    • Obtener item de suscripción
      GET
    • Eliminar item de suscripción
      DELETE
    • Actualizar item de suscripción
      POST
    • Crear item de suscripción
      POST
  • Clientes
    • Cliente
    • Crear cliente
      POST
    • Actualizar cliente
      POST
    • Obtener cliente
      GET
  • Cobros
    • Cobro
    • Crear cobro
      POST
    • Registrar cobro parcial
      POST
    • Enviar notificación de cobro
      POST
    • Anular cobro
      POST
    • Marcar como incobrable
      POST
    • Pagar un cobro
      POST
    • Obtener un cobro
      GET
  • Facturas
    • Cargar factura
      POST
    • Obtener factura
      GET
  • Eventos
    • Evento
    • Tipos de eventos
  1. Facturas

Cargar factura

Developing
POST
/v1/invoices
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.treli.co/v1/invoices' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic Og==' \
--data-raw '{
    "items": [
        {
            "unit_price": "20000.00",
            "quantity": 1,
            "price ": "price_1Q8VwAGkNzLGa86BS12312"
        }
    ],
    "invoice_number": "string",
    "invoice_pdf": "http://example.com",
    "invoicing": "upload",
    "currency": "COP",
    "collection_method": "collect",
    "days_until_due": 0,
    "collection_rule_id": "string",
    "installments": {
        "number_of_installments": 1,
        "installments_settings": [
            {
                "amount": "string",
                "days_until_due": 0
            }
        ]
    },
    "meta_data": {},
    "invoice_settings": {
        "invoice_document_id": "string",
        "invoice_cost_center": "string"
    },
    "invoice_retentions": {
        "reteica": "string",
        "retefte": "string"
    },
    "customer": "cus_TgfdA2vL9rnWblZM8LtWMsdY"
}'
Response Response Example
{
    "id": "col_zdhBDP4k3JiRHNQ4RBUHyHgu",
    "items": [
        {
            "id": "si_d7d2UrHwSG5A5YkYF7vfZmFf",
            "name": "Nombre del producto",
            "unit_price": "20000.00",
            "quantity": 1,
            "subtotal": "20000.00",
            "total": "20000.00",
            "product": {
                "id": "prod_GYzZ5BXNRu6DxqQcEPJNoeCk",
                "name": "Nombre del producto",
                "description": "string",
                "status": "active",
                "product_merchant_id": null,
                "product_invoicing_id": null,
                "product_shopify_id": null,
                "product_woocommerce_id": null,
                "created_date": "2024-11-15 16:44:50",
                "image": "http://example.com",
                "is_test": false,
                "invoice_settings": {
                    "invoice_tax_id": "12345",
                    "invoice_tax_percentage": "19"
                }
            },
            "price": {
                "id": "price_zUI6hNgEkX8sOLIUjnB9JpaQ",
                "unit_price": "20000.00",
                "pricing_model": "standard",
                "currency": "COP",
                "billing_period": "day",
                "billing_interval": 1,
                "type": "recurring",
                "pricing_tiers": null,
                "ntp_pricing": null,
                "created_date": "2024-11-15 16:44:50",
                "active": true,
                "is_test": false,
                "product_id": "prod_GYzZ5BXNRu6DxqQcEPJNoeCk"
            }
        }
    ],
    "invoice_number": "string",
    "invoice_pdf": "http://example.com",
    "invoicing": "upload",
    "invoice_provider_id": "siigo",
    "subtotal": "string",
    "total": "string",
    "total_paid": "string",
    "currency": "COP",
    "created_date": "2024-11-15 16:44:50",
    "paid_date": "2019-08-24T14:15:22Z",
    "voided_at_date": "2019-08-24T14:15:22Z",
    "due_date": "2019-08-24T14:15:22Z",
    "collection_rule_id": "string",
    "status": "pending",
    "invoice_provider_status": "generating",
    "is_test": false,
    "is_paid": false,
    "meta_data": {},
    "invoice_provider": "siigo",
    "invoice_settings": {
        "invoice_document_id": "string",
        "invoice_cost_center": "string"
    },
    "invoice_retentions": {
        "reteica": "string",
        "retefte": "string"
    },
    "customer": "cus_TgfdA2vL9rnWblZM8LtWMsdY",
    "billing_address": {
        "address_1": "string",
        "address_2": null,
        "city": "string",
        "state": "string",
        "postcode": null,
        "country": "string"
    }
}

Request

Authorization
Send your HTTP requests with an
Authorization
header that contains the word Basic followed by a space and a base64-encoded string username:password
Example:
Authorization: Basic *****************
Body Params application/json
items
array[object (Items) {3}] 
required
Lista de items de la factura, cada uno con un precio adjunto. Únicamente requerido y permitido si type=one_time.
unit_price
string 
optional
Precio unitario a cobrar del item. Al asociar un precio a un object, si no se define, se utiliza el precio unitario configurado en el precio.
Example:
20000.00
quantity
integer 
required
Cantidad a cobrar del item.
>= 1
Example:
1
price 
string 
write-onlyrequired
El ID del objeto de precio.
Example:
price_1Q8VwAGkNzLGa86BS12312
invoice_number
string 
optional
Número de la factura. Sólo permitido si invoicing=upload o invoicing=connect. El número de la factura debe ser único y no puede ser el mismo que una factura ya cargada en tu cuenta de Treli.
invoice_pdf
string <uri> | null 
optional
URL del PDF de la factura. Válido solo cuando invoicing=upload.
invoicing
enum<string> 
required
invoicing=upload te permite cargar una factura que ya generada por fuera de Treli.
invoicing=create, sólo permitido si haces uso de la automatización contable en Treli para la generación automática de facturas y tienes un proveedor de facturación integrado a tu cuenta de Treli, te permite crear una factura en tu proveedor contable.
invoicing=connect, sólo permitido si haces uso de la automatización contable en Treli y tienes un proveedor de facturación integrado a tu cuenta de Treli, te permite crear una factura en tu proveedor contable, te permite connectar una factura ya creada en tu proveedor de facturación. Útil si quieres cargar facturas en Treli para luego automatizar la generación de recibos de caja cuando las facturas sean pagadas.
Allowed values:
uploadconnectcreate
currency
enum<string> 
required
Código de moneda ISO de tres letras, en mayúsculas.
>= 3 characters<= 3 characters
Allowed values:
COPUSDBRLMXNPENARSCLP
Example:
COP
collection_method
enum<string> 
write-onlyrequired
Define como se cobrará la factura.
collection_method=collect genera un único cobro, por el total de la factura
collection_method=installments genera N cobros asociados a la factura. La cantidad de cobros generados y el total de cada uno es definido en el objeto installments. Útil cuando deseas cobrar una factura en múltiples cuotas.
collection_method=none únicamente carga la factura en Treli pero no genera ningún cobro asociado. Útil cuando quieres cargar la factura primero en Treli y despúes generar cobros utilizando el endpoint /collections.
Allowed values:
collectinstallmentsnone
days_until_due
integer 
write-onlyoptional
Número de días desde que se carga la factura hasta su vencimiento. Válido solo para facturas concollection_method=collect.
collection_rule_id
string  | null 
required
El ID de la regla de cobro que definirá el comportamiento de los cobros de la factura. La regla de cobro debe estar creada previamente en tu cuenta de Treli. Válido solo para cobros concollection_method=collect o collection_method=installments.
installments
object 
write-onlyoptional
Válido si collection_method=installments. Configuración de las cuotas a cobrar de la factura. Cada cuota, generará un cobro asociado a la factura. El total de las cuotas debe ser igual al total de la factura.
number_of_installments
integer 
required
Número de cuotas.
>= 1
installments_settings
array [object {2}] 
required
Configuración de las cuotas. El número de objetos debe ser igual al número de cuotas.
meta_data
object  | null 
optional
Conjunto de pares clave-valor que se pueden asociar a un objeto. Esto puede ser útil para almacenar información adicional sobre el objeto en un formato estructurado. Las claves se pueden eliminar publicando un valor vacío en los metadatos.
invoice_settings
object 
required
Objeto con ajustes de facturación especificos para la factura, distintos a los definidos en la configuración general de facturación. Unicamente disponible si haces uso de la automatización contable en Treli para la generación automática de facturas y invoicing=create.
invoice_document_id
string 
required
invoice_cost_center
string 
required
invoice_retentions
object 
required
reteica
string 
required
retefte
string 
required
customer
string 
required
Identificación del cliente asociado a la suscripción.
Example:
cus_TgfdA2vL9rnWblZM8LtWMsdY
Examples

Responses

🟢200Success
application/json
Body
id
string 
read-onlyrequired
Identificador único del objeto.
Example:
col_zdhBDP4k3JiRHNQ4RBUHyHgu
items
array[object (Items) {8}] 
required
Lista de items de la factura, cada uno con un precio adjunto. Únicamente requerido y permitido si type=one_time.
id
string 
read-onlyrequired
Identificador único del objeto.
Example:
si_d7d2UrHwSG5A5YkYF7vfZmFf
name
string 
read-onlyrequired
Nombre del producto del producto, al momento de asociarlo a la suscripción.
Example:
Nombre del producto
unit_price
string 
optional
Precio unitario a cobrar del item. Al asociar un precio a un object, si no se define, se utiliza el precio unitario configurado en el precio.
Example:
20000.00
quantity
integer 
required
Cantidad a cobrar del item.
>= 1
Example:
1
subtotal
string 
read-onlyoptional
Subtotal a cobrar del item antes, antes de descuentos.
Example:
20000.00
total
string 
read-onlyoptional
Total a cobrar del item, despues de descuentos.
Example:
20000.00
product
object (Producto) 
read-onlyoptional
Producto asociado al item.
price
object (Precio) 
read-onlyoptional
Precio asociado al item.
invoice_number
string 
optional
Número de la factura. Sólo permitido si invoicing=upload o invoicing=connect. El número de la factura debe ser único y no puede ser el mismo que una factura ya cargada en tu cuenta de Treli.
invoice_pdf
string <uri> | null 
optional
URL del PDF de la factura. Válido solo cuando invoicing=upload.
invoicing
enum<string> 
required
invoicing=upload te permite cargar una factura que ya generada por fuera de Treli.
invoicing=create, sólo permitido si haces uso de la automatización contable en Treli para la generación automática de facturas y tienes un proveedor de facturación integrado a tu cuenta de Treli, te permite crear una factura en tu proveedor contable.
invoicing=connect, sólo permitido si haces uso de la automatización contable en Treli y tienes un proveedor de facturación integrado a tu cuenta de Treli, te permite crear una factura en tu proveedor contable, te permite connectar una factura ya creada en tu proveedor de facturación. Útil si quieres cargar facturas en Treli para luego automatizar la generación de recibos de caja cuando las facturas sean pagadas.
Allowed values:
uploadconnectcreate
invoice_provider_id
enum<string>  | enum<null> 
read-onlyoptional
Si invoicing=create o invoicing=connect, define el identificador único de la factura en tu proveedor de facturación.
Allowed values:
siigoalegra
subtotal
string 
read-onlyrequired
Subtotal de la factura, antes de descuentos e impuestos, representado como una cadena flotante con dos decimales.
total
string 
read-onlyrequired
Total de la factura despues de descuentos e impuestos, representado como una cadena flotante con dos decimales.
total_paid
string 
read-onlyrequired
Total, representado como una cadena flotante con dos decimales, que ha sido pagado. El total se calcula automáticamente a medida que se van pagando los cobros asociados a la factura.
currency
enum<string> 
required
Código de moneda ISO de tres letras, en mayúsculas.
>= 3 characters<= 3 characters
Allowed values:
COPUSDBRLMXNPENARSCLP
Example:
COP
created_date
string <date-time>
read-onlyrequired
Fecha en la cual se creó el objeto.
Example:
2024-11-15 16:44:50
paid_date
string <date-time> | null 
read-onlyoptional
Fecha en la cual se ha pagado la totalidad de la factura. Ocurre cuando total_paid=total.
voided_at_date
string <date-time> | null 
read-onlyoptional
Fecha en la cual se anuló el cobro.
due_date
string <date-time> | null 
read-onlyoptional
Fecha de vencimiento de la factura.
collection_rule_id
string  | null 
required
El ID de la regla de cobro que definirá el comportamiento de los cobros de la factura. La regla de cobro debe estar creada previamente en tu cuenta de Treli. Válido solo para cobros concollection_method=collect o collection_method=installments.
status
enum<string> 
read-onlyrequired
Un factura que aún no haya sido pagado y aún no haya vencido, tendrá estado pending.
Despúes del due_date de la factura, tendrá estado past_due.
Una factura puede pasar a estado uncollectible, despúes de past_due si el estado de todos los cobros asociados a la factura es uncollectible.
Allowed values:
pendingpaidpast_dueuncollectiblevoided
invoice_provider_status
enum<string>  | enum<null> 
read-onlyoptional
Si invoicing=create o invoicing=connect, define el estado de la factura según su estado y lo definido en invoicing.
Para invoicing=create, generating muestra que la factura esta siendo generada en tu proveedor de facturación. generated muestra que la factura se ha generado de manera éxitosa en tu proveedor de facturación. error_generating muestra que ocurrió un error al generar la factura en tu proveedor de facturación. En este caso, puedes ingresar a la factura cargada en el dashboard de Treli para obtener más información.
Para invoicing=connect, connecting muestra que se esta conectando con la factura generada en tu proveedor de facturación. Treli valida que el número de factura definido en invoicing realmente exista en tu proveedor de facturación y obtiene información adicional como el PDF de la factura. connected muestra que se ha conectado con la factura de manera éxitosa. error_connecting muestra que ocurrió un error al conectar con la factura. En este caso, puedes ingresar a la factura cargada en el dashboard de Treli para obtener más información.
Allowed values:
generatinggeneratedconnectingconnectederror_connectingerror_generating
is_test
boolean 
read-onlyrequired
Tiene el valor false si el objeto existe en modo en producción o el valor true si el objeto existe en modo de prueba
Example:
false
is_paid
boolean 
read-onlyrequired
Tiene el valor false si la factura ya ha sido pagada en su totalidad. Ocurre cuando total_paid=total.
Example:
false
meta_data
object  | null 
optional
Conjunto de pares clave-valor que se pueden asociar a un objeto. Esto puede ser útil para almacenar información adicional sobre el objeto en un formato estructurado. Las claves se pueden eliminar publicando un valor vacío en los metadatos.
invoice_provider
enum<string>  | enum<null> 
read-onlyrequired
Si invoicing=create o invoicing=connect, define el id del proveedor de facturación, integrado en Treli, conectado a la factura.
Allowed values:
siigoalegra
invoice_settings
object 
required
Objeto con ajustes de facturación especificos para la factura, distintos a los definidos en la configuración general de facturación. Unicamente disponible si haces uso de la automatización contable en Treli para la generación automática de facturas y invoicing=create.
invoice_document_id
string 
required
invoice_cost_center
string 
required
invoice_retentions
object 
required
reteica
string 
required
retefte
string 
required
customer
string 
required
Identificación del cliente asociado a la suscripción.
Example:
cus_TgfdA2vL9rnWblZM8LtWMsdY
billing_address
object 
read-onlyrequired
Dirección de facturación de la factura. Se define automáticamente al cargar la factura, según la dirección de facturación del cliente.
address_1
string 
required
address_2
null 
required
city
string 
required
state
string 
required
postcode
null 
required
country
string 
required
Previous
Obtener un cobro
Next
Obtener factura
Built with