Create journal entry
https://api.light.inc/v1/journal-entries
Creates a new journal entry
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-Keystring
Request body
application/json;charset=UTF-8
-
companyEntityIdstring · uuidNote
Required. The entity whose books the entry posts to.
-
ledgerNamestring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
PRIMARYELIMINATION -
documentNumberstringNote
Optional free-text reference of your own. Light assigns
documentSequenceIdseparately at posting. -
descriptionstringNote
Optional description for the entry.
-
currencystringNote
No default, and required to post.
-
postingDatestring · dateNote
The ledger date. Defaults to today; the accounting period covering it must be open to post.
-
valuationDatestring · dateNote
The date whose exchange rate converts the lines. Defaults to the posting date.
-
localCurrencyFxRateOverridenumberCustom foreign exchange rate for the ledger's local currency. If not provided, Light uses official ECB rates
-
groupCurrencyFxRateOverridenumberCustom foreign exchange rate for the ledger's group currency. If not provided, Light uses official ECB rates
-
documentDatestring · dateNote
The date on the underlying document, informational.
-
areLinesWithTaxbooleanNote
Decides which amount each line carries:
false(default) takesnetTransactionAmountand rejects a gross amount,truetakesgrossTransactionAmountand rejects a net one. -
linesarray of objectNote
To post: at least two lines that net to zero in the entry's currency, with at least one
Dand oneC, each with aledgerAccountId.-
netTransactionAmountobjectNote
Send this when
areLinesWithTaxisfalse(the default): the amount excluding tax, unsigned, withdcSign.-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
grossTransactionAmountobjectNote
Send this instead when
areLinesWithTaxistrue: the amount including tax. Sending both is rejected.-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
taxAmountobjectNote
Optional explicit tax amount. Left out, Light derives it from the line's tax code.
-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
descriptionstringNote
Optional line description.
-
targetCompanyEntityIdstring · uuidNote
For an intercompany line, the entity on the other side ("To entity" in the product). Leave out on ordinary lines.
-
ledgerTaxIdstring · uuidNote
Tax code id; leave out for no tax.
-
ledgerAccountIdstring · uuidNote
The ledger account to post to. Required to post.
-
costCenterIdstring · uuidNote
Optional cost center.
-
amortizationTemplateIdstring · uuidNote
Spread the line over a release schedule: the template id, sent together with the start and end dates.
-
amortizationStartDatestring · dateNote
First date of the release schedule; required with the template.
-
amortizationEndDatestring · dateNote
Last date of the release schedule; required with the template.
-
customPropertiesarray of objectNote
Custom property values for the line. See Custom properties on writes.
-
groupIdstring · uuidID of the custom property group.
-
valueIdsarray of string · uuidIDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
Note
Catalogue value ids for this group. Required; send
[](with an emptyinlineValues) to clear the group.SINGLE_SELECTandMULTI_SELECTgroups accept nothing else. See Custom properties on writes. -
inlineValuesarray of stringInline 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.
Note
Literal values for
TEXT,NUMERIC,BOOLEANandDATEgroups, as strings (yyyy-MM-ddfor dates). Rejected on select groups withCUSTOM_PROPERTY_VALUE_TYPE_MISMATCH. See Custom properties on writes.
-
-
-
businessPartnerNamestringNote
Optional vendor or customer name to show on the entry.
-
businessPartnerIdstring · uuidNote
Optional vendor or customer id.
-
shouldPostbooleanNote
false(the default) creates a draft that the API can never post afterwards, only archive. Settrueto post now; with a journal-entry approval workflow in place the result isAPPROVAL_PENDINGinstead ofPOSTED. -
customPropertiesarray of objectNote
Custom property values for the entry header. See Custom properties on writes.
-
groupIdstring · uuidID of the custom property group.
-
valueIdsarray of string · uuidIDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
Note
Catalogue value ids for this group. Required; send
[](with an emptyinlineValues) to clear the group.SINGLE_SELECTandMULTI_SELECTgroups accept nothing else. See Custom properties on writes. -
inlineValuesarray of stringInline 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.
Note
Literal values for
TEXT,NUMERIC,BOOLEANandDATEgroups, as strings (yyyy-MM-ddfor dates). Rejected on select groups withCUSTOM_PROPERTY_VALUE_TYPE_MISMATCH. See Custom properties on writes.
-
Response
-
idstring · uuidNote
The journal entry id, also its accounting document id.
-
companyIdstring · uuidNote
Your company id.
-
documentNumberstringNote
Your own free-text reference for the entry. Not the number Light assigns; that is
documentSequenceId. -
companyEntityIdstring · uuidNote
The entity whose books the entry posts to.
-
ledgerNamestring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
PRIMARYELIMINATION -
createdBystring · uuidNote
The principal that created the entry: a user or an API key.
-
updatedBystring · uuidNote
The principal that last changed it.
-
documentSequenceIdstringNote
nulluntil the entry is posted. -
statusstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DRAFTAPPROVAL_PENDINGAPPROVEDPOSTEDPARTIALLY_CLEAREDCLEAREDARCHIVED -
descriptionstringNote
The entry's description.
-
currencystringNote
The currency of the line amounts.
-
postingDatestring · dateNote
The ledger date; the accounting period covering it must be open to post.
-
documentDatestring · dateNote
The date on the underlying document, informational.
-
valuationDatestring · dateNote
The date whose exchange rate converted the lines to local and group currency; resolved at posting when not set.
-
localCurrencyFxRatenumberCustom foreign exchange rate for the ledger's local currency. If not provided, Light uses official ECB rates
Note
Echoes the override you sent;
nullwhen Light applied its own rate, not the rate that was applied. -
groupCurrencyFxRatenumberCustom foreign exchange rate for the ledger's group currency. If not provided, Light uses official ECB rates
Note
Echoes the override you sent;
nullwhen Light applied its own rate, not the rate that was applied. -
areLinesWithTaxbooleanNote
Whether line amounts were entered gross of tax (
true) or net (false, the default). -
failureContextobjectFailure context when vendor onboarding fails.
Note
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.
-
namestringThe error name
-
typestringThe error type
⚠️ This enum is not exhaustive; new values may be added in the future.
One of
BAD_REQUESTUNAUTHORIZEDFORBIDDENNOT_FOUNDCONFLICTUNPROCESSABLE_CONTENT -
errorsarray of objectList of errors providing details about what went wrong
-
typestringA string code identifying the error type
-
messagestringA human-readable message providing more details about the error
-
patharray of stringOptional 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
-
contextobjectOptional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
-
-
-
linesarray of objectNote
The lines as entered. The ledger lines Light derived (tax, rounding) are not here; read them from ledger transaction lines.
-
idstring · uuidNote
The line id.
-
journalEntryIdstring · uuidNote
The entry the line belongs to.
-
netTransactionAmountobjectNote
The line amount excluding tax, unsigned with
dcSign, in the entry's currency.-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
grossTransactionAmountobjectNote
The line amount including tax.
-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
taxTransactionAmountobjectNote
The tax portion;
nullwithout a tax code.-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
descriptionstringNote
The line description.
-
targetCompanyEntityIdstring · uuidNote
For an intercompany line, the entity on the other side ("To entity" in the product).
nullon ordinary lines. -
ledgerTaxIdstring · uuidNote
Tax code id. Other documents call the same id
taxCodeId. -
ledgerAccountIdstring · uuidNote
The ledger account the line posts to.
-
costCenterIdstring · uuidNote
Cost center on the line;
nullwhen none. -
customPropertiesarray of objectNote
Custom property values on the line.
-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
valuesarray of objectList of values. Note that this will be a single value unless the group input type supports multiple values
-
idstring · uuidUnique identifier for the object
-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
companyIdstring · uuidID of the company
-
internalNamestringInternal name of the custom property value
-
labelstringLabel of the custom property value
-
contextstringContext/description of the custom property value
-
createdAtstring · date-timeTimestamp when the custom property value was created
-
updatedAtstring · date-timeTimestamp when the custom property value was last updated
-
-
-
createdAtstring · date-timeNote
When the line was created.
-
updatedAtstring · date-timeNote
When it was last changed.
-
amortizationTemplateIdstring · uuidNote
Release template id when the line is spread over a schedule instead of hitting the account at once;
nullotherwise. -
amortizationStartDatestring · dateNote
First date of that schedule.
-
amortizationEndDatestring · dateNote
Last date of that schedule.
-
-
customPropertiesarray of objectNote
Custom property values on the entry header.
-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
valuesarray of objectList of values. Note that this will be a single value unless the group input type supports multiple values
-
idstring · uuidUnique identifier for the object
-
groupIdstring · uuidID of the custom property group
-
groupInternalNamestringInternal name of the custom property group
-
companyIdstring · uuidID of the company
-
internalNamestringInternal name of the custom property value
-
labelstringLabel of the custom property value
-
contextstringContext/description of the custom property value
-
createdAtstring · date-timeTimestamp when the custom property value was created
-
updatedAtstring · date-timeTimestamp when the custom property value was last updated
-
-
-
businessPartnerNamestringNote
Optional vendor or customer shown on the entry.
-
businessPartnerIdstring · uuidNote
Id of that vendor or customer.
-
createdAtstring · date-timeNote
When the entry was created.
-
updatedAtstring · date-timeNote
When it was last changed.
-
totalNetTransactionAmountobjectNote
Sum of the lines' net amounts as one directed figure. Read the magnitude as the entry's size; its
dcSigncarries no accounting meaning on a balanced entry.-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
totalTaxTransactionAmountobjectNote
Sum of the lines' tax amounts, read like the net total.
-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
totalGrossTransactionAmountobjectNote
Sum of the lines' gross amounts, read like the net total.
-
amountinteger · int64Note
Unsigned integer in minor units. The direction is in
dcSign; a negative value is rejected. -
dcSignstring⚠️ This enum is not exhaustive; new values may be added in the future.
One of
DC
-
-
multiJournalEntryIdstring · uuidNote
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.
nullfor entries created through the API.