AI-powered reconciliation
with a 3-tier engine
A 3-tier reconciliation engine powered by Gemini 3 Flash with agentic function calling, 8 investigation tools, and real-time streaming reasoning. Upload any bank statement — PDF, CSV, or scanned — and watch the AI match, learn, and explain.
14-day free trial · No credit card required · Cancel anytime

8
Agent Tools
3-Tier
AI Engine
40+
Currency Pairs
90-Day
Cash Flow Forecast
Sound familiar?
Bank statement processing is broken
Hours of manual data entry
Copying transactions from PDFs into spreadsheets. Typos. Missing entries. The same tedious work, month after month.
Unreadable statement formats
Every bank has a different layout. Scanned documents. Multi-page statements. Nothing matches your chart of accounts.
Month-end closing nightmares
Reconciliation takes days. Discrepancies appear at the worst time. Your team works overtime every month.
“I used to spend 15+ hours every month just entering bank data. Now it takes 15 minutes.”
— Sarah M., Bookkeeper
End-to-end processing
6-Stage AI Pipeline
Every document flows through six stages — each powered by a different Gemini 3 capability.
Core architecture
3-Tier Reconciliation Engine
Each transaction escalates only if the previous tier can't resolve it. Most match in Tier 1 — AI is reserved for genuinely complex cases.
Quick Scan
AI Matching
Deep Investigation
// Tier 2: AI matching with dynamic thinking
const response = await ai.models.generateContent({
model: "gemini-3-flash",
config: {
responseMimeType: "application/json",
thinkingConfig: {
thinkingLevel: ThinkingLevel.LOW,
},
},
});
Function calling
8-Tool Agentic System
Gemini 3 Flash calls real database tools in a manual function-calling loop — up to 10 iterations per investigation.
searchTransactionsFuzzy search by amount, date, keywords
searchInvoicesVendor, amount, status filters
findInvoiceCombinationSubset-sum: invoices that add to payment
findPaymentCombinationTransactions that sum to invoice
getFXRateLive + cached, 40+ currency pairs
searchCreditNotesCredit notes explaining differences
getVendorHistoryPayment delay statistics
getLearnedPatternsAI-learned vendor patterns
// Manual function-calling loop (up to 10 iterations)
while (response.candidates?.[0]?.content
?.parts?.some(p => p.functionCall) && iterations < 10) {
const calls = parts.filter(p => p.functionCall);
for (const call of calls) {
await agentTools[call.name](...args);
}
iterations++;
}
Up to 10 iterations per investigation. Real Firestore queries. Streaming progress to the UI.
Live progress
Real-Time AI Reasoning
Watch the engine think. Every step streams to your browser via Firestore real-time listeners — not a spinner, but actual reasoning.
ProgressStream writes events to Firestore in real-time. Frontend renders via onSnapshot listener.
Scoring engine
5-Signal Match Scoring
Every potential match is scored across five independent signals. Total score out of 125 is converted to a confidence percentage.
Built-in fee pattern detection
Continuous learning
It Learns From Every Match
Every confirmed match — manual or AI — updates vendor patterns in Firestore. The next time that vendor appears, matching is faster and more accurate.
GlobalTech Solutions
Vendor pattern — learned
How pattern memory works
Match Confirmed
Manual or AI-confirmed match triggers learning
Extract Keywords
Transaction description tokenized. Common words filtered. Top 15 kept.
Update Averages
Running averages for payment delay, amount range, and confidence — weighted by match count.
Better Next Match
Next time this vendor appears, patterns boost scoring. Levenshtein fuzzy matching (0.7 threshold) catches name variants.
// Levenshtein fuzzy matching
function stringSimilarity(a, b): number {
const dist = levenshteinDistance(a, b);
return 1 - (dist / Math.max(a.length, b.length));
}
// Threshold: 0.7 — catches "GlobalTech" ≈ "GLOBALTECH INC"
Anomaly reasoning
AI Fraud Detection & Anomaly Alerts
Statistical analysis runs on every transaction set. The AI doesn't just match — it watches for outliers, duplicate charges, slow payers, and FX exposure.
Statistical Outliers
highFlags payments exceeding 2 standard deviations from the mean — catches unusual spikes automatically.
threshold = mean + 2 × stdDevSlow Payer Detection
mediumIdentifies vendors with 30+ day payment delays from AI-learned vendor_patterns. Alerts on cash flow risk.
typicalDelay.max > 30 daysFX Exposure Alerts
lowDetects cross-currency reconciliation matches where rate fluctuations could cause variance. Flags for review.
txn.currency ≠ doc.currencyLow Match Rate Warnings
highWhen >20% of transactions remain unreconciled, the system raises a high-priority alert for investigation.
unmatchedRate > 20%// Statistical outlier detection (2σ)
const mean = debits.reduce((a, b) => a + b) / debits.length;
const stdDev = Math.sqrt(variance);
const threshold = mean + 2 * stdDev;
const outliers = txns.filter(t => t.amount > threshold);
Anomalies computed client-side from real transaction data. No external fraud service — pure statistical AI.
Predictive intelligence
90-Day Cash Flow Forecast
Gemini 3 Flash with extended thinking (4,096-token budget) analyzes your transaction history, upcoming receivables, and vendor patterns to project cash flow with risk scoring.
Next 30 days
30-60 days
60-90 days
What feeds the forecast
6 parallel Firestore queries
Accounts, transactions, invoices, bills, vendor_patterns, reconciliation_runs
Monthly cash flow aggregation
Last 6 months of credits vs debits, computed client-side
Upcoming receivables
All unpaid invoices with due dates and amounts
Upcoming payables
All unpaid bills with vendor and due date
AI match rate
Reconciliation quality score from latest run
Vendor pattern count
Number of AI-learned patterns improves forecast accuracy
Gemini 3 Configuration
const response = await ai.models.generateContent({
model: "gemini-3-flash",
config: {
temperature: 0.3,
responseMimeType: "application/json",
thinkingConfig: {
thinkingBudget: 4096,
},
},
});
Risk Identification
AI assigns severity (high/medium/low) and dollar impact to each risk factor
AI Recommendations
Actionable steps based on the analysis — chase invoices, reduce spending, build reserves
Natural language queries
Ask Your Books Anything
An agentic AI assistant with direct database access. Gemini 3 constructs its own Firestore queries — no hardcoded searches. Up to 10 rounds of tool calls per conversation.
queryFirestoreAI constructs arbitrary Firestore queries with filters, ordering, text search — across 11 collections
getFinancialOverviewCross-collection aggregation: invoices, bills, accounts, reconciliation stats, vendor patterns
getCashFlowTrendMonthly cash flow analysis with configurable lookback (up to 24 months)
Financial AI Assistant
Powered by Gemini 3 Flash · 3 tools · 11 collections
Which vendors have unpaid invoices over $5,000?
I found 4 unpaid invoices over $5,000:
1. GlobalTech — $8,450 (15 days overdue)
2. Acme Corp — $6,200 (due in 5 days)
3. CloudSync Ltd — $5,890 (30 days overdue)
4. DataFlow Inc — $5,100 (due in 12 days)
CloudSync has a history of 30+ day delays per your vendor patterns.
Security whitelist: 11 Firestore collections. userId filter auto-applied. No raw database access exposed.
Loved by finance teams
See what our customers have to say about SmartInvoice
“I manage books for 23 clients. Before SmartInvoice, I spent 2-3 hours per client on bank reconciliation. Now? 10 minutes. I've literally 10x'd my capacity without hiring.”
Sarah Mitchell
Bookkeeper, 23 clients
“The Gemini AI understood our weird foreign bank formats that no other tool could handle. We tried 4 competitors before finding SmartInvoice. Nothing else came close.”
Marcus Chen
CFO, Import/Export Co
“Our month-end close went from 5 painful days to literally 1 day. The accuracy is insane - I've found maybe 3 errors in 6 months of processing thousands of transactions.”
Linda Park
Controller, SaaS Startup
See the AI in action
Try the live demo — upload a bank statement and watch the 3-tier engine match, reason, and learn in real time. No signup required.
No credit card required · 14-day free trial · Cancel anytime