Journal Entries

Create JournalEntry record

Changed on

Create a new JournalEntry record with the provided data. Validates all required fields and business rules.

Side effects

  • If an approval workflow matches this request, DualEntry can set record_status back to draft.
  • If a line sets eliminated to true, DualEntry writes an elimination transaction in the elimination company, with the date, memo, and status of the entry. If the entry has a reversal, DualEntry writes a second elimination transaction for that reversal, with the date, memo, and status of the reversal.
post/public/v2/journal-entries/

Request

  • Base URL: https://api.dualentry.com
  • URL: https://api.dualentry.com/public/v2/journal-entries/
  • Auth: none declared

Query parameters

apply_default_classificationsboolean

When false, store submitted line classifications, including an empty list. When omitted, organization defaults apply to new lines with omitted or empty classifications only when the organization setting is enabled.

Headers

Idempotency-Keystring

Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422.

Request body

datestring date required
transaction_datestring date nullable
custom_fieldsobject[] nullable
company_idinteger required
memostring nullable
reference_numberstring nullable
currency_iso_4217_code'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL'
reversal_datestring date nullable
related_journal_entry_numberinteger nullable

Number of the journal entry this entry reverses or relates to.

accrual_template_idinteger nullable
book_idsinteger[] nullable

Accounting book ids. Omit to assign every active book.

record_status'draft' | 'posted' | 'archived'
is_adjusting_entryboolean

Marks the journal entry as an adjusting entry. Omit on update to keep the stored value.

Response

OK

book_idsinteger[] required
bank_match_statusstring nullable
reconciliation_statusstring nullable
approval_statusstring nullable
internal_idinteger required
numberinteger required
codestring nullable
transaction_idinteger required
company_idinteger required
company_namestring required
company_currencystring required
memostring required
reference_numberstring nullable
datestring date required

Posting date (GL date) - the date when the transaction is recorded in the general ledger

transaction_datestring date required

Transaction date (inception date) - the date when the transaction actually occurred

currency_iso_4217_code'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL' required
amountstring required
exchange_ratestring required
record_status'draft' | 'posted' | 'archived' required
enable_eliminationboolean
is_adjusting_entryboolean required
created_by_idinteger nullable
created_by_namestring nullable
reversal_datestring date nullable

Posting date of the reversal, or null when the journal entry is not reversed. Mirrors the reversal_date accepted on create/update.

related_journal_entry_numberinteger nullable
accrual_template_idinteger nullable
recurring_record_numberinteger nullable
created_atstring date-time required

Date and time the record was created

updated_atstring date-time required

Date and time the record was last updated

Changes

    • breaking

      the request property became not nullable

    • breaking

      the request property became required

    • info

      added the new optional query request parameter apply_default_classifications

    • info

      added the optional property ///// to the response with the status