---
title: "Crear nota de crédito"
method: POST
path: "/credit-notes"
tags: ["Notas Crédito"]
---

# Crear nota de crédito

`POST /credit-notes`

Endpoint que permite crear una nota de crédito desde cero.

## Request body

- union
  - object
    - `date` string, required — Fecha de la nota de crédito. Formato yyyy-MM-dd.
    - `dueDate` string — Fecha de vencimiento de la nota de crédito. Formato yyyy-MM-dd.
    - `observations` string — Observaciones de la nota de crédito (no visibles en el pdf o documento impreso). Longitud máxima permitida: 500.
    - `anotation` string — Notas de la nota de crédito, visibles en el PDF o documento impreso. Longitud máxima permitida: 500.
    - `termsConditions` string — Términos y condiciones de la nota de crédito. Longitud máxima permitida: 500.
    - `client` object, required — Objecto que contiene el id del cliente asociado a la nota de crédito. Se puede enviar directamente el id del cliente en este atributo.
      - `id` string — Identificador del cliente
    - `items` object[], required — Array de objetos item (productos/servicios) asociados a la nota de crédito. Cada objeto debe incluir: `id (string, obligatorio)`: identificador del producto o servicio que se vende; `price (double, obligatorio)`: precio de venta; `reference (string)` : referencia del producto/servicio; `description (string)`: descripción del producto/servicio; `tax (objeto)` : array de objetos tax que indican la información del impuesto; `quantity (obligatorio)`: cantidad vendida del producto o servicio; `discount (decimal)`: porcentaje de descuento aplicado al producto, éste no debe incluir el símbolo %, únicamente su tasa. Para costa rica, el atributo `discount` pasa a ser un objeto compuesto por los atributos: `nature` (indica la naturaleza del descuento) y `discount` (indica la tasa del descuento). El precio del producto/servicio no debe incluir impuestos ni descuentos.
      - `id` string — 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` string — Identificador único que representa un impuesto específico.
      - `price` number — Precio de compra del producto
      - `quantity` number — Cantidad de productos que fueron comprados.
    - `numberTemplate` object — Objeto que contiene la información de la numeración de la nota de crédito. Para numeraciones automáticas solo debe incluir el id de la numeración, para numeraciones manuales se debe enviar como mínimo el id de la numeración y el número de la nota de crédito. Si no se envía este atributo la aplicación intenta crear la nota de crédito con la numeración preferida que tiene configurada la empresa. Si no es posible retorna error.
      - `id` string — Identificador de la numeración
    - `priceList` object — Objeto que indica el id de la lista de precios asociada a la nota de crédito. Se puede enviar directamente el id de la lista de precios en este atributo.
      - `id` string — Identificador de la lista de precio
    - `currency` object — Objecto que incluye la información de la moneda y tasa de cambio asociada a la nota de crédito. 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.
    - `warehouse` object — Objeto que indica el id de la bodega/almacén asociada a la nota de crédito. Se puede enviar directamente el id de la bodega/almacén en este atributo. Si no se envía este parámetro la nota de crédito queda asociada a la bodega/almacén Principal.
      - `id` string — Identificador de la bodega/almacén
    - `refunds` object[] — Array de objetos con la información de las devoluciones asociadas a la nota de crédito, los campos que se deben enviar en cada objeto son: `date (obligatorio)` Fecha de la devolución, `account (int, obligatorio)` id de la cuenta bancaria, `amount (int, obligatorio)` monto de la devolución y `observations (string)` observaciones de la devolución.
      - `date` string, date — Fecha de la devolución
      - `account` integer — Id de la cuenta bancaria
      - `amount` number — Monto de la devolución
      - `observations` string — Observaciones de la devolución
    - `costCenter` object — Objeto que indica el id del centro de costos que se desea asociar a la nota de crédito. Se puede enviar directamente el id del centro de costos en este atributo.
      - `id` string — Id del centro de costo
    - `comments` string[] — Arreglo de strings con cada uno de los comentarios que se desean asociar.
    - `invoices` object[] — Array con la información de la factura de venta que se desea asociar a la nota de crédito. **Para México, este array debe contener exactamente un objeto**, ya que solo se permite asociar una factura por nota de crédito al momento del timbrado. Cada objeto debe incluir: `id (int, obligatorio)` identificador de la factura de venta y `amount (number, obligatorio)` monto a aplicar. El valor de `amount` puede ser parcial o igual al saldo pendiente de la factura, pero no debe excederlo. Si se desea timbrar la nota de crédito, este campo es obligatorio.
      - `id` string — Identificador de la factura a asociar
      - `amount` number — Valor asociado
    - `stamp` object — El objeto stamp indica que se desea timbrar la nota de crédito en Alegra. Si se desea emitir la nota de crédito en Alegra, se debe mandar este objeto con los siguientes atributos : `generateStamp (boolean)` : Enviar en true para indicar que se desea timbrar la nota de crédito en la aplicación. Se debe tener en cuenta que la compañía debe tener configurada la información del certificado y llave privada para timbrar la nota de crédito correctamente. Nota: Se debe tener en cuenta que si se desea timbrar una nota de crédito por medio de la API y el proceso no resulta exitoso, la aplicación crea la nota de crédito en estado abierta, retorna un código HTTP 400 (Request malo) y en la respuesta se envía el error obtenido al intentar timbrar la nota de crédito junto con la nota de crédito creada. En el ejemplo "México -Proceso timbre no exitoso" se puede observar esta situación.
      - `generateStamp` boolean
    - `type` '01' | '03' — Indica el tipo de la nota de crédito. Las opciones disponibles las encuentras aquí: [mexico](https://developer.alegra.com/reference/m%C3%A9xico).
  - object
    - `date` string, required — Fecha de la nota de crédito. Formato yyyy-MM-dd.
    - `dueDate` string — Fecha de vencimiento de la nota de crédito. Formato yyyy-MM-dd.
    - `observations` string — Observaciones de la nota de crédito (no visibles en el pdf o documento impreso). Longitud máxima permitida: 500.
    - `anotation` string — Notas de la nota de crédito, visibles en el PDF o documento impreso. Longitud máxima permitida: 500.
    - `termsConditions` string — Términos y condiciones de la nota de crédito. Longitud máxima permitida: 500.
    - `client` object, required — Objecto que contiene el id del cliente asociado a la nota de crédito. Se puede enviar directamente el id del cliente en este atributo.
      - `id` string — Identificador del cliente
    - `numberTemplate` object — Objeto que contiene la información de la numeración de la nota de crédito. Para numeraciones automáticas solo debe incluir el id de la numeración, para numeraciones manuales se debe enviar como mínimo el id de la numeración y el número de la nota de crédito. Si no se envía este atributo la aplicación intenta crear la nota de crédito con la numeración preferida que tiene configurada la empresa. Si no es posible retorna error.
      - `id` string — Identificador de la numeración
    - `priceList` object — Objeto que indica el id de la lista de precios asociada a la nota de crédito. Se puede enviar directamente el id de la lista de precios en este atributo.
      - `id` string — Identificador de la lista de precio
    - `currency` object — Objecto que incluye la información de la moneda y tasa de cambio asociada a la nota de crédito. 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.
    - `warehouse` object — Objeto que indica el id de la bodega/almacén asociada a la nota de crédito. Se puede enviar directamente el id de la bodega/almacén en este atributo. Si no se envía este parámetro la nota de crédito queda asociada a la bodega/almacén Principal.
      - `id` string — Identificador de la bodega/almacén
    - `refunds` object[] — Array de objetos con la información de las devoluciones asociadas a la nota de crédito, los campos que se deben enviar en cada objeto son: `date (obligatorio)` Fecha de la devolución, `account (int, obligatorio)` id de la cuenta bancaria, `amount (int, obligatorio)` monto de la devolución y `observations (string)` observaciones de la devolución.
      - `date` string, date — Fecha de la devolución
      - `account` integer — Id de la cuenta bancaria
      - `amount` number — Monto de la devolución
      - `observations` string — Observaciones de la devolución
    - `invoices` object[] — Array de objetos con la información de las facturas de venta que se desean asociar a la nota de crédito. Cada factura debe tener los siguientes datos: `id (int, obligatorio)` id de la factura de venta y `amount (int, obligatorio)` monto asociado. Si se desea timbrar la nota de crédito este valor este campo es obligatorio y la suma del valor total de cada una de las facturas de venta debe ser igual al total de la nota de crédito.Si envias este parámetro se reemplazarán todas las facturas de venta con las nuevas. Si lo envias en `null` se borrarán todas las facturas asociadas.
      - `id` string — Identificador de la factura a pagar
      - `amount` number — Valor pagado
      - `retentions` object[] — Array de objetos de retención que indican las retenciones aplicadas en el pago de la factura
        - `id` string — Identificador de la retención
        - `amount` number — Valor retenido
    - `paymentMethod` string — Indica el método de pago de la nota de crédito. Las opciones posibles son: `cash` Efectivo, `card` Tarjeta débito/crédito, `check` Cheque, `transfer` Transferencia - depósito bancario, `collection-by-third` Recaudo por teceros, `other` Otros métodos de pago. Si se desea emitir la nota de crédito, este atributo se vuelve obligatorio.
    - `type` string — Indica el tipo de la nota de crédito. Las opciones disponibles las encuentras aquí:[costaRica](https://developer.alegra.com/docs/costa-rica), [perú](https://developer.alegra.com/docs/perú) y [panamá](https://developer.alegra.com/docs/panamá).
    - `saleCondition` string — Indica la condición de la venta. Consulta el catálogo de parámetros correspondiente a cada país haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica). Si se desea emitir la nota de crédito, este atributo se vuelve obligatorio.
    - `economicActivity` string — Indica el código de la actividad económica asociada a la nota de crédito. Si no se envía, se asignará por defecto el código de la actividad económica de la compañía.
    - `cause` string — Indica la descripción de la razón y/o naturaleza por la cual se genera la nota de crédito. Este parámetro es obligatorio cuando se desea emitir la nota de crédito.
    - `items` object[] — Array de objetos item con propiedades específicas para Costa Rica versión 4.3
      - `id` string — Identificador del producto
      - `name` string — Nombre del producto
      - `description` string — Descripción del producto/servicio
      - `reference` string — Referencia del producto
      - `price` number — Precio de venta del producto
      - `quantity` number — Cantidad del producto
      - `discount` object — Objeto de descuento con nuevas propiedades para Costa Rica versión 4.3.
        - `discount` number, required — Porcentaje o monto de descuento
        - `nature` string, required — Descripción del descuento
      - `tax` object[] — Array de impuestos con exoneraciones para Costa Rica versión 4.3.
        - `id` string — Identificador único que representa el impuesto un impuesto en específico
        - `exoneration` object — Objeto opcional cuando se aplique una exoneración a un impuesto en específico.
          - `documentType` 'AUTHORIZED_PURCHASES' | 'EXEMPT_SALES_TO_DIPLOMATS' | 'AUTHORIZED_BY_SPECIAL_LAW' | 'EXEMPTIONS_DGH' | 'TRANSITORY_V' | 'TRANSITORY_IX' | 'TRANSITORY_XVII' | 'OTHER' — Tipo de documento de exoneración
          - `documentNumber` string — Número del documento de exoneración
          - `institutionName` string — Nombre de la institución emisora
          - `percentage` string — Porcentaje de exoneración
    - `additionalCharges` object[] — Array de cargos adicionales para la versión 4.3 de Costa Rica.
      - `id` string — Identificador único que representa el cargo adicional en específico
      - `amount` number — Monto del cargo adicional en la moneda de la nota de crédito
      - `metadata` object — Metadatos del cargo adicional. Se envía cuando el cargo es por cobro de tercero
        - `thirdParty` object — Información de tercero cuando el cargo es por cobro de tercero
          - `thirdPartyName` string — Nombre del tercero
          - `identificationNumber` string — Número de identificación del tercero
    - `stamp` object — El objeto stamp indica que se desea emitir la nota de crédito en Alegra. Si se desea emitir la nota de crédito en Alegra, se debe enviar este objeto con los siguientes atributos : * `generateStamp (boolean)` : Enviar en true para indicar que se desea emitir la nota de crédito en la aplicación. Nota: Se debe tener en cuenta que si se desea emitir una nota de crédito por medio de la API y el proceso no resulta exitoso, la aplicación crea la nota de crédito en estado abierta, retorna un código HTTP 400 (Request malo) y en la respuesta se envía el error obtenido al intentar expedir la nota de crédito junto con la nota de crédito creada.
      - `generateStamp` boolean
  - object
    - `date` string, required — Fecha de la nota de crédito. Formato yyyy-MM-dd.
    - `dueDate` string — Fecha de vencimiento de la nota de crédito. Formato yyyy-MM-dd.
    - `observations` string — Observaciones de la nota de crédito (no visibles en el pdf o documento impreso). Longitud máxima permitida: 500.
    - `anotation` string — Notas de la nota de crédito, visibles en el PDF o documento impreso. Longitud máxima permitida: 500.
    - `termsConditions` string — Términos y condiciones de la nota de crédito. Longitud máxima permitida: 500.
    - `client` object, required — Objecto que contiene el id del cliente asociado a la nota de crédito. Se puede enviar directamente el id del cliente en este atributo.
      - `id` string — Identificador del cliente
    - `numberTemplate` object — Objeto que contiene la información de la numeración de la nota de crédito. Para numeraciones automáticas solo debe incluir el id de la numeración, para numeraciones manuales se debe enviar como mínimo el id de la numeración y el número de la nota de crédito. Si no se envía este atributo la aplicación intenta crear la nota de crédito con la numeración preferida que tiene configurada la empresa. Si no es posible retorna error.
      - `id` string — Identificador de la numeración
    - `priceList` object — Objeto que indica el id de la lista de precios asociada a la nota de crédito. Se puede enviar directamente el id de la lista de precios en este atributo.
      - `id` string — Identificador de la lista de precio
    - `currency` object — Objecto que incluye la información de la moneda y tasa de cambio asociada a la nota de crédito. 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.
    - `warehouse` object — Objeto que indica el id de la bodega/almacén asociada a la nota de crédito. Se puede enviar directamente el id de la bodega/almacén en este atributo. Si no se envía este parámetro la nota de crédito queda asociada a la bodega/almacén Principal.
      - `id` string — Identificador de la bodega/almacén
    - `refunds` object[] — Array de objetos con la información de las devoluciones asociadas a la nota de crédito, los campos que se deben enviar en cada objeto son: `date (obligatorio)` Fecha de la devolución, `account (int, obligatorio)` id de la cuenta bancaria, `amount (int, obligatorio)` monto de la devolución y `observations (string)` observaciones de la devolución.
      - `date` string, date — Fecha de la devolución
      - `account` integer — Id de la cuenta bancaria
      - `amount` number — Monto de la devolución
      - `observations` string — Observaciones de la devolución
    - `invoices` object[] — Array de objetos con la información de las facturas de venta que se desean asociar a la nota de crédito. Cada factura debe tener los siguientes datos: `id (int, obligatorio)` id de la factura de venta y `amount (int, obligatorio)` monto asociado. Si se desea timbrar la nota de crédito este valor este campo es obligatorio y la suma del valor total de cada una de las facturas de venta debe ser igual al total de la nota de crédito.Si envias este parámetro se reemplazarán todas las facturas de venta con las nuevas.
      - `id` string — Identificador de la factura a pagar
      - `amount` number — Valor pagado
      - `retentions` object[] — Array de objetos de retención que indican las retenciones aplicadas en el pago de la factura
        - `id` string — Identificador de la retención
        - `amount` number — Valor retenido
    - `paymentMethod` 'CASH' | 'SINPE_MOVIL' | 'CARD' | 'CHECK' | 'TRANSFER' | 'COLLECTION_BY_THIRD' | 'PLATFORM_DIGITAL' | 'OTHER' — Para Costa Rica versión 4.4, indica el método de pago de la nota de crédito. Las opciones posibles son: CASH, SINPE_MOVIL, CARD, CHECK, TRANSFER, COLLECTION_BY_THIRD, PLATFORM_DIGITAL, OTHER. Consulta el catálogo de parámetros correspondiente haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica). Si se desea emitir la nota de crédito, este atributo se vuelve obligatorio.
    - `otherPaymentMethod` string — Campo obligatorio cuando paymentMethod es OTHER. Descripción del método de pago personalizado. Debe tener entre 3 y 100 caracteres.
    - `saleCondition` 'CASH' | 'CREDIT' | 'CONSIGNATION' | 'SEPARATED' | 'LEASING_WITH_PURCHASE_OPTION' | 'LEASING_IN_FINANTIAL_FUNCTION' | 'SERVICES_PROVIDED_TO_STATE_TO_CREDIT' | 'IVA_CREDIT_SALE_90_DAYS' | 'OPERATIVE_LEASING' | 'FINANCIAL_LEASING' | 'OTHER' — Para Costa Rica versión 4.4, indica la condición de la venta. Consulta el catálogo de parámetros correspondiente haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica). Si se desea emitir la nota de crédito, este atributo se vuelve obligatorio.
    - `otherSaleCondition` string — Campo obligatorio cuando saleCondition es OTHER. Descripción de la condición de venta personalizada. Debe tener entre 5 y 100 caracteres.
    - `type` string — Indica el tipo de la nota de crédito. Consulta el catálogo de parámetros correspondiente haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica).
    - `otherTypeReason` string — Campo obligatorio cuando type es OTHER. Descripción del motivo de la nota de crédito personalizado.
    - `stamp` object — Para Costa Rica versión 4.4, el objeto stamp indica que se desea expedir/emitir la nota de crédito electrónica en Alegra.
      - `generateStamp` boolean
    - `economicActivity` integer — Para Costa Rica versión 4.4, indica el código de la actividad económica asociada a la nota de crédito. Si no se envía, se asignará por defecto el código de la actividad económica de la compañía.
    - `items` object[] — Array de objetos item con propiedades específicas para Costa Rica versión 4.4
      - `id` string — Identificador del producto
      - `name` string — Nombre del producto
      - `description` string — Descripción del producto/servicio
      - `reference` string — Referencia del producto
      - `price` number — Precio de venta del producto
      - `quantity` number — Cantidad del producto
      - `transactionType` 'NORMAL_SALE_OF_GOODS_AND_SERVICES_GENERAL_TRANSACTION' | 'SELF_CONSUMPTION_GOODS_EXEMPT' | 'SELF_CONSUMPTION_GOODS_TAXED' | 'SELF_CONSUMPTION_SERVICE_EXEMPT' | 'SELF_CONSUMPTION_SERVICE_TAXED' | 'MEMBERSHIP_FEE' | 'MEMBERSHIP_FEE_EXEMPT' | 'CAPITAL_GOODS_FOR_ISSUER' | 'CAPITAL_GOODS_FOR_RECEIVER' | 'SELF_CONSUMPTION_CAPITAL_GOODS_EXEMPT_FOR_ISSUER' | 'CAPITAL_GOODS_WITHOUT_CONSIDERATION_TO_THIRD_PARTIES_EXEMPT_FOR_ISSUER' | 'CAPITAL_GOODS_WITHOUT_CONSIDERATION_TO_THIRD_PARTIES_EXEMPT_FOR_RECEIVER' | 'WITHOUT_CONSIDERATION_TO_THIRD_PARTIES' — Tipo de transacción según catálogo de Costa Rica versión 4.4. Consulta el catálogo de parámetros correspondiente haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica).
      - `discount` object — Objeto de descuento con nuevas propiedades para Costa Rica versión 4.4.
        - `discount` number — Porcentaje o monto de descuento
        - `type` 'VOLUME_DISCOUNT' | 'SEASONAL_DISCOUNT' | 'PROMOTIONAL_DISCOUNT' | 'COMMERCIAL_DISCOUNT' | 'FREQUENCY_DISCOUNT' | 'SUSTAINED_DISCOUNT' | 'OTHER' — Tipo de descuento según catálogo de Costa Rica versión 4.4. Consulta el catálogo de parámetros correspondiente haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica).
        - `nature` string — Campo obligatorio cuando type es OTHER. Descripción del descuento personalizado
      - `tax` object[] — Array de impuestos con exoneraciones para Costa Rica versión 4.4.
        - `id` string — Identificador único que representa el impuesto un impuesto en específico
        - `exoneration` object — Objeto opcional cuando se aplique una exoneración a un impuesto en específico.
          - `documentType` 'AUTHORIZED_PURCHASES' | 'EXEMPT_SALES_TO_DIPLOMATS' | 'AUTHORIZED_BY_SPECIAL_LAW' | 'EXEMPTIONS_DGH' | 'TRANSITORY_V' | 'TOURISTIC_SERVICES' | 'TRANSITORY_XVII' | 'EXONERATION_ZONE_FREE' | 'EXONERATION_COMPLEMENTARY_SERVICES_EXPORT' | 'ORGANIZATION_MUNICIPAL_CORPORATIONS' | 'EXEMPTIONS_DGH_CONCRETE_LOCAL_TAX' | 'OTHER' — Tipo de documento de exoneración
          - `otherDocumentType` string — Campo obligatorio cuando documentType es OTHER
          - `documentNumber` string — Número del documento de exoneración
          - `article` string — Artículo del documento
          - `paragraph` string — Inciso del documento
          - `emissionDate` string, date — Fecha de emisión del documento
          - `institutionName` 'MINISTRY_OF_FINANCE' | 'MINISTRY_OF_FOREIGN_AFFAIRS_AND_WORSHIP' | 'MINISTRY_OF_AGRICULTURE_AND_LIVESTOCK' | 'MINISTRY_OF_ECONOMY_INDUSTRY_AND_COMMERCE' | 'COSTA_RICAN_RED_CROSS' | 'COSTA_RICA_FIRE_DEPARTMENT' | 'HOLY_SPIRIT_WORKS_ASSOCIATION' | 'NATIONAL_CRUSADE_FEDERATION_FOR_ELDERLY_PROTECTION' | 'HUMID_REGION_AGRICULTURE_SCHOOL' | 'CENTRAL_AMERICAN_INSTITUTE_OF_BUSINESS_ADMINISTRATION' | 'SOCIAL_PROTECTION_BOARD' | 'PUBLIC_SERVICES_REGULATORY_AUTHORITY' | 'OTHER' — Nombre de la institución emisora
          - `otherInstitutionName` string — Campo obligatorio cuando institutionName es OTHER
          - `percentage` string — Porcentaje de exoneración
    - `additionalCharges` object[] — Array de cargos adicionales para la versión 4.4 de Costa Rica.
      - `id` string — Identificador único que representa el cargo adicional en específico
      - `amount` number — Monto del cargo adicional en la moneda de la nota de crédito
      - `metadata` object — Metadatos del cargo adicional. Se envía cuando el cargo es por cobro de tercero o cuando el cargo es de tipo otros.
        - `thirdParty` object — Información de tercero cuando el cargo es por cobro de tercero
          - `thirdPartyName` string — Nombre del tercero
          - `identificationNumber` string — Número de identificación del tercero
          - `identificationType` string — Tipo de identificación del tercero. Consulta el catálogo de parámetros correspondiente haciendo clic [aquí](https://developer.alegra.com/docs/costa-rica).
          - `idThirdParty` string — Identificador del contacto en el sistema
        - `otherTypeCharge` string — Descripción del cargo cuando es de tipo otros

## Response `200`

Retorna información de una nota de crédito.

## Other responses

- `400` — Bad request

---

[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)
