Edit a transaction (void-and-replace method)

Edit an existing transaction by creating a corrected version. This endpoint uses a void-and-replace strategy: 1. Voids the original POSTED transaction (status → REVERSED) 2. Creates a PENDING transaction with the original data 3. Creates a new POSTED transaction with the updated data **Key Features:** - Maintains full audit trail with transaction history - Preserves vendor and bank account relationships - Updates vector embeddings for AI search - Works seamlessly with QBO-synced transactions (synced via /v1/qbo/transactions) - Supports both camelCase and snake_case field names for backward compatibility **QBO Integration Compatibility:** This endpoint can be used to edit transactions that were: - Manually created via POST /v1/transactions - Synced from QuickBooks Online via GET /v1/qbo/transactions - Imported via CSV bulk import The void-and-replace method ensures QuickBooks compatibility and maintains proper accounting standards for transaction corrections. **Use Cases:** - Fix incorrect categorization (wrong debit/credit accounts) - Update transaction descriptions - Correct accounting errors while preserving history - Recategorize imported QBO transactions

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Query parameters

entityIdstringOptional
Optional entity ID for validation

Request

This endpoint expects an object.
idstringRequired

The ID of the transaction to edit (can be from QBO or internal)

debitAccountIdstringOptional

ID of the ledger account to debit (camelCase)

debit_account_idstringOptional

ID of the ledger account to debit (snake_case, for backward compatibility)

creditAccountIdstringOptional

ID of the ledger account to credit (camelCase)

credit_account_idstringOptional

ID of the ledger account to credit (snake_case, for backward compatibility)

descriptionstringOptional
Updated transaction description

Response

Transaction edited successfully with full transaction history
transactionobject or null
The new POSTED transaction with updated data
updateResultobject or null

Details of the void-and-replace operation

Errors