Getting Started with CodeIQ

CodeIQ is your intelligent bookkeeping assistant that learns your coding preferences and automatically categorizes bank transactions. This guide will walk you through the complete workflow from connection to automated posting.

1

Connect Your Accounting Platform

Start by connecting CodeIQ to your accounting software. We support Pandle, QuickBooks, Xero, and Sage.

  1. Navigate to the CodeIQ dashboard
  2. Click "Connect Platform" and select your accounting software
  3. Authorize CodeIQ via OAuth (your credentials stay secure with your platform)
  4. Select which company/organization you want to work with
  5. CodeIQ will automatically fetch your Chart of Accounts and VAT codes

Security Note

CodeIQ uses industry-standard OAuth 2.0. We never see your accounting platform password - authentication is handled directly by your platform.

2

Create a Session

Sessions organize your work by client or period. You can have up to 10 sessions open simultaneously.

  • Click "New Session" in the session manager
  • Give your session a name (e.g., "ABC Ltd - January 2025")
  • Session initialization runs in background (typically 30-60 seconds)
  • During init, CodeIQ fetches your GL history to learn your coding patterns
  • Once ready, the session tab will turn green
3

Upload Bank Statement

CodeIQ supports multiple bank statement formats with intelligent parsing.

Supported Formats:

  • CSV (most common)
  • PDF bank statements
  • Excel (.xlsx, .xls)
  • OFX/QFX (Quicken format)
  • QBO (QuickBooks format)

Upload Process:

  1. Select the bank account from your Chart of Accounts
  2. Drag and drop your bank statement file
  3. For CSV files, CodeIQ will auto-detect columns (Date, Description, Amount)
  4. Review the mapping modal and adjust if needed
  5. Click "Confirm Upload" to parse transactions

CSV Column Mapping

CodeIQ's intelligent parser recognizes common UK bank CSV formats automatically. If your bank uses unusual headers, simply map them manually in the modal.

4

The "Human-in-the-Loop" Concept

CodeIQ doesn't just guess; it suggests. You remain in control of every coding decision.

1. System Suggests

CodeIQ analyzes each transaction through multiple processing phases and suggests the most likely account code with a confidence score.

2. You Review

Review suggestions in the approval queue. Accept, modify, or reject. High-confidence matches (90%+) can be bulk-approved.

3. System Learns

Every approval or correction trains your personal pattern database, making future suggestions more accurate.

Intelligent Coding Automation

Understanding CodeIQ's multi-phase processing pipeline helps you get the best results and troubleshoot edge cases.

The Processing Pipeline

When you click "Process Transactions", a background job starts with real-time progress updates. Here's what happens in each phase:

Phase 1: Transfer Detection

Identifies movements between your own bank accounts to prevent double-entry. CodeIQ looks for equal/opposite amounts across accounts within 3 days.

Phase 2: Invoice Matching

Matches transactions to outstanding invoices (sales or purchase) for automatic payment posting. Matches by amount, date range, and customer/supplier name.

Phase 3: Historical Pattern Matching

Applies coding patterns learned from your own GL transaction history. If you've coded "Amazon" as Office Expenses before, CodeIQ remembers.

Phase 4: Universal Pattern Matching (Most Common)

Searches the crowd-sourced Universal Pattern Database with thousands of merchant patterns from all CodeIQ users. This is the most powerful phase for common merchants like Starbucks, Adobe, TfL, etc.

Phase 5: MCC Category Matching

For card transactions with Merchant Category Codes (MCCs), CodeIQ uses industry classification to suggest account codes (e.g., MCC 5812 = Restaurants).

Phase 6: Semantic analysis Coding

CodeIQ's semantic analysis model analyzes transaction descriptions for meaning, understanding context beyond simple keyword matching.

Phase 7: User Learning Override

Final pass applying user-specific pattern overrides. If you've corrected a pattern, your correction takes precedence over universal patterns.

Phase 8: VAT Classification

Determines correct VAT treatment based on account code and historical VAT rates for that account. Supports Standard (20%), Reduced (5%), Zero (0%), and Exempt.

VAT Compliance: UK HMRC compliant

Performance Tip

The processing pipeline typically processes 100 transactions in 30-90 seconds. You can continue working in other sessions while processing runs in the background.

Understanding Confidence Scores

Each coded transaction receives a confidence score (0-100%) indicating how certain the system is about the suggestion.

90-100%

Excellent match. High confidence from Universal Pattern or Historical Match.

Safe to bulk-approve

70-89%

Good match. Likely correct from Semantic analysis or MCC matching.

Quick review recommended

50-69%

Moderate match. System has a suggestion but not highly confident.

Manual review required

<50%

Low confidence. Unusual transaction or insufficient data.

Review with RiQ recommended

RiQ AI Assistant for Low Confidence Transactions

For transactions with low confidence scores, use RiQ (our AI assistant) to analyze them in bulk. RiQ can review multiple low-confidence transactions and suggest corrections, which you can approve in batches. This is often faster and more accurate than manual coding.

Reviewing & Approving Transactions

After intelligent processing completes, you'll see the "Review Transactions" screen.

  1. Filter by confidence: Use the confidence filter to review low-confidence transactions first
  2. Bulk actions: Select multiple high-confidence transactions and click "Approve Selected"
  3. Edit suggestions: Click on any transaction to change the account code, VAT rate, or description
  4. Mark as transfer: If the system missed a transfer, manually mark it to prevent double-entry
  5. Split transactions: For complex transactions, split them across multiple account codes
  6. Approve all: Once satisfied, click "Approve All" to finalize coding

Learning in Action

Every time you correct a suggestion or approve a coding, CodeIQ stores this as a user pattern. Next time you see the same merchant, it will use YOUR correction instead of the universal pattern.

Invoice OCR Recognition

Eliminate manual invoice data entry with intelligent OCR that extracts key fields automatically. Works like Dext or AutoEntry, but integrated directly into your bookkeeping workflow.

Uploading Invoices

Drag and drop invoice files directly into the CodeIQ invoice upload area.

Supported File Formats:

  • PDF invoices (up to 10MB per file)
  • PNG images
  • JPG/JPEG images

Batch Upload:

Select multiple files at once or drag a folder of invoices. CodeIQ processes them in parallel, showing real-time progress for each document.

Security Note

All uploaded files are encrypted with AES-256-GCM during transit. Files are processed and cached securely, then automatically cleaned up after session expiry.

Extracted Fields

Gemini Vision analyzes each invoice and extracts the following data with confidence scores:

Invoice Details

  • Invoice number
  • Invoice date
  • Due date (if present)
  • Invoice type (sales/purchase)

Contact Information

  • Supplier/customer name
  • Contact address (if present)
  • VAT registration number

Amounts

  • Gross total amount
  • Net amount (before VAT)
  • VAT amount
  • Currency (GBP, USD, EUR, JPY...)

Category Suggestion

  • Suggested expense/income category
  • Line item descriptions
  • Fuzzy matched to your Chart of Accounts

Confidence Scores

Each extracted field shows a confidence percentage. High-confidence extractions (90%+) are highlighted green. Lower confidence fields are flagged for manual review.

Matching Invoices to Bank Transactions

After OCR processing, invoices are cached and available for automatic matching when corresponding bank transactions appear.

Matching Process:

  1. Upload your invoices via OCR (or sync from your accounting platform)
  2. Upload your bank statement as usual
  3. CodeIQ's Invoice Matching phase detects payments that match invoice amounts
  4. Matches are suggested with confidence scores based on amount, date, and contact name
  5. Approve the match to post the payment and mark the invoice as paid

Handling Partial Payments & Adjustments:

  • Partial payments: Match a payment to an invoice even if the amount is less - remaining balance stays outstanding
  • Overpayments: Create adjustment transactions for credit notes or refunds
  • Bank fees: If payment is slightly less (e.g., wire fee deducted), CodeIQ can create the adjustment

Platform Integration

OCR invoices integrate with Pandle, QuickBooks, Xero, and Sage. When you post a matched payment, CodeIQ creates the invoice (if not already in your platform) and posts the payment in one operation.

Best Practices for OCR Accuracy

Get the best results from invoice OCR with these tips:

  • High-quality scans: Use clear, high-resolution scans (300 DPI+) for paper invoices
  • PDF preferred: Native PDF invoices (not scanned images) produce the highest accuracy
  • Single invoice per file: Split multi-page documents so each file contains one invoice
  • Avoid handwriting: OCR works best with printed/typed invoices
  • Standard layouts: Common invoice formats are recognized automatically; unusual layouts may need manual review

Learning from Corrections

When you correct an OCR extraction, CodeIQ learns from your feedback. Future invoices from the same supplier will benefit from improved accuracy.

Multi-Client Sessions

CodeIQ's multi-session architecture is designed for accounting practices managing multiple clients simultaneously.

Working with 10 Concurrent Sessions

Unlike traditional tools that force sequential processing, CodeIQ supports true concurrency.

Session Manager Interface:

  • 10 concurrent sessions: Maximum capacity per browser window
  • 8 visual tabs: Display system with pagination (4 more sessions accessible via arrows)
  • Independent state: Each session has its own processing queue, approval state, and pattern cache
  • Instant switching: Click tabs to switch between clients with no reload time
  • Session expiry: Sessions expire after 24 hours of inactivity to free resources

Typical Practice Workflow:

  1. Morning: Create sessions for 8-10 clients you're working on today
  2. Upload all bank statements in parallel (background processing starts)
  3. While the system processes Client A's 500 transactions, switch to Client B and start reviewing
  4. Rotate through tabs approving high-confidence matches
  5. Manually code edge cases across all sessions
  6. Batch-post approved transactions at end of day

Time Savings Example

A typical practice processing 10 clients sequentially takes ~8 hours. With CodeIQ's multi-session concurrency, the same work completes in ~2.5 hours (background intelligent processing + human review time only).

Session Status Indicators

Each session tab displays a color-coded status:

Gray - Initializing

Session is being created, GL history being fetched

Green - Ready

Session active, ready for upload

Blue - Processing

Processing pipeline running in background

Yellow - Needs Review

intelligent processing complete, transactions awaiting approval

Purple - Posting

Approved transactions being posted to accounting platform

Red - Error

Error occurred, check error log for details

Universal Pattern Database

The Universal Pattern Database is CodeIQ's collective intelligence - a crowd-sourced system where all users benefit from each other's coding decisions.

How Pattern Contribution Works

When you connect CodeIQ to your accounting platform, it analyzes your GL transaction history to extract high-quality coding patterns.

1

Pattern Extraction

During session init, CodeIQ reads your GL history (via accounting platform API) and identifies recurring transaction patterns. Only patterns with 2+ occurrences are considered.

2

Anonymization & PII Removal

Patterns are anonymized - merchant names are normalized, client-specific data removed, and personally identifiable information stripped. Example: "Amazon Business Purchase Inv-12345" becomes "Amazon".

3

Staging Queue

Patterns are submitted to our staging queue with status 'pending'. They're not yet visible to other users.

4

Admin Approval

Our team manually reviews patterns for quality, accuracy, and compliance. Patterns with incorrect coding or sensitive data are rejected.

5

LLM Cleaning

Approved patterns are cleaned by LLM for merchant name consistency (e.g., "Amazon UK", "Amazon Business", "Amazon Prime" all normalized to "Amazon").

6

Universal Database Seeding

Cleaned patterns are added to our universal database and become available to ALL users across ALL future sessions.

The Network Effect

Every CodeIQ user benefits from the collective wisdom of thousands of bookkeepers. When User A codes "Starbucks" as "Office Refreshments", that pattern becomes available to User B, C, D... forever.

Opt-Out of Pattern Contribution

If you prefer not to contribute patterns to the universal database, you can opt-out in settings. Your coding will still benefit from existing universal patterns, but your patterns won't be shared with others.

Note: Pattern contribution is optional and can be disabled per session or account-wide.

User Pattern Overrides

Your personal coding preferences always take precedence over universal patterns.

Example Scenario:

Universal Pattern: "Amazon" → Office Supplies (contributed by 1,000 users)

Your Correction: You code "Amazon" as "IT Equipment" for your client

Result: CodeIQ stores your personal override with priority over universal patterns

Future Behavior: Next time you see "Amazon", CodeIQ suggests "IT Equipment" (your override) instead of "Office Supplies" (universal)

Best of Both Worlds

Benefit from crowd-sourced intelligence for common merchants, while maintaining your own client-specific coding rules.

Platform Integrations

CodeIQ integrates with major accounting platforms via secure OAuth 2.0. Each integration has platform-specific features optimized for that platform's API.

Pandle Integration (Primary)

Our deepest integration with the most sophisticated posting pipeline.

Key Features:

  • Full GL History Access: Pattern learning from complete transaction history
  • Three Transaction Types: Standard transactions, inter-account transfers, invoice payments
  • Automatic Reconciliation: Posted transactions auto-reconcile in Pandle bank feeds
  • Multi-Currency Support: Foreign currency transactions with exchange rate handling
  • VAT Compliance: Automatic VAT calculation and submission-ready reporting
  • Batch Posting: Process hundreds of transactions in seconds via background jobs

Posting Process:

  1. After approving transactions, click "Post to Pandle"
  2. Background job groups transactions by type (standard/transfer/invoice)
  3. Standard transactions: Posted as bank transactions with account code + VAT
  4. Transfers: Posted as paired transactions with offsetting entries
  5. Invoice payments: Posted as payment against specific invoice ID
  6. Real-time progress tracking with live updates
  7. Results stored for audit trail and review
  8. View posting summary with success/failure breakdown

Pandle Pro Tip

Enable "Auto-Reconcile" in Pandle settings. When CodeIQ posts transactions, they'll auto-match against your Pandle bank feed, completing full reconciliation automatically.

QuickBooks Online Integration

Enterprise-grade integration with journal entry support and comprehensive GL history.

Features:

  • Journal Entry Creation: Transactions posted as journal entries with audit trail
  • Bank Feed Reconciliation: Auto-match against QuickBooks bank feeds
  • Class & Location Tracking: Support for QB classes and location dimensions
  • Multi-Currency: Full foreign currency support with QB exchange rates
  • GL History Pattern Learning: Analyzes full general ledger for historical patterns

Note: QuickBooks integration requires QuickBooks Online Plus or Advanced for journal entry permissions.

Xero Integration

Streamlined integration with Xero's bank transaction API.

Features:

  • Bank Transaction Posting: Posted directly to Xero bank accounts
  • Contact Matching: Auto-match merchants to Xero contacts
  • Tracking Categories: Support for Xero's two tracking dimensions
  • Bank Rules Integration: CodeIQ patterns work alongside Xero bank rules
  • Pattern Learning: Learns from Xero bank transaction history

Sage Integration

CSV-based workflow with Sage Accounting and Sage Business Cloud.

Features:

  • CSV Export: Coded transactions exported in Sage-compatible CSV format
  • Nominal Code Mapping: Chart of accounts mapped to Sage nominal codes
  • VAT Code Support: UK VAT codes (T0, T1, T2, T9) fully supported
  • Pattern Learning: Learns from previously uploaded Sage transaction CSVs

Note: Sage integration uses CSV import workflow due to Sage API limitations. Direct posting coming in 2025.

Troubleshooting Integration Issues

OAuth Token Expired

Platform tokens expire after 60-90 days. Simply reconnect via "Settings → Connections → Reconnect [Platform]"

Posting Failures

Check the error log in session details. Common issues: invalid account codes (check COA), missing VAT codes, duplicate transaction detection.

Pattern Learning Not Working

Ensure you have at least 3 months of GL history in your accounting platform. CodeIQ requires minimum transaction volume to extract patterns.