Smart Coding: Automated Transaction Categorisation

How Zato automatically codes bank transactions against a client's own history.

Smart Coding automatically codes a client's raw bank activity, matching against that client's own coding history and escalating only genuine unknowns for manual review. It runs independently of Run Zato, and is available both inside a specific job and as a standalone tool under Tools.

Starting a run

Source

Description

Upload

One or more bank statements (CSV, XLSX, or PDF), plus a GL file if needed.

Use stored GL

Uses GL data already held on the platform; no upload required.

How a line gets coded

Each line is checked in order, so only genuine unknowns require AI review.

1. Remembered coding: a merchant coded before is matched instantly.

2. Exact and close matches: matched against the client's own coding history.

3. Unknown merchants: an automatic web search combined with an AI classifier identifies the most likely account.

4. Unresolved items: anything not resolved above is placed in the review queue for manual coding.

The AI classifier can only select an account that exists in the client's own chart of accounts. Where no suitable account exists, the line is left for manual review rather than being guessed.

Reviewing and correcting results

       Lines already in the ledger are cross-checked before a suggestion is made, so corrections route as a recode rather than a new entry.

       The results grid shows date, transaction, account (searchable and editable), tax, tracking, and a confidence indicator showing whether the code came from a rule, memory, or the AI classifier.

       Unresolved merchants are grouped in a review queue by merchant, not by line, resolve one merchant and every line for it updates together.

       Corrections can be applied to a single line or several at once, a line can be split across multiple accounts, or flagged as a client query.

       Tax and tracking defaults apply automatically and can be overridden individually or in bulk.

Pushing to Xero

Step

Description

Preview

See exactly what will happen before posting: new transactions, recodes, matches, and anything skipped with a reason.

Sync

Creates the new transactions and posts any reclassification journals.

A line already posted is always corrected with a reclassification journal, never recreated as a new transaction, and is excluded from any future push, so re-running a sync never creates a duplicate.

Learning behaviour

Confirmed codes are remembered per client, so minor variations in a payee's recorded name still resolve to the same mapping. A manual correction always takes precedence over an AI-suggested code. For clients already connected to Xero, recurring payees are pre-loaded from day one, improving accuracy from the very first run.

Running a coding pass

1. Open Smart Coding (inside a job, or via Tools) and select the client if using the standalone tool.

2. Provide the bank activity: upload a file, use the stored GL, or connect a bank feed.

3. Let the run complete, then work through the review queue for unresolved merchants.

4. Review the results grid, recoding, splitting, or querying any line that needs it.

5. Preview the push to Xero, then sync once you're satisfied with what will post.

A run that doesn't complete is usually caused by a statement Smart Coding can't read, such as a scanned image or password-protected file. Upload a CSV or Excel version of the statement instead.

How to access: Job Details, then Job Results, then Smart Coding, or Tools, then Smart Coding for the standalone version under tools.