Accounting, Tax & Bookkeeping// definition

The end-of-day bank statement message, and the fields a PDF never had

In short

camt.053 is the ISO 20022 end-of-day statement message: a structured file sent by the account servicer to the account owner, reporting entries booked to the account and the balances around them. Against a PDF it supplies what parsing normally guesses — a stable entry reference, a coded transaction type, separate booking and value dates.

Key takeaways

  • It reports booked entries only, so a camt.053 will never agree with a live online balance.
  • Each entry carries a bank-assigned reference, so a redelivered statement is detectable rather than a duplicate-posting risk.
  • A coded transaction type replaces narration guessing: the classifier reads a code, not a descriptor string.
  • Opening and closing booked balances are typed and explicit, making the file self-checking before anything posts.
  • Availability is a banking question: the format is standard, access depends on bank, product and account.

camt.053 is the ISO 20022 bank-to-customer statement message: a structured XML file, sent by the bank to the account owner, reporting the entries booked to an account over a stated period together with the balances at each end of it. Where a statement PDF is a picture of a table, this is the table — typed, labelled and machine-addressable before anyone opens it.

For a bookkeeping pipeline that changes the job. Reading a PDF means inferring where columns are, which string is the date, whether a number is a debit, and what the narration means. None of those inferences exist here. What remains is checking the file is complete and consistent — far smaller, and far more testable, than reading.

What the standard says the message is for

The published definition is narrow and worth reading literally: the message is sent by the account servicer to an account owner, or a party the owner has authorised, to inform them of entries booked to the account and to give balance information at a given point in time. It serves cash management and reconciliation, may report on more than one account, and — the sentence with the most consequence — contains information on booked entries only.

Booked entries only is the line that catches teams out. The file will not agree with the balance a client reads in their banking app, because that figure includes activity the bank has not booked. Intraday and pending movements belong to a separate message in the same family, and conflating the two turns the close into an argument about differences that are not errors.

Three building blocks, and where the money sits

The message has a group header carrying message-level information, one or more statements reporting booked entries and balances for a cash account, and a supplementary data block for what the structured elements cannot hold. Everything a bookkeeper cares about is inside the statement, in a repeating entry element.

What the entry carriesWhat it replaces in a PDF pipeline
An entry reference and the account servicer's referenceFingerprinting rows by date and narration to guess whether a statement was already processed
Amount, with currency as an attribute of the amountRegex for thousands separators, and currency inferred from the account
An explicit credit or debit indicatorDeciding sign from column position, a minus, or brackets that vary by bank
Booking date and value date, separatelyOne date column that is silently one or the other
A bank transaction code, standard or proprietaryInferring transaction type from a descriptor string, per bank, forever
Remittance information, structured or unstructuredHunting an invoice number inside free text truncated by the sending bank
Entry-level content, and the parsing problem each part removes

The last row has the most upside and the least reliability. The structured branch can carry referred-document details and a creditor reference — exactly the allocation data a remittance advice exists to supply separately. When a payer populates it, cash application gets easier at once. When they do not, you get unstructured text capped at 140 characters per occurrence and you are back to string matching.

Balances that let the file check itself

Balances carry a type code, so opening booked and closing booked are identifiable as such rather than being the first and last rows of a table. Codes also exist for previously closed booked, closing available and forward available — which matters, because available is not booked and a human reading a PDF routinely conflates them.

That gives you a gate. Opening booked plus the signed sum of entries must equal closing booked, and a file failing that test is incomplete or mis-parsed and should never reach a bookkeeper. It is the same continuity check that diagnoses an extracted statement that does not foot, except here it is exact and runs before any human sees the data.

The value is not that the file is XML. It is that every guess a PDF parser has to make is already answered, by the party that booked the transaction.

Whether you can get one is a banking question

The format is a standard; access is a commercial arrangement. Availability varies by bank, country, product and channel — a corporate host-to-host or portal download may offer it where a small-business online product does not. Some banks charge for the channel, some require a cash-management agreement, and some emit a version several revisions behind.

  • Ask per client, not per bank. The same institution often offers it on one account tier and not another.
  • Ask which version. Element availability differs between revisions, and your parser must state what it accepts.
  • Ask what a re-send looks like. Whether corrections arrive under the same identifiers decides your deduplication design.

What it does not remove

It does not decide accounting treatment: a transaction code narrows classification without closing it, since one code covers a subscription and a capital purchase. It does not identify counterparties for reporting — payee identity and tax status still come from documents you collect, the subject of collecting and validating payee tax forms. And it does nothing for the rest of a client's paperwork, where meaning still lives in layout and free text, as in the partner and shareholder income statement.

Which structured format to support first is argued separately in structured statement formats compared, alongside the rest of the extraction and classification topic. Designing intake around the formats a firm's clients can actually supply is work we scope under AI agents and automation for accounting and tax practices, with the operational constraints in AI agents in production.

Frequently asked questions

Short answers to the follow-ups this page tends to raise.

Is camt.053 the same as a bank feed?

No — a feed is a delivery mechanism, camt.053 is a message with a defined content model. Feeds are typically aggregator-normalised, may replay history, and rarely carry the bank's own entry references or transaction codes. The message arrives from the account servicer as a statement for a stated period, which is why it can be reconciled and a feed generally cannot.

Why does the balance not match the client's online banking?

Because the message reports booked entries only, and the app shows activity the bank has not yet booked. That is a definitional difference, not an error. Pending card authorisations, same-day inbound payments and holds sit outside the statement until they book, so the figures are expected to differ during the day and converge once the period closes.

Can a small accounting firm realistically get these files from clients' banks?

Sometimes, and it is worth asking client by client rather than assuming. Corporate and cash-management customers usually can; sole traders on retail products usually cannot. A workable policy is to accept the structured file wherever it exists, keep a PDF path for everyone else, and never build a workflow that only functions when the structured file arrives.

  • ISO 20022
  • bank statements
  • extraction
  • reconciliation
// shipped work

The work behind this page

Builds from our portfolio that this page draws on.

Read next

Working on something in this space?

Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.

Start the conversation