API / Reference / Accounting Release Templates
Create accounting release template
POST
https://api.light.inc/v1/accounting-release-templates
Creates a new accounting release template. The ledger accounts and type chosen here are fixed for the lifetime of the template
residualAmount and reducingRate are not mutually exclusive as the description says: at least one is required for REDUCING_BALANCE (ACCOUNTING_RELEASE_TEMPLATE_REDUCING_BALANCE_MISSING_RATE_OR_RESIDUAL), and both may be sent and stored. REDUCING_BALANCE is allowed only for type FIXED_ASSET, AP or JE; type: CONTRACT requires contractAccountId. reducingRate must be in [0, 1), residualAmount above zero, initialAmountPercentage + residualAmountPercentage at most 1. None of the account ids may point at a payables or receivables control account (ACCOUNTING_RELEASE_TEMPLATE_RECONCILABLE_ACCOUNT_NOT_ALLOWED).
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
Request body
application/json;charset=UTF-8
-
namestringName of the template
-
methodstringHow 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 monthsREDUCING_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.
One of
STRAIGHT_LINE_WITH_PARTIAL_ADJUSTMENTREDUCING_BALANCE -
typestringThe kind of document or asset this template applies to. Cannot be changed after creation
AR- Accounts receivable. Releases deferred revenue on invoice receivablesAP- Accounts payable. Releases prepaid expenses on invoice payables, credit notes and card transactionsJE- Journal entriesCONTRACT- Contracts. Releases deferred revenue over the contract termFIXED_ASSET- Fixed assets. Depreciates a capitalised asset over its useful life
⚠️ This enum is not exhaustive; new values may be added in the future.
One of
ARAPJECONTRACTFIXED_ASSET -
deferralAccountIdstring · uuidID of the ledger account holding the not-yet-released balance. Cannot be changed after creation
-
contractAccountIdstring · uuidID of the ledger account used when the template is applied to a contract. Cannot be changed after creation
-
additionsAccountIdstring · uuidID of the ledger account credited or debited by each generated release. Defaults to the deferral account. Cannot be changed after creation
-
disposalAccountIdstring · uuidID of the ledger account used when a fixed asset is disposed of. Cannot be changed after creation
-
profitAccountIdstring · uuidID of the ledger account for a gain on disposal. Cannot be changed after creation
-
lossAccountIdstring · uuidID of the ledger account for a loss on disposal. Cannot be changed after creation
-
initialAmountPercentagenumberFraction of the amount released in the first period, as a decimal between 0 and 1
-
residualAmountPercentagenumberFraction of the amount left unreleased at the end of the schedule, as a decimal between 0 and 1
-
residualAmountinteger · int64Absolute amount in cents left unreleased at the end of the schedule. Only for the
REDUCING_BALANCEmethod, and mutually exclusive withreducingRate -
reducingRatenumberFraction of the remaining balance released each period, as a decimal between 0 and 1. Only for the
REDUCING_BALANCEmethod, and mutually exclusive withresidualAmount -
accumulatePastReleasesEnabledbooleanWhether releases for periods that have already passed are posted as a single catch-up amount in the current period
-
defaultDurationinteger · int32Default number of months the release schedule runs for. Can be overridden per document
-
contextstringFree-text notes on the template
Response
-
idstring · uuidUnique identifier for the object
-
companyIdstring · uuidID of the company
-
createdBystring · uuidID of the user who created the template
-
namestringName of the template
-
methodstringHow 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 monthsREDUCING_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.
One of
STRAIGHT_LINE_WITH_PARTIAL_ADJUSTMENTREDUCING_BALANCE -
typestringThe kind of document or asset this template applies to. Fixed at creation
AR- Accounts receivable. Releases deferred revenue on invoice receivablesAP- Accounts payable. Releases prepaid expenses on invoice payables, credit notes and card transactionsJE- Journal entriesCONTRACT- Contracts. Releases deferred revenue over the contract termFIXED_ASSET- Fixed assets. Depreciates a capitalised asset over its useful life
⚠️ This enum is not exhaustive; new values may be added in the future.
One of
ARAPJECONTRACTFIXED_ASSET -
deferralAccountIdstring · uuidID of the ledger account holding the not-yet-released balance. Fixed at creation
-
contractAccountIdstring · uuidID of the ledger account used when the template is applied to a contract. Fixed at creation
-
additionsAccountIdstring · uuidID of the ledger account credited or debited by each generated release. Falls back to the deferral account when not set. Fixed at creation
-
disposalAccountIdstring · uuidID of the ledger account used when a fixed asset is disposed of. Fixed at creation
-
profitAccountIdstring · uuidID of the ledger account for a gain on disposal. Fixed at creation
-
lossAccountIdstring · uuidID of the ledger account for a loss on disposal. Fixed at creation
-
initialAmountPercentagenumberFraction of the amount released in the first period, as a decimal between 0 and 1
-
residualAmountPercentagenumberFraction of the amount left unreleased at the end of the schedule, as a decimal between 0 and 1
-
residualAmountinteger · int64Absolute amount in cents left unreleased at the end of the schedule. Only for the
REDUCING_BALANCEmethod, and mutually exclusive withreducingRate -
reducingRatenumberFraction of the remaining balance released each period, as a decimal between 0 and 1. Only for the
REDUCING_BALANCEmethod, and mutually exclusive withresidualAmount -
accumulatePastReleasesEnabledbooleanWhether releases for periods that have already passed are posted as a single catch-up amount in the current period
-
defaultDurationinteger · int32Default number of months the release schedule runs for. Can be overridden per document
-
contextstringFree-text notes on the template
-
statusstringTemplate status
ACTIVE- The template can be assigned to new documents and contractsARCHIVED- 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.
One of
ACTIVEARCHIVED -
createdAtstring · date-timeTimestamp when the template was created
-
updatedAtstring · date-timeTimestamp when the template was last updated