Light APIv1.0.0

API / Reference / Credit Notes

Create credit note

POST https://api.light.inc/v1/credit-notes

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.

Created in DRAFT. documentDate is also the posting date; areLinesWithTax defaults to true. Line amounts are { amount, dcSign } objects and a credit note's lines are credits ("dcSign": "C"): at post the total must be a credit (CREDIT_NOTE_NEGATIVE_TOTAL_AMOUNT). Idempotency: an X-Idempotency-Key header wins; without one the key is derived from documentNumber, so re-sending the same number with a different body is 409 IDEMPOTENCY_VIOLATION. A credit note created here has no PDF, so GET .../document redirects to a file that doesn't exist. Requires a user credential.

Authorization

Send one of these on every request. See Authentication for how to get credentials.

  • API key

    Basic authentication header of the form Basic <api_key>, where <api_key> is your api key.

  • Bearer token

Headers

  • X-Idempotency-Key string

Request body

application/json;charset=UTF-8

  • companyEntityId string · uuid

    ID of the entity

  • currency string

  • documentDate string · date

    Date when the credit note was issued

  • businessPartnerId string · uuid

    ID of the vendor (required if the credit note will be linked to an invoice payable)

  • description string

    Description of the credit note

  • amount integer · int64

    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

    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 array of object

    List of custom properties

    • groupId string · uuid

      ID of the custom property group.

    • valueIds array of string · uuid

      IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.

      Catalogue value ids for this group. Required; send [] (with an empty inlineValues) to clear the group. SINGLE_SELECT and MULTI_SELECT groups accept nothing else. See Custom properties on writes.

    • inlineValues array of string

      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.

      Literal values for TEXT, NUMERIC, BOOLEAN and DATE groups, as strings (yyyy-MM-dd for dates). Rejected on select groups with CUSTOM_PROPERTY_VALUE_TYPE_MISMATCH. See Custom properties on writes.

  • lines array of object

    List of credit note line items

    • netTransactionAmount object

      • amount integer · int64

        Unsigned integer in minor units. The direction is in dcSign; a negative value is rejected.

      • dcSign string

        ⚠️ This enum is not exhaustive; new values may be added in the future.

        One of D C

    • grossTransactionAmount object

      • amount integer · int64

        Unsigned integer in minor units. The direction is in dcSign; a negative value is rejected.

      • dcSign string

        ⚠️ This enum is not exhaustive; new values may be added in the future.

        One of D C

    • taxTransactionAmount object

      • amount integer · int64

        Unsigned integer in minor units. The direction is in dcSign; a negative value is rejected.

      • dcSign string

        ⚠️ This enum is not exhaustive; new values may be added in the future.

        One of D C

    • description string

      Line description

    • ledgerTaxId string · uuid

      ID of the tax code

    • ledgerAccountId string · uuid

      ID of the ledger account

    • customProperties array of object

      List of custom properties for this line

      • groupId string · uuid

        ID of the custom property group.

      • valueIds array of string · uuid

        IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.

        Catalogue value ids for this group. Required; send [] (with an empty inlineValues) to clear the group. SINGLE_SELECT and MULTI_SELECT groups accept nothing else. See Custom properties on writes.

      • inlineValues array of string

        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.

        Literal values for TEXT, NUMERIC, BOOLEAN and DATE groups, as strings (yyyy-MM-dd for dates). Rejected on select groups with CUSTOM_PROPERTY_VALUE_TYPE_MISMATCH. See Custom properties on writes.

    • accrualTemplateId string · uuid

      ID of the accrual template

    • accrualStartDate string · date

      Start date for accrual

    • accrualEndDate string · date

      End date for accrual

  • localCurrencyFxRateOverride number

    Custom FX rate for the ledger's local currency. If not provided, Light uses official ECB rates.

  • groupCurrencyFxRateOverride number

    Custom FX rate for the ledger's group currency. If not provided, Light uses official ECB rates.

Response

  • id string · uuid

    Unique identifier for the object

  • companyId string · uuid

    ID of the company

  • companyEntityId string · uuid

    ID of the entity

  • amount integer · int64

    Total credit note amount in cents

  • businessPartnerName string

    Name of the vendor

  • businessPartnerId string · uuid

    ID of the vendor

  • status string

    Status of the credit note

    ⚠️ This enum is not exhaustive; new values may be added in the future.

    One of DRAFT APPROVAL_PENDING APPROVED POSTED PARTIALLY_CLEARED CLEARED ARCHIVED

  • description string

    Description of the credit note

  • currency string

  • postingDate string · date

    Date when the credit note should be posted to the ledger

  • documentDate string · date

    Date when the credit note was issued

  • valuationDate string · date

    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 array of object

    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 object

      • amount integer · int64

        Unsigned integer in minor units. The direction is in dcSign; a negative value is rejected.

      • dcSign string

        ⚠️ This enum is not exhaustive; new values may be added in the future.

        One of D C

    • netTransactionAmount object

      • amount integer · int64

        Unsigned integer in minor units. The direction is in dcSign; a negative value is rejected.

      • dcSign string

        ⚠️ This enum is not exhaustive; new values may be added in the future.

        One of D C

    • description string

      Description of the credit note line item

    • ledgerTaxId string · uuid

      ID of the tax code

    • taxTransactionAmount object

      • amount integer · int64

        Unsigned integer in minor units. The direction is in dcSign; a negative value is rejected.

      • dcSign string

        ⚠️ This enum is not exhaustive; new values may be added in the future.

        One of D C

    • ledgerAccountId string · uuid

      ID of the ledger account

    • costCenterId string · uuid

      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

      ID of the accrual template

    • accrualStartDate string · date

      Start date for accrual

    • accrualEndDate string · date

      End date for accrual

    • accrualDefaultDuration integer · int32

      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

    ID of the user who last updated the credit note

  • localCurrencyFxRate number

    FX rate applied for the ledger's local currency

    Echoes the override you sent; null when Light applies its own rate, not the rate that was applied.

  • groupCurrencyFxRate number

    FX rate applied for the ledger's group currency

    Echoes the override you sent; null when Light applies its own rate, not the rate that was applied.

  • senderEmail string

    The email of the user who sent the document that this credit note was created from

  • documentName string

    The name of the document that this credit note was created from