v1 - Accounting Release Templates

Create accounting release template

Creates a new accounting release template. The ledger accounts and type chosen here are fixed for the lifetime of the template

post/v1/accounting-release-templates

Request

  • Base URL
    https://light.inc (the document declares no server; this is the origin it was published from)
  • Auth
    • API key in header Authorization
    • or HTTP bearer

Request body

namestring

Name of the template

method'STRAIGHT_LINE_WITH_PARTIAL_ADJUSTMENT' | 'REDUCING_BALANCE'

How the amount is spread across the release schedule

  • STRAIGHT_LINE_WITH_PARTIAL_ADJUSTMENT - An equal amount each period, with the first and last periods adjusted for partial months
  • REDUCING_BALANCE - A fixed fraction of the remaining balance each period, so the amount declines over time

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

type'AR' | 'AP' | 'JE' | 'CONTRACT' | 'FIXED_ASSET'

The kind of document or asset this template applies to. Cannot be changed after creation

  • AR - Accounts receivable. Releases deferred revenue on invoice receivables
  • AP - Accounts payable. Releases prepaid expenses on invoice payables, credit notes and card transactions
  • JE - Journal entries
  • CONTRACT - Contracts. Releases deferred revenue over the contract term
  • FIXED_ASSET - Fixed assets. Depreciates a capitalised asset over its useful life

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

deferralAccountIdstring uuid

ID of the ledger account holding the not-yet-released balance. Cannot be changed after creation

contractAccountIdstring uuid nullable

ID of the ledger account used when the template is applied to a contract. Cannot be changed after creation

additionsAccountIdstring uuid nullable

ID of the ledger account credited or debited by each generated release. Defaults to the deferral account. Cannot be changed after creation

disposalAccountIdstring uuid nullable

ID of the ledger account used when a fixed asset is disposed of. Cannot be changed after creation

profitAccountIdstring uuid nullable

ID of the ledger account for a gain on disposal. Cannot be changed after creation

lossAccountIdstring uuid nullable

ID of the ledger account for a loss on disposal. Cannot be changed after creation

initialAmountPercentagenumber nullable

Fraction of the amount released in the first period, as a decimal between 0 and 1

residualAmountPercentagenumber nullable

Fraction of the amount left unreleased at the end of the schedule, as a decimal between 0 and 1

residualAmountinteger nullable

Absolute amount in cents left unreleased at the end of the schedule. Only for the REDUCING_BALANCE method, and mutually exclusive with reducingRate

reducingRatenumber nullable

Fraction of the remaining balance released each period, as a decimal between 0 and 1. Only for the REDUCING_BALANCE method, and mutually exclusive with residualAmount

accumulatePastReleasesEnabledboolean nullable

Legacy alternative to accumulationMode. When sent alone, true selects POSTING_DATE and false selects OFF. Prefer sending accumulationMode alone. When both fields are sent, this must equal whether accumulationMode is POSTING_DATE

accumulationMode'OFF' | 'OPEN_PERIOD' | 'POSTING_DATE' nullable

OFF keeps every scheduled release on its original date. POSTING_DATE combines releases dated before the document posting date with the first scheduled release on or after that date; if none remains, it uses the document posting date. OPEN_PERIOD finds the first postable date from the schedule start and combines earlier releases with the first scheduled release on or after that date; if none remains, it uses the first postable date. It applies only when the schedule starts before the document posting date. Later closed or locked periods still block posting. The document posting date stays unchanged. Omit to use the legacy boolean, or OFF when both fields are omitted

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

defaultDurationinteger nullable

Default number of months the release schedule runs for. Can be overridden per document

contextstring nullable

Free-text notes on the template

Response

default response

idstring uuid

Unique identifier for the object

companyIdstring uuid

ID of the company

createdBystring uuid

ID of the user who created the template

namestring

Name of the template

method'STRAIGHT_LINE_WITH_PARTIAL_ADJUSTMENT' | 'REDUCING_BALANCE'

How the amount is spread across the release schedule

  • STRAIGHT_LINE_WITH_PARTIAL_ADJUSTMENT - An equal amount each period, with the first and last periods adjusted for partial months
  • REDUCING_BALANCE - A fixed fraction of the remaining balance each period, so the amount declines over time

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

type'AR' | 'AP' | 'JE' | 'CONTRACT' | 'FIXED_ASSET'

The kind of document or asset this template applies to. Fixed at creation

  • AR - Accounts receivable. Releases deferred revenue on invoice receivables
  • AP - Accounts payable. Releases prepaid expenses on invoice payables, credit notes and card transactions
  • JE - Journal entries
  • CONTRACT - Contracts. Releases deferred revenue over the contract term
  • FIXED_ASSET - Fixed assets. Depreciates a capitalised asset over its useful life

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

deferralAccountIdstring uuid

ID of the ledger account holding the not-yet-released balance. Fixed at creation

contractAccountIdstring uuid nullable

ID of the ledger account used when the template is applied to a contract. Fixed at creation

additionsAccountIdstring uuid nullable

ID of the ledger account credited or debited by each generated release. Falls back to the deferral account when not set. Fixed at creation

disposalAccountIdstring uuid nullable

ID of the ledger account used when a fixed asset is disposed of. Fixed at creation

profitAccountIdstring uuid nullable

ID of the ledger account for a gain on disposal. Fixed at creation

lossAccountIdstring uuid nullable

ID of the ledger account for a loss on disposal. Fixed at creation

initialAmountPercentagenumber nullable

Fraction of the amount released in the first period, as a decimal between 0 and 1

residualAmountPercentagenumber nullable

Fraction of the amount left unreleased at the end of the schedule, as a decimal between 0 and 1

residualAmountinteger nullable

Absolute amount in cents left unreleased at the end of the schedule. Only for the REDUCING_BALANCE method, and mutually exclusive with reducingRate

reducingRatenumber nullable

Fraction of the remaining balance released each period, as a decimal between 0 and 1. Only for the REDUCING_BALANCE method, and mutually exclusive with residualAmount

accumulatePastReleasesEnabledboolean

Legacy representation of accumulationMode. True only for POSTING_DATE; false for OFF and OPEN_PERIOD. Read accumulationMode to distinguish all modes

accumulationMode'OFF' | 'OPEN_PERIOD' | 'POSTING_DATE'

OFF keeps every scheduled release on its original date. POSTING_DATE combines releases dated before the document posting date with the first scheduled release on or after that date; if none remains, it uses the document posting date. OPEN_PERIOD finds the first postable date from the schedule start and combines earlier releases with the first scheduled release on or after that date; if none remains, it uses the first postable date. It applies only when the schedule starts before the document posting date. Later closed or locked periods still block posting. The document posting date stays unchanged.

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

defaultDurationinteger nullable

Default number of months the release schedule runs for. Can be overridden per document

contextstring nullable

Free-text notes on the template

status'ACTIVE' | 'ARCHIVED'

Template status

  • ACTIVE - The template can be assigned to new documents and contracts
  • ARCHIVED - The template is archived and can no longer be assigned. Existing releases are unaffected

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

createdAtstring date-time

Timestamp when the template was created

updatedAtstring date-time

Timestamp when the template was last updated

Changes

No recorded changes to this operation across all 1 revision of this API.