Update an accounting entry

Changed on

Code an entry: its memo, dimensions, custom fields and, for transaction entries, how it's split into lines. Only the fields you send change, and the entry's status stays the same.

patch/v2/accounting/entries/{entryId}

Request

  • Base URL
    https://api.slash.com
  • URL
    https://api.slash.com/v2/accounting/entries/{entryId}
  • Auth
    API key in header X-API-Key

Request body

memostring nullable

The memo posted with the entry. Transaction entries only; it is also written back to the transaction's memo. Bill entries take theirs from the bill.

dimensionsobject

Coding applied across the entry, by dimension key. On a transaction entry account is set on every editable line and every other dimension on every line. On a bill entry these are the bill-level values: vendor and subsidiary land on the accounts-payable line, account is the expense account of every line, and any dimension named in lineItemLevelDimensions must be coded per line instead. A value id sets the dimension, null clears it, and an omitted key leaves it alone.

customFieldsobject nullable

Replaces the entry-level custom field values, keyed by the field's fieldKey; null clears them all. Unknown keys and values of the wrong type are custom_field_value_invalid. Missing required fields do not fail the update; they block mark-ready and sync instead.

lineItemLevelDimensionsstring[]

Bill entries only. The dimensions coded per line rather than once for the bill: any of account, class, department, location, project, customer. Replaces the current list.

Example request

{
  "memo": "AWS hosting, September",
  "dimensions": {
    "vendor": "accounting_vendor_4tl6n9jottdx",
    "department": "accounting_department_5um7o0kputtey"
  },
  "customFields": {
    "cf_approved_by": "jane@acme.com"
  },
  "lineItems": [
    {
      "id": "accounting_line_item_2rj4l7hmrrrcv",
      "description": "AWS hosting",
      "transactionId": "agg_tx_2rj4l7hmrrrcv",
      "dimensions": {
        "account": "accounting_account_2rj4l7hmrrrcv",
        "class": "accounting_class_3sk5m8inssscw"
      },
      "customFields": {
        "cf_cost_center": "CC-100"
      }
    }
  ],
  "lineItemLevelDimensions": [
    "class"
  ]
}

Response

The entry as coded.

idstring required

Entry id with the accounting_entry_ prefix.

connectionIdstring required

The accounting connection the entry belongs to.

type'unknown' | 'expense' | 'bank_transfer' | 'bank_deposit' | 'journal_entry' | 'expense_card' | 'expense_card_refund' | 'bill_payment' | 'bill' required

What the entry represents on the platform. expense_card and expense_card_refund come from card transactions; bank_transfer, bank_deposit, and expense from account transactions; journal_entry from transactions posted as journals; bill is the accounts-payable bill and bill_payment the transaction that settles one. unknown entries have not yet been classified.

status'in_review' | 'ready_to_sync' | 'pending_sync' | 'syncing' | 'synced' | 'archived' | 'failed' required

in_review until a user or rule marks it ready; ready_to_sync when coding is complete; pending_sync and syncing while a sync is queued or in flight; synced once the platform holds it; failed when the platform rejected it (see lastSyncError); archived when excluded from the books.

statusUpdatedAtstring date-time required

When status last changed.

datestring date required

Accounting date as YYYY-MM-DD: the settlement date of the source transaction or the invoice date of the bill.

memostring

Memo sent to the platform.

transactionIdsstring[] required

Every transaction the entry covers. Usually one; internal transfers and card repayments combine two.

lineItemLevelDimensionsstring[] required

For bill entries, the dimension keys coded per line item. Dimensions not listed take the same value on every line. Empty for transaction entries.

entryLevelDimensionsstring[] required

Dimension keys the platform records once per entry rather than per line item. Every line item carries the same value for these, and a split cannot code them differently across its lines.

unsupportedDimensionsstring[] required

Dimension keys the platform does not accept for this entry type. Any value set on them is dropped at sync time.

customFieldsobject required

Raw values of entry level custom fields, keyed by the field's fieldKey from GET /v2/accounting/dimensions.

externalIdstring

The platform's id for the synced record. Present once status is synced.

externalUrlstring uri

A link to the record in the platform, when the platform provides one.

createdAtstring date-time required
updatedAtstring date-time required

Example response

{
  "id": "accounting_entry_2rj4l7hmrrrcv",
  "connectionId": "accounting_connection_2rj4l7hmrrrcv",
  "statusUpdatedAt": "2026-09-19T14:05:22.000Z",
  "date": "2026-09-18",
  "memo": "AWS hosting, September",
  "source": {
    "id": "agg_tx_2rj4l7hmrrrcv"
  },
  "transactionIds": [
    "agg_tx_2rj4l7hmrrrcv"
  ],
  "lineItems": [
    {
      "id": "accounting_line_item_2rj4l7hmrrrcv",
      "description": "AWS hosting",
      "transactionId": "agg_tx_2rj4l7hmrrrcv",
      "dimensions": {
        "account": {
          "id": "accounting_account_2rj4l7hmrrrcv",
          "name": "6100 Software Subscriptions"
        },
        "class": {
          "id": "accounting_class_3sk5m8inssscw",
          "name": "Engineering"
        }
      },
      "customFields": {
        "cf_cost_center": "CC-100"
      }
    }
  ],
  "lineItemLevelDimensions": [
    "account",
    "class"
  ],
  "entryLevelDimensions": [
    "department"
  ],
  "unsupportedDimensions": [
    "customer"
  ],
  "customFields": {
    "cf_approved_by": "jane@acme.com"
  },
  "attachments": [
    {
      "id": "accounting_attachment_2rj4l7hmrrrcv",
      "documentId": "st_2rj4l7hmrrrcv",
      "filename": "receipt-4471.pdf",
      "contentType": "application/pdf"
    }
  ],
  "externalId": "1234",
  "externalUrl": "https://app.qbo.intuit.com/app/expense?txnId=1234",
  "lastSyncError": {
    "code": "qbo_invalid_account_type",
    "message": "The selected account type cannot be used for this type of transaction.",
    "title": "Invalid account type",
    "suggestion": "Use an Expense, Cost of Goods Sold, or Other Current Asset type account instead."
  },
  "createdAt": "2026-09-18T20:11:02.000Z",
  "updatedAt": "2026-09-19T14:05:22.000Z"
}

Changes