---
title: "List transactions inside a bank import"
method: GET
path: "/bank-imports/{id}/transactions"
tags: ["Bank Imports"]
---

# List transactions inside a bank import

`GET /bank-imports/{id}/transactions`

## Request

- Base URL: `https://api.lumabill.ch/v1`
- URL: `https://api.lumabill.ch/v1/bank-imports/{id}/transactions`
- Auth: HTTP bearer

Returns all transactions for the given import, including reconciliation status, counterparty info, amounts, and any matched invoice / expense / revenue. Drives the reconciliation workflow.

## Query parameters

- `status` 'MATCHED' | 'UNMATCHED' | 'CATEGORIZED' | 'IGNORED'

## Response `200`

Transactions for this import

- BankTransaction[]
  - `id` string, uuid, required
  - `transactionDate` string, date, required
  - `valueDate` string, date, nullable
  - `amount` number, double, required: Always positive; use `direction` to know if it is a credit or debit
  - `currency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF', required: ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
  - `originalAmount` number, double, nullable: Amount in the original currency when the bank converted the payment (CAMT CcyXchg)
  - `originalCurrency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
  - `fxRate` number, double, nullable: Exchange rate reported by the bank statement (CAMT CcyXchg)
  - `direction` 'CREDIT' | 'DEBIT', required
  - `creditorName` string, nullable
  - `debtorName` string, nullable
  - `reference` string, nullable
  - `remittanceInfo` string, nullable
  - `status` 'MATCHED' | 'UNMATCHED' | 'CATEGORIZED' | 'IGNORED', required
  - `matchedInvoiceId` string, uuid, nullable
  - `matchedInvoiceNumber` string, nullable
  - `matchedInvoiceStatus` string, nullable
  - `matchedInvoiceCurrency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
  - `matchedInvoices` object[]: Every invoice this bank transaction paid, in allocation order (multi-invoice match / Sammelzahlung). Empty when nothing is booked, including auto-match suggestions that only set matchedInvoiceId. matchedInvoiceId / matchedInvoiceNumber / matchedInvoiceStatus describe the first entry.
    - `id` string, uuid, required
    - `invoiceNumber` string, nullable, required
    - `documentType` 'INVOICE' | 'CREDIT_NOTE': CREDIT_NOTE on a refund line (a DEBIT that paid back credit notes)
    - `amount` number, required: Payment amount allocated to this invoice, in `currency`
    - `currency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
    - `paymentStatus` 'PAID' | 'UNPAID' | 'PARTIALLY_PAID' | 'null', nullable, required
  - `matchedExpenseId` string, uuid, nullable
  - `matchedExpenses` object[]: Every expense this (debit) bank transaction paid, in allocation order (multi-expense match / Sammelzahlung). Empty when no expense is booked. matchedExpenseId / matchedExpenseVendor / matchedExpenseDescription describe the first entry.
    - `id` string, uuid, required
    - `vendor` string, nullable, required
    - `description` string, nullable, required
    - `amount` number, required: Payment amount allocated to this expense, in `currency`
    - `currency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
    - `paymentStatus` 'PAID' | 'UNPAID' | 'PARTIALLY_PAID' | 'null', nullable, required
  - `matchedExpenseVendor` string, nullable
  - `matchedExpenseDescription` string, nullable
  - `matchedExpenseAmount` number, double, nullable
  - `matchedExpenseCurrency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
  - `matchedRevenueId` string, uuid, nullable
  - `matchedRevenuePayer` string, nullable
  - `matchedRevenueDescription` string, nullable
  - `matchedRevenueAmount` number, double, nullable
  - `matchedRevenueCurrency` 'CHF' | 'EUR' | 'USD' | 'GBP' | 'JPY' | 'CAD' | 'AUD' | 'SEK' | 'NOK' | 'DKK' | 'HUF': ISO 4217 code of a currency the API converts (ESTV/BAZG rates). The same list applies to every currency field of the API.
  - `counterpartyIban` string, nullable: IBAN of the other side (CAMT, or a mapped CSV column); used to pair transfers between your own bank accounts
  - `transferCounterpartId` string, uuid, nullable: For a booked transfer between two own bank accounts: the bank transaction of the other leg (both share one journal entry)
  - `adjustments` BankTransactionAdjustment[], nullable: Bank fees, rounding, partial-payment splits booked alongside the main entry
    - `description` string, required
    - `amount` number, double, required: Signed. Positive books a DEBIT (bank fee, Skonto, FX loss), negative a CREDIT (FX gain, overpayment). Must not be zero.
    - `chartAccountId` string, uuid, required
  - `aiSuggestion` object, nullable
  - `journalEntryId` string, uuid, nullable: Posted journal entry, present once the transaction is reconciled
  - `createdAt` string, date-time

## Other responses

- `401`: Invalid or missing API key
- `403`: Subscription required or read-only key on a write endpoint
- `404`: Resource not found
- `500`: Internal server error

---

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