Docs
/
EN DE

CAMT Import

CAMT Import is how bank statements get into neoo. Drop in one or more CAMT.053 (statement) or CAMT.054 (debit/credit notification) XML files; neoo groups the entries by bank account, you confirm which neoo account each group belongs to, and one click imports the lot. Imported lines land in Bank Matching ready to match against your invoices.

Navigate to Import → CAMT Import to open the page (requires the bank-import permission).

Supported formats

The page accepts XML files in the ISO 20022 standards:

Format What it contains
CAMT.053 A full bank statement — opening balance, all transactions, closing balance, for a given period.
CAMT.054 A debit/credit notification — individual movements, usually pushed at the time they happen rather than at end of day.

The format of each file is detected automatically. If a file isn’t valid XML or isn’t one of these two CAMT types, the page tells you which file failed and why, and nothing is parsed until you remove it.

Upload and parse

  1. Click Select CMPT Files and pick one or many XML files. The header shows how many files are queued; View Files expands the list.
  2. Click Parse Files. neoo reads each file, validates the format, and pulls out account headers and individual transactions.
  3. Clear or Clear All empties the selection — and any parsed results — if you change your mind.

You can mix CAMT.053 and CAMT.054 files in the same batch — they’re parsed independently and merged by IBAN. One statement at a time is fine too: there’s no advantage to batching unrelated statements together, and small imports are faster to review.

Account groups

Once parsed, transactions are grouped by the bank account IBAN they came from. Each group is a card showing:

  • Account Holder, IBAN, Currency, Bank, BIC, Statement IDs, Date Range, Total Transactions — the header taken from the CAMT file.
  • Bank Account Selection — the Select Bank Account dropdown lists the bank accounts configured in your dataset. Pick which one this group belongs to.

neoo pre-selects the matching account by IBAN, confirmed in green (“Bank account selected”). If no configured account carries that IBAN, a yellow notice appears (“Please select a bank account for this group”) and you’ll need to pick manually before importing — or add the bank account first under System → Bank Accounts.

Below the header, the full list of transactions in that group is shown for review: Transaction ID, Date, Amount (red for debits, green for credits), Type, Counterparty, IBAN, Purpose/Description, References, Bank Code.

Import to database

When every group has a bank account assigned, click Import to Database. A progress bar shows while the file is processed server-side. Re-importing a statement is safe — duplicate transactions are detected and skipped automatically.

Import Results

When the import finishes, a results card appears. The status pills at the top summarise everything that happened:

Pill Meaning
Response Overall HTTP status. 200 = clean, 207 = mixed (some warnings), 400 = nothing imported.
Processed (new) New transactions inserted into the ledger.
Skipped Lines already present — typically duplicates of a prior import.
Matched Lines settled during import — auto-matched to an open AR/AP transaction or booked by one of your rules (rule hits count here and under Rules applied).
Transition GL Lines that landed as unmatched Transition entries — these are what you’ll work through on the Bank Matching page.
Failed Lines that couldn’t be imported. The reasons are listed below the pills.
Rules applied How many of your matching rules fired during import.
Total input Total transactions parsed from the file.

Three expandable sections sit below the pills:

  • Added / updated rows — preview of the new lines (first 50). Useful as a sanity check.
  • Rule engine results — the rule engine’s raw per-transaction output, for troubleshooting a rule that didn’t fire.
  • Failed transactions — first 25 errors, with the failure message per line.

If everything fails (status 400), a red banner spells it out clearly.

What happens next

Imported lines flow into Bank Matching under the bank account you assigned them to:

  • Lines that matched during import — automatically or through your rules (see How automated matching works) — appear on the Matched tab.
  • Lines that didn’t match appear on the Unmatched tab as Transition rows. From there you can match them by hand, let your rules handle them, hand a money-out line to its spender with Create Expense, or use Mark As Processed for lines that need no further action.

Running Apply Rules to All on the Bank Matching page immediately after a fresh import is a good habit — it lets your existing rules clean up the easy cases in one click.