Nordlet

Docs / Guides

Bank connections

Connect a bank through open banking, link its accounts, choose an import template, and sync transactions into the ledger.

This guide covers the live connection to a bank (PSD2 open banking): how to connect, how to link the bank's accounts to your ledger, how to make every sync create partners, match invoices and post charges through an import template, and what the sync returns. The API details are in Bank & payment imports. For statement files instead of a live connection, see Importing bank statements (camt.053).

1. Connect the bank

Under Bank → Connections choose the country and press Show banks. Pick your bank and the account holder type (business or personal), then press Connect. You are sent to the bank's own consent page, log in there and approve access; the bank then returns you to Nordlet. The connection appears in the list with its consent expiry date. Consents are time-limited by the bank (commonly 90 or 180 days); when one expires, connect again.

The list of banks comes from the open banking provider configured for the Nordlet instance. If the country shows no banks, the provider does not cover it yet.

2. Link the bank's accounts

Under the connection, each account the bank exposes is listed with its IBAN and currency. For each one, choose an existing bank account from the ledger or Create a new bank account, optionally set the date to sync from, and press Link. Only linked accounts are synced. Without a sync-from date the first sync fetches the last 90 days.

3. Create the import template

Under Bank → Import templates press New import template, choose type Bank connection, and give it a name. The rows are the attributes the bank feed returns per transaction. The Required in file box is kept for completeness; a live feed is not validated against it.

Ledger account. The plain amount row transaction_amount.amount and the rule rows can be assigned to a ledger account; every synced transaction produced from an assigned row is posted at once and marked as matched to the journal entry. The rule rows pick transactions by bank transaction code or direction:

Row Picks Typical account
Bank charges (code CHRG) transactions whose code family is CHRG bank fee expense (6800 in the standard chart)
Interest (code INTR) code family INTR interest income or expense
Taxes (code TAXE) code family TAXE tax payments
Other money out any other debit leave "Not posted" so payments are matched to purchase invoices
Other money in any other credit leave "Not posted" so receipts are matched to sale invoices
transaction_amount.amount every transaction no rule picked usually "Not posted"

A transaction is posted to the account of the first row it matches: its code family, then its direction, then the plain amount row. The code comes from the bank's bank_transaction_code; banks that send none leave the code rows without matches.

Create missing customers / suppliers. Tick Create missing customers on the debtor.name row to create a customer for every unknown payer of incoming money, and Create missing suppliers on the creditor.name row for every unknown payee of outgoing money. Partners are recognised by IBAN (debtor_account.iban / creditor_account.iban, stored on the partner's bank accounts), then by exact name; a partner found by name gets the IBAN added. A new partner is a company when its name carries a legal form (UAB, MB, SIA, GmbH, Ltd, …) and a person otherwise.

Create partner for the bank. Tick this on the Bank charges rule row. The sync creates a supplier named after the connected bank once and records every charge in the journal with that partner.

Link invoices by this field. Tick this on the remittance_information or reference_number row. Every new transaction whose remittance text or reference contains the number of an open issued sale invoice (money in) or a registered purchase invoice (money out) is matched to it and the payment is posted. The option Create advance invoices for unmatched incoming payments turns an unmatched receipt from a known partner into an issued advance invoice for the amount, dated on the payment, at the given VAT rate or the chosen catalog item; it needs Create missing customers so the partner is known.

Save the template.

4. Apply the template and choose the schedule

Back under Bank → Connections, each linked account has a template select and a schedule select. Choose the template, choose Sync manually, Sync daily, Sync weekly or Sync monthly, and press Apply. A linked account without a template still syncs, but only records the transactions; nothing is posted, matched or created.

With a daily, weekly or monthly schedule the API syncs the account by itself: once an hour it looks for accounts whose last sync is older than their period (24 hours, 7 days or 30 days) and syncs them exactly as Sync now would, running the template afterwards. A scheduled sync counts towards usage like a manual one (every 10 fetched transactions = one request). If the bank rejects the sync, for example because the consent expired, the connection is marked with the error and skipped until you connect again.

5. Sync

Press Sync now on the connection. Nordlet fetches new transactions for every linked account (since the last sync, with a one-week overlap so late bookings are not missed), records them once — transactions are recognised by the bank's entry reference — and then runs the account's template. The result line reports how many transactions were imported and how many already existed; through the API the sync also returns the number of posted movements, created partners, linked and created invoices, matched payments, and warnings for payments that could not be matched.

Syncs can be triggered from the API (bank/feeds/sync) on a schedule; every 10 fetched transactions count as one API request.

6. Where to look afterwards

  • Bank → Transactions — every synced transaction, with the per-account tabs; matched ones link to the invoice or journal entry.
  • Invoices — advance invoices created for unmatched receipts.
  • Partners — created customers and suppliers, each with the IBAN under bank accounts.
  • Ledger → Journal — the postings for charges (with the bank as partner), interest, taxes and payments.

When the connection stops working

A sync that fails marks the connection with the bank's error message. Expired consent is the usual cause: press Connect for the same bank again and approve access; the linked accounts and their templates are kept. Disconnect removes the connection and its account links, not the transactions already recorded.