# Import Bank Statement

> Solarium docs, Bank Import. All requests are `POST https://api.trysolarium.com/graphql/` with `Authorization: Bearer <api key>` and a JSON body `{"query": ..., "variables": ...}`. Every query and mutation takes an `organizationId` (find it with `myOrganizations`). Index of all pages: https://trysolarium.com/llms.txt

Imports bank statement rows as LedgerEvents attached to a payment account. Each row is created with status needs_review. Rows that exactly match existing transactions (same date, amount, and vendor) are skipped automatically.

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `organizationId` | `UUID!` | Yes | Organization ID |
| `paymentAccountId` | `UUID!` | Yes | Bank or credit card account to import into |
| `currency` | `String` | No | ISO 4217 currency code (default "CAD") |
| `rows` | `[BankStatementRowInput!]!` | Yes | Array of statement rows. Each row: transactionDate (String!), description (String!), amount (String!), eventType (String!), memo (String), reference (String) |

### Request

```graphql
mutation {
  importBankStatement(
    organizationId: "a1b2c3d4-..."
    paymentAccountId: "chequing-uuid"
    currency: "CAD"
    rows: [
      {
        transactionDate: "2025-03-01"
        description: "SHOPIFY *MAPLE ROASTERS"
        amount: "149.50"
        eventType: "expense"
        reference: "TXN-20250301-001"
      },
      {
        transactionDate: "2025-03-01"
        description: "E-TRANSFER FROM CLAIRE DUBOIS"
        amount: "2500.00"
        eventType: "income"
        memo: "Invoice #1042 payment"
      },
      {
        transactionDate: "2025-03-03"
        description: "CANADA POST CORP"
        amount: "18.75"
        eventType: "expense"
        memo: "Shipping label — order #887"
        reference: "CP-88712345"
      }
    ]
  ) {
    importedCount
    skippedCount
    success
    error
  }
}
```

### Response

```json
{
  "data": {
    "importBankStatement": {
      "importedCount": 3,
      "skippedCount": 0,
      "success": true,
      "error": null
    }
  }
}
```
