CodeIQ by ReconcileIQ
CodeIQ · GuideStep by step

How to categorise bank transactions, then let CodeIQ do it.

First the method: categorising a bank statement by hand, cash coding in Xero and QuickBooks, and the bookkeeping for eBay, Amazon and PayPal. Then every screen of CodeIQ, from the statement upload to the books posted in Xero, QuickBooks, Sage, Pandle or IQ Books.

6 steps by hand10 steps in CodeIQEight-phase pipeline
Part one · the method

How to categorise bank transactions.

Categorising bank transactions means giving every line on the statement an account from the chart of accounts, a VAT treatment and, where it helps, a contact. Whoever does it, the order is the same: take out what is not income or expense first, then code the familiar, then deal with the rest. What bookkeeping is, and how it differs from accounting, is in the CodeIQ FAQ.

  1. Get the statement and the chart of accountsDownload the statement for the period (or let the bank feed bring it in) and have the client's chart of accounts and VAT codes to hand. Coding to an account that does not exist creates work later.
  2. Take out the transfersMoney moving between the business's own accounts (current to savings, a credit card repayment) is not income or expense. Pair each outgoing line with the matching incoming one on the other account.
  3. Match payments to invoicesA receipt that settles a sales invoice, or a payment that settles a supplier's bill, belongs against that invoice, not to an income or expense account. The VAT was dealt with on the invoice, so the payment carries none.
  4. Code the recurring suppliersMost lines are the same suppliers every month. Code them the way they were coded last time, with the same VAT treatment; this is where bank rules, cash coding and CodeIQ's historical patterns all earn their keep.
  5. Work through the one-offsFor the lines left, check the receipt or ask the client. Decide the account and the VAT: fuel and telephone are usually standard-rated, Royal Mail stamps are usually exempt, and train and bus fares zero-rated. This is also how to categorise expenses paid by card: the same account and VAT decision, one receipt at a time.
  6. ReconcileCheck that the coded lines agree to the statement balance. Bank Reconciler does that against the books when the statement is long.

A statement, categorised

Current account · MarchIllustrative
Bank lineAmountCoded to
TFR TO SAVINGS−5,000.00Transfer: savings account
FPS ACME LTD INV1042960.00Invoice INV-1042, paid
SHELL 4521−62.40Motor expenses · 20%
BT GROUP PLC−54.00Telephone · 20%
ROYAL MAIL−18.60Postage · exempt
TRAINLINE−48.20Travel · zero-rated

One line of each kind, in the order of the method: a transfer, an invoice payment, then the account and VAT treatment for each expense. A business that is not VAT registered codes the same lines with no VAT.

Cash coding in Xero and QuickBooks

Cash coding is coding many bank lines at once in a grid, rather than one at a time: each row gets its account and tax rate, and the batch is saved together. In Xero it is the Cash coding tab of a bank account (Accounting, then Bank accounts), which is available on most current Xero plans; the user also needs a role that includes it (in Xero's terms, usually the Adviser role, or Standard with cash coding added). QuickBooks Online has nothing called cash coding: downloaded lines are categorised from its bank transactions screen, and bank rules handle the repeats.

The step-by-step for Xero is in our guide to categorising transactions in Xero, and where bank rules stop is tested in Xero bank rules.

eBay, Amazon and PayPal bookkeeping

Treat each marketplace as an account of its own (a control account), because the money sits there before it reaches the bank. Then, for each settlement: record the gross sales, the marketplace fees, postage and refunds separately, as the statement shows them; record the payout to the bank as a transfer from the control account, not as income; and check the control account's balance agrees to what the marketplace says it is holding.

The detail, and how A2X and LinkMyBooks compare, is in eBay, Amazon and PayPal bookkeeping. Step 5 below does it in CodeIQ.

By hand, rules, or CodeIQ

By hand suits a handful of lines. Bank rules suit a short list of suppliers whose descriptions never change, but they are written client by client and break when a description does. CodeIQ runs the same order as the method above through an eight-phase pipeline, from the client's own history and from patterns across many businesses, and leaves you only the lines it is unsure of. Coding a line by hand in CodeIQ is free; the automatic coding is 4 credits a line.

Part two · in CodeIQ

The same statement, screen by screen.

CodeIQ does steps 2 to 4 of the method for you, suggests step 5, and leaves the review to you: nothing posts until you approve it. Each step below names the screens and buttons as they appear in CodeIQ.

  1. Create a session and connect the platform

    Open CodeIQ and press New Session. In Create a new session, choose the “Accounting Platform”: Pandle, QuickBooks, Xero, Sage or IQ Books. If the platform is not yet connected, the status reads “Not Connected”; press Connect to Xero (or the platform you chose) and sign in to the platform itself to authorise CodeIQ. It is an OAuth connection, so CodeIQ never sees the platform password, and you can revoke it from the platform at any time.

    Press Create Session. Pandle has the deepest integration; IQ Books, our own ledger, needs nothing connecting.

    Tip. One connection per platform serves every session: connect Xero once, and each Xero client after that only needs picking.

    Create a new sessionCodeIQ
    Accounting Platform
    Xero
    Not Connected Click connect to authorize Xero access
    Connect to Xero
    CancelCreate Session
  2. Choose the client and add context

    The new session shows Initialize CodeIQ Session; press Load Companies. Select Company lists the organisations the connection can see, with a search box once there are more than ten. Pick the client. CodeIQ reads its chart of accounts, its VAT codes and, from the ledger history, how its regular suppliers have been coded before. A client with no history yet shows “New Company - Learning Mode Active”: CodeIQ codes from shared patterns and learns from your corrections as you go.

    Above the upload area, “Coding context for this client” is a note RiQ reads when it codes, for this client only, up to 1,500 characters: which grey-area spend is a genuine business cost, what goes to the director's loan account, a supplier that is always capital. Press Save context.

    Select CompanyXero
    Harbour FloristsNorthfield JoineryQuinn StudioAlder & Finch+2 more+3 more+4 more

    Choose a company to initialize CodeIQ for:

    Harbour Florists LtdGBP
    Harbour Florists (Events) LtdGBP
    Coding context for this client
    Flowers bought at the wholesale market are cost of sales, not entertaining. Van fuel is business; the director's car is not.
  3. Upload the bank statements

    The upload area has three tabs: Bank Statements, Invoices and Merchant Accounts. Under Bank Statements, “Bank & Cash Accounts” shows a card for each of the client's bank accounts. Drop the statement on its card or press “browse”: CSV, PDF, Excel, or a photo of a paper statement, up to 50MB a file. Anything that is not a CSV is converted first: CSV and Excel are free; a PDF or photo is converted at 2 credits a line (one free conversion on a free account).

    A CSV with unusual headings opens Map this statement: say which column is the date, the description and the amount. For an account with no movements, switch on “No transactions this period” so it counts as ready.

    Tip. Upload every account for the period, including savings and cards: transfers between them are found only when both sides are there.

    Bank & Cash AccountsUpload
    Bank StatementsInvoicesMerchant Accounts
    Business Current Account BANK
    march-current.csv 212 lines
    Company Credit Card CREDIT CARD
    Drop bank statements or browse PDF · CSV · Excel
    No transactions this period
  4. Add invoices and receipts

    Under Invoices there are two drop areas, “Sales Invoices” and “Purchase Invoices”, each taking PDF, PNG or JPG up to 10MB. RiQ reads each one: the supplier or customer, the invoice number and dates, the net, VAT and gross, the currency, the line items and a suggested account from the client's chart. Each invoice read is 10 credits.

    Read invoices wait to be matched: when a bank line pays one, the invoice matching phase pairs them, including part payments and overpayments. For the best reading, use the original PDF where there is one, one invoice per file.

    Invoices · Purchase10 credits each
    Bank StatementsInvoicesMerchant Accounts
    Purchase InvoicesPDF, PNG, JPG
    SupplierNumberGross
    Northfield PackagingNP-2207372.00
    Bloom WholesaleBW-11801,146.00
  5. Add marketplace statements

    For a client selling on eBay, Amazon or PayPal, open Merchant Accounts. Under “Merchant Control Accounts”, click the account the marketplace money sits in to make it a control account, then “Drop merchant CSV here” with the platform's statement. eBay, Amazon and PayPal statements are parsed directly into sales, fees, postage and refunds, with the payouts left out because they arrive at the bank as transfers. Other marketplace exports, such as Stripe, Etsy, Square or Shopify, are mapped with RiQ's help.

    Merchant Control AccountseBay
    Bank StatementsInvoicesMerchant Accounts
    Settlement lineAmountCoded to
    Item sales3,840.00Sales
    Final value fees−468.20Selling fees
    Postage labels−212.40Postage
    Refunds−96.00Sales
    Payout to bank3,063.40Excluded: arrives at the bank as a transfer
  6. Process the transactions

    When every account is uploaded or marked empty, the summary shows “Total Accounts”, “Files Uploaded”, “Ready to Process” and “Invoices Added”. Press Process Transactions. The confirmation shows the credits: 4 a line for the automatic coding. Coding by hand later is free.

    The job runs the eight-phase pipeline in the background. The progress bar shows the stages as they run: Transfer Detection, Invoice Matching, User Patterns (applying the client's historical patterns), Universal Patterns, MCC Categories and AI Semantic, with Contact & Tracking added on Xero and Vendor & Customer Matching on QuickBooks. Your own corrections and the VAT codes are applied as part of the run. You can switch to another client's tab while it runs.

    Processing Transactions212 lines
    3Total Accounts
    2Files Uploaded
    3Ready to Process
    2Invoices Added
    01Transfer Detection4
    02Invoice Matching2
    03Contact & Tracking188
    04User Patterns141
    05Universal Patterns…
    06MCC Categories
    07AI Semantic

    Illustrative counts, on a Xero session.

  7. Review the coding

    Review Transactions opens with every line coded and a method beside it: Historical Pattern, Universal Pattern, Invoice Payment, Transfer Detection, Semantic AI and so on. Narrow the list with the search box and the “All Accounts”, “All VAT Codes” and “All Methods” filters, or press Group to gather similar lines and change them together.

    Click a line to recode it in “Categorise transaction”, or split it across accounts in “Split this transaction”; changes you make by hand cost nothing, and CodeIQ uses them for this client next time. Analyse with RiQ has RiQ look over the batch and list incorrect and questionable codings with its reasoning, for you to accept or not.

    Review TransactionsHarbour Florists
    All AccountsAll VAT CodesAll MethodsGroupAnalyse with RiQ
    LineAccountMethod
    SHELL 4521Motor expensesHistorical
    FPS ACME LTDINV-1042Invoice
    TFR TO SAVINGSSavings accountTransfer
    AMZNMKTPLACEOffice costsSemantic AI
    J SMITH 0412SuspenseNeeds Review
  8. Check VAT, accounts, transfers and invoices

    The view switch at the top of the review has four more views. VAT Audit groups similar lines with their account and VAT code, so a supplier coded at the wrong rate stands out and a whole group can be changed at once; the changes carry into future sessions for the client. It is greyed out when the company is not VAT registered. Accounts totals the coding by account. Transfers lists the pairs found between the client's own accounts (it needs at least two accounts uploaded), and Invoices the payments matched to outstanding invoices.

    VAT AuditGrouped
    TransactionsVAT AuditAccountsTransfersInvoices
    GroupVAT codeLines
    Fuel · Motor expenses20% (VAT on Expenses)18
    Royal Mail · PostageExempt Expenses6
    Rail fares · TravelZero Rated Expenses9
    BT · Telephone20% (VAT on Expenses)2
  9. Post to the platform

    When the review is done, press Post to Xero (the button names the session's platform). For Xero, CodeIQ first asks how the account is fed: “Bank transactions sync into Xero automatically” posts the lines unreconciled, to accept as suggested matches in Xero; “No live bank connection on this account” posts them reconciled. Use the second only when the bank connection is off, or you would get duplicates. Xero's API cannot mark transfers or invoice payments as reconciled, so those always arrive as suggested matches.

    The Posting Center shows the job's progress by type: standard transactions, inter-account transfers and invoice payments. When it finishes, the summary shows what was Successfully Posted, what Failed and what was Skipped (Already Posted). Lines CodeIQ was not confident enough to post unattended are held for your review (with the reason, where they share one); fix and post them from there. For failures, press Review Failed Transactions to see each error, then Retry All under Failed Transactions in the Posting Center.

    Xero Bank Connection Notice212 transactions
    Bank transactions sync into Xero automaticallyTransactions will be posted as unreconciled. You'll see them as suggested matches in Xero's reconciliation screen.
    No live bank connection on this accountTransactions will be posted as reconciled. Only use this if the live bank connection is off.
    CancelPost as Unreconciled
  10. Keep a record, or not

    The first time you post, CodeIQ asks “Keep a record of what you post?”. Everything else in CodeIQ clears 24 hours after a session opens, so if a line fails and you only notice next week, there is nothing to go back to. Yes, keep the record holds which client, which banks and how many posted and failed for 24 months, and the individual transactions and their errors for 30 days or until you deal with them. No, clear it with the session keeps nothing.

    With the record on, Past jobs lists every posting run: download it as CSV, retry the failures, or mark them resolved. Your books are unaffected either way, and turning the record off deletes what was kept.

    Past jobsPosting history
    13 Oct · Xero
    Harbour Florists Ltd
    209 posted 3 failed
    13 Oct · QuickBooks
    Northfield Joinery
    418 posted 0 failed
    Download CSVRetry
Part three · in a practice

Many clients, and the patterns behind them.

How CodeIQ fits a working day with several clients open, and where its coding patterns come from.

Several clients at once

  • Up to ten client sessions in one browser window. Once there are more than five, four stay as tabs and the rest sit behind a “+N more” tab.
  • Each session has its own uploads, processing and review, so one client can be processing while you review another.
  • A session runs for 24 hours from when it starts; its transactions are deleted then. Post what you have approved within the day.
  • On a practice plan, Client Bank Inbox on the upload screen shows the bank statements your clients have sent you.

Where the patterns come from

  • The client's own history: when a session starts on a connected platform, CodeIQ reads the ledger and codes repeat suppliers the way they were coded before.
  • Your corrections: when you recode a line, CodeIQ uses your choice for that client next time, ahead of any shared pattern.
  • Shared patterns: merchant names and the accounts they are coded to, contributed only by users who switch on Contribute Anonymized Patterns in the CodeIQ settings (it is off unless you do). Contributions are anonymised to merchant names and reviewed before they are added.
Troubleshooting

When a statement does not go to plan.

The messages CodeIQ shows, and what to do about each one.

“No transactions found to process”No statement has been uploaded yet, or every account is marked “No transactions this period”. Upload a statement for at least one account, then press Process Transactions.
“Invalid file type”Statements can be CSV, Excel, PDF or a photo (PNG, JPG, WebP, GIF or HEIC). Save anything else as one of those first.
“File too large”A statement file can be up to 50MB, and an invoice up to 10MB. Split a long statement by month.
“Session not properly initialized”Refresh the page and open the session again; if it has passed 24 hours, start a new session.
VAT Audit is greyed outThe company is not VAT registered on the platform, so there is no VAT to audit.
Transfers is greyed outTransfers are found between two of the client's accounts. Upload statements for at least two accounts.
Invoices is greyed outThere are no outstanding invoices on the platform or uploaded for this session.
Some lines failed to postPress Review Failed Transactions to see each error, then Retry All under Failed Transactions in the Posting Center. Common causes are a closed or locked period on the platform and an account code that no longer exists. With the posting record switched on, failures also wait in Past jobs.
Questions

Before you start.

Short answers to what people ask before their first statement in CodeIQ. The CodeIQ FAQ has more.

How do I categorise bank transactions quickly?

Do it in the order that removes the most lines first: pair transfers between the client's own accounts, match payments to open invoices, then code the regular suppliers as they were coded last time, and only then work through the one-offs. Cash coding or bank rules speed up the regulars on the platform; CodeIQ does the first three automatically and suggests the one-offs for you to check.

Does recoding a line in CodeIQ cost credits?

No. Coding by hand is free; the automatic coding is 4 credits a line, a PDF or photo statement is 2 credits a line to convert, and reading an invoice is 10 credits. Recoding, splitting and grouping lines during the review are all free.

Which statement formats does CodeIQ take?

Bank statements can be CSV, PDF, Excel, or a photo of a paper statement, up to 50MB a file. Invoices can be PDF, PNG or JPG up to 10MB, and marketplace statements are CSV.

Can I code several clients at once?

Yes. Up to ten client sessions can be open in one browser window, each with its own uploads, processing and review, so one can process while you review another. Once there are more than five, four stay as tabs and the rest sit behind a +N more tab.

What happens to the data after a session?

A session and its transactions are deleted 24 hours after the session starts. If you switch on the posting record, Past jobs keeps a summary of each posting run for 24 months and the failed transactions for 30 days or until you resolve them.

Can AI categorise my bank statement?

Yes. Upload the statement and CodeIQ codes every line with an account and VAT code from the client's own history, shared merchant patterns and RiQ, then waits for your review. On recurring suppliers it codes about 95% the way an accountant would, and 80 to 85% of ones it has not seen before.

Where does CodeIQ post the coded transactions?

To Xero, QuickBooks, Sage or Pandle, or into IQ Books, our own ledger. Contacts and tracking categories are matched on Xero, and vendors, customers and classes on QuickBooks. In Xero, transfers and invoice payments arrive as suggested matches because Xero's API cannot mark them reconciled.

Code your next statement.

CodeIQ is free to start: no card, 1,000 credits. Automatic coding is 4 credits a line, and anything you code by hand is free.