All requests in this flow assume you have a valid access token attached in your request headers. See our authentication guide for more information.
Creating a Journal Entry
This section will guide you through the process of creating a single entity journal entry in Campfire.1
Fetch related data
We’ll need to grab some object references for related objects to create our journal. We’ll need to pass in the id’s of the related objects where applicable in the journal creation request. Linked here are the filter endpoints for the applicable objects. These include:
2
Assemble the request
We can now create our request body by filling in the related fields. Here are the required fields:
Transaction Fields:
Example request body:
Field | Description | Example |
---|---|---|
date | Journal entry date in YYYY-MM-DD format | "2025-08-01" |
type | Journal entry type | "journal_entry" |
transactions | Array of transaction items for the journal | See transaction fields below |
memo | Journal entry memo | "Journal Memo" |
reversal_date | Reversal date in YYYY-MM-DD format, will post a reversing journal if provided (optional) | "2025-08-02" |
entity | ID from entity | "54" |
currency | ISO Currency code of the journal | "USD" |
exchange_rate_book | Exchange rate between transactional and entity currency (auto-computed if not provided) | 1.23 |
exchange_rate | Exchange rate between entity and consolidation currency (auto-computed if not provided) | 1.23 |
Field | Description | Example |
---|---|---|
tags | Array of custom dimension field IDs (optional) | [{"id": "7737"}] |
account | ID from accounts | "180564" |
debit_amount_native | Debit amount in native currency (required) | 1000 |
debit_amount_book | Debit amount in book currency (optional: auto-computed if not provided) | 1000 |
debit_amount | Debit amount in consolidation currency (optional: auto-computed if not provided) | 1000 |
credit_amount_native | Credit amount in native currency (required) | 1000 |
credit_amount_book | Credit amount in book currency (optional: auto-computed if not provided) | 1000 |
credit_amount | Credit amount in consolidation currency (optional: auto-computed if not provided) | 1000 |
bank_description | Transaction description | "Line 1 Desc" |
vendor | ID from vendor (optional) | "34182" |
department | ID from department (optional) | "3613" |
Each transaction can only have either it’s debit (debit_amount_native, debit_amount_book, debit_amount) or credit (credit_amount_native, credit_amount_book, credit_amount) amount set. But not both.
3
Post the journal entry
Now that we have the request we can post it via the Create Journal Entry endpoint.Congrats! You’ve created your first journal entry!
Creating an Intercompany Journal Entry
This section will guide you through the process of creating an intercompany journal entry in Campfire. It is largely the same as a regular journal, with a few distinct differences.1
Fetch related data
We’ll need to grab some object references for related objects to create our journal. We’ll need to pass in the id’s of the related objects where applicable in the journal creation request. Linked here are the filter endpoints for the applicable objects. These include:
2
Assemble the request
We can now create our intercompany request body by filling in the related fields. Here are the required fields:
Transaction Fields:
Entities Section:
Example request body:
For intercompany journals, you must specify an
entity
for each transaction AND include an entities
section with exchange rates for each entity involved.Field | Description | Example |
---|---|---|
date | Journal entry date in YYYY-MM-DD format | "2025-07-01" |
type | Journal entry type | "journal_entry" |
transactions | Array of transaction items for the journal | See transaction fields below |
memo | Journal entry memo | "Interco Journal Desc" |
currency | ISO Currency code of the journal | "USD" |
reversal_date | Reversal date in YYYY-MM-DD format (optional) | "2025-07-02" |
entities | Required for intercompany: Object with exchange rates for each entity | See entities section below |
Field | Description | Example |
---|---|---|
entity | Required for intercompany: ID from entity for this transaction | 54 |
tags | Array of custom dimension field IDs (optional) | [{"id": "8330"}] |
account | ID from accounts | "180564" |
debit_amount_native | Debit amount in native currency (required) | 1000 |
debit_amount_book | Debit amount in book currency (optional: auto-computed if not provided) | 1000 |
debit_amount | Debit amount in consolidation currency (optional: auto-computed if not provided) | 1000 |
credit_amount_native | Credit amount in native currency (required) | 1000 |
credit_amount_book | Credit amount in book currency (optional: auto-computed if not provided) | 728.33 |
credit_amount | Credit amount in consolidation currency (optional: auto-computed if not provided) | 1000 |
bank_description | Transaction description | "Line 1 Desc" |
vendor | ID from vendor (optional) | "111883" |
department | ID from department (optional) | "3046" |
Field | Description | Example |
---|---|---|
id | Entity ID | 5 |
exchange_rate | Exchange rate between entity and consolidation currency | 1.373 |
exchange_rate_book | Exchange rate between transactional and entity currency | 0.728332 |
Each transaction can only have either its debit (debit_amount_native, debit_amount_book, debit_amount) or credit (credit_amount_native, credit_amount_book, credit_amount) amount set. But not both.
3
Post the intercompany journal entry
Now that we have the request we can post it via the Create Intercompany Journal Entry endpoint.Congrats! You’ve created your first intercompany journal entry!