TheIQSuite Issue № 03 · CodeIQ
CodeIQ — features

An AI bookkeeper.
That actually does the books.

Codes transactions through eight intelligent phases. Extracts invoices via OCR. Parses eBay, Amazon and PayPal CSVs. Classifies VAT and US sales tax. Then posts the whole thing back to QuickBooks, Xero, Sage, or Pandle — auto-reconciled. All while you work on the next client in a parallel tab.

The pipeline

Eight phases. One transaction. One pass.

Most "AI bookkeeping" tools run a single semantic model and call it a day. CodeIQ runs every transaction through eight specialised phases — each catches what the others miss. By phase eight, the messy ones have been classified, the routine ones coded, and the duplicates excluded.

Phase 01
Transfer detection

Equal/opposite amounts across your bank accounts within a date window. Catches the inter-account transfers before anything else miscodes them.

Phase 02
Invoice matching

Links transactions to outstanding invoices on your platform. Exact-amount and fuzzy. Handles partial payments and overpayments.

Phase 03
Historical pattern

Learns from this client's GL history. If you've coded "STARBUCKS LONDON" 47 times, the next one goes the same way at 0.95 confidence.

Phase 04
Universal pattern

Crowd-sourced merchant database — thousands of patterns from the network. Common merchants get coded even on first sight.

Phase 05
MCC category

Card transactions carry merchant category codes. We map ~3,000 MCCs to nominal accounts plus a fallback against universal patterns.

Phase 06
Semantic AI

BGE-base-en-v1.5 (768d) embeddings. Account names enriched with merchant context — "Motor Vehicle Expenses: SHELL, BP, ESSO". Catches what patterns miss.

Phase 07
User learning

Final override. Every correction you make is remembered. On the next session, your manual codes win — your judgment trumps the algorithm.

Phase 08
VAT / sales tax

Classification into universal codes (NV, ST, RR, EX, ZR), then mapped to your platform's specific codes. Net and tax amounts calculated.

Flagship · Invoice OCR

Drag in twenty messy invoices. Get them coded.

A built-in alternative to Dext. Drag PDFs, PNGs, and JPGs straight from a phone screenshot. Gemini Vision extracts the numbers; CodeIQ matches them to your bank transactions and posts them as invoice payments on your platform. No separate subscription.

Drag, extract, match, post.

Each invoice gets parsed for date, supplier, total, VAT amount, invoice number, currency, and line items where present — with a confidence score per field. Low-confidence fields surface for review. Everything else flows straight through.

Once extracted, CodeIQ creates the invoice on your accounting platform (Xero, QuickBooks, Sage, Pandle), then matches it to the corresponding bank transaction during pipeline phase 02.

  • Batch upload — drag 20+ files at once
  • PDF, PNG, JPG; scans, screenshots, phone photos all supported
  • Gemini Vision extracts 8+ fields with per-field confidence
  • Multi-currency: GBP, USD, EUR, JPY, more
  • Auto-suggests expense or income category
  • Sales invoices and purchase invoices both supported
Sample extraction
SupplierSHELL UK LTD
Date2026-04-22
Invoice #SH-92847
Subtotal£62.50
VAT (20%)£12.50
CurrencyGBP
Suggested accountMotor Vehicle
Confidence0.96
Total£75.00
Flagship · Merchant Accounts tab

eBay, Amazon, PayPal. Built in.

A built-in alternative to A2X and LinkMyBooks. Designate a bank account as a merchant control account, upload your settlement CSV, and CodeIQ parses every line item — sales, fees, shipping, refunds, tax — categorises against your chart of accounts, and posts alongside your regular bank transactions.

One settlement CSV. Every line, coded.

Auto-detects whether it's eBay, Amazon, or PayPal from the headers. Excludes payouts (those reconcile via bank), parses everything else into journal entries by category. RiQ AI maps each bucket to your actual chart of accounts — with merchant-specific context so eBay fees don't end up as "Bank Fees".

The whole thing posts as part of the same coding session. Same review queue, same approval flow. No separate subscription, no second tool, no double bookkeeping.

  • Auto-detects eBay, Amazon, or PayPal from CSV headers
  • Parses sales, fees, shipping, refunds, tax — payouts excluded
  • RiQ AI maps each bucket to your CoA with merchant context
  • Summary breakdown with amounts before you process
  • Contact auto-set to platform name (eBay, Amazon, PayPal)
  • Works with Xero, QuickBooks, Pandle, and Sage
eBay settlement parsed
Sales (gross)£3,847.20
Final value fees-£412.65
Shipping income£284.00
Postage labels-£312.40
Refunds-£87.50
Promoted listings-£42.10
Sales tax collected£312.45
Sales tax remitted-£312.45
Net to bank£3,276.55
VAT & sales tax

UK VAT, US sales tax. Both, properly.

CodeIQ classifies every transaction into a universal tax intent (standard, reduced, zero-rated, exempt, no-VAT), then maps that to your platform's specific codes. UK MTD-compliant for VAT, US-aware for multi-state sales tax and 1099 reporting. Net and tax amounts calculated automatically.

UK VAT classification

Universal classification (NV / ST / RR / EX / ZR) mapped to your platform codes. Reverse charge handled. Historical patterns inform future suggestions.

  • 20% standard, 5% reduced, 0% zero-rated
  • Exempt, outside-scope, reverse-charge cases
  • Auto-calculated net + VAT split
  • MTD-friendly output for HMRC submission

US sales tax & nexus

Multi-state sales tax classification with platform-specific code mapping. Surfaces taxable, non-taxable, and exempt transactions for reconciliation against Avalara or TaxJar.

  • Sales-tax-collected vs sales-tax-remitted accounting
  • Surfaces nexus-relevant lines for review
  • 1099-NEC and 1099-MISC contractor flagging
  • Schedule C category alignment for sole props

EU VAT & cross-border

Standard, reduced, zero, and exempt rates per member state. Acquisition VAT and reverse charge for B2B intra-EU. Handles GST for ROW jurisdictions where supported by the platform.

  • Per-jurisdiction rate handling
  • Acquisition tax for cross-border B2B
  • Multi-currency net + VAT calculation
Concurrency

Up to ten clients in parallel.

Practices don't process clients one at a time. CodeIQ runs up to 10 sessions concurrently in a single browser window — each tab is a different client, each tab processes in the background, and you can switch between them instantly. Upload once, review while the next is processing.

10 concurrent sessions

Up to 10 client sessions in parallel, with 8 visible tabs. Each session has its own state — chart of accounts, VAT codes, OAuth context, processing progress.

Background job system

Pipeline runs in the background via job queue. Real-time progress updates via Server-Sent Events. Switch tabs, the job keeps running.

Instant tab switching

No reloads, no re-fetches. Each tab's state is held in the browser; switching is local. Pick up exactly where you left off.

Posting back

Coded transactions, posted automatically.

Most "AI bookkeeping" tools stop at suggestion. CodeIQ posts. Once you've reviewed and approved the coded batch, the Posting Center pushes everything to your accounting platform — bank lines as journal entries or bank transactions, invoice payments as payments-against-invoices, transfers as inter-account transfers. With auto-reconciliation where the platform supports it.

Bulk posting batches

Hundreds of transactions posted in a single batch with retry logic for transient API failures. Per-transaction status surfaced; failures retried or flagged for manual review.

Auto-reconciliation

For Pandle, QuickBooks, and Sage, posted transactions are automatically marked as reconciled against the bank feed. Saves the click. Xero has a platform limitation we're upfront about.

Reversible

Posting batches are tracked. If something goes wrong, the batch can be reviewed in the dashboard, and corrections re-posted. Nothing is destructive.

Integrations

Four platforms, direct posting.

Each integration has its own posting logic — journals, bank transactions, invoice payments, transfers — handled per platform. OAuth 2.0 for everything. No CSV exports.

Pandle
Deepest integration

Native posting, full auto-rec. The reference implementation.

QuickBooks
Online · OAuth 2.0

Bank txns, journals, invoice payments, full GL history sync.

Xero
OAuth 2.0

Bank transactions and invoices. Standard txns auto-rec; transfers + invoice payments require one Xero click.

Sage
Business Cloud

CSV-based and API posting. Full VAT code mapping per Sage's tax model.

Under the hood

The technical bits, since you asked.

Built on a Node.js + PostgreSQL backend with a C++ matching microservice for high-volume work. The semantic phase runs the BAAI BGE-base-en-v1.5 embedding model — 768 dimensions, ~25ms per embedding on a 2-core CPU, with account names enriched with merchant context for cross-platform consistency.

BGE-base 768d embeddings

BAAI's BGE-base-en-v1.5 ONNX-quantized. Account embeddings enriched at session init with the top merchants from the universal pattern database — so "Motor Vehicle Expenses" becomes "Motor Vehicle Expenses: SHELL, BP, ESSO" semantically.

36 PostgreSQL tables

Sessions, transactions, patterns, OCR uploads, postings, contributions, audit logs. Full data minimisation: nothing persisted beyond the session except your learned patterns.

Real-time SSE progress

The pipeline streams its status live. UI shows phase-by-phase progress, per-transaction confidence as it computes, and surfaces low-confidence rows immediately for review.

8
Pipeline phases per transaction
10
Concurrent client sessions
~25ms
Per-transaction embedding
3,500+
Universal patterns & growing
Security & privacy

Your data does not get persisted.

CodeIQ never persists session-init data beyond the session — chart of accounts, VAT codes, invoices, GL history, embeddings all pulled fresh each time. Personal pattern learning is per-user and opt-in. Universal pattern contributions are PII-stripped, anonymised, and consent-gated.

AES-256, no data persistence

Encrypted in transit and at rest. Session data deleted at close — fresh init pull every time. OAuth tokens encrypted, revocable any time.

Pattern contribution: opt-in

Your personal corrections feed your own learning. Universal pattern contributions are opt-in, PII-stripped at the source, and audited.

GDPR deletion service

Account deletion clears your sessions, patterns, OCR uploads, posting history, and OAuth tokens — across every cache and table.

FAQ

The honest answers.

How is CodeIQ different from Dext or LinkMyBooks or A2X?

It replaces them. Invoice OCR (Dext's job) is built in via Gemini Vision. Merchant CSV parsing for eBay, Amazon, and PayPal (LinkMyBooks / A2X's job) is built in via the Merchant Accounts tab. And on top of those, CodeIQ also codes regular bank transactions across an 8-phase AI pipeline — which Dext doesn't do at all. One subscription, the whole bookkeeping flow.

Does it actually post to my accounting platform?

Yes. Posting is the whole point. The Posting Center bulk-pushes coded transactions to QuickBooks, Xero, Sage, or Pandle via OAuth API. Bank lines, invoice payments, and transfers are handled per platform. Auto-reconciliation works for Pandle, QuickBooks, and Sage.

Does it work for US clients with multi-state sales tax?

Yes. The VAT classification phase generalises to US sales tax — taxable, non-taxable, exempt, and per-platform mapping. Multi-state nexus is surfaced for review, sales-tax-collected and sales-tax-remitted accounts are handled separately, and 1099-NEC contractor flagging works alongside the Schedule C category alignment for sole props.

How accurate is the coding?

Depends on the client. For a returning client with rich GL history, the historical pattern phase alone hits 85-95% confidence on routine transactions before any AI runs. For a brand-new client with no history, the universal pattern database carries the load — common merchants get coded on first sight. Either way, low-confidence transactions are surfaced for review; nothing posts without your sign-off.

How long does processing take?

For a typical month — say 200-500 transactions — the full 8-phase pipeline finishes in under two minutes. Larger batches (1,000+ transactions) take a few minutes. The semantic phase is the slowest; everything before it is sub-second per transaction.

Can I run multiple clients at once?

Up to 10 concurrent sessions. Each tab is a different client; each tab's pipeline runs in the background. Switch between them instantly. Upload one, switch to review another, switch to post a third — the jobs run in parallel.

What happens to my data?

Session-init data (CoA, VAT codes, invoices, GL history) is pulled fresh every session and deleted at session end. Your personal pattern learning is stored against your account. Universal pattern contributions are opt-in, PII-stripped, and consent-audited. Account deletion clears everything — caches, patterns, postings, tokens.

What if the AI gets a transaction wrong?

You correct it. The user-learning phase remembers the correction and applies it on the next session — your judgment trumps the algorithm. Repeated corrections reinforce the pattern; the system gets sharper for your specific clients over time.

Is there a free tier?

Yes. The Starter plan is free with 5,000 monthly credits — plenty for a small business or to evaluate at a practice. No card required to sign up. See pricing.

After the bookkeeping

The other two products in the suite.

Each client's bookkeeping. Done in minutes.

An AI bookkeeper that handles the routine work so your time goes on the advisory and relationship side. Free to start.