---
title: "Crear un nuevo pago"
method: POST
path: "/payments"
tags: ["Pagos"]
---

# Crear un nuevo pago

`POST /payments`

Este endpoint permite registrar un nuevo pago en la aplicación

## Request body

- object
  - `date` string, yyyy-mm-dd, required — Fecha de pago. Formato yyyy-MM-dd.
  - `bankAccount` object, required — Objeto cuenta de banco que indica a dónde debe ingresar o de dónde debe salir el dinero para el pago. Este objeto debe contener el id del banco.
    - `id` integer — Identificador del banco
  - `paymentMethod` 'transfer' | 'cash' | 'deposit' | 'check' | 'credit-card' | 'debit-card', required — Método de pago
  - `observations` string — Observaciones del pago. No son visibles en el documento impreso.
  - `anotation` string — Notas del pago. Visibles en el documento impreso.
  - `type` 'in' | 'out' — Indica si la transaccion es de ingreso o egreso. Las opciones posibles son 'in' si el pago es un ingreso o 'out' si es un egreso. Este atributo es obligatorio cuando el pago se realiza a una categoría.
  - `client` object — Indica el cliente asociado al pago. Si el pago se realiza a facturas de compra o venta, todas las facturas deben pertenecer al mismo cliente. El objeto debe incluir el id del cliente que realiza o al cual se le realiza el pago.
    - `id` integer — Identificador del cliente asociado al pago
  - `invoices` object[] — Array de objetos factura de venta que indica la(s) factura(s) de venta que se pagaron.
    - `id` integer, required — Identificador de la factura a pagar
    - `amount` number, double, required — valor pagado
    - `retentions` object[] — array de objetos retención que indica las retenciones aplicadas en el pago de la factura.
      - `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
  - `bills` object[] — Array de objetos factura de compra que indica la(s) factura(s) de compra que se pagaron.
    - `id` integer, required — Identificador de la factura a pagar
    - `amount` number, double, required — valor pagado
    - `retentions` object[] — array de objetos retención que indica las retenciones aplicadas en el pago de la factura de compra.
      - `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
  - `categories` object[] — Array de objetos categoría que indica la(s) categoría(s) que se pagaron.
    - `id` integer, required — Identificador de la categoría
    - `tax` object — Objeto tax que indica el impuesto asociado
      - `id` integer — Identificador único que representa un impuesto específico.
    - `quantity` number, double, required — Cantidad de la categoría
    - `price` number, double, required — Precio unitario pagado
    - `observations` string — Observaciones de la categoría
  - `retentions` object[] — Array de objetos retención que indica las retenciones aplicadas en el pago, este atributo se envía únicamente cuando el pago está asociado a categorías y se realizaron retenciones.
    - `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 al pago. 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. Se debe tener en cuenta que solo se pueden pagar facturas de venta y de compra que tengan la misma moneda de la transacción.
    - `code` string, required — Código ISO de la moneda asociada a la empresa
    - `exchangeRate` number, required — Tasa de cambio
  - `costCenter` union
    - integer
    - object — Objeto costCenter que indica el centro de costo asociado al apgo.
      - `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)
  - `comments` string[] — Arreglo de strings con cada uno de los comentarios que se desean asociar.

## Response `201`

Se obtiene un objeto que describe un pago

- object
  - `id` integer — Identificador único que representa un pago. La aplicación lo asigna automáticamente.
  - `bankAccount` object — Objeto cuenta de banco que indica a dónde entró o de dónde salió el dinero para el pago.
    - `id` string — Identificador del banco.
    - `name` string — Nombre del banco.
    - `type` 'bank' | 'cash' | 'credit-card' — Tipo de cuenta de banco
  - `number` string — Número del recibo de caja o comprobante de egreso.
  - `date` string, yyyy-mm-dd — Fecha de pago. Formato yyyy-MM-dd.
  - `paymentMethod` 'transfer' | 'cash' | 'deposit' | 'check' | 'credit-card' | 'debit-card' — Método de pago
  - `observations` string — Observaciones del pago. No son visibles en el documento impreso.
  - `anotation` string — Notas del pago. Visibles en el documento impreso.
  - `type` string — Indica si el pago es de ingreso o egreso.
  - `status` 'open' | 'void' — Estado del pago, las opciones posibles son: open - Estado normal del pago & void - El pago se encuentra anulado.
  - `client` object — Indica el cliente asociado al pago.
    - `id` string — Identificación del cliente
    - `name` string — Nombre del cliente
    - `phone` string — Teléfono del cliente
  - `amount` number — Valor total asociado en el pago
  - `bankAccountAmount` number — Valor total que ingresó a la cuenta de banco asociada. Solo se incluye este parámetro en pagos que tengan la misma moneda principal de la compañía pero que la cuenta de banco tiene una moneda diferente. Este valor se da en la moneda configurada en la cuenta de banco.
  - `invoices` object[] — Array de objetos factura de venta que indica la(s) factura(s) de venta que se pagaron. Todas las facturas de venta pagadas en el pago deben pertenecer al mismo cliente y deben tener la misma moneda.
    - `id` integer — Identificador de la factura
    - `number` string — Número de la factura
    - `date` string, yyyy-mm-dd — Fecha de la factura. Formato yyyy-MM-dd.
    - `total` number — Monto total de la factura
    - `amount` number — Valor pagado en el pago actual
  - `bills` object[] — Array de objetos factura de compra que indica la(s) factura(s) de compra que se pagaron. Todas las facturas de compra pagadas en el mismo pago deben ser del mismo cliente y deben tener la misma moneda.
    - `id` integer — Identificador de la factura
    - `number` string — Número de la factura
    - `date` string, yyyy-mm-dd — Fecha de la factura. Formato yyyy-MM-dd.
    - `total` number — Monto total de la factura
    - `amount` number — Valor pagado en el pago actual
  - `categories` object[] — Array de objetos categoría que indica la(s) categoría(s) que se pagaron.
    - `id` integer — Identificador de la categoría.
    - `name` string — Nombre de la categoría.
    - `price` number — Valor pagado
    - `quantity` number — Cantidad de la categoría.
    - `observations` string — Observaciones de la categoría.
    - `tax` object[] — Array de objectos tax que contiene la información del impuesto de la categoría.
      - `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
    - `total` number — Total de la categoría (no incluye impuestos).
  - `retentions` object[] — Array de objetos retención que indica las retenciones aplicadas en el pago, este atributo se envía únicamente cuando el pago está asociado a categorías y se realizaron retenciones.
    - `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 moneda que indica la moneda del pago y la tasa de cambio.Solo se incluye si la compañía tiene activa la funcionalidad de multimoneda y el pago está en una moneda diferente de la principal de la compañía. Este objecto contiene:code : Código ISO de la moneda asociada a la empresa.exchangeRate: Tasa de cambio.
    - `code` string — Código ISO de la moneda asociada a la empresa
    - `symbol` string — Símbolo de la moneda
    - `exchangeRate` number — Tasa de cambio
  - `appliedAdvances` object[] — Arreglo con la información de los avances y anticipos aplicados a los pagos recibidos.
    - `id` integer — Identificador de la factura de los avances y anticipos aplicados
    - `number` string — Número de la factura de los avances y anticipos aplicados
    - `date` string, yyyy-mm-dd — Fecha de creación de la factura de los avances y anticipos aplicados
    - `dueDate` string, yyyy-mm-dd — Fecha de vencimiento de la factura de los avances y anticipos aplicados
    - `total` number — Total de la factura de los avances y anticipos aplicados
    - `totalPaid` number — Total que se le ha pagado a una factura sin contar retenciones, de la factura de los avances y anticipos aplicados
    - `balance` number — Monto que indica el valor pendiente para terminar de pagar la factura
    - `amount` number — Monto que indica el total de anticipos aplicados a la factura
  - `costCenter` object — Objeto costCenter que indica el centro de costo asociado al pago.
    - `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)
  - `voucherNumber (Colombia)` string — Indica el número del recibo de caja, valido solo para operaciones de tipo IN.Solo para Colombia
  - `comments` unknown[] — Arreglo comments con la información de cada uno de los comentarios del pago.
    - unknown

---

[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/versions/cd52d3f68f1b/schema)
