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

# Custom journal entry object

A Custom Journal Entry represents a [journal entry](/api-reference/ledger/chart#journal-entry-object) that is manually created by your system to reflect an accounting activity.

Custom Journal Entries can be used to reflect any kind of accounting activity that isn't reflected in Layer's standard (Accounts Receivable / Accounts Payable / Bank Transactions / etc) workflows.

Note that Custom Journal Entries contain metadata about a journal entry and are not journal entries in and of themselves.

### Attributes

<ParamField body="id" type="string" required="true">
  Unique identifier for the custom journal entry (the domain object, as opposed to the underlying ledger-layer journal entry).
</ParamField>

<ParamField body="type" type="string" required="true">
  Resource type. Value will be "Custom\_Journal\_Entry".
</ParamField>

<ParamField body="external_id" type="string">
  Unique ID of the custom journal entry in your system for linking purposes and idempotency.
</ParamField>

<ParamField body="business_id" type="string" required="true">
  ID of the Business that generated the custom journal entry.
</ParamField>

<ParamField body="created_by" type="string" required="true">
  Identifier of the user or system that created the journal entry.
</ParamField>

<ParamField body="entry_id" type="string" required="true">
  ID of the underlying ledger entry.
</ParamField>

<ParamField body="customer" type="Customer object">
  The [Customer Object](/api-reference/customer/customer) associated with this journal entry, if any.
</ParamField>

<ParamField body="vendor" type="Vendor object">
  The [Vendor Object](/api-reference/vendor/vendor) associated with this journal entry, if any.
</ParamField>

<ParamField body="line_items" type="array of CustomJournalEntryLineItem objects" required="true">
  Line items making up the custom journal entry.
  Array of [Custom Journal Entry Line Items](/api-reference/custom-journal-entries/custom-journal-entry#custom-journal-entry-line-item-object) comprising the Journal Entry.
</ParamField>

<ParamField body="entry" type="Journal Entry object">
  The [Journal Entry Object](/api-reference/ledger/chart#journal-entry-object) associated with this Custom Journal Entry.
</ParamField>

<ParamField body="transaction_tags" type="Array of Tags">
  Tags associated with the custom journal entry.

  <Expandable title="Tag properties">
    <ResponseField name="key" required="true" type="string">
      The tag's key
    </ResponseField>

    <ResponseField name="value" required="true" type="string">
      The tag's value
    </ResponseField>

    <ResponseField name="created_at" required="true" type="ISO8601 timestamp">
      When the tag was created
    </ResponseField>

    <ResponseField name="updated_at" required="true" type="ISO8601 timestamp">
      When the tag was last updated
    </ResponseField>

    <ResponseField name="deleted_at" type="ISO8601 timestamp">
      When the tag was deleted
    </ResponseField>
  </Expandable>
</ParamField>

<ParamField body="memo" type="string">
  Memo for any text you would like to associate with the bill (for example, to display to end users).
</ParamField>

<ParamField body="metadata" type="object">
  Arbitrary custom metadata in JSON format with a size limit of 1KB.
</ParamField>

<ParamField body="reference_number" type="string">
  Any (typically user-visible) identifier you would like to associate with the bill. Can be used to filter when listing bills.
</ParamField>

#### Custom Journal Entry Line Item object

A domain-level object that stores additional metadata about one of the line items of the underlying journal entry

<ParamField body="id" type="string" required="true">
  Unique identifier for the line item.
</ParamField>

<ParamField body="external_id" type="string">
  External ID of the line item in your system.
</ParamField>

<ParamField body="memo" type="string">
  Optional memo for the line item.
</ParamField>

<ParamField body="line_item_id" type="string" required="true">
  ID of the line item in the ledger.
</ParamField>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": {
      "type": "Custom_Journal_Entry",
      "id": "c635d706-bf18-41a1-b4ea-83a4768b6e14",
      "business_id": "188eb399-f171-4849-861c-5c02d91f800b",
      "external_id": "journal-entry-1",
      "created_by": "user-123",
      "memo": "Q1 Adjustment for Deferred Revenue",
      "entry_id": "695f6e4f-ddbb-4930-98cc-6496cd719a11",
      "customer": {
        "id": "a4c38874-8c01-4986-b8d0-4f159a52dd39",
        "external_id": "customer-1",
        "individual_name": null,
        "company_name": "Acme Corp",
        "email": "billing@acme.com",
        "mobile_phone": null,
        "office_phone": null,
        "address_string": null,
        "notes": null,
        "status": "ACTIVE"
      },
      "vendor": null,
      "line_items": [
        {
          "id": "733de30f-db72-4d52-98c5-fe070d4433f7",
          "external_id": "journal-line-item-1",
          "memo": "Deferred revenue recognition",
          "account_identifier": {
            "type": "AccountId",
            "id": "80b708b5-7b27-456c-9fb1-b8b918241908"
          },
          "amount": 100000,
          "direction": "DEBIT",
          "line_item_id": "ledger-line-item-789"
        },
        {
          "id": "854fe31f-ec73-5e63-09d6-gf171e5544g8",
          "external_id": "journal-line-item-2",
          "memo": "Revenue recognition",
          "account_identifier": {
            "type": "AccountId",
            "id": "90c819c6-8c38-567d-0gb2-c9c029352a19"
          },
          "amount": 100000,
          "direction": "CREDIT",
          "line_item_id": "ledger-line-item-790"
        }
      ],
      "entry": {
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "ledger_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "agent": "API",
            "entry_type": "BANK",
            "date": "2023-11-07T05:31:56Z",
            "entry_at": "2023-11-07T05:31:56Z",
            "reversal_of_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "reversal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "line_items": [
              {
                "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
                "entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
                "account": {
                  "id": {
                    "type": "AccountId",
                    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
                  },
                  "name": "Current Assets",
                  "stable_name": {
                    "type": "StableName",
                    "stable_name": "CURRENT_ASSETS"
                  },
                  "normality": "CREDIT",
                  "account_type": {
                    "value": "ASSET",
                    "display_name": "Asset"
                  },
                  "account_subtype": {
                    "value": "CURRENT",
                    "display_name": "Current Assets"
                  }
                },
                "amount": 123,
                "direction": "CREDIT",
                "entry_at": "2023-11-07T05:31:56Z",
                "createdAt": "2023-11-07T05:31:56Z"
              }
            ]
          },
      "transaction_tags": [
        {
          "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "key": "department",
          "value": "sales",
          "dimension_display_name": "Department",
          "value_display_name": "Sales Team",
          "dimension_id": "d1e2f3a4-b5c6-7890-abcd-ef1234567890",
          "definition_id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
          "created_at": "2024-02-27T02:16:40.389772Z",
          "updated_at": "2024-02-27T02:16:40.389772Z",
          "deleted_at": null,
          "archived_at": null
        }
      ]
    }
  }
  ```
</ResponseExample>
