Skip to main content
POST
Create JournalEntryV2 record

Authorizations

X-API-KEY
string
header
required

Headers

Idempotency-Key
string

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.

Maximum string length: 255

Query Parameters

apply_default_classifications
boolean
default:true

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.

Body

application/json
date
string<date>
required
company_id
integer
required
items
PublicJournalEntryItemIn · object[] | null
transaction_date
string<date> | null
custom_fields
Custom Fields · object[] | null
memo
string | null
reference_number
string | null
Required string length: 1 - 128
currency_iso_4217_code
enum<string> | null
Available options:
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
exchange_rate

If you omit this field or send null, DualEntry calculates the rate from the company base currency, the transaction currency, and the transaction date. A date of today or later uses the rate for yesterday (UTC). A rate you send is stored, including 1.0.

reversal_date
string<date> | null
reversal_aging_overrides
JournalEntryReversalAgingOverrideIn · object[] | null
related_journal_entry_number
integer | null

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

accrual_template_id
integer | null
book_ids
integer[] | null

Accounting book ids. Omit to assign every active book.

attachments
AttachmentSchemaOut · object[]
record_status
enum<string>
default:posted
Available options:
draft,
posted,
archived
is_adjusting_entry
boolean
default:false

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

Response

OK

book_ids
integer[]
required
internal_id
integer
required
number
integer
required
transaction_id
integer
required
company_id
integer
required
company_name
string
required
company_currency
string
required
memo
string
required
date
string<date>
required

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

transaction_date
string<date>
required

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

currency_iso_4217_code
enum<string>
required
Available options:
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
amount
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
exchange_rate
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,16}0*$
record_status
enum<string>
required
Available options:
draft,
posted,
archived
is_adjusting_entry
boolean
required
created_at
string<date-time>
required

Date and time the record was created

updated_at
string<date-time>
required

Date and time the record was last updated

custom_fields
CustomFieldValuePairOutputSchema · object[]
attachments
PublicAttachmentSchemaOut · object[]
reversal_items
PublicJournalEntryItemOut · object[]
deprecated

Deprecated: superseded by reversal_date plus reversal_line_id/reversal_entry_id on each line in items. Capped at 100 rows; a reversal always mirrors every line, so lines_count is also its total.

items
PublicJournalEntryV2ItemOut · object[]
bank_match_status
string | null
reconciliation_status
string | null
created_by
AuditActorSchemaOut · object | null

Schema for audit actor information.

updated_by
AuditActorSchemaOut · object | null

Schema for audit actor information.

approval_status
string | null
next_approvers
ApproverDictSchema · object[] | null
rejected_by
RejectedBySchema · object | null

Schema for rejector information including rejection reason.

code
string | null
reference_number
string | null
enable_elimination
boolean
default:false
created_by_id
integer | null
created_by_name
string | null
reversal_date
string<date> | null

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_number
integer | null
accrual_template_id
integer | null
recurring_record_number
integer | null
has_more_lines
boolean
default:false
lines_count
integer
default:0