---
title: "Crear una factura de proveedor"
method: POST
path: "/bills"
tags: ["Facturas de proveedor"]
---

# Crear una factura de proveedor

`POST /bills`

Endpoint que permite crear una factura de proveedor en la aplicación

## Request body

- object
  - `date` string, date, required — Fecha de la factura.
  - `dueDate` string, date, required — Fecha de vencimiento de la factura.
  - `observations` string — Observaciones de la factura.
  - `termsConditions` string — Términos y condiciones aplicables a la factura.
  - `provider` object, required — Objeto que contiene el id del proveedor asociado a la factura. Se puede enviar directamente el id del proveedor en este atributo.
  - `numberTemplate` object — Objeto que contiene la información de la numeración de la factura. Se puede especificar el número de la factura en él a través del atributo number.
    - `number` string — Número de la factura
  - `warehouse` union — Objeto que indica el id de la bodega/almacén asociada a la factura. Se puede enviar directamente el id de la bodega/almacén en este atributo. Si no se envía este parámetro la factura queda asociada a la bodega/almacén Principal.
    - integer
    - object
      - `id` integer — Identificador único de la bodega
      - `name` string — Nombre de la bodega
  - `purchases` object, required — Objeto que contiene los productos y categorías de la factura.
    - `items` object[] — Array de objetos Item, contiene los productos
      - `id` integer — Identificador del producto
      - `name` string — Nombre del producto
      - `discount` number — Porcentaje de descuento aplicado al producto
      - `observations` string — Observaciones acerca del producto
      - `tax` object[] — Array de objetos tax que indican los impuestos aplicados al producto al momento de la compra
        - `id` integer — Identificador único que representa un impuesto específico.
        - `name` string — Nombre asignado al impuesto
        - `percentage` number — Porcentaje del impuesto
        - `description` string — Descripción del impuesto
        - `type` string — Tipo de impuesto
        - `status` string — Indica el estado del impuesto
      - `price` number — Precio de compra del producto
      - `quantity` number — Cantidad de productos que fueron comprados.
      - `total` number — Total del producto (no incluye impuestos)
      - `subtotal` number — Subtotal del producto
    - `categories` object[] — Array de objetos category. Contiene cuentas contables (categorias).
      - `id` integer — Identificador de la categoría
      - `name` string — Nombre de la categoría
      - `discount` number — Porcentaje de descuento aplicado a la categoría
      - `observations` string — Observaciones acerca de la categoría.
      - `tax` object[] — Array de objetos tax que indican los impuestos aplicados a la categoría al momento de la compra
        - `id` integer — Identificador único que representa un impuesto específico.
        - `name` string — Nombre asignado al impuesto
        - `percentage` number — Porcentaje del impuesto
        - `description` string — Descripción del impuesto
        - `type` string — Tipo de impuesto
        - `status` string — Indica el estado del impuesto
      - `price` number — Precio de compra de la categoría
      - `quantity` number — Cantidad comprada de la categoría
      - `total` number — Total de la categoría (no incluye impuestos)
      - `subtotal` number — Subtotal de la categoría
  - `retentions` object[] — Array de objetos retention que indican las retenciones aplicadas a la factura.
    - `id` integer, required — Identificador de la retención
    - `amount` number, required — Valor retenido
  - `currency` object, nullable — Objeto que incluye la información de la moneda y tasa de cambio asociada a la factura. Solo se debe incluir si la compañía tiene activa la funcionalidad de multimoneda y tiene configurada la moneda seleccionada. Debe incluir el código de la moneda (de tres letras según ISO) y la tasa de cambio.
    - `code` string, required — Código ISO de la moneda asociada a la empresa
    - `symbol` string — Símbolo de la moneda
    - `exchangeRate` number, required — Tasa de cambio
  - `payments` object[] — Incluye la información de pagos realizados a la factura.
    - `date` string, date, required — Fecha del pago
    - `amount` number, required — Valor pagado
    - `account` object, required — Objeto que incluye el id de la cuenta banco de donde debe salir el dinero
    - `paymentMethod` 'transfer' | 'cash' | 'deposit' | 'check' | 'credit-card' | 'debit-card' — Método de pago
    - `observations` string — Observaciones acerca del pago
    - `anotation` string — Notas del pago
    - `retentions` object[] — Array de objetos retention que indican las retenciones aplicadas a la factura que se realizaron en el pago.
      - `id` integer — Identificador de la retención
      - `name` string — Nombre de la retención
      - `percentage` number — Porcentaje retenido
      - `amount` number — Valor retenido
    - `currency` object — Objeto que incluye la información de la moneda y la tasa de cambio asociada al pago.
      - `code` string — Código ISO de la moneda asociada a la empresa
      - `symbol` string — Símbolo de la moneda
      - `exchangeRate` number — Tasa de cambio
  - `costCenter` union — Objeto o id que indica el centro de costo asociado a la factura.
    - integer
    - object
      - `id` integer — Identificador del centro de costo
      - `code` string — Código del centro de costo
      - `name` string — Nombre del centro de costo
      - `description` string — Descripción del centro de costo
      - `status` boolean — Estatus del centro de costo (activo o inactivo)

---

[API](https://skmtc.net/alegra/apis/ingresos.md) · [All operations](https://skmtc.net/alegra/apis/ingresos/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alegra/ingresos/revisions/cd52d3f68f1b/schema)
