> ## Documentation Index
> Fetch the complete documentation index at: https://docs.campfire.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating Journal Entries

> How to create single, and intercompany journal entries in Campfire

<Info>All requests in this flow assume you have a valid access token attached in your request headers. See our [authentication guide](/quickstart) for more information.</Info>

## Creating a Journal Entry

This section will guide you through the process of creating a single entity journal entry in Campfire.

<Steps>
  <Step title="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:

    * [Accounts (Required)](/api-reference/company-objects/list-chart-accounts)
    * [Entities (Required)](/api-reference/settings/list-chart-entities)
    * [Vendors (Optional)](/api-reference/company-objects/list-vendors)
    * [Departments (Optional)](/api-reference/company-objects/list-departments)
    * [Custom Dimension Fields (Optional)](/api-reference/company-objects/list-custom-dimensions)
  </Step>

  <Step title="Assemble the request">
    We can now create our request body by filling in the related fields. Here are the required fields:

    | 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`                       |

    **Transaction Fields:**

    | 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"`           |

    <Info>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.</Info>

    Example request body:

    ```json theme={null}
    {
        "date": "2025-08-01",
        "type": "journal_entry",
        "transactions": [
            {
                "tags": [
                    {
                        "id": "7737"
                    }
                ],
                "account": "180564",
                "debit_amount_native": 1000,
                "debit_amount_book": 1000,
                "debit_amount": 1000,
                "bank_description": "Line 1 Desc",
                "vendor": "34182",
                "department": "3613"
            },
            {
                "tags": [
                    {
                        "id": "8330"
                    }
                ],
                "account": "8856",
                "credit_amount_native": 1000,
                "credit_amount_book": 1000,
                "credit_amount": 1000,
                "bank_description": "Line 2 Desc",
                "vendor": "111883",
                "department": "3436"
            }
        ],
        "memo": "Journal Memo",
        "reversal_date": "2025-08-02",
        "entity": "54",
        "currency": "USD",
        "exchange_rate_book": 1,
        "exchange_rate": 1
    }
    ```
  </Step>

  <Step title="Post the journal entry">
    Now that we have the request we can post it via the [Create Journal Entry](/api-reference/core-accounting/create-journal-entry) endpoint.

    Congrats! You've created your first journal entry!
  </Step>
</Steps>

## 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.

<Steps>
  <Step title="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:

    * [Accounts (Required)](/api-reference/company-objects/list-chart-accounts)
    * [Entities (Required)](/api-reference/settings/list-chart-entities)
    * [Vendors (Optional)](/api-reference/company-objects/list-vendors)
    * [Departments (Optional)](/api-reference/company-objects/list-departments)
    * [Custom Dimension Fields (Optional)](/api-reference/company-objects/list-custom-dimensions)
  </Step>

  <Step title="Assemble the request">
    We can now create our intercompany request body by filling in the related fields. Here are the required fields:

    <Warning>For intercompany journals, you must specify an `entity` for each transaction AND include an `entities` section with exchange rates for each entity involved.</Warning>

    | 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   |

    **Transaction Fields:**

    | 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"`           |

    **Entities Section:**

    | 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` |

    <Info>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.</Info>

    Example request body:

    ```json theme={null}
    {
        "date": "2025-07-01",
        "type": "journal_entry",
        "transactions": [
            {
                "tags": [
                    {
                        "id": "8330"
                    }
                ],
                "entity": 54,
                "account": "180564",
                "debit_amount_native": 1000,
                "debit_amount_book": 1000,
                "debit_amount": 1000,
                "bank_description": "Line 1 Desc",
                "vendor": "111883",
                "department": "3046"
            },
            {
                "tags": [
                    {
                        "id": "8211"
                    }
                ],
                "entity": 5,
                "account": "7409",
                "credit_amount_native": 1000,
                "credit_amount_book": 728.33,
                "credit_amount": 1000,
                "bank_description": "Line 2 Desc",
                "vendor": "22327",
                "department": "3436"
            },
            {
                "entity": 5,
                "tags": [],
                "debit_amount_native": 1000,
                "debit_amount_book": 728.33,
                "debit_amount": 1000,
                "account": "7405",
                "bank_description": "Line 3 Desc"
            },
            {
                "entity": 54,
                "tags": [],
                "credit_amount_native": 1000,
                "credit_amount_book": 1000,
                "credit_amount": 1000,
                "account": "8856",
                "bank_description": "Line 4 Desc"
            }
        ],
        "memo": "Interco Journal Desc",
        "currency": "USD",
        "reversal_date": "2025-07-02",
        "entities": {
            "5": {
                "id": 5,
                "exchange_rate": 1.373,
                "exchange_rate_book": 0.728332
            },
            "54": {
                "id": 54,
                "exchange_rate": 1,
                "exchange_rate_book": 1
            }
        }
    }
    ```
  </Step>

  <Step title="Post the intercompany journal entry">
    Now that we have the request we can post it via the [Create Intercompany Journal Entry](/api-reference/core-accounting/create-intercompany-journal-entry) endpoint.

    Congrats! You've created your first intercompany journal entry!
  </Step>
</Steps>
