---
title: "List the bank-reconciliation open positions of the authenticated company."
method: GET
path: "/core/latest/bank-reconciliation/open-positions"
tags: ["Accounting"]
deprecated: true
---

# List the bank-reconciliation open positions of the authenticated company.

`GET /core/latest/bank-reconciliation/open-positions`

## Request

- Base URL: `https://api.klara.ch`
- URL: `https://api.klara.ch/core/latest/bank-reconciliation/open-positions`
- Auth: one of:
  - API key in header `X-API-KEY`
  - HTTP bearer

> **Deprecated.**

This operation remains available until <b>2027-08-14</b> and is removed after that date. Use <code>GET /core/v1/bank-reconciliation/open-positions</code> instead.<br/><br/>Returns the list of open booking-detail positions (AR / AP invoices, payments, prepayments, credit notes, general-ledger entries) of the caller's company that match the supplied filters, enriched with partner-name display, business-case message id, computed open amount and a stable booking-detail URI. Used by the bank-reconciliation UI to populate the open-position picker for a selected bank or credit-card transaction. The <code>action</code> parameter selects the multi-condition combinator: <code>search</code> (default) is OR-of-conditions, <code>filter</code> is AND-of-conditions. Tenant and company are derived from the bearer-token session — they are never accepted from the URL. The endpoint is a pure read — idempotent, no side effects. The caller must hold the <code>ACCOUNTING_GET_OPEN_POSITION</code> permission on the company in scope.

## Query parameters

- `action` 'search' | 'filter'
- `booking-type-codes` string
- `crdr-type` 'CR' | 'DR'
- `credit-card-not-reconciled` boolean
- `general-search` string
- `invoice-date` string, date
- `partner` string
- `payment-date` string, date
- `payment-date-from` string, date
- `payment-date-to` string, date
- `position-status` string
- `search-key` string
- `tags` string

## Response `200`

List of open positions matching the filters. Empty array when nothing matches.

- PublicApiSuitableOpenPosition[]
  - `id` integer: Booking-detail row id (database primary key).
  - `bookingHeaderId` integer: Id of the booking header this detail belongs to.
  - `bookingHeaderComment` string: Free-text comment of the booking header.
  - `businessCaseId` integer: Id of the parent business case.
  - `accountCode` string: Numeric account code on which the booking is posted.
  - `accountLinkDisplay` string: Localized account label.
  - `crdrType` object: Credit / debit indicator.
  - `description` string: Free-text description of the booking line.
  - `bookingTypeCode` object: Stable booking-type code of the underlying business case.
  - `openPositionStatus` object: Open-position lifecycle status.
  - `amount` number: Gross posted amount of the booking line.
  - `partialPaymentAmount` number: Sum of payments / clearings already applied to this position.
  - `openAmount` number: Computed remaining amount still to be cleared (<code>amount - partialPaymentAmount</code>).
  - `vatAmount` number: VAT amount included in the gross posting.
  - `vatRate` number: VAT rate applied to the line as a decimal (e.g. <code>0.077</code>).
  - `vatRateDisplay` string: Localized VAT-rate display string.
  - `vatBookingDetailLink` string: Self-link of the companion VAT booking-detail line, when present.
  - `vatBookingDetail` boolean: Whether this row is itself a derived VAT booking-detail line.
  - `foreignCurrencyAmount` number: Posted amount in the document's foreign currency, when applicable.
  - `foreignCurrencyUnit` string: ISO-4217 currency code of <code>foreignCurrencyAmount</code>.
  - `tags` string: Free-form tag string attached to the booking line.
  - `documentDate` string, date: Document (invoice) date of the underlying business case.
  - `bookingDate` string, date: Date the booking was journaled.
  - `paidDate` string, date: Date the position was last (partially) paid, if any.
  - `dueDate` string, date: Due date for payment.
  - `paymentDate` string, date: Effective payment date of the booking line.
  - `servicePeriodFrom` string, date: Inclusive lower bound of the service period this booking covers.
  - `servicePeriodTo` string, date: Inclusive upper bound of the service period this booking covers.
  - `createDate` string, date-time: Timestamp at which the booking detail was created.
  - `updateDate` string, date-time: Timestamp at which the booking detail was last updated.
  - `documentId` string[]: List of document ids attached to the booking line.
  - `partnerName` string: Resolved partner display name for the position.
  - `bookingDetailUri` string: Stable URI of the booking-detail row, for cross-service linking.
  - `orderManagementInvoiceLink` string: Self-link of the linked order-management invoice, when applicable.
  - `orderManagementInvoiceNumber` string: Resolved order-management invoice number for display.
  - `msgId` string: Business-case message id, used by the eletter / inbox subsystems.
  - `creditorReference` string: Creditor reference (Swiss QR-IBAN reference number) of the position.
  - `isrReference` string: ISR reference of the position, when applicable.
  - `isrMember` string: ISR member number, when applicable.
  - `partnerIban` string: IBAN of the partner / counterparty.
  - `endToEndId` string: End-to-end identifier carried on the bank transaction.

## Other responses

- `400`: One of the date filters is not a valid ISO date (<code>yyyy-MM-dd</code>), or one of the enum filters (<code>position-status</code>, <code>booking-type-codes</code>, <code>crdr-type</code>) carries a value that is not in the documented value set, or a free-text filter exceeds 256 characters.<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `401`: No Authorization header found or invalid token<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `403`: The current user is not allowed to access this company data<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `410`: Gone. This operation is removed after 2027-08-14; every call after that date answers 410. Use <code>GET /core/v1/bank-reconciliation/open-positions</code> instead.<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `429`: API rate limit exceeded<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.
- `500`: Something went wrong on our side while processing the request. Please kindly contact our support.<br/><br/>Failures detected by a downstream service carry that service's own <code>code</code>, which this reference does not enumerate, so the <code>code</code> field may hold a value not documented here. Treat an unrecognised code as a generic failure of the status it arrives with, and do not branch on a code this reference does not list.

---

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