1. Your statement file
A .xml (camt.053) or .sta, .mt940, .txt (MT940) download from your bank's business portal. The format is detected from the first character.
Choose a file or paste the text, then click Read and check.
Result
Statements
| Statement | Account | Currency | Opening | Closing | Entries |
|---|
Entries
| Line | Booked | Counterparty | Reference | Text | Amount |
|---|
Download for one statement
QBO is the same OFX content with the extension QuickBooks Online and Desktop look for; QuickBooks Desktop may also need its bank-specific header, which a converter cannot know.
The model, and what it leaves out
- camt.053 / 052 / 054: each Stmt, Rpt or Ntfctn is one statement with Acct, Bal (OPBD opening, CLBD closing) and Ntry entries. Credits are positive, debits negative, and a reversal indicator flips the sign. Entries whose status is not BOOK are listed but left out of the balance check.
- MT940: :20: starts a statement, :25: is the account, :60F:/:60M: the opening balance, :61: an entry (C credit, D debit, RC/RD reversals) with its :86: text, :62F:/:62M: the closing balance. Amounts use a comma. A SWIFT
{4:envelope is stripped. German-style?20/?32subfields give the remittance text and counterparty. - Balance check: opening + booked entries must equal closing, in whole minor units with no floating point. A difference is an error and names the amount.
- Continuity: consecutive statements of one account should join: one statement's closing is the next one's opening.
- Output: one OFX 1.02, QIF or Xero CSV file per statement, because importers take one account and one currency per file. Each entry's transaction ID is a hash of account, date, amount, references and text, plus a sequence number when two entries are identical, so the same statement always yields the same IDs. Names are cut to 32 characters, accents are folded to ASCII, and the closing balance is written as the ledger balance.
- Other checks: account IBAN length and mod-97 check digits, impossible dates, amounts with too many decimals, a missing indicator, duplicate references, entries in a different currency to the statement.
- Not checked: that the file matches your bank's online statement or your books, bank-specific variants and private codes, statements with several currencies, digital signatures, and anything that needs the bank's own records.
Common questions
How do I convert a camt.053 file to QBO or OFX?
Paste the XML or drop the file onto this page, press Read, check and convert, pick the statement and download OFX or QBO. In QuickBooks use Banking, then Upload transactions, and choose the file. Nothing is uploaded by this page.
How do I import an MT940 file into QuickBooks or Xero?
Convert it here: OFX or QBO for QuickBooks and Quicken, or the Xero CSV for Xero's statement import, which takes *Date, *Amount, Payee, Description and Reference columns. Each :61: line becomes one row.
What is the difference between camt.053 and MT940?
Both carry a bank statement. MT940 is the older SWIFT text format with tagged lines such as :60F: for the opening balance and :61: for each entry. camt.053 is the ISO 20022 XML successor. Banks are replacing MT940 with camt.053, and many accounting tools still read only one of them.
Why does my bookkeeping software reject the statement?
Common causes are a closing balance that no longer equals the opening balance plus the entries after an edit or a missing line, an impossible date, an amount with the wrong number of decimals, duplicated entries, or a gap between two statements. The report lists each with its line number.
How does the balance check work?
For each statement it adds the signed booked entries to the opening balance and compares the result with the closing balance. If they differ it says by how much, because a single missing, duplicated or edited entry of exactly that amount usually explains it. Pending and informational entries are left out.
Does this check my IBAN?
If the account is an IBAN it checks the length for the country and the mod-97 check digits, and warns when they fail. An MT940 account field that is a bank code and account number instead of an IBAN is not checked.
Why a stable transaction ID?
QuickBooks and Quicken skip an entry whose FITID they already hold, which is how re-importing an overlapping statement avoids duplicates. This tool derives the ID from the entry itself, so converting the same file twice gives the same IDs, and adds a sequence number when two payments are identical on one day so that neither is dropped.
Is it safe to put bank statement data into a web page?
The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls. Account numbers are masked in the report and the CSV unless you choose otherwise. Your own policies still decide whether you may open bank data in a browser.
What does this not check?
Whether the file agrees with your bank's online statement or your books, bank-specific variants and private codes, camt files with several currencies on one statement, and signatures or envelopes. A clean result means the file is consistent, nothing more.