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.
Connect Your Accounting Platform
Start by connecting CodeIQ to your accounting software. We support Pandle, QuickBooks, Xero, and Sage.
- Navigate to the CodeIQ dashboard
- Click "Connect Platform" and select your accounting software
- Authorize CodeIQ via OAuth (your credentials stay secure with your platform)
- Select which company/organization you want to work with
- 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.
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
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:
- Select the bank account from your Chart of Accounts
- Drag and drop your bank statement file
- For CSV files, CodeIQ will auto-detect columns (Date, Description, Amount)
- Review the mapping modal and adjust if needed
- 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.
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.
- Filter by confidence: Use the confidence filter to review low-confidence transactions first
- Bulk actions: Select multiple high-confidence transactions and click "Approve Selected"
- Edit suggestions: Click on any transaction to change the account code, VAT rate, or description
- Mark as transfer: If the system missed a transfer, manually mark it to prevent double-entry
- Split transactions: For complex transactions, split them across multiple account codes
- 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:
- Upload your invoices via OCR (or sync from your accounting platform)
- Upload your bank statement as usual
- CodeIQ's Invoice Matching phase detects payments that match invoice amounts
- Matches are suggested with confidence scores based on amount, date, and contact name
- 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:
- Morning: Create sessions for 8-10 clients you're working on today
- Upload all bank statements in parallel (background processing starts)
- While the system processes Client A's 500 transactions, switch to Client B and start reviewing
- Rotate through tabs approving high-confidence matches
- Manually code edge cases across all sessions
- 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.
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.
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".
Staging Queue
Patterns are submitted to our staging queue with status 'pending'. They're not yet visible to other users.
Admin Approval
Our team manually reviews patterns for quality, accuracy, and compliance. Patterns with incorrect coding or sensitive data are rejected.
LLM Cleaning
Approved patterns are cleaned by LLM for merchant name consistency (e.g., "Amazon UK", "Amazon Business", "Amazon Prime" all normalized to "Amazon").
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:
- After approving transactions, click "Post to Pandle"
- Background job groups transactions by type (standard/transfer/invoice)
- Standard transactions: Posted as bank transactions with account code + VAT
- Transfers: Posted as paired transactions with offsetting entries
- Invoice payments: Posted as payment against specific invoice ID
- Real-time progress tracking with live updates
- Results stored for audit trail and review
- 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.
CodeIQ Guides