---
title: "Partial Update Intercompany Journal Entry"
method: PATCH
path: "/coa/api/intercompany-journal-entry/{id}"
tags: ["Core Accounting"]
---

# Partial Update Intercompany Journal Entry

`PATCH /coa/api/intercompany-journal-entry/{id}`

Performs a partial update of an intercompany journal entry, allowing modification of specific fields without replacing the entire entry.

        This endpoint supports partial updates to:
        - Journal entry metadata (memo, date, currency, reference number)
        - Individual transaction modifications
        - Entity exchange rate adjustments
        - Vendor, department, and tag assignments
        - Account categorizations and amounts

        Key differences from PUT:
        - Only specified fields are updated (vs. full replacement)
        - Maintains existing data for unspecified fields
        - Supports granular transaction modifications
        - Preserves audit trail and timestamps
        - Allows incremental changes without full transaction rebuilds

        Validation requirements:
        - Modified transactions must maintain entity balance (debits = credits)
        - Cannot modify entries in closed accounting periods
        - All referenced accounts, vendors, departments must be active
        - Exchange rates must be valid for multi-currency transactions
        - Account assignments must be appropriate for transaction types

## Path parameters

- `id` integer, required

## Request body

- PatchedIntercompanyJournalEntry
  - `id` integer
  - `transactions` ChartTransaction[]
    - `id` integer, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required
    - `entity_name` string, required
    - `entity_currency` string, required
    - `account_name` string, nullable, required — Combines account number and name in the format "number - name"
    - `account_number` string, required
    - `vendor_name` string, required — Name of the linked Campfire Vendor object. Distinct from `merchant_name`, which is free text stored directly on the transaction and not linked to a Campfire object.
    - `vendor_id` string, required
    - `department_name` string, required
    - `department_code` string, required
    - `parent_department_name` string, required
    - `parent_department` integer, required
    - `tags` object[], required
    - `journal` integer, required
    - `journal_order` string, required
    - `journal_memo` string, required
    - `journal_type` string, required
    - `intercompany_journal` integer, required
    - `created_automatically` boolean, required
    - `journal_attachments` File[], required
      - `id` integer, required
      - `customer` integer, required
      - `created_at` string, date-time, required
      - `created_by` integer, nullable, required
      - `created_by_name` string, required
      - `created_by_email` string, required
      - `last_modified_at` string, date-time, required
      - `name` string, required
      - `url` string, required
      - `s3_content_type` string, nullable
      - `s3_content_length` integer, nullable
      - `s3_path` string, required
      - `object_id` integer, nullable
      - `app` string, required
      - `model` string, required
      - `is_deleted` boolean, required
      - `deleted_at` string, date-time, nullable, required
    - `journal_type_name` string, nullable, required
    - `invoice` string, nullable, required
    - `bill` string, nullable, required
    - `date_month` string, nullable, required — Two-digit month (MM) derived from `posted_at`, the transaction date.
    - `date_year` string, nullable, required — Four-digit year (YYYY) derived from `posted_at`, the transaction date.
    - `balance_after_transaction` number, double, required
    - `bank_account` string, required
    - `bank_account_name` string, required
    - `account` integer, nullable
    - `last_modified_by_name` string, required
    - `account_type` string, required
    - `account_subtype` string, required
    - `parent_account_name` string, required
    - `files` string, required
    - `invoice_id` integer, nullable, required
    - `invoice_number` string, nullable, required
    - `bill_id` integer, nullable, required
    - `bill_number` string, nullable, required
    - `file_names` string, required
    - `has_matches` boolean, required
    - `has_ai` boolean, required
    - `has_rules` boolean, required
    - `has_merges` boolean, required
    - `has_fixed_asset_rule_matches` boolean, required
    - `primary_action_type` string, required
    - `suggested_account` integer, nullable, required
    - `suggested_account_name` string, nullable, required
    - `suggested_account_number` string, nullable, required
    - `amount` number, double, required — Amount in consolidated currency (the currency of the root entity).
    - `amount_native` number, double, required — Amount in the currency the transaction was originally created in.
    - `amount_book` number, double, required — Amount in the currency of the entity this transaction belongs to.
    - `amortization_schedule` AmortizationSchedule[], required
      - `id` integer
      - `amortization` integer
      - `accounting_amortization` integer
      - `journal_entry_order` string, required
      - `date` string, date, required
      - `amount` number, double, required
      - `posted` boolean
      - `customer` integer, required
      - `transaction` integer, nullable
      - `bill_line` integer, nullable
      - `debit_memo_line` integer, nullable
      - `journal_entry` integer, nullable
    - `linked_amortizations` object[], required
    - `created_fixed_assets` object[], required — Return all fixed assets this transaction is linked to — via the legacy `purchase_transaction` FK (reverse: `created_fixed_assets`) AND the new `purchase_transactions` M2M (reverse: `linked_fixed_assets`). Dual-write keeps the FK target in the M2M, but using both covers any pre-backfill drift and surfaces non-primary M2M-only links (e.g. the secondary txns in a multi-txn fixed asset, or a split-resized txn).
    - `reconciliation_report` string, required
    - `opposing_account_name` string, required
    - `opposing_account_number` string, required
    - `tax_rate` integer, nullable
    - `apply_both_sides` boolean
    - `transaction_match_id` integer, nullable
    - `transaction_id` string, uuid, required
    - `debit_amount` number, double, nullable
    - `credit_amount` number, double, nullable
    - `debit_amount_book` number, double, nullable
    - `credit_amount_book` number, double, nullable
    - `debit_amount_native` number, double, nullable
    - `credit_amount_native` number, double, nullable
    - `currency` string
    - `exchange_rate` number, double, nullable
    - `exchange_rate_book` number, double, nullable
    - `posted_at` string, date, nullable
    - `merchant_name` string, nullable
    - `bank_description` string, nullable
    - `tag_ids` integer[]
    - `tag_group_ids` integer[]
    - `note` string, nullable
    - `receipt_url` string, uri, nullable
    - `balance_before_transaction` number, double, nullable, required
    - `created_at` string, date-time, required
    - `external_id` string, nullable
    - `needs_review` boolean
    - `last_modified_at` string, date-time, required
    - `draft_matches` unknown
    - `last_lam_prediction_attempt` string, date-time, nullable
    - `customer` integer, required
    - `entity` integer, required
    - `source_entity` integer, nullable
    - `parent_bank_transaction` integer, nullable
    - `vendor` integer, nullable
    - `department` integer, nullable
    - `last_modified_by` integer, nullable
  - `attachments` File[]
    - `id` integer, required
    - `customer` integer, required
    - `created_at` string, date-time, required
    - `created_by` integer, nullable, required
    - `created_by_name` string, required
    - `created_by_email` string, required
    - `last_modified_at` string, date-time, required
    - `name` string, required
    - `url` string, required
    - `s3_content_type` string, nullable
    - `s3_content_length` integer, nullable
    - `s3_path` string, required
    - `object_id` integer, nullable
    - `app` string, required
    - `model` string, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required
  - `reversal_of_order` string
  - `reversals` object[]
  - `reversal_date` string, date, nullable
  - `order` string
  - `journals_to_delete` integer[]
  - `exchange_rates` unknown
  - `source` string, nullable
  - `source_file` integer, nullable
  - `close_task_id` string
  - `chat_uuid` string, uuid
  - `is_deleted` boolean
  - `deleted_at` string, date-time, nullable
  - `type` 'bill' | 'bill_payment' | 'bill_prepayment' | 'check' | 'credit_card' | 'credit_memo' | 'credit_memo_payment' | 'debit_memo' | 'debit_memo_payment' | 'deposit' | 'expense' | 'invoice' | 'intercompany_journal' | 'invoice_payment' | 'journal_entry' | 'lease' | 'payment' | 'receive_payment' | 'refund' | 'revenue_recognition' | 'sales_receipt' | 'transfer' | 'vendor_credit' | 'void_bill' | 'void_bill_payment' | 'void_invoice_payment' | 'void_credit_memo' | 'void_credit_memo_payment' | 'void_debit_memo_payment' | 'void_invoice' | 'elimination' | 'revaluation' | 'asset_reclassification' — * `bill` - Bill * `bill_payment` - Bill Payment * `bill_prepayment` - Bill Prepayment * `check` - Check * `credit_card` - Credit Card * `credit_memo` - Credit Memo * `credit_memo_payment` - Credit Memo Payment * `debit_memo` - Debit Memo * `debit_memo_payment` - Debit Memo Payment * `deposit` - Deposit * `expense` - Expense * `invoice` - Invoice * `intercompany_journal` - Intercompany Journal * `invoice_payment` - Invoice Payment * `journal_entry` - Journal Entry * `lease` - Lease * `payment` - Payment * `receive_payment` - Receive Payment * `refund` - Refund * `revenue_recognition` - Revenue Recognition * `sales_receipt` - Sales Receipt * `transfer` - Transfer * `vendor_credit` - Vendor Credit * `void_bill` - Void Bill * `void_bill_payment` - Void Bill Payment * `void_invoice_payment` - Void Invoice Payment * `void_credit_memo` - Void Credit Memo * `void_credit_memo_payment` - Void Credit Memo Payment * `void_debit_memo_payment` - Void Debit Memo Payment * `void_invoice` - Void Invoice * `elimination` - Elimination * `revaluation` - Revaluation * `asset_reclassification` - Asset Reclassification
  - `journal_id` string, uuid
  - `memo` string, nullable
  - `currency` string
  - `created_automatically` boolean
  - `date` string, date
  - `ref_number` string, nullable
  - `created_at` string, date-time
  - `last_modified_at` string, date-time
  - `customer` integer
  - `reversal_of` integer, nullable
  - `entities` integer[] — Entities involved in this intercompany journal entry. Used for consolidation filtering.

## Response `200`

- IntercompanyJournalEntry
  - `id` integer, required
  - `transactions` ChartTransaction[], required
    - `id` integer, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required
    - `entity_name` string, required
    - `entity_currency` string, required
    - `account_name` string, nullable, required — Combines account number and name in the format "number - name"
    - `account_number` string, required
    - `vendor_name` string, required — Name of the linked Campfire Vendor object. Distinct from `merchant_name`, which is free text stored directly on the transaction and not linked to a Campfire object.
    - `vendor_id` string, required
    - `department_name` string, required
    - `department_code` string, required
    - `parent_department_name` string, required
    - `parent_department` integer, required
    - `tags` object[], required
    - `journal` integer, required
    - `journal_order` string, required
    - `journal_memo` string, required
    - `journal_type` string, required
    - `intercompany_journal` integer, required
    - `created_automatically` boolean, required
    - `journal_attachments` File[], required
      - `id` integer, required
      - `customer` integer, required
      - `created_at` string, date-time, required
      - `created_by` integer, nullable, required
      - `created_by_name` string, required
      - `created_by_email` string, required
      - `last_modified_at` string, date-time, required
      - `name` string, required
      - `url` string, required
      - `s3_content_type` string, nullable
      - `s3_content_length` integer, nullable
      - `s3_path` string, required
      - `object_id` integer, nullable
      - `app` string, required
      - `model` string, required
      - `is_deleted` boolean, required
      - `deleted_at` string, date-time, nullable, required
    - `journal_type_name` string, nullable, required
    - `invoice` string, nullable, required
    - `bill` string, nullable, required
    - `date_month` string, nullable, required — Two-digit month (MM) derived from `posted_at`, the transaction date.
    - `date_year` string, nullable, required — Four-digit year (YYYY) derived from `posted_at`, the transaction date.
    - `balance_after_transaction` number, double, required
    - `bank_account` string, required
    - `bank_account_name` string, required
    - `account` integer, nullable
    - `last_modified_by_name` string, required
    - `account_type` string, required
    - `account_subtype` string, required
    - `parent_account_name` string, required
    - `files` string, required
    - `invoice_id` integer, nullable, required
    - `invoice_number` string, nullable, required
    - `bill_id` integer, nullable, required
    - `bill_number` string, nullable, required
    - `file_names` string, required
    - `has_matches` boolean, required
    - `has_ai` boolean, required
    - `has_rules` boolean, required
    - `has_merges` boolean, required
    - `has_fixed_asset_rule_matches` boolean, required
    - `primary_action_type` string, required
    - `suggested_account` integer, nullable, required
    - `suggested_account_name` string, nullable, required
    - `suggested_account_number` string, nullable, required
    - `amount` number, double, required — Amount in consolidated currency (the currency of the root entity).
    - `amount_native` number, double, required — Amount in the currency the transaction was originally created in.
    - `amount_book` number, double, required — Amount in the currency of the entity this transaction belongs to.
    - `amortization_schedule` AmortizationSchedule[], required
      - `id` integer
      - `amortization` integer
      - `accounting_amortization` integer
      - `journal_entry_order` string, required
      - `date` string, date, required
      - `amount` number, double, required
      - `posted` boolean
      - `customer` integer, required
      - `transaction` integer, nullable
      - `bill_line` integer, nullable
      - `debit_memo_line` integer, nullable
      - `journal_entry` integer, nullable
    - `linked_amortizations` object[], required
    - `created_fixed_assets` object[], required — Return all fixed assets this transaction is linked to — via the legacy `purchase_transaction` FK (reverse: `created_fixed_assets`) AND the new `purchase_transactions` M2M (reverse: `linked_fixed_assets`). Dual-write keeps the FK target in the M2M, but using both covers any pre-backfill drift and surfaces non-primary M2M-only links (e.g. the secondary txns in a multi-txn fixed asset, or a split-resized txn).
    - `reconciliation_report` string, required
    - `opposing_account_name` string, required
    - `opposing_account_number` string, required
    - `tax_rate` integer, nullable
    - `apply_both_sides` boolean
    - `transaction_match_id` integer, nullable
    - `transaction_id` string, uuid, required
    - `debit_amount` number, double, nullable
    - `credit_amount` number, double, nullable
    - `debit_amount_book` number, double, nullable
    - `credit_amount_book` number, double, nullable
    - `debit_amount_native` number, double, nullable
    - `credit_amount_native` number, double, nullable
    - `currency` string
    - `exchange_rate` number, double, nullable
    - `exchange_rate_book` number, double, nullable
    - `posted_at` string, date, nullable
    - `merchant_name` string, nullable
    - `bank_description` string, nullable
    - `tag_ids` integer[]
    - `tag_group_ids` integer[]
    - `note` string, nullable
    - `receipt_url` string, uri, nullable
    - `balance_before_transaction` number, double, nullable, required
    - `created_at` string, date-time, required
    - `external_id` string, nullable
    - `needs_review` boolean
    - `last_modified_at` string, date-time, required
    - `draft_matches` unknown
    - `last_lam_prediction_attempt` string, date-time, nullable
    - `customer` integer, required
    - `entity` integer, required
    - `source_entity` integer, nullable
    - `parent_bank_transaction` integer, nullable
    - `vendor` integer, nullable
    - `department` integer, nullable
    - `last_modified_by` integer, nullable
  - `attachments` File[], required
    - `id` integer, required
    - `customer` integer, required
    - `created_at` string, date-time, required
    - `created_by` integer, nullable, required
    - `created_by_name` string, required
    - `created_by_email` string, required
    - `last_modified_at` string, date-time, required
    - `name` string, required
    - `url` string, required
    - `s3_content_type` string, nullable
    - `s3_content_length` integer, nullable
    - `s3_path` string, required
    - `object_id` integer, nullable
    - `app` string, required
    - `model` string, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required
  - `reversal_of_order` string, required
  - `reversals` object[], required
  - `reversal_date` string, date, nullable
  - `order` string
  - `journals_to_delete` integer[]
  - `exchange_rates` unknown
  - `source` string, nullable
  - `source_file` integer, nullable
  - `close_task_id` string
  - `chat_uuid` string, uuid
  - `is_deleted` boolean, required
  - `deleted_at` string, date-time, nullable, required
  - `type` 'bill' | 'bill_payment' | 'bill_prepayment' | 'check' | 'credit_card' | 'credit_memo' | 'credit_memo_payment' | 'debit_memo' | 'debit_memo_payment' | 'deposit' | 'expense' | 'invoice' | 'intercompany_journal' | 'invoice_payment' | 'journal_entry' | 'lease' | 'payment' | 'receive_payment' | 'refund' | 'revenue_recognition' | 'sales_receipt' | 'transfer' | 'vendor_credit' | 'void_bill' | 'void_bill_payment' | 'void_invoice_payment' | 'void_credit_memo' | 'void_credit_memo_payment' | 'void_debit_memo_payment' | 'void_invoice' | 'elimination' | 'revaluation' | 'asset_reclassification' — * `bill` - Bill * `bill_payment` - Bill Payment * `bill_prepayment` - Bill Prepayment * `check` - Check * `credit_card` - Credit Card * `credit_memo` - Credit Memo * `credit_memo_payment` - Credit Memo Payment * `debit_memo` - Debit Memo * `debit_memo_payment` - Debit Memo Payment * `deposit` - Deposit * `expense` - Expense * `invoice` - Invoice * `intercompany_journal` - Intercompany Journal * `invoice_payment` - Invoice Payment * `journal_entry` - Journal Entry * `lease` - Lease * `payment` - Payment * `receive_payment` - Receive Payment * `refund` - Refund * `revenue_recognition` - Revenue Recognition * `sales_receipt` - Sales Receipt * `transfer` - Transfer * `vendor_credit` - Vendor Credit * `void_bill` - Void Bill * `void_bill_payment` - Void Bill Payment * `void_invoice_payment` - Void Invoice Payment * `void_credit_memo` - Void Credit Memo * `void_credit_memo_payment` - Void Credit Memo Payment * `void_debit_memo_payment` - Void Debit Memo Payment * `void_invoice` - Void Invoice * `elimination` - Elimination * `revaluation` - Revaluation * `asset_reclassification` - Asset Reclassification
  - `journal_id` string, uuid
  - `memo` string, nullable
  - `currency` string
  - `created_automatically` boolean
  - `date` string, date
  - `ref_number` string, nullable
  - `created_at` string, date-time, required
  - `last_modified_at` string, date-time, required
  - `customer` integer, required
  - `reversal_of` integer, nullable
  - `entities` integer[] — Entities involved in this intercompany journal entry. Used for consolidation filtering.

---

[API](https://skmtc.net/campfire/apis/campfire-developer-apis.md) · [All operations](https://skmtc.net/campfire/apis/campfire-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/campfire/campfire-developer-apis/versions/6945ebc3180e/schema)
