Light APIv1.0.0

API / Reference / Journal Entries

Archive journal entry

POST https://api.light.inc/v1/journal-entries/{journalEntryId}/archive

Archives the given journal entry. Drafts are archived directly; posted entries are reversed and marked as archived.

Only a DRAFT or an entry whose status is exactly POSTED can be archived; PARTIALLY_CLEARED, CLEARED, APPROVAL_PENDING and ARCHIVED fail with JOURNAL_ENTRY_CANNOT_BE_ARCHIVED. The reversal of a posted entry is written synchronously with the original postingDate, not today's, so that period must still be open (ACCOUNTING_PERIOD_CLOSED). Both the original and the reversing lines then appear on GET /v1/ledger-transaction-lines. A second archive without an X-Idempotency-Key fails rather than no-ops. Periods and locks explains the period check.

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

Path parameters

  • journalEntryId string · uuidrequired

Headers

  • X-Idempotency-Key string

Response

  • id string · uuid

    The journal entry id, also its accounting document id.

  • companyId string · uuid

    Your company id.

  • documentNumber string

    Your own free-text reference for the entry. Not the number Light assigns; that is documentSequenceId.

  • companyEntityId string · uuid

    The entity whose books the entry posts to.

  • ledgerName string

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

    One of PRIMARY ELIMINATION

  • createdBy string · uuid

    The principal that created the entry: a user or an API key.

  • updatedBy string · uuid

    The principal that last changed it.

  • documentSequenceId string

    null until the entry is posted.

  • status string

    ⚠️ 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

    The entry's description.

  • currency string

    The currency of the line amounts.

  • postingDate string · date

    The ledger date; the accounting period covering it must be open to post.

  • documentDate string · date

    The date on the underlying document, informational.

  • valuationDate string · date

    The date whose exchange rate converted the lines to local and group currency; resolved at posting when not set.

  • localCurrencyFxRate number

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

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

  • groupCurrencyFxRate number

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

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

  • areLinesWithTax boolean

    Whether line amounts were entered gross of tax (true) or net (false, the default).

  • failureContext object

    Failure context when vendor onboarding fails.

    The error of the last failed posting attempt, typically from the approval workflow; cleared on the next successful post. The description about vendor onboarding is a copy-paste from another model.

    • name string

      The error name

    • type string

      The error type

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

      One of BAD_REQUEST UNAUTHORIZED FORBIDDEN NOT_FOUND CONFLICT UNPROCESSABLE_CONTENT

    • errors array of object

      List of errors providing details about what went wrong

      • type string

        A string code identifying the error type

      • message string

        A human-readable message providing more details about the error

      • path array of string

        Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object

      • context object

        Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error

  • lines array of object

    The lines as entered. The ledger lines Light derived (tax, rounding) are not here; read them from ledger transaction lines.

    • id string · uuid

      The line id.

    • journalEntryId string · uuid

      The entry the line belongs to.

    • netTransactionAmount object

      The line amount excluding tax, unsigned with dcSign, in the entry's currency.

      • 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

      The line amount including tax.

      • 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

      The tax portion; null without a tax code.

      • 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

      The line description.

    • targetCompanyEntityId string · uuid

      For an intercompany line, the entity on the other side ("To entity" in the product). null on ordinary lines.

    • ledgerTaxId string · uuid

      Tax code id. Other documents call the same id taxCodeId.

    • ledgerAccountId string · uuid

      The ledger account the line posts to.

    • costCenterId string · uuid

      Cost center on the line; null when none.

    • customProperties array of object

      Custom property values on the line.

      • groupId string · uuid

        ID of the custom property group

      • groupInternalName string

        Internal name of the custom property group

      • values array of object

        List of values. Note that this will be a single value unless the group input type supports multiple values

        • id string · uuid

          Unique identifier for the object

        • groupId string · uuid

          ID of the custom property group

        • groupInternalName string

          Internal name of the custom property group

        • companyId string · uuid

          ID of the company

        • internalName string

          Internal name of the custom property value

        • label string

          Label of the custom property value

        • context string

          Context/description of the custom property value

        • createdAt string · date-time

          Timestamp when the custom property value was created

        • updatedAt string · date-time

          Timestamp when the custom property value was last updated

    • createdAt string · date-time

      When the line was created.

    • updatedAt string · date-time

      When it was last changed.

    • amortizationTemplateId string · uuid

      Release template id when the line is spread over a schedule instead of hitting the account at once; null otherwise.

    • amortizationStartDate string · date

      First date of that schedule.

    • amortizationEndDate string · date

      Last date of that schedule.

  • customProperties array of object

    Custom property values on the entry header.

    • groupId string · uuid

      ID of the custom property group

    • groupInternalName string

      Internal name of the custom property group

    • values array of object

      List of values. Note that this will be a single value unless the group input type supports multiple values

      • id string · uuid

        Unique identifier for the object

      • groupId string · uuid

        ID of the custom property group

      • groupInternalName string

        Internal name of the custom property group

      • companyId string · uuid

        ID of the company

      • internalName string

        Internal name of the custom property value

      • label string

        Label of the custom property value

      • context string

        Context/description of the custom property value

      • createdAt string · date-time

        Timestamp when the custom property value was created

      • updatedAt string · date-time

        Timestamp when the custom property value was last updated

  • businessPartnerName string

    Optional vendor or customer shown on the entry.

  • businessPartnerId string · uuid

    Id of that vendor or customer.

  • createdAt string · date-time

    When the entry was created.

  • updatedAt string · date-time

    When it was last changed.

  • totalNetTransactionAmount object

    Sum of the lines' net amounts as one directed figure. Read the magnitude as the entry's size; its dcSign carries no accounting meaning on a balanced entry.

    • 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

  • totalTaxTransactionAmount object

    Sum of the lines' tax amounts, read like the net total.

    • 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

  • totalGrossTransactionAmount object

    Sum of the lines' gross amounts, read like the net total.

    • 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

  • multiJournalEntryId string · uuid

    Set when this entry is one entity's part of a multi-entity journal entry made in the product; entries sharing the id were entered together. null for entries created through the API.