---
title: "Create credit note"
method: POST
path: "/v1/credit-notes"
tags: ["v1 - Credit Notes"]
---

# Create credit note

`POST /v1/credit-notes`

## Request

- Base URL: `https://light.inc` (the document declares no server; this is the origin it was published from)
- URL: `https://light.inc/v1/credit-notes`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Creates a new credit note in draft status. The credit note can be created with or without line items. When `documentNumber` is provided, it is used for idempotency — retrying a create with the same `documentNumber` returns the existing credit note instead of creating a duplicate. The `areLinesWithTax` field controls whether line amounts include tax (true = gross, tax included) or exclude tax (false = net, tax added on top). A `businessPartnerId` (vendor) is required if the credit note will be linked to an invoice payable later. The posting date is automatically set to the `documentDate`.

## Headers

- `X-Idempotency-Key` string

## Request body

- ExternalCreateCreditNoteRequestV1Model
  - `companyEntityId` string, uuid, nullable: ID of the entity
  - `currency` string
  - `documentDate` string, date: Date when the credit note was issued
  - `businessPartnerId` string, uuid, nullable: ID of the vendor (required if the credit note will be linked to an invoice payable)
  - `description` string, nullable: Description of the credit note
  - `amount` integer, nullable: Total credit note amount in cents
  - `areLinesWithTax` boolean: Whether line amounts include tax. true = tax included (gross), false = tax added on top (net)
  - `documentNumber` string, nullable: Unique credit note number. When provided, it is also used for idempotency — retrying a create with the same documentNumber returns the existing credit note. If omitted, a number is generated automatically.
  - `customProperties` ExternalSetCustomPropertyRequestV1Model[], nullable: List of custom properties
    - `groupId` string, uuid: ID of the custom property group.
    - `valueIds` string[]: IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
    - `inlineValues` string[], nullable: Inline custom property values (used for TEXT/NUMERIC/DATE/etc. groups). It behaves as a PUT operation, so if empty or null the existing ones will be effectively deleted.
  - `lines` ExternalCreateCreditNoteLineRequestV1Model[]: List of credit note line items
    - `netTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `grossTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `taxTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `description` string, nullable: Line description
    - `ledgerTaxId` string, uuid, nullable: ID of the tax code
    - `ledgerAccountId` string, uuid, nullable: ID of the ledger account
    - `customProperties` ExternalSetCustomPropertyRequestV1Model[], nullable: List of custom properties for this line
      - `groupId` string, uuid: ID of the custom property group.
      - `valueIds` string[]: IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
      - `inlineValues` string[], nullable: Inline custom property values (used for TEXT/NUMERIC/DATE/etc. groups). It behaves as a PUT operation, so if empty or null the existing ones will be effectively deleted.
    - `accrualTemplateId` string, uuid, nullable: ID of the accrual template
    - `accrualStartDate` string, date, nullable: Start date for accrual
    - `accrualEndDate` string, date, nullable: End date for accrual
  - `localCurrencyFxRateOverride` number, nullable: Custom FX rate for the ledger's local currency. If not provided, Light uses official ECB rates.
  - `groupCurrencyFxRateOverride` number, nullable: Custom FX rate for the ledger's group currency. If not provided, Light uses official ECB rates.

## Response `default`

default response

- ExternalCreditNoteV1Model
  - `id` string, uuid: Unique identifier for the object
  - `companyId` string, uuid: ID of the company
  - `companyEntityId` string, uuid, nullable: ID of the entity
  - `amount` integer, nullable: Total credit note amount in cents
  - `businessPartnerName` string, nullable: Name of the vendor
  - `businessPartnerId` string, uuid, nullable: ID of the vendor
  - `status` 'DRAFT' | 'APPROVAL_PENDING' | 'APPROVED' | 'POSTED' | 'PARTIALLY_CLEARED' | 'CLEARED' | 'ARCHIVED': Status of the credit note ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `description` string, nullable: Description of the credit note
  - `currency` string
  - `postingDate` string, date, nullable: Date when the credit note should be posted to the ledger
  - `documentDate` string, date, nullable: Date when the credit note was issued
  - `valuationDate` string, date, nullable: Date used when applying foreign exchange rate
  - `areLinesWithTax` boolean: Whether the credit note line amount is inclusive of tax or not. True means tax is already included in the line amount and will not be added on top, false means tax will be added on top of the line amount
  - `lines` ExternalCreditNoteLineV1Model[]: List of credit note line items
    - `id` string, uuid: Unique identifier for the object
    - `companyId` string, uuid: ID of the company
    - `creditNoteId` string, uuid: ID of the credit note this line belongs to
    - `grossTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `netTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `description` string, nullable: Description of the credit note line item
    - `ledgerTaxId` string, uuid, nullable: ID of the tax code
    - `taxTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `ledgerAccountId` string, uuid, nullable: ID of the ledger account
    - `costCenterId` string, uuid, nullable: ID of the cost center
    - `createdAt` string, date-time: Timestamp when the credit note line item was created
    - `updatedAt` string, date-time: Timestamp when the credit note line item was last updated
    - `accrualTemplateId` string, uuid, nullable: ID of the accrual template
    - `accrualStartDate` string, date, nullable: Start date for accrual
    - `accrualEndDate` string, date, nullable: End date for accrual
    - `accrualDefaultDuration` integer, nullable: Default duration for accrual in months
  - `createdAt` string, date-time: Timestamp when the credit note was created
  - `updatedAt` string, date-time: Timestamp when the credit note was last updated
  - `updatedBy` string, uuid, nullable: ID of the user who last updated the credit note
  - `localCurrencyFxRate` number, nullable: FX rate applied for the ledger's local currency
  - `groupCurrencyFxRate` number, nullable: FX rate applied for the ledger's group currency
  - `senderEmail` string, nullable: The email of the user who sent the document that this credit note was created from
  - `documentName` string, nullable: The name of the document that this credit note was created from

---

[API](https://skmtc.dev/light/apis/light-api.md) - [All operations](https://skmtc.dev/light/apis/light-api/llms.txt) - [OpenAPI document](https://skmtc.dev/light/apis/light-api/revisions/84f51306f648?raw)
