---
title: "Reconcile bank statement transaction"
method: POST
path: "/bank-accounts/{bank_account_id}/statement-transactions/{id}/reconcile/"
tags: ["Bank Statement Transactions"]
---

# Reconcile bank statement transaction

`POST /bank-accounts/{bank_account_id}/statement-transactions/{id}/reconcile/`

## Request

- Base URL: `https://api.wafeq.com/v1`
- URL: `https://api.wafeq.com/v1/bank-accounts/{bank_account_id}/statement-transactions/{id}/reconcile/`
- Auth: API key in header `Authorization`

Reconcile this bank statement transaction against existing bank-side journal lines. Payments and adjustments must already exist. The linked total must equal the statement amount. Repeating the complete set of existing matches is safe. Returns the bank statement transaction with is_posted set to true.

## Path parameters

- `bank_account_id` string, required
- `id` string, required

## Query parameters

- `expand` string

## Request body

- ApiV1BankReconciliationWrite: Existing bank-side journal lines to match. Create payments and adjustments through their own APIs before reconciling.
  - `journal_line_items` string[], required: Public IDs of up to 100 existing journal lines on this bank account. Each line is matched in full.

## Response `200`

- ApiV1BankStatementTransaction: A transaction from the statement of a bank account.
  - `amount` number, double, required: The statement amount in the transaction.
  - `bank_account` string, required: The bank account associated with this transaction.
  - `bank_reference` string: The reference the bank assigned to the transaction.
  - `calculated_balance` number, double, required: The balance computed from all statements, including this transaction.
  - `cost_center` string, nullable: The cost center associated with this transaction, if any.
  - `created_ts` string, date-time, required: The timestamp in UTC when the transaction was created
  - `date` string, date, required: The date of the transaction on the bank statement.
  - `description` string: The description of the transaction on the bank statement.
  - `id` string, required: The unique identifier of the bank statement transaction.
  - `is_posted` boolean, required: Indicates whether the transaction has been posted to the ledger.
  - `legacy_id` string, required: [Deprecated] The legacy identifier of the bank statement transaction.
  - `modified_ts` string, date-time, required: The timestamp in UTC when the transaction was last modified
  - `project` string, nullable: The project associated with this transaction, if any.
  - `reference` string: The reference of the transaction.
  - `statement_balance` number, double, required: The balance reported by the bank after this transaction.

## Changes

- **2026-11-03** `b8f5e10134b4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wafeq/apis/wafeq-public-api/changes/bank-accounts/:bank_account_id/statement-transactions/:id/reconcile/post.md)

---

[API](https://skmtc.dev/wafeq/apis/wafeq-public-api.md) - [All operations](https://skmtc.dev/wafeq/apis/wafeq-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wafeq/apis/wafeq-public-api/revisions/b8f5e10134b4?raw)
