MatchRecon Documentation
Everything you need to master invoice reconciliation. From first upload to advanced automation.
Getting Started
Create Your Account
Sign up with your work email at matchrecon.com/auth/register. No credit card required for the 7-day trial. You will receive immediate access to the dashboard.
💡 Pro Tip: Use your company email to enable team collaboration features later.
Upload Your First Files
Navigate to the Upload section in your dashboard. Drag and drop your invoice PDFs and bank statement CSV/Excel files. The system will automatically extract transaction data.
Supported File Formats:
- Invoices: PDF only
- Bank Statements: CSV, XLSX, XLS
- Max File Size: 25MB per file
- Batch Upload: Up to 50 files at once
Configure Matching Rules
Set your preferences before running the first match. These rules control how the AI identifies matching transactions.
Date Tolerance
±3 days default
Amount Variance
±$0.01 default
Fuzzy Matching
85% threshold default
Run Your First Match
Click the Run AI Matching button. The engine will process thousands of transactions in seconds and present matched pairs with confidence scores.
✅ Expected Results: 85-95% automatic match rate for typical datasets.
Dashboard Overview
Main Dashboard
View real-time metrics: total matches, match rate percentage, exceptions count, and recent activity. Visual charts show weekly trends and reconciliation progress.
Key Metrics Displayed:
Total Matches
Count of successfully matched invoice-transaction pairs
Match Rate %
Percentage of automatic matches vs. total transactions
Exceptions Count
Unmatched items requiring manual review
Recent Activity
Last 10 reconciliation jobs with timestamps
Upload Center
Drag-and-drop interface supports PDF invoices and CSV/Excel bank statements. Batch upload multiple files. Track upload history with file names, dates, and status.
Matching Results
Review matched pairs with confidence scores (0-100%). Color-coded badges help prioritize review:
Click any match to see detailed comparison with invoice PDF preview and transaction details side-by-side.
Exceptions Queue
View all unmatched transactions, duplicates, and flagged discrepancies. Sort by priority, amount, or date. Manually match exceptions or mark as resolved.
Advanced Features
Custom Matching Rules
Create vendor-specific rules. Set custom date ranges for recurring invoices. Define amount variance thresholds per category.
- Vendor whitelist/blacklist
- Category-based rules
- Auto-match patterns
Advanced Filtering
Filter by date range, amount range, vendor name, match status, and confidence score. Save filter presets for monthly workflows.
- Multi-field search
- Saved filter templates
- Quick filters (today, this week, this month)
Export & Reports
Export matched results to Excel, CSV, or PDF. Generate audit reports with full transaction logs and timestamps.
- Excel/CSV/PDF export
- Audit trail reports
- Summary analytics
Enterprise Features
Comprehensive guides for configuring and using all enterprise features. Each section includes setup instructions, API examples, and troubleshooting tips.
How to Create and Schedule Custom Reports
Overview
Custom Reports allow you to build tailored reports using 30+ pre-built templates or create your own from scratch. Configure data sources, apply filters, schedule automatic delivery, and export in multiple formats (PDF, Excel, CSV).
Step-by-Step Setup
- 1
Navigate to Reports
Dashboard → Reports → Create New Report
- 2
Choose a Template
Select from 30+ templates: Match Summary, Exception Report, Vendor Analysis, etc.
- 3
Configure Filters
Set date ranges, vendors, amounts, match status, and custom fields
- 4
Customize Layout
Drag-and-drop columns, add charts, configure grouping and sorting
- 5
Schedule Delivery (Optional)
Set frequency (daily, weekly, monthly), recipients, and delivery time
API Usage
POST /api/reports
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"name": "Monthly Vendor Report",
"template": "vendor-analysis",
"filters": {
"dateRange": {
"start": "2024-01-01",
"end": "2024-01-31"
},
"vendors": ["vendor-123", "vendor-456"],
"minAmount": 1000
},
"schedule": {
"frequency": "monthly",
"dayOfMonth": 1,
"time": "09:00",
"timezone": "America/New_York",
"recipients": ["finance@company.com"]
},
"format": "pdf"
}Response 200 OK:
{
"reportId": "rpt_abc123",
"status": "scheduled",
"nextRun": "2024-02-01T09:00:00Z",
"downloadUrl": "/api/reports/rpt_abc123/download"
}Configuration Options
| Option | Type | Description |
|---|---|---|
| template | string | Report template ID or "custom" |
| format | string | pdf, xlsx, csv (default: pdf) |
| schedule.frequency | string | daily, weekly, monthly, quarterly |
| includeCharts | boolean | Include visual charts (default: true) |
Common Issues & Solutions
Issue: Report takes too long to generate
Solution: Reduce date range or add more specific filters. Reports with 100,000+ transactions may take 2-3 minutes.
Issue: Scheduled report not delivered
Solution: Check spam folder and verify email addresses. View delivery logs in Dashboard → Reports → Delivery History.
Example Use Case
Scenario: Monthly CFO Executive Summary
Finance team needs an automated monthly report for the CFO showing reconciliation metrics, exception trends, and vendor payment analysis.
Implementation: Use the "Executive Summary" template, filter for current month, enable charts, schedule for 1st of each month at 8 AM, deliver as PDF to CFO and finance team. Report automatically includes match rate %, top exceptions, and vendor payment timing.
How to Configure Multi-Currency Support
Overview
Multi-Currency Support enables reconciliation of transactions across 20+ currencies. The system uses real-time exchange rates from ExchangeRate-API and automatically converts amounts to your base currency for matching. Track foreign exchange variances and generate multi-currency reports.
Step-by-Step Setup
- 1
Set Base Currency
Settings → Currency → Select your primary accounting currency (USD, EUR, GBP, etc.)
- 2
Enable Exchange Rate API
Settings → Integrations → ExchangeRate-API → Enter your API key (free tier available)
- 3
Configure Rate Update Frequency
Choose: Real-time (every match), Hourly, Daily, or Manual update schedule
- 4
Upload Multi-Currency Data
Upload invoices/statements with currency codes (ISO 4217) in file or column headers
- 5
Review FX Variance Reports
Reports → Multi-Currency Analysis to view exchange rate impact on matches
API Usage
POST /api/currency/configure
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"baseCurrency": "USD",
"exchangeRateProvider": "exchangerate-api",
"apiKey": "your_api_key",
"updateFrequency": "hourly",
"varianceThreshold": 0.05
}Response 200 OK:
{
"currencyConfigId": "curr_abc123",
"baseCurrency": "USD",
"supportedCurrencies": ["EUR", "GBP", "CAD", ...],
"lastRateUpdate": "2024-01-15T10:30:00Z"
}Configuration Options
| Option | Type | Description |
|---|---|---|
| baseCurrency | string | ISO 4217 currency code (USD, EUR, etc.) |
| updateFrequency | string | realtime, hourly, daily, manual |
| varianceThreshold | number | FX variance alert threshold (default: 0.05 = 5%) |
| roundingMode | string | half-up, floor, ceiling (default: half-up) |
Common Issues & Solutions
Issue: Exchange rate API timeout errors
Solution: Switch to daily rate updates instead of real-time. Cache rates locally for 24 hours to reduce API calls.
Issue: Large FX variances flagged incorrectly
Solution: Adjust varianceThreshold to match your business needs. For volatile currencies, increase to 10-15%.
Example Use Case
Scenario: International E-commerce Business
Company receives payments in USD, EUR, and GBP through Stripe. Bank statements show converted USD amounts, but invoices are in original currencies.
Implementation: Set USD as base currency. Enable hourly exchange rate updates. Upload Stripe transaction exports (with original currency) and bank statements. System automatically converts and matches transactions, flagging any FX variance beyond 3%.
How to Integrate Payment Gateways
Overview
Payment Gateway Integration connects directly to Stripe and PayPal accounts to automatically import transaction data. Uses secure OAuth2 authentication and syncs payments in real-time or on scheduled intervals. Eliminates manual CSV exports from payment dashboards.
Step-by-Step Setup
- 1
Navigate to Integrations
Dashboard → Settings → Integrations → Payment Gateways
- 2
Connect Stripe or PayPal
Click "Connect Stripe" or "Connect PayPal" → Authorize via OAuth2 (redirects to gateway login)
- 3
Configure Sync Settings
Set sync frequency: Real-time (webhooks), Hourly, Daily. Choose transaction types to import.
- 4
Test Connection
Click "Test Import" to verify connection and import last 10 transactions
- 5
Enable Auto-Reconciliation
Toggle "Auto-match imported transactions" to automatically reconcile against uploaded invoices
API Usage
POST /api/payment-gateways/stripe/connect
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"authorizationCode": "stripe_oauth_code",
"syncFrequency": "realtime",
"transactionTypes": ["payment", "refund"],
"autoReconcile": true
}Response 200 OK:
{
"integrationId": "int_stripe_abc123",
"status": "connected",
"accountId": "acct_1234567890",
"lastSync": "2024-01-15T10:30:00Z",
"transactionCount": 1247
}Configuration Options
| Option | Type | Description |
|---|---|---|
| syncFrequency | string | realtime, hourly, daily (default: hourly) |
| transactionTypes | array | payment, refund, dispute, transfer |
| autoReconcile | boolean | Auto-match imported transactions (default: true) |
| dateRange | object | Historical import range (max 12 months back) |
Common Issues & Solutions
Issue: OAuth connection fails or expires
Solution: Re-authorize the connection. OAuth tokens expire after 90 days. Enable auto-refresh in integration settings.
Issue: Duplicate transactions imported
Solution: Enable duplicate detection. System uses transaction IDs from gateways to prevent duplicates. Check Settings → Matching Rules → Duplicate Detection.
Example Use Case
Scenario: SaaS Company with Stripe Subscriptions
Company processes 5,000+ subscription payments monthly through Stripe. Finance team manually downloads CSV exports weekly for reconciliation.
Implementation: Connect Stripe account via OAuth2. Enable real-time webhook sync. Configure auto-reconcile for successful payments. System automatically matches Stripe charges to uploaded invoices, flagging failed payments and disputes for manual review. Reduces weekly reconciliation time from 4 hours to 15 minutes.
How to Use AI Cash Flow Forecasting
Overview
AI-powered Cash Flow Forecasting analyzes historical transaction patterns to predict future cash positions. Uses machine learning models trained on your reconciliation data to generate 30, 60, and 90-day projections. Identifies seasonal trends, recurring expenses, and payment timing patterns.
Step-by-Step Setup
- 1
Ensure Sufficient Historical Data
Minimum 3 months of reconciled transactions required. 12+ months recommended for accurate forecasting.
- 2
Enable Cash Flow Forecasting
Dashboard → Analytics → Cash Flow → Enable Forecasting
- 3
Train the Model
Click "Train Model" to analyze historical patterns. Initial training takes 2-5 minutes.
- 4
Configure Forecast Parameters
Set forecast horizon (30/60/90 days), confidence intervals, and scenario assumptions
- 5
Review and Export Forecasts
View interactive charts, export to Excel/PDF, or schedule automated forecast reports
API Usage
POST /api/cashflow-forecast
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"horizon": 90,
"confidenceInterval": 0.95,
"includeRecurring": true,
"scenarioAdjustments": {
"expectedRevenue": 50000,
"expectedExpenses": 30000
}
}Response 200 OK:
{
"forecastId": "fcst_abc123",
"projections": [
{"date": "2024-02-15", "balance": 125430, "confidence": 0.89},
{"date": "2024-03-15", "balance": 142180, "confidence": 0.82}
],
"trends": ["seasonal_increase_q1", "recurring_payments_detected"],
"accuracy": 0.87
}Configuration Options
| Option | Type | Description |
|---|---|---|
| horizon | number | Forecast period in days: 30, 60, or 90 |
| confidenceInterval | number | Statistical confidence: 0.80, 0.90, 0.95, 0.99 |
| includeRecurring | boolean | Factor in detected recurring transactions |
| retrainFrequency | string | weekly, monthly, quarterly (default: monthly) |
Common Issues & Solutions
Issue: Low forecast accuracy (below 70%)
Solution: Need more historical data. Forecasts improve significantly with 12+ months of data. For new accounts, accuracy increases as more transactions are reconciled.
Issue: Seasonal business not reflected in forecast
Solution: Enable "Seasonal Adjustment" in forecast settings. Requires minimum 12 months data to detect seasonal patterns.
Example Use Case
Scenario: CFO Planning Quarterly Budget
CFO needs 90-day cash flow projection for board meeting. Historical data shows seasonal Q1 spike in receivables and recurring monthly SaaS expenses.
Implementation: Enable cash flow forecasting with 90-day horizon. System analyzes 18 months of transaction history, identifies Q1 seasonal pattern (+35% revenue), and factors in $47K monthly recurring expenses. Generates forecast with 87% accuracy, showing projected cash position of $285K by end of Q1. Export forecast to Excel for board presentation with confidence intervals.
How to Configure Batch Processing
Overview
Batch Processing enables high-volume reconciliation of millions of transactions using parallel processing architecture. Schedule automatic processing windows during off-peak hours, process large files (up to 10GB), and monitor batch jobs with real-time progress tracking. Ideal for month-end close operations.
Step-by-Step Setup
- 1
Enable Batch Processing Mode
Settings → Processing → Enable "Batch Processing for Large Datasets"
- 2
Configure Processing Windows
Set preferred processing times (e.g., 2 AM - 6 AM) to avoid peak usage hours
- 3
Upload Files for Batch Job
Upload → Select "Batch Upload" → Add multiple large files (CSV, Excel, PDF)
- 4
Configure Batch Parameters
Set chunk size, parallel threads, error handling mode (stop/continue on error)
- 5
Monitor Job Progress
Dashboard → Batch Jobs → View real-time progress, estimated completion time, and logs
API Usage
POST /api/batch/create
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"name": "Month-End January 2024",
"files": ["file_abc123", "file_def456"],
"chunkSize": 10000,
"parallelThreads": 8,
"errorHandling": "continue",
"scheduledStart": "2024-02-01T02:00:00Z"
}Response 200 OK:
{
"batchId": "batch_xyz789",
"status": "scheduled",
"totalRecords": 2500000,
"estimatedDuration": "45 minutes",
"scheduledStart": "2024-02-01T02:00:00Z"
}Configuration Options
| Option | Type | Description |
|---|---|---|
| chunkSize | number | Records per chunk: 1000-50000 (default: 10000) |
| parallelThreads | number | Concurrent workers: 1-16 (default: 4) |
| errorHandling | string | stop, continue, retry (default: continue) |
| priority | string | low, normal, high (default: normal) |
Common Issues & Solutions
Issue: Batch job times out or fails midway
Solution: Reduce chunkSize to 5000 or lower. Check file integrity. Enable "Auto-resume on failure" in batch settings.
Issue: Memory errors with very large files (5GB+)
Solution: Split large files into smaller chunks before upload. Use streaming upload mode for files over 5GB.
Example Use Case
Scenario: Enterprise Month-End Close
Large enterprise needs to reconcile 3.5 million transactions from 47 bank accounts and 12,000 invoices for January month-end close. Manual processing would take 40+ hours.
Implementation: Upload all files to batch processing queue. Configure 16 parallel threads with 10K record chunks. Schedule batch job for 2 AM Saturday. System processes entire dataset in 2.5 hours with 94% match rate. Finance team reviews exceptions Monday morning, completing month-end 3 days faster than traditional process.
How to Configure Variance Analysis
Overview
Variance Analysis automatically detects and analyzes amount discrepancies between invoices and payments. Set custom thresholds by vendor, category, or amount range. Track variance trends over time and generate alerts when thresholds are exceeded. Helps identify pricing errors, unauthorized discounts, or payment processing issues.
Step-by-Step Setup
- 1
Enable Variance Detection
Settings → Matching Rules → Enable "Variance Analysis"
- 2
Set Global Threshold
Define default variance threshold: percentage (e.g., 5%) or absolute amount (e.g., $10)
- 3
Configure Vendor-Specific Rules
Settings → Variance Rules → Add vendor overrides for known discount terms or payment patterns
- 4
Enable Alerts
Configure email/Slack alerts for variances exceeding critical thresholds
- 5
Review Variance Reports
Dashboard → Analytics → Variance Trends to view historical patterns and top variance sources
API Usage
POST /api/variance-analysis
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"globalThreshold": {
"percentage": 5.0,
"absoluteAmount": 10.00
},
"vendorRules": [
{
"vendorId": "vendor_123",
"threshold": 2.0,
"allowEarlyPaymentDiscount": true
}
],
"alertLevel": "medium"
}Response 200 OK:
{
"configId": "var_config_abc123",
"activeRules": 12,
"detectedVariances": 47,
"averageVariancePercentage": 2.3
}Configuration Options
| Option | Type | Description |
|---|---|---|
| globalThreshold.percentage | number | Default variance % threshold (0-100) |
| globalThreshold.absoluteAmount | number | Minimum absolute variance to flag |
| alertLevel | string | low, medium, high, critical |
| ignoreSmallAmounts | boolean | Skip variance check for amounts under $1 |
Common Issues & Solutions
Issue: Too many false positive variance alerts
Solution: Increase threshold to 10% or add vendor-specific rules for known early payment discounts (e.g., 2/10 Net 30 terms).
Issue: Large variances not being flagged
Solution: Check both percentage AND absolute thresholds are configured. A $100 variance on $10,000 invoice is only 1% but may be significant.
Example Use Case
Scenario: Retail Chain Vendor Payment Review
Retail company receives early payment discounts from some vendors (2% if paid within 10 days) but accounting team manually reviews all payment variances, causing bottlenecks.
Implementation: Set global 5% variance threshold. Add vendor-specific rules for 15 vendors with standard 2% early payment discount terms. Enable automatic approval for variances within these rules. System now auto-approves 87% of previously manual reviews, reducing AP team review time by 12 hours per week. Flags only unexpected variances for investigation.
How to Configure Duplicate Detection
Overview
Duplicate Detection uses fuzzy matching algorithms to identify duplicate invoices and transactions that may have been uploaded multiple times or processed twice. Automatically flags potential duplicates and provides merge or dismiss actions. Prevents double payment and ensures data integrity.
Step-by-Step Setup
- 1
Enable Duplicate Detection
Settings → Matching Rules → Enable "Automatic Duplicate Detection"
- 2
Configure Matching Criteria
Set which fields to compare: amount, date, vendor, invoice number. Choose similarity threshold (default: 95%)
- 3
Set Time Window
Define lookback period for duplicate checking (e.g., 90 days) to avoid false positives from recurring charges
- 4
Configure Actions
Choose automatic action: flag for review, auto-merge, or auto-dismiss based on confidence level
- 5
Review Flagged Duplicates
Dashboard → Exceptions → Duplicates tab to review and resolve flagged items
API Usage
POST /api/duplicates/detect
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"scanScope": "all",
"matchFields": ["amount", "vendor", "invoiceNumber", "date"],
"similarityThreshold": 0.95,
"timeWindow": 90,
"autoAction": "flag"
}Response 200 OK:
{
"scanId": "scan_abc123",
"duplicatesFound": 23,
"potentialDuplicates": 7,
"duplicatePairs": [
{"id1": "inv_001", "id2": "inv_045", "similarity": 0.98, "status": "flagged"}
]
}Configuration Options
| Option | Type | Description |
|---|---|---|
| similarityThreshold | number | 0.0-1.0 (default: 0.95 = 95% similar) |
| timeWindow | number | Days to look back (default: 90) |
| autoAction | string | flag, auto-merge, auto-dismiss, none |
| excludeRecurring | boolean | Ignore recurring transactions (default: true) |
Common Issues & Solutions
Issue: Recurring monthly charges flagged as duplicates
Solution: Enable "excludeRecurring" setting. System will detect subscription patterns and exclude them from duplicate checks.
Issue: Not detecting duplicates with different invoice numbers
Solution: Lower similarity threshold to 85-90%. Remove "invoiceNumber" from required match fields if vendors use different numbering systems.
Example Use Case
Scenario: Accounts Payable with Multiple Upload Sources
Company receives invoices via email, vendor portal, and manual uploads. Same invoices sometimes uploaded twice from different sources, causing duplicate payments.
Implementation: Enable duplicate detection with 95% similarity threshold. Configure to match on amount, vendor, and date (exclude invoice number as it varies by source). Set 60-day lookback window. System automatically flags 18 duplicate invoice pairs in first month, preventing $47K in duplicate payments. Auto-merge confirmed duplicates, saving AP team 6 hours weekly.
How to Integrate with Zapier
Overview
Zapier Integration connects MatchRecon with 5,000+ apps including QuickBooks, Salesforce, Slack, Gmail, Google Sheets, and more. Create automated workflows (Zaps) that trigger on reconciliation events. Sync data bidirectionally without coding. Perfect for custom integrations and workflow automation.
Step-by-Step Setup
- 1
Get Your API Key
Settings → Integrations → API Keys → Generate new key for Zapier
- 2
Connect to Zapier
Visit zapier.com → Search "MatchRecon" → Connect account using API key
- 3
Create Your First Zap
Choose trigger (e.g., "New Match Created") and action (e.g., "Send Slack Message")
- 4
Configure Zap Logic
Map data fields, add filters, set conditions for when Zap should run
- 5
Test and Enable
Test Zap with sample data, verify output, then turn on to activate automation
API Usage
POST /api/zapier/subscribe
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"targetUrl": "https://hooks.zapier.com/hooks/catch/...",
"events": ["match.created", "exception.flagged"],
"filters": {
"minAmount": 1000,
"vendors": ["vendor_123"]
}
}Response 200 OK:
{
"subscriptionId": "sub_zapier_abc123",
"status": "active",
"events": ["match.created", "exception.flagged"],
"createdAt": "2024-01-15T10:30:00Z"
}Configuration Options
| Trigger | When It Fires | Common Use Cases |
|---|---|---|
| match.created | New invoice matched to transaction | Update QuickBooks, log to Sheets |
| exception.flagged | Unmatched item or discrepancy | Alert team in Slack, create Jira ticket |
| report.generated | Scheduled report completed | Email report, save to Dropbox |
| file.uploaded | New invoice or statement uploaded | Trigger matching, notify team |
Common Issues & Solutions
Issue: Zap not triggering or missing events
Solution: Check webhook subscription is active in Settings → Integrations → Zapier. Verify API key hasn't expired. Test with Zapier's "Test Trigger" function.
Issue: Too many Zap triggers causing rate limits
Solution: Add filters to Zap (e.g., only amounts over $1000). Use batching to group events. Consider Business tier for higher rate limits.
Example Use Case
Scenario: Automated Exception Alerts to Finance Team
Finance team needs immediate notification when exceptions over $5,000 are flagged. Current process requires manually checking dashboard multiple times per day.
Implementation: Create Zap with trigger "exception.flagged". Add filter for amount greater than $5000. Connect to Slack action to post message in #finance-alerts channel with exception details. Team now gets real-time notifications, reducing average exception resolution time from 2 days to 4 hours. Prevented $23K payment error caught within 1 hour of flagging.
How to Use Email Invoice Import
Overview
Email Invoice Import allows you to forward invoices directly to your unique MatchRecon email address. System automatically extracts invoice data using OCR, processes attachments, and adds to reconciliation queue. Supports PDF attachments and inline images. Perfect for invoices received via email from vendors.
Step-by-Step Setup
- 1
Get Your Unique Import Email
Settings → Email Import → Copy your unique address (e.g., invoices-abc123@matchrecon.com)
- 2
Configure Email Rules
Set allowed sender domains, auto-categorization rules, and processing preferences
- 3
Forward Test Invoice
Forward a sample invoice email to your import address to test OCR extraction
- 4
Set Up Email Forwarding Rules
Create inbox rules to automatically forward invoices from known vendors
- 5
Monitor Import Queue
Dashboard → Email Imports to view processing status and correct any OCR errors
API Usage
POST /api/email-import/configure
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"allowedDomains": ["vendor.com", "supplier.net"],
"autoProcess": true,
"ocrConfidenceThreshold": 0.85,
"notifyOnImport": true,
"defaultCategory": "vendor-invoices"
}Response 200 OK:
{
"importEmailAddress": "invoices-abc123@matchrecon.com",
"status": "active",
"allowedDomains": ["vendor.com", "supplier.net"],
"importsToday": 47
}Configuration Options
| Option | Type | Description |
|---|---|---|
| allowedDomains | array | Whitelist of sender domains (optional) |
| autoProcess | boolean | Auto-extract and queue for matching |
| ocrConfidenceThreshold | number | 0.0-1.0 (default: 0.85) |
| maxAttachmentSize | number | MB per attachment (default: 25MB) |
Common Issues & Solutions
Issue: OCR extraction errors or missing data
Solution: For scanned/low-quality PDFs, enable "Enhanced OCR" mode. Manually review and correct first few imports to train system. Consider requesting native PDFs from vendors.
Issue: Emails not being processed
Solution: Check sender domain is in allowed list. Verify attachment is PDF format (not .doc or .jpg). Check spam folder and whitelist the import address.
Example Use Case
Scenario: Small Business with Email-Only Invoices
Owner receives 50-100 invoice emails monthly from various vendors. Current process: manually download each PDF, rename file, then upload to reconciliation system. Takes 3+ hours per month.
Implementation: Set up Gmail forwarding rule to auto-forward all emails with "invoice" in subject to MatchRecon import address. Enable auto-processing with 85% OCR confidence threshold. System automatically extracts data from 95% of invoices without manual intervention. Monthly invoice processing time reduced from 3 hours to 20 minutes (only reviewing OCR exceptions).
How to Configure Real-time Webhooks
Overview
Real-time Webhooks push notifications to your systems instantly when events occur in MatchRecon. Subscribe to events like match.created, exception.flagged, report.generated, and more. Build custom integrations and automate workflows. Uses HTTP POST with JSON payload and includes retry logic for failed deliveries.
Step-by-Step Setup
- 1
Create Webhook Endpoint
Build HTTPS endpoint in your system to receive POST requests (must return 200 status)
- 2
Register Webhook
Settings → Webhooks → Add New Webhook → Enter endpoint URL
- 3
Select Events
Choose which events to subscribe to: matches, exceptions, reports, uploads, etc.
- 4
Configure Signing Secret
Copy webhook signing secret to verify authenticity of incoming requests
- 5
Test and Monitor
Send test webhook, verify receipt, monitor delivery logs for failures
API Usage
POST /api/webhooks
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"url": "https://your-domain.com/webhooks/matchrecon",
"events": ["match.created", "exception.flagged"],
"secret": "your_webhook_secret",
"active": true
}Response 200 OK:
{
"webhookId": "wh_abc123",
"url": "https://your-domain.com/webhooks/matchrecon",
"events": ["match.created", "exception.flagged"],
"status": "active",
"createdAt": "2024-01-15T10:30:00Z"
}Configuration Options
| Event Type | Payload Includes | Typical Use Case |
|---|---|---|
| match.created | Match ID, invoice, transaction, confidence | Update ERP, trigger approval workflow |
| exception.flagged | Exception type, amount, details | Alert team, create support ticket |
| report.generated | Report ID, download URL, metadata | Auto-distribute reports |
| batch.completed | Batch ID, results summary, stats | Notify on large job completion |
Common Issues & Solutions
Issue: Webhooks not being delivered
Solution: Ensure endpoint returns 200 status within 10 seconds. Check firewall allows MatchRecon IPs. Verify HTTPS certificate is valid (no self-signed certs).
Issue: Duplicate webhook deliveries
Solution: Webhooks may retry on timeout. Use event ID in payload to implement idempotency checks on your end. Store processed event IDs to skip duplicates.
Example Use Case
Scenario: Auto-Update QuickBooks on Match
Company wants invoices automatically marked as "reconciled" in QuickBooks when MatchRecon confirms payment match. Current process requires manual updates in QuickBooks after reviewing matches.
Implementation: Create webhook endpoint on company server. Subscribe to "match.created" event. When webhook received, extract invoice number from payload, call QuickBooks API to update invoice status. Enabled for matches with 90%+ confidence. System now auto-updates 400+ invoices monthly, eliminating 8 hours of manual data entry. Finance team only reviews low-confidence matches manually.
How to Configure White Label Platform
Overview
White Label Platform allows you to rebrand MatchRecon with your own logo, colors, and custom domain. Perfect for accounting firms, bookkeepers, and service providers offering reconciliation services to clients. Create client-facing dashboards with your branding while leveraging MatchRecon's infrastructure.
Step-by-Step Setup
- 1
Upload Your Logo
Settings → White Label → Upload logo (SVG recommended, 200x50px ideal)
- 2
Customize Color Scheme
Set primary, secondary, and accent colors matching your brand guidelines
- 3
Configure Custom Domain
Add CNAME record pointing to matchrecon servers (e.g., reconciliation.yourfirm.com)
- 4
Customize Email Templates
Update notification emails with your branding, contact info, and support links
- 5
Test Client View
Preview client-facing interface, create test client account, verify all branding
API Usage
POST /api/white-label/configure
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"logoUrl": "https://yourcdn.com/logo.svg",
"primaryColor": "#1E40AF",
"secondaryColor": "#3B82F6",
"customDomain": "reconciliation.yourfirm.com",
"companyName": "Your Firm Name",
"supportEmail": "support@yourfirm.com"
}Response 200 OK:
{
"whitelabelId": "wl_abc123",
"status": "active",
"customDomain": "reconciliation.yourfirm.com",
"dnsVerified": true,
"sslEnabled": true
}Configuration Options
| Option | Type | Description |
|---|---|---|
| logoUrl | string | URL to your logo file (SVG, PNG) |
| primaryColor | string | Hex color code for buttons, headers |
| customDomain | string | Your subdomain (requires DNS setup) |
| hidePoweredBy | boolean | Remove "Powered by MatchRecon" footer |
Common Issues & Solutions
Issue: Custom domain not working / SSL errors
Solution: Verify CNAME points to correct target. DNS propagation takes 24-48 hours. SSL certificate auto-generated after DNS verification. Check Settings → White Label → DNS Status.
Issue: Logo appears pixelated or wrong size
Solution: Use SVG format for scalability. If using PNG, upload at 400x100px minimum (2x display size). Test on multiple screen sizes before client rollout.
Example Use Case
Scenario: Accounting Firm Serving 50+ Clients
Regional accounting firm wants to offer reconciliation services to clients under their own brand. Need client portals where each client can view their reconciliation data without seeing MatchRecon branding.
Implementation: Set up white label with firm's logo and brand colors (blue/grey scheme). Configure custom domain: reconciliation.firmname.com. Customize email templates with firm's support contact. Create separate workspaces for each client with isolated data. Clients access portal using firm's branded URL, believe it's proprietary software. Firm charges $150/month per client for "automated reconciliation service" powered by MatchRecon Enterprise ($3k/month), generating $4,500 monthly margin on the platform.
How to Configure Dedicated Infrastructure
Overview
Dedicated Infrastructure provides your organization with isolated servers, guaranteed compute resources, and dedicated database instances. Includes 99.9% uptime SLA with performance credits, custom resource allocation, and choice of data residency region. Perfect for high-volume processing and regulatory compliance requirements.
Step-by-Step Setup
- 1
Contact Enterprise Sales
Submit requirements: expected transaction volume, data residency needs, and compliance requirements
- 2
Choose Infrastructure Configuration
Select server size, database tier, storage capacity, and region (US-East, US-West, EU, UK, AU)
- 3
Infrastructure Provisioning
MatchRecon team provisions dedicated resources (typically 5-7 business days)
- 4
Configure Security & Access
Set up IP whitelisting, VPN access, custom SSL certificates, and firewall rules
- 5
Monitor Performance Dashboard
Access real-time metrics: CPU usage, memory, storage, API latency, and SLA compliance
API Usage
GET /api/infrastructure/status
Authorization: Bearer YOUR_API_KEY
Response 200 OK:
{
"instanceId": "infra_dedicated_789xyz",
"region": "us-east-1",
"status": "active",
"uptime": {
"current": "99.97%",
"slaTarget": "99.9%",
"lastDowntime": null
},
"resources": {
"cpu": {
"allocated": "16 cores",
"usage": "42%"
},
"memory": {
"allocated": "64GB",
"usage": "28GB"
},
"storage": {
"allocated": "2TB SSD",
"used": "847GB"
}
},
"performance": {
"avgApiLatency": "45ms",
"p95ApiLatency": "120ms",
"throughput": "5000 req/sec"
}
}Configuration Options
| Option | Choices | Description |
|---|---|---|
| region | US-East, US-West, EU, UK, AU, CA | Data residency location |
| serverTier | Standard, Performance, Ultra | CPU/memory allocation level |
| storageTier | 1TB, 2TB, 5TB, 10TB+ | SSD storage capacity |
| backupRetention | 7, 30, 90, 365 days | Backup retention period |
Common Issues & Solutions
Issue: Approaching storage capacity limits
Solution: Monitor storage dashboard alerts. Contact support to upgrade storage tier (typically provisioned within 24 hours). Enable automatic archival of old reconciliations to reduce active storage.
Issue: Performance degradation during peak hours
Solution: Review performance metrics to identify bottleneck (CPU/memory/database). Upgrade to higher server tier or enable auto-scaling. Schedule heavy batch operations during off-peak hours.
Example Use Case
Scenario: Financial Services Firm with Compliance Requirements
Large investment firm processes 500,000+ transactions monthly and requires SOC 2 compliance, data residency in US, and guaranteed uptime for month-end close operations.
Implementation: Deploy dedicated infrastructure in US-East region with Performance tier (32 cores, 128GB RAM, 5TB storage). Enable IP whitelisting for office networks, configure VPN access for remote users, implement 90-day backup retention. Monitor SLA dashboard daily during month-end. System maintains 99.98% uptime with guaranteed performance during peak periods, meeting all compliance and operational requirements.
How to Enable AI Learning & Optimization
Overview
AI Learning & Optimization uses machine learning to continuously improve matching accuracy based on your organization's patterns. The system learns from manual corrections, accepted/rejected suggestions, and historical matching decisions to automatically apply learned patterns to future reconciliations. Accuracy improves 5-15% over first 90 days of use.
Step-by-Step Setup
- 1
Enable AI Learning
Settings → AI & Machine Learning → Toggle "Enable AI Learning" → Save
- 2
Configure Learning Parameters
Set confidence threshold (75-95%), minimum training samples (50-500), and learning rate
- 3
Provide Training Data
Process 3-6 months of historical reconciliations to build initial training set
- 4
Review & Correct AI Suggestions
Accept/reject AI match suggestions - each decision trains the model
- 5
Monitor Learning Progress
Dashboard shows model accuracy, training samples processed, and performance trends
API Usage
POST /api/ai/train
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"reconciliationId": "recon_456xyz",
"corrections": [
{
"transactionId": "txn_123",
"invoiceId": "inv_789",
"action": "accept",
"confidence": 0.92
},
{
"transactionId": "txn_124",
"invoiceId": "inv_790",
"action": "reject",
"reason": "vendor_mismatch"
}
]
}
Response 200 OK:
{
"modelId": "model_v23",
"trainingSamplesAdded": 2,
"totalTrainingSamples": 1247,
"currentAccuracy": "91.3%",
"improvementSinceBaseline": "+8.7%",
"nextModelUpdate": "2024-02-01T00:00:00Z"
}Configuration Options
| Option | Values | Description |
|---|---|---|
| confidenceThreshold | 0.75 - 0.95 | Min confidence for auto-accept (default: 0.85) |
| minTrainingSamples | 50 - 500 | Required samples before AI activates |
| learningRate | slow, medium, fast | How quickly model adapts to new patterns |
| autoApproveEnabled | true, false | Auto-approve high-confidence matches |
Common Issues & Solutions
Issue: AI not learning from corrections
Solution: Ensure you have minimum training samples (default: 100). Check that "Enable AI Learning" toggle is active. Model updates occur nightly - wait 24 hours after corrections to see improvements.
Issue: Too many false positive suggestions
Solution: Increase confidence threshold to 90-95%. Review and reject incorrect suggestions consistently - model will learn your preferences. Consider resetting model if trained on poor-quality initial data.
Example Use Case
Scenario: Retail Chain with Vendor Name Variations
Company receives invoices from same vendors under different names: "Amazon Web Services", "AWS", "Amazon AWS", causing initial matching failures.
Implementation: Enable AI Learning with 85% confidence threshold. Over 2 months, manually match 150+ AWS transactions under various names. AI learns pattern: recognizes all AWS variations as same vendor, automatically matches future invoices regardless of name format. Match rate for AWS transactions improves from 45% to 98%, saving 2 hours monthly in manual reconciliation.
How to Configure Approval Workflows
Overview
Approval Workflows enable multi-level approval processes for reconciliation matches based on amount thresholds, vendor types, or custom criteria. Configure chains with role-based permissions: reviewer → manager → CFO. Includes email notifications, approval history tracking, and escalation rules for overdue approvals.
Step-by-Step Setup
- 1
Enable Approval Workflows
Settings → Approvals → Toggle "Require Approvals" → Save
- 2
Define Approval Rules
Create rules: amounts >$10K require manager approval, >$50K require CFO approval
- 3
Assign Approvers
Team Settings → Assign users to approval roles (Reviewer, Manager, Director, CFO)
- 4
Configure Notifications
Set email/Slack alerts for pending approvals, escalation after 48 hours, approval granted/denied
- 5
Test Workflow
Process test reconciliation and verify approval chain works correctly
API Usage
POST /api/approvals/workflows
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"name": "Standard Approval Chain",
"rules": [
{
"condition": {
"field": "amount",
"operator": "greater_than",
"value": 10000
},
"approvers": [
{
"role": "manager",
"required": true,
"timeoutHours": 48
}
]
},
{
"condition": {
"field": "amount",
"operator": "greater_than",
"value": 50000
},
"approvers": [
{
"role": "cfo",
"required": true,
"timeoutHours": 72
}
]
}
],
"notifications": {
"email": true,
"slack": true,
"escalateAfterHours": 48
}
}
Response 200 OK:
{
"workflowId": "wf_abc123",
"status": "active",
"rulesCount": 2,
"assignedApprovers": 5
}Configuration Options
| Option | Values | Description |
|---|---|---|
| approvalLevels | 1-5 levels | Number of approval tiers |
| escalationTimeout | 24, 48, 72 hours | Auto-escalate to next level |
| parallelApproval | true, false | Multiple approvers can act simultaneously |
| autoApproveBelow | dollar amount | Auto-approve transactions below threshold |
Common Issues & Solutions
Issue: Approvals stuck in queue with no action
Solution: Check assigned approvers have correct permissions and email notifications are enabled. Review escalation settings - enable auto-escalation after 48 hours. Verify approvers aren't out-of-office - assign backup approvers.
Issue: Too many approvals slowing down process
Solution: Increase auto-approve threshold to reduce volume. Enable parallel approval so multiple approvers can act simultaneously. Review rules - combine similar thresholds to reduce approval levels.
Example Use Case
Scenario: Manufacturing Company with Segregation of Duties
Company requires SOX compliance with segregation of duties: reconciliation staff cannot approve their own matches, all transactions >$25K need VP approval, >$100K need CFO approval.
Implementation: Configure 3-tier workflow: Analyst processes reconciliation → Supervisor approves <$25K → VP approves $25K-$100K → CFO approves >$100K. Enable parallel approval for VP/CFO level (any VP can approve). Set 48-hour escalation for overdue approvals. Email notifications sent to approvers with direct link to pending items. Result: Full SOX compliance, clear audit trail, 95% of approvals completed within 24 hours.
How to Access and Export Audit Trails
Overview
Complete Audit Trail provides immutable logging of every action in the system: user logins, file uploads, match approvals/rejections, configuration changes, data exports, and API calls. Each entry includes timestamp, user ID, IP address, action type, and affected records. Logs are tamper-proof and compliance-ready (SOX, GDPR, SOC 2).
Step-by-Step Setup
- 1
Enable Comprehensive Logging
Settings → Audit & Compliance → Toggle "Complete Audit Trail" → Save (enabled by default)
- 2
Configure Retention Policy
Set retention period: 1 year (Professional), 3 years (Business), 7 years (Enterprise)
- 3
Access Audit Logs
Dashboard → Audit Logs → Filter by user, action type, date range, or reconciliation ID
- 4
Export for Compliance
Select date range → Export as CSV, Excel, or JSON → Optionally include cryptographic signature
- 5
Schedule Automated Reports
Set up weekly/monthly audit reports delivered to compliance team automatically
API Usage
GET /api/audit/logs?startDate=2024-01-01&endDate=2024-01-31
Authorization: Bearer YOUR_API_KEY
Response 200 OK:
{
"logs": [
{
"id": "log_abc123",
"timestamp": "2024-01-15T14:32:18Z",
"userId": "user_789",
"userName": "john.smith@company.com",
"ipAddress": "192.168.1.100",
"action": "match_approved",
"resourceType": "reconciliation",
"resourceId": "recon_456xyz",
"details": {
"transactionId": "txn_123",
"invoiceId": "inv_789",
"amount": 15000.00,
"approvalLevel": "manager"
},
"signature": "sha256:a3f8c2e..."
},
{
"id": "log_def456",
"timestamp": "2024-01-15T14:35:22Z",
"userId": "user_789",
"userName": "john.smith@company.com",
"ipAddress": "192.168.1.100",
"action": "export_data",
"resourceType": "report",
"resourceId": "rpt_abc123",
"details": {
"format": "xlsx",
"recordCount": 1247
},
"signature": "sha256:b7e9d4f..."
}
],
"total": 2847,
"page": 1,
"perPage": 100
}Configuration Options
| Option | Values | Description |
|---|---|---|
| retentionPeriod | 1, 3, 7 years | How long logs are retained |
| logLevel | basic, detailed, comprehensive | Amount of detail captured per event |
| exportFormat | csv, xlsx, json, pdf | Format for audit log exports |
| cryptoSignature | true, false | Include tamper-proof signatures |
Common Issues & Solutions
Issue: Cannot find specific audit log entry
Solution: Use advanced filters: search by transaction ID, user email, or IP address. Expand date range - action may have occurred earlier than expected. Check if action was performed via API (filter by actionSource: "api").
Issue: Audit log export taking too long
Solution: Reduce date range to export smaller chunks (max 90 days recommended). Use CSV format instead of Excel for faster processing. Schedule large exports during off-peak hours. For very large exports (>100K records), contact support for bulk export assistance.
Example Use Case
Scenario: SOX Compliance Audit for Public Company
Public company undergoing annual SOX 404 audit needs to provide auditors with complete trail of all financial reconciliation activities for fiscal year, including who performed actions and when.
Implementation: Configure 7-year retention with comprehensive logging and cryptographic signatures enabled. During audit, export complete year's logs (250,000+ entries) as Excel with signatures. Auditors verify: (1) segregation of duties - no user approved own reconciliations, (2) all high-value transactions have required approvals, (3) no unauthorized access or data exports, (4) complete chain of custody for financial data. Audit passes with zero findings due to complete, immutable audit trail meeting all SOX requirements.
How to Enable Team Collaboration Features
Overview
Team Collaboration enables real-time teamwork on reconciliation tasks with comment threads, @mentions, task assignments, and activity notifications. Team members can discuss exceptions, tag colleagues for input, assign resolution tasks, and track progress collaboratively. Includes Slack/Teams integration for external notifications.
Step-by-Step Setup
- 1
Enable Collaboration Features
Settings → Team → Toggle "Enable Collaboration" → Save
- 2
Invite Team Members
Team Settings → Add Members → Enter emails → Assign roles (Viewer, Contributor, Admin)
- 3
Configure Notifications
Set preferences: email/in-app alerts for @mentions, task assignments, comment replies
- 4
Integrate Slack/Teams (Optional)
Integrations → Connect Slack or Microsoft Teams → Map channels to workspaces
- 5
Start Collaborating
Click any transaction → Add comment → Use @username to mention colleagues → Assign tasks
API Usage
POST /api/comments
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"resourceType": "transaction",
"resourceId": "txn_123",
"content": "Hey @sarah.jones, can you verify this vendor name? Looks like a duplicate.",
"mentions": ["user_456"],
"priority": "normal"
}
Response 200 OK:
{
"commentId": "cmt_abc123",
"createdAt": "2024-01-15T14:32:18Z",
"author": {
"id": "user_789",
"name": "John Smith",
"email": "john.smith@company.com"
},
"mentions": [
{
"userId": "user_456",
"notified": true
}
]
}
POST /api/tasks
{
"title": "Investigate vendor name discrepancy",
"assignee": "user_456",
"resourceType": "transaction",
"resourceId": "txn_123",
"dueDate": "2024-01-20",
"priority": "high"
}
Response 200 OK:
{
"taskId": "task_def456",
"status": "assigned",
"createdBy": "user_789",
"assignedTo": "user_456",
"notificationSent": true
}Configuration Options
| Option | Values | Description |
|---|---|---|
| mentionNotifications | email, in-app, slack, teams, all | How users are notified of @mentions |
| taskAssignmentNotif | immediate, daily digest, none | Task assignment notification timing |
| commentThreading | enabled, disabled | Allow nested reply threads |
| activityFeed | real-time, hourly, daily | Activity feed update frequency |
Common Issues & Solutions
Issue: Team members not receiving @mention notifications
Solution: Verify user notification preferences are enabled (Profile → Notifications). Check spam/junk folders for notification emails. Ensure user has accepted team invitation and has active account. Test Slack/Teams integration webhook connection.
Issue: Too many collaboration notifications overwhelming team
Solution: Enable daily digest mode instead of immediate notifications. Use task assignments instead of comments for action items. Create notification rules: only notify for high-priority tasks or direct @mentions. Encourage team to customize personal notification preferences.
Example Use Case
Scenario: Distributed Finance Team Resolving Month-End Exceptions
Finance team across 3 time zones needs to collaboratively resolve 200+ exceptions during month-end close within 48-hour deadline. Team includes AP specialists, accountants, and controllers who need to coordinate on complex discrepancies.
Implementation: Enable Team Collaboration with Slack integration. AP specialists review exceptions, @mention relevant accountants on complex items, and assign tasks with priorities. Controllers monitor activity feed to track progress. Slack notifications ensure 24/7 coverage across time zones - when US team ends day, APAC team receives notifications and continues work. Comment threads preserve context and decision rationale. Result: Month-end close completes 8 hours faster than previous manual email coordination, with complete audit trail of all decisions and collaborators.
How to Configure Data Residency Control
Overview
Data Residency Control allows you to select where your data is physically stored and processed. Choose from 5 global regions (US, EU, UK, AU, CA) with full GDPR compliance. Your data never leaves your chosen region, ensuring compliance with local data protection regulations and sovereignty requirements.
Step-by-Step Setup
- 1
Select Region During Setup
During account creation: Enterprise Setup → Data Residency → Choose Region (US-East, EU-Central, UK-London, AU-Sydney, CA-Toronto)
- 2
Confirm Compliance Requirements
Review compliance certifications (GDPR, SOC 2, ISO 27001) for your selected region
- 3
Configure Data Transfer Policies
Settings → Data Governance → Set policies for data export, backup regions, and cross-border transfers
- 4
Enable Audit Logging
Settings → Compliance → Enable data access logs and geographic tracking for all data operations
- 5
Verify Region Configuration
Dashboard → System → Data Location shows current region and confirms data residency status
API Usage
GET /api/organization/data-residency
Authorization: Bearer YOUR_API_KEY
Response:
{
"region": "eu-central",
"dataCenter": "Frankfurt, Germany",
"compliance": ["GDPR", "SOC2", "ISO27001"],
"backupRegion": "eu-west",
"crossBorderTransfers": false
}POST /api/organization/data-residency/audit
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"includeAccess": true,
"includeTransfers": true
}
Response:
{
"totalAccess": 15234,
"accessByRegion": {
"eu-central": 15234,
"other": 0
},
"dataTransfers": [],
"complianceScore": 100,
"violations": []
}Configuration Options
| Option | Type | Description |
|---|---|---|
| region | string | us-east, eu-central, uk-london, au-sydney, ca-toronto |
| backupRegion | string | Secondary region for disaster recovery (within same jurisdiction) |
| crossBorderTransfers | boolean | Allow data transfers outside chosen region (default: false) |
| encryptionAtRest | string | AES-256 (always enabled), optional: customer-managed keys |
| auditRetention | number | Audit log retention in days (90-2555, default: 365) |
Common Issues & Solutions
Issue: Cannot change region after initial setup
Solution: Region selection is permanent for data sovereignty compliance. To change regions, contact Enterprise Support to initiate a full data migration (requires 30-day advance notice and data export/import process).
Issue: Users accessing from outside selected region
Solution: User location doesn't affect data residency. All data remains in your selected region. Users can access from anywhere, but all processing happens in your chosen data center. Configure IP allowlists in Settings → Security if geographic access control is needed.
Example Use Case
Scenario: EU-Based Financial Institution GDPR Compliance
A German bank needs to ensure all customer financial data is stored exclusively in the EU to comply with GDPR Article 48 and BaFin requirements. They have subsidiaries in France and Netherlands that also need access.
Implementation: Select EU-Central (Frankfurt) region during Enterprise setup, set backup region to EU-West (Ireland), disable cross-border transfers, enable full audit logging. All reconciliation data for customers across EU subsidiaries stays within EU jurisdiction. Users from all EU countries can access the system, while data never leaves the EU. Quarterly compliance reports automatically generated showing 100% EU data residency.
How to Set Up Multi-Entity Management
Overview
Multi-Entity Management enables you to manage reconciliation for multiple companies, subsidiaries, or business units within a single account. Create separate entities with isolated data, then generate consolidated reports that roll up metrics across all entities while maintaining entity-level breakdowns. Perfect for holding companies, accounting firms managing multiple clients, or multinational corporations.
Step-by-Step Setup
- 1
Create New Entities
Dashboard → Entities → Add Entity → Enter entity name, currency, timezone, and tax ID
- 2
Configure Entity Hierarchy
Entities → Organization Structure → Set parent-child relationships for consolidated reporting
- 3
Assign User Permissions
Settings → Users → Assign users to specific entities or grant cross-entity access for managers
- 4
Upload Entity-Specific Data
Switch to entity view → Upload bank statements and invoices tagged to specific entity
- 5
Generate Consolidated Reports
Reports → Consolidated View → Select entities to include, run report with entity-level breakdown
API Usage
POST /api/entities
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"name": "ACME Subsidiary UK",
"currency": "GBP",
"timezone": "Europe/London",
"taxId": "GB123456789",
"parentEntity": "ent_parent_123",
"settings": {
"fiscalYearStart": "04-01",
"consolidationRules": "full"
}
}
Response:
{
"entityId": "ent_uk_456",
"status": "active",
"hierarchyLevel": 2,
"createdAt": "2024-01-15T10:00:00Z"
}GET /api/reports/consolidated
Authorization: Bearer YOUR_API_KEY
{
"entities": ["ent_uk_456", "ent_us_789", "ent_ca_012"],
"dateRange": {
"start": "2024-01-01",
"end": "2024-01-31"
},
"breakdown": "entity",
"includeIntercompany": false
}
Response:
{
"totalMatches": 15234,
"matchRate": 94.2,
"byEntity": {
"ent_uk_456": {"matches": 5124, "rate": 95.1},
"ent_us_789": {"matches": 7890, "rate": 93.8},
"ent_ca_012": {"matches": 2220, "rate": 93.5}
}
}Configuration Options
| Option | Type | Description |
|---|---|---|
| parentEntity | string | Parent entity ID for hierarchical reporting (optional) |
| consolidationRules | string | full, proportional, equity-method |
| intercompanyElimination | boolean | Auto-detect and eliminate intercompany transactions |
| crossEntityAccess | array | User IDs with cross-entity viewing permissions |
| separateWorkflows | boolean | Independent approval workflows per entity (default: true) |
Common Issues & Solutions
Issue: Consolidated reports showing incorrect totals
Solution: Ensure all entities use the same base currency or enable automatic currency conversion in Settings → Multi-Currency. Check that intercompany transactions are properly tagged to avoid double-counting in consolidated views.
Issue: Users cannot see data from assigned entities
Solution: Verify entity permissions in Settings → Users → [Username] → Entity Access. Users must have explicit permission for each entity. Use "Entity Groups" feature to assign multiple entities at once for managers overseeing multiple subsidiaries.
Example Use Case
Scenario: International Holding Company with 5 Subsidiaries
A holding company operates subsidiaries in US, UK, Germany, Australia, and Canada. Each subsidiary has its own accounting team, but the CFO needs consolidated monthly reports showing reconciliation status across all entities with currency normalization.
Implementation: Create 5 entities with respective local currencies and timezones. Set parent entity as the holding company. Configure USD as base currency with auto-conversion. Assign local accounting teams to their respective entities only. Grant CFO cross-entity access to all entities. Set up monthly consolidated report scheduled for 5th of each month showing match rates, exceptions, and trends across all subsidiaries with entity-level breakdown. Enable intercompany elimination to prevent duplicate counting of inter-subsidiary transactions.
How to Use Enhanced OCR for Scanned Documents
Overview
Enhanced OCR uses advanced optical character recognition powered by machine learning to extract data from scanned invoices, receipts, and bank statements. It handles poor-quality scans, handwritten notes, multi-column layouts, and supports 25+ languages. The system automatically extracts key fields like amounts, dates, vendor names, and invoice numbers with 98%+ accuracy.
Step-by-Step Setup
- 1
Enable Enhanced OCR
Settings → Document Processing → Enable Enhanced OCR (AI-powered extraction)
- 2
Configure Field Extraction
Settings → OCR → Select fields to extract: amount, date, vendor, invoice number, line items, etc.
- 3
Set Confidence Thresholds
OCR Settings → Confidence → Set minimum confidence (70-95%) for auto-approval vs manual review
- 4
Upload Scanned Documents
Dashboard → Upload → Select scanned PDFs or images (JPG, PNG, TIFF supported)
- 5
Review and Validate Extractions
Documents → OCR Results → Review low-confidence extractions, correct errors, and submit for matching
API Usage
POST /api/ocr/process
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
{
"file": <binary_data>,
"documentType": "invoice",
"language": "en",
"extractFields": ["amount", "date", "vendor", "invoiceNumber"],
"minConfidence": 85
}
Response:
{
"documentId": "doc_abc123",
"status": "processed",
"extractedData": {
"amount": {"value": 1250.00, "confidence": 98},
"date": {"value": "2024-01-15", "confidence": 95},
"vendor": {"value": "ACME Corp", "confidence": 92},
"invoiceNumber": {"value": "INV-2024-001", "confidence": 97}
},
"requiresReview": false,
"processingTime": 2.3
}POST /api/ocr/batch
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"documents": [
{"url": "https://storage/doc1.pdf"},
{"url": "https://storage/doc2.pdf"}
],
"settings": {
"extractLineItems": true,
"detectHandwriting": true,
"enhancePoorQuality": true
}
}
Response:
{
"batchId": "batch_xyz789",
"totalDocuments": 2,
"status": "processing",
"estimatedCompletion": "2024-01-15T10:05:00Z"
}Configuration Options
| Option | Type | Description |
|---|---|---|
| documentType | string | invoice, receipt, bank-statement, purchase-order |
| minConfidence | number | 70-95, documents below threshold require manual review |
| detectHandwriting | boolean | Enable handwriting detection (slower, higher accuracy) |
| enhancePoorQuality | boolean | Apply image enhancement for low-quality scans |
| extractLineItems | boolean | Extract individual line items from invoices (default: false) |
Common Issues & Solutions
Issue: Low confidence scores on clear documents
Solution: Check that document type is correctly set (invoice vs receipt). For custom invoice formats, use the "Train Model" feature in Settings → OCR → Custom Templates to upload 5-10 sample invoices from that vendor to improve recognition accuracy.
Issue: Handwritten amounts not detected
Solution: Enable "detectHandwriting" in OCR settings and reduce minConfidence to 75% for handwritten documents. Handwriting recognition works best with clear, printed-style handwriting. For very messy handwriting, manual review may still be required.
Example Use Case
Scenario: Construction Company Processing Paper Invoices
A construction company receives 200+ paper invoices per month from subcontractors. Many are handwritten, faxed, or poorly photocopied. Manual data entry takes 3-4 hours daily and has 5-10% error rate.
Implementation: Enable Enhanced OCR with handwriting detection and poor-quality enhancement. Set minConfidence to 80%. Scan all paper invoices using office scanner directly to MatchRecon. System automatically extracts amounts, dates, and vendor names with 95% accuracy. Low-confidence extractions (5%) flagged for 10-minute manual review. Result: Data entry time reduced from 3-4 hours to 30 minutes daily, error rate dropped to under 1%, and reconciliation happens same-day instead of week-end batch processing.
How to Configure Partial Payment Matching
Overview
Partial Payment Matching automatically detects when bank transactions represent partial payments toward invoices and tracks the remaining balance. The system links multiple payments to a single invoice, maintains payment schedules, and alerts you when invoices are fully paid or overdue balances remain. Supports installment plans, down payments, and progress billing scenarios.
Step-by-Step Setup
- 1
Enable Partial Payment Matching
Settings → Matching Rules → Enable "Allow Partial Payments" and set matching tolerance
- 2
Configure Payment Thresholds
Matching Rules → Set minimum partial payment % (e.g., 10% of invoice) to avoid false matches
- 3
Set Up Payment Schedules
Invoices → Payment Plans → Define expected payment schedules for installment invoices (optional)
- 4
Upload Invoices and Transactions
System automatically detects partial payments and links them to invoices based on vendor and amount
- 5
Monitor Outstanding Balances
Dashboard → Partial Payments → View invoices with remaining balances and payment history
API Usage
POST /api/invoices/:invoiceId/partial-payment
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"transactionId": "txn_abc123",
"amount": 500.00,
"date": "2024-01-15",
"reference": "Payment 1 of 3",
"remainingBalance": 1000.00
}
Response:
{
"paymentId": "pmt_xyz789",
"invoiceId": "inv_456",
"totalInvoiceAmount": 1500.00,
"paidToDate": 500.00,
"remainingBalance": 1000.00,
"percentPaid": 33.3,
"fullyPaid": false,
"paymentCount": 1
}GET /api/invoices/partial-payments
Authorization: Bearer YOUR_API_KEY
Response:
{
"partiallyPaidInvoices": [
{
"invoiceId": "inv_456",
"vendor": "ACME Corp",
"totalAmount": 1500.00,
"paidAmount": 500.00,
"remainingBalance": 1000.00,
"payments": [
{"date": "2024-01-15", "amount": 500.00}
],
"dueDate": "2024-02-15",
"overdue": false
}
],
"totalOutstanding": 1000.00
}Configuration Options
| Option | Type | Description |
|---|---|---|
| minPartialPercent | number | Minimum payment as % of invoice (5-50%, default: 10%) |
| autoLinkPayments | boolean | Automatically link payments to invoices (default: true) |
| paymentSchedule | object | Expected payment schedule: frequency, amounts, dates |
| alertThreshold | number | Days after due date to alert on unpaid balance (default: 7) |
| closeOnFull | boolean | Auto-close invoice when fully paid (default: true) |
Common Issues & Solutions
Issue: Partial payment not automatically linked to invoice
Solution: Check that vendor names match between invoice and bank transaction. Use Settings → Vendor Aliases to map variations (e.g., "ACME Corp" vs "ACME CORPORATION"). Ensure payment amount is above minPartialPercent threshold. Manually link by going to Transactions → Select transaction → Link to Invoice.
Issue: Multiple invoices matched to same payment
Solution: When one payment could apply to multiple invoices, system will flag for manual review. In Dashboard → Partial Payments → Ambiguous Matches, select the correct invoice. Add invoice number in bank transaction memo field for automatic matching in future.
Example Use Case
Scenario: Consulting Firm with Milestone-Based Billing
A consulting firm bills $50,000 project in 5 milestones: 20% upfront, then 20% each at milestones 1-4. Need to track which milestones are paid and what's outstanding for each project.
Implementation: Create invoice for $50,000 with payment schedule: $10k on signing, then $10k at each milestone. Enable partial payment matching with minPartialPercent set to 15%. As each milestone payment arrives in bank account, system automatically links it to invoice and updates remaining balance. Dashboard shows: Invoice #2024-001, Total: $50k, Paid: $30k (3 payments), Remaining: $20k, Status: 2 milestones outstanding. Set alert for 7 days after each milestone due date. When final payment received, invoice automatically closes as "Fully Paid" and generates completion report.
How to Connect QuickBooks Integration
Overview
QuickBooks Integration provides direct, bi-directional sync with both QuickBooks Online and QuickBooks Desktop. Automatically import invoices, bills, vendors, and bank transactions from QuickBooks. Push reconciliation statuses, matches, and exceptions back to QuickBooks as journal entries or updates to transaction status. Real-time sync every 15 minutes or on-demand manual sync.
Step-by-Step Setup
- 1
Connect QuickBooks Account
Settings → Integrations → QuickBooks → Click "Connect" and authenticate with your QuickBooks credentials
- 2
Select Data to Sync
Integration Settings → Choose what to sync: Invoices, Bills, Vendors, Bank Transactions, Payments
- 3
Configure Sync Direction
Set sync mode: Import only (QB → MatchRecon), Export only (MatchRecon → QB), or Bi-directional
- 4
Set Sync Frequency
Choose automatic sync interval: Real-time (15 min), Hourly, Daily, or Manual only
- 5
Run Initial Sync
Click "Sync Now" to import existing data. Choose date range for historical data (last 30, 90, 365 days)
API Usage
POST /api/integrations/quickbooks/connect
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"authCode": "QB_AUTH_CODE_FROM_OAUTH",
"realmId": "123456789",
"syncSettings": {
"entities": ["invoices", "bills", "vendors", "transactions"],
"direction": "bidirectional",
"frequency": "realtime"
}
}
Response:
{
"connectionId": "qb_conn_abc123",
"status": "connected",
"companyName": "ACME Corporation",
"environment": "production",
"lastSync": null,
"nextSync": "2024-01-15T10:15:00Z"
}POST /api/integrations/quickbooks/sync
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"syncType": "incremental",
"entities": ["invoices"],
"dateRange": {
"start": "2024-01-01",
"end": "2024-01-31"
}
}
Response:
{
"syncId": "sync_xyz789",
"status": "completed",
"imported": {
"invoices": 145,
"vendors": 23,
"transactions": 312
},
"exported": {
"reconciliationStatus": 89,
"matches": 134
},
"errors": [],
"duration": 23.4
}Configuration Options
| Option | Type | Description |
|---|---|---|
| syncDirection | string | import, export, bidirectional (default: bidirectional) |
| frequency | string | realtime (15min), hourly, daily, manual (default: realtime) |
| autoCreateVendors | boolean | Create vendors in MatchRecon from QB (default: true) |
| updateMatchStatus | boolean | Update transaction status in QB when matched (default: true) |
| conflictResolution | string | qb-wins, matchrecon-wins, manual-review (default: manual-review) |
Common Issues & Solutions
Issue: Sync failing with "Authentication expired" error
Solution: QuickBooks OAuth tokens expire every 100 days. Go to Settings → Integrations → QuickBooks → Click "Reconnect" to refresh authentication. Enable "Auto-refresh tokens" to prevent future expirations. If using QuickBooks Desktop, ensure Web Connector is running.
Issue: Duplicate invoices appearing after sync
Solution: MatchRecon uses QB Invoice ID for deduplication. If duplicates appear, check Settings → QuickBooks → Advanced → "Duplicate Detection Method". Switch to "Invoice Number + Vendor" if QB IDs are not stable. Run "Dedupe Tool" from Integration Settings to merge existing duplicates.
Example Use Case
Scenario: Accounting Team Using QuickBooks for All Financial Data
An accounting department manages 500+ monthly vendor invoices in QuickBooks Online. They need to reconcile these against bank statements but want all reconciliation work to happen in MatchRecon while keeping QuickBooks as the source of truth.
Implementation: Connect QuickBooks Online with bidirectional sync set to real-time (15 min). Enable import of invoices, bills, vendors, and bank transactions. Set conflictResolution to "qb-wins" to keep QuickBooks as master. Every 15 minutes, MatchRecon imports new invoices and bank transactions from QB, runs AI matching engine, and pushes reconciliation statuses back as custom fields in QB. Accountants work in MatchRecon for exception handling, but all data remains synced to QuickBooks. When invoice is matched in MatchRecon, QB transaction is automatically marked as "Reconciled" with match details in memo field. Result: Seamless workflow using best tool for each task while maintaining single source of truth in QuickBooks.
How to Integrate with Xero Accounting
Overview
Xero Integration provides seamless bi-directional synchronization with your Xero accounting platform. Automatically imports invoices, bills, and bank transactions from Xero, performs reconciliation matching, and posts reconciliation results back to Xero as bank reconciliation entries. Uses OAuth 2.0 authentication and supports real-time webhook updates.
Step-by-Step Setup
- 1
Navigate to Xero Integration Settings
Dashboard → Settings → Integrations → Xero → Connect Account
- 2
Authorize MatchRecon Access
Click "Connect to Xero" → Login to Xero → Authorize access to invoices, bills, bank transactions, and contacts
- 3
Select Xero Organization
Choose which Xero organization to sync with. Configure sync direction (import only or bi-directional).
- 4
Configure Sync Parameters
Set sync frequency, date range for historical import, and choose which transaction types to sync (invoices, bills, bank transactions)
- 5
Test and Enable Sync
Run initial test import to verify connection. Enable automatic sync and webhook notifications for real-time updates.
API Usage
POST /api/integrations/xero/connect
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"organizationId": "xero_org_abc123",
"syncDirection": "bidirectional",
"syncFrequency": "realtime",
"transactionTypes": ["invoices", "bills", "bank_transactions"],
"historicalImport": {
"enabled": true,
"fromDate": "2024-01-01"
},
"autoReconcile": true
}Response (200 OK):
{
"success": true,
"integrationId": "xero_int_xyz789",
"organizationName": "Acme Corporation",
"status": "connected",
"lastSync": "2024-11-06T10:30:00Z",
"transactionsImported": 1847,
"webhookStatus": "active"
}Configuration Options
Sync Direction:
Import Only, Export Only, Bi-directional
Sync Frequency:
Real-time (webhooks), Hourly, Daily, Manual
Transaction Types:
Invoices, Bills, Bank Transactions, Contacts
Auto-Reconcile Posting:
Automatically post matched transactions back to Xero
Historical Import Range:
Import past transactions (max 24 months)
Common Issues & Troubleshooting
OAuth Token Expired
Xero OAuth tokens expire after 60 days of inactivity. Re-authorize the connection in Dashboard → Integrations → Xero → Reconnect. Enable auto-renewal to prevent future expirations.
Duplicate Transactions Imported
Enable "Deduplicate on Xero Invoice ID" in sync settings. System will use Xero's unique transaction IDs to prevent duplicates. If duplicates exist, use Dashboard → Cleanup → Merge Duplicates tool.
Example Use Case
Scenario: An accounting firm manages 50+ client Xero accounts. They need to reconcile bank statements against invoices for each client monthly, then post reconciliation results back to Xero for auditors to review.
Solution: Create separate MatchRecon workspaces for each client. Connect each workspace to the corresponding Xero organization with bi-directional sync enabled. Set sync frequency to daily. When bank statements are uploaded, MatchRecon automatically matches them against invoices imported from Xero. Matched transactions are automatically posted back to Xero as bank reconciliation entries with reference links. The firm reduces monthly reconciliation time from 20 hours to 2 hours across all clients.
How to Detect and Track Recurring Transactions
Overview
Recurring Transaction Detection uses pattern recognition and machine learning to automatically identify subscription payments, recurring bills, and regular vendor charges. Analyzes transaction history to detect frequency patterns (daily, weekly, monthly, quarterly, annual), predicts future occurrences, and flags anomalies such as missed payments, amount changes, or schedule deviations. Essential for subscription businesses and companies with predictable recurring expenses.
Step-by-Step Setup
- 1
Enable Recurring Detection
Dashboard → Analytics → Recurring Transactions → Enable Detection
- 2
Set Detection Sensitivity
Configure minimum occurrences (default: 3) and tolerance thresholds for amount variance (±5%) and schedule deviation (±3 days)
- 3
Run Initial Analysis
Click "Analyze Historical Transactions" to scan your existing data. Requires minimum 90 days of transaction history for accurate detection.
- 4
Review and Confirm Patterns
Review detected recurring patterns. Mark false positives as "Not Recurring" and manually add any missed patterns.
- 5
Enable Alerts and Forecasting
Configure email alerts for missed payments, amount anomalies, and schedule changes. Enable future transaction forecasting in cash flow reports.
API Usage
POST /api/recurring-detection/analyze
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"dateRange": {
"start": "2024-01-01",
"end": "2024-11-06"
},
"minOccurrences": 3,
"tolerances": {
"amountVariance": 0.05,
"scheduleDeviation": 3
},
"frequencies": ["daily", "weekly", "monthly", "quarterly", "annual"],
"autoConfirm": false
}Response (200 OK):
{
"success": true,
"patternsDetected": 47,
"patterns": [
{
"id": "rec_pat_001",
"vendor": "AWS",
"frequency": "monthly",
"averageAmount": 523.50,
"nextExpected": "2024-12-01",
"confidence": 0.98
}
],
"anomaliesFound": 3
}Configuration Options
Minimum Occurrences:
2-5 transactions required to establish pattern (default: 3)
Amount Variance Tolerance:
±1-10% allowed deviation (default: ±5%)
Schedule Deviation Tolerance:
±1-7 days for timing variations (default: ±3 days)
Detection Frequencies:
Daily, Weekly, Bi-weekly, Monthly, Quarterly, Annual
Anomaly Alerts:
Email/Slack notifications for missed or changed payments
Common Issues & Troubleshooting
False Positives Detected
Increase minimum occurrences to 4-5 and tighten tolerance thresholds. Review and manually mark false positives as "Not Recurring" to train the detection algorithm.
Missing Known Recurring Transactions
Lower the tolerance thresholds or add manual recurring patterns. Ensure sufficient historical data (90+ days). Check if vendor names are inconsistent across transactions and create vendor aliases.
Example Use Case
Scenario: A SaaS company has 200+ recurring vendor subscriptions (AWS, Salesforce, Slack, etc.). Finance team struggles to track when subscriptions change price or miss a payment cycle, leading to budget variance surprises.
Solution: Enable Recurring Transaction Detection with 3 minimum occurrences and ±5% amount tolerance. System analyzes 12 months of bank transactions and identifies 187 recurring patterns. Set up alerts for amount changes exceeding 10% and missed payments beyond 5-day tolerance. When AWS increases monthly bill from $5,200 to $6,800, system immediately flags the 31% variance. When Salesforce payment fails, alert fires within 24 hours of expected payment date. Finance team now catches subscription changes proactively instead of during month-end close.
How to Monitor Service Level Agreements (SLAs)
Overview
SLA Monitoring provides comprehensive tracking and reporting of reconciliation completion times against defined service level targets. Measures key performance indicators including time-to-reconciliation, exception resolution time, and match rate accuracy. Generates executive dashboards, automated alerts for SLA breaches, and detailed performance analytics for team and individual performance assessment. Essential for organizations with compliance requirements or internal finance SLA commitments.
Step-by-Step Setup
- 1
Define SLA Targets
Dashboard → Settings → SLA Configuration → Set targets for reconciliation completion (e.g., 24 hours), exception resolution (e.g., 48 hours), and match accuracy (e.g., 95%)
- 2
Configure Alert Thresholds
Set warning thresholds (e.g., 80% of SLA time elapsed) and critical alerts (e.g., SLA breach). Choose notification channels: Email, Slack, or Teams.
- 3
Assign SLA Responsibilities
Assign specific users or teams to different reconciliation types. Configure escalation paths for overdue items.
- 4
Enable Performance Tracking
Activate SLA monitoring for all reconciliation batches. System starts tracking from upload/detection timestamp.
- 5
Access SLA Dashboards
View real-time SLA compliance at Dashboard → Reports → SLA Performance. Export reports for management review or audit purposes.
API Usage
POST /api/monitoring/sla/configure
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"targets": {
"reconciliationCompletion": 24,
"exceptionResolution": 48,
"matchAccuracy": 0.95
},
"alerts": {
"warningThreshold": 0.80,
"criticalThreshold": 1.00,
"channels": ["email", "slack"]
},
"escalation": {
"enabled": true,
"escalateAfter": 72
},
"businessHoursOnly": false
}Response (200 OK):
{
"success": true,
"slaConfigId": "sla_cfg_001",
"monitoring": "active",
"currentCompliance": {
"reconciliationSLA": 0.94,
"exceptionSLA": 0.89,
"matchAccuracy": 0.97
},
"activeBatches": 42,
"breaches": 3
}Configuration Options
Reconciliation Completion Target:
Hours from upload to full reconciliation (default: 24h)
Exception Resolution Target:
Hours to resolve flagged exceptions (default: 48h)
Match Accuracy Target:
Minimum percentage of correct matches (default: 95%)
Business Hours Mode:
Calculate SLA time only during business hours (9-5, M-F)
Escalation Rules:
Auto-escalate overdue items to managers/supervisors
Common Issues & Troubleshooting
SLA Clock Not Starting
Verify SLA monitoring is enabled in Settings → SLA Configuration. Check that reconciliation batches have proper timestamps. Re-process batches if uploaded before SLA activation date.
False SLA Breach Alerts
Enable "Business Hours Only" mode if your SLAs should exclude nights/weekends. Adjust warning thresholds to reduce alert fatigue. Review escalation rules to ensure proper responsibility assignment.
Example Use Case
Scenario: A large retail company's finance department has contractual SLAs with internal business units to complete monthly reconciliations within 5 business days. They need to track performance, identify bottlenecks, and provide monthly compliance reports to executives and auditors.
Solution: Configure SLA targets: 120 business hours (5 days) for reconciliation completion, 48 hours for exception resolution. Enable business hours mode (9am-5pm, M-F) and set warning alerts at 80% elapsed time. Assign reconciliation ownership to regional finance teams. System tracks all reconciliation batches from upload timestamp. When month-end close approaches, dashboard shows 94% on-track compliance with 6% at-risk. Automated alerts notify team leads 24 hours before SLA breach. Executive reports show trend analysis: team performance improved from 78% to 94% compliance over 6 months. Auditors receive automated monthly SLA compliance reports with detailed timestamps and audit trails.
How to Manage Tasks and Exception Resolution
Overview
Task Management provides a comprehensive workflow system for tracking and resolving reconciliation exceptions and discrepancies. Features include task creation and assignment, Kanban-style visual boards, priority levels, due date tracking, comment threads, file attachments, and status automation. Automatically generates tasks from detected exceptions or allows manual task creation. Integrates with email and Slack for notifications. Essential for teams that need structured exception resolution workflows and accountability tracking.
Step-by-Step Setup
- 1
Enable Task Management
Dashboard → Settings → Features → Enable Task Management
- 2
Configure Workflow Columns
Dashboard → Tasks → Board Settings → Customize columns (default: To Do, In Progress, Review, Done). Add custom statuses as needed.
- 3
Set Up Auto-Task Creation
Configure which exception types automatically create tasks. Set default assignees based on exception category or amount threshold.
- 4
Define Priority Rules and SLAs
Set task priorities (Low, Medium, High, Critical) and associated due date rules. Link to SLA monitoring for compliance tracking.
- 5
Enable Notifications
Configure email and Slack notifications for task assignments, status changes, due date reminders, and overdue tasks.
API Usage
POST /api/tasks/create
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"title": "Investigate $5,200 bank fee discrepancy",
"description": "Bank charged $5,200 but expected $5,000 based on contract",
"priority": "high",
"assigneeId": "user_abc123",
"dueDate": "2024-11-10",
"exceptionId": "exc_xyz789",
"tags": ["bank_fees", "vendor_inquiry"],
"status": "to_do"
}Response (200 OK):
{
"success": true,
"taskId": "task_def456",
"status": "to_do",
"assignee": {
"userId": "user_abc123",
"name": "Sarah Johnson",
"notified": true
},
"createdAt": "2024-11-06T10:30:00Z",
"url": "/tasks/task_def456"
}Configuration Options
Workflow Columns:
Customizable status columns (To Do, In Progress, Review, Done)
Priority Levels:
Low, Medium, High, Critical with color coding
Auto-Assignment Rules:
Assign based on exception type, amount, or vendor
Due Date Automation:
Auto-set due dates based on priority and SLA targets
Notification Channels:
Email, Slack, Microsoft Teams integration
Common Issues & Troubleshooting
Tasks Not Auto-Creating from Exceptions
Verify auto-task creation is enabled in Settings → Tasks → Automation. Check that exception types are mapped to task creation rules. Review exception threshold settings (may be filtering out low-value exceptions).
Notification Overload
Customize notification preferences per user in Settings → Notifications. Disable real-time notifications and switch to daily digest mode. Filter notifications by priority level (e.g., only High and Critical tasks).
Example Use Case
Scenario: A mid-size manufacturing company processes 500+ vendor invoices monthly. When reconciliation finds exceptions (price discrepancies, missing POs, duplicate invoices), the finance team loses track of which exceptions are being investigated, who's responsible, and which are overdue. Resolution time averages 2 weeks.
Solution: Enable Task Management with auto-task creation for all exceptions over $100. Configure workflow: To Do → Vendor Contact → Pending Response → Resolved. Set priority rules: Critical for discrepancies over $10K (due in 24h), High for $1K-$10K (due in 3 days), Medium for under $1K (due in 7 days). Assign tasks based on vendor category: raw materials to Sarah, services to Mike, overhead to Linda. Enable Slack notifications for task assignments and overdue reminders. Finance manager views Kanban board daily to identify bottlenecks. After 2 months, average resolution time drops from 14 days to 4 days. Task completion rate hits 94%, with clear accountability and audit trail for every exception.
How to Analyze Vendor Payment Performance
Overview
Vendor Analytics provides comprehensive intelligence on vendor payment patterns, invoice accuracy, and relationship health. Tracks metrics including average payment timing, discrepancy frequency, dispute rate, payment method preferences, and spending trends. Generates vendor scorecards with risk ratings based on historical performance. Identifies problematic vendors with chronic billing errors, frequent disputes, or unusual pricing variances. Supports strategic vendor management decisions including consolidation opportunities, early payment discount analysis, and payment term optimization.
Step-by-Step Setup
- 1
Enable Vendor Analytics
Dashboard → Analytics → Vendor Intelligence → Enable Analytics
- 2
Configure Vendor Profiles
Ensure vendor names are standardized using Settings → Vendors → Vendor Aliases. Link multiple vendor name variations to single canonical vendor profiles.
- 3
Set Performance Benchmarks
Define acceptable thresholds for discrepancy rate (e.g., <2%), average payment timing variance (e.g., ±5 days), and dispute frequency.
- 4
Build Historical Analysis
System analyzes minimum 90 days of transaction history per vendor. Initial analytics report generates automatically after data processing.
- 5
Review Vendor Scorecards
Access vendor scorecards at Dashboard → Analytics → Vendor Scorecards. Export reports for procurement review or vendor negotiations.
API Usage
GET /api/analytics/vendors/{vendorId}
Authorization: Bearer YOUR_API_KEY
Query Parameters:
dateRange: 90 (days)
includeMetrics: true
includeTrends: trueResponse (200 OK):
{
"vendorId": "vnd_abc123",
"vendorName": "Acme Supplies Inc",
"metrics": {
"totalTransactions": 342,
"totalSpend": 1847250.00,
"discrepancyRate": 0.029,
"averageInvoiceAmount": 5400.15,
"averagePaymentTiming": 32.5,
"disputeCount": 8
},
"riskScore": 3.2,
"riskLevel": "medium",
"trends": {
"spendTrend": "increasing",
"discrepancyTrend": "stable"
}
}Configuration Options
Discrepancy Rate Threshold:
Alert when vendor exceeds acceptable error rate (default: 2%)
Payment Timing Variance:
Track deviation from expected payment terms (±5 days)
Risk Scoring Model:
Low (0-2), Medium (2-5), High (5-8), Critical (8+)
Spending Trend Analysis:
Month-over-month and year-over-year comparisons
Vendor Comparison Reports:
Benchmark vendors within same category or industry
Common Issues & Troubleshooting
Inaccurate Vendor Metrics Due to Name Variations
Use vendor alias mapping in Settings → Vendors → Aliases. Link all name variations (e.g., "ABC Corp", "ABC Corporation", "ABC Co") to single master vendor profile. Re-process historical data to apply corrections.
Insufficient Historical Data
Analytics require minimum 90 days of transaction history per vendor. For newer vendors, scorecards will show "Insufficient Data" status. Reduce minimum threshold to 30 days in Settings → Analytics → Vendor Requirements if needed for preliminary insights.
Example Use Case
Scenario: A regional hospital system spends $45M annually across 1,200+ vendors. Procurement team suspects some vendors consistently submit inaccurate invoices, but lack data to identify which vendors need attention or potential replacement. CFO wants to optimize vendor relationships and reduce time spent on dispute resolution.
Solution: Enable Vendor Analytics and process 18 months of historical transaction data. System generates scorecards for all vendors with 10+ transactions. Analysis reveals: 23 vendors have discrepancy rates above 5%, accounting for 68% of finance team's exception resolution time despite only 12% of total spend. Three medical supply vendors show 15%+ discrepancy rates with average dispute resolution taking 18 days each. Procurement team uses scorecards in vendor negotiations, achieving commitment to invoice accuracy improvement. Six months later, overall vendor discrepancy rate drops from 3.8% to 1.9%. High-risk vendor count reduces from 23 to 7. Two vendors with chronic issues are replaced. Finance team reconciliation workload decreases 40%.
How to Manage Multiple Workspaces
Overview
Workspace Management enables multi-tenant architecture for organizations managing reconciliation for multiple business units, subsidiaries, or clients. Each workspace maintains completely isolated data, custom configurations, and separate reconciliation workflows while sharing centralized user management, billing, and administrative controls. Ideal for accounting firms managing multiple clients, holding companies with subsidiaries, or enterprises with independent regional operations. Features include workspace-level branding, custom settings inheritance, cross-workspace reporting, and centralized user provisioning with granular per-workspace permissions.
Step-by-Step Setup
- 1
Create New Workspace
Dashboard → Workspaces → Create New → Enter workspace name, description, and select template settings (or start blank)
- 2
Configure Workspace Settings
Set workspace-specific configurations: matching rules, currencies, integrations, notification preferences, and branding (logo, colors)
- 3
Assign Users and Permissions
Dashboard → Workspaces → [Select Workspace] → Users → Add users with role-based permissions (Admin, Manager, Analyst, Viewer)
- 4
Set Up Data Isolation Rules
Configure data access boundaries. Ensure users can only view/edit assigned workspaces. Enable cross-workspace reporting for admins if needed.
- 5
Switch Between Workspaces
Use workspace switcher in top navigation bar to toggle between workspaces. All data, settings, and analytics update automatically per workspace context.
API Usage
POST /api/workspaces/create
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
{
"name": "Client ABC Corporation",
"description": "Reconciliation workspace for ABC Corp",
"settings": {
"currency": "USD",
"timezone": "America/New_York",
"templateId": "template_standard"
},
"branding": {
"logoUrl": "https://example.com/logo.png",
"primaryColor": "#1E40AF"
},
"users": [
{
"email": "manager@abccorp.com",
"role": "admin"
}
]
}Response (200 OK):
{
"success": true,
"workspaceId": "wks_xyz789",
"name": "Client ABC Corporation",
"status": "active",
"createdAt": "2024-11-06T10:30:00Z",
"usersAdded": 1,
"url": "/workspaces/wks_xyz789"
}Configuration Options
Data Isolation Level:
Complete separation or shared vendor/template libraries
User Assignment Model:
Single workspace, multiple workspaces, or all workspaces
Workspace Templates:
Pre-configured settings for standard, advanced, or custom setups
Cross-Workspace Reporting:
Aggregate reports across multiple workspaces (admin only)
Branding Customization:
Custom logos, colors, and client-facing report headers
Common Issues & Troubleshooting
User Can't Access Expected Workspace
Verify user has been explicitly added to the workspace in Dashboard → Workspaces → [Workspace] → Users. Check role permissions - "Viewer" role may have restricted access. Ensure workspace is active (not archived or suspended).
Data Appearing in Wrong Workspace
Check workspace context when uploading files - verify correct workspace is selected in top navigation. Review API calls to ensure workspaceId parameter is included. Contact support if data isolation breach is suspected - this requires immediate investigation.
Example Use Case
Scenario: A regional CPA firm provides outsourced accounting services for 85 small business clients. Each client needs their own secure reconciliation environment with completely isolated financial data. The firm needs centralized user management to efficiently assign staff across multiple client accounts without compromising data security. They also need consolidated billing and firm-wide performance reporting.
Solution: Create 85 separate workspaces, one per client. Configure each workspace with client-specific branding (logo, colors) for white-labeled reporting. Set up workspace templates (retail, services, manufacturing) to streamline new client onboarding. Assign staff members to multiple client workspaces based on engagement: Partner has admin access to all 85 workspaces, Senior Accountants manage 10-15 clients each, Staff Accountants handle 3-5 clients. Enable cross-workspace reporting for partners to view firm-wide SLA compliance, task completion rates, and staff utilization. Client managers receive automated monthly reports with their custom branding. New client onboarding time drops from 4 hours to 30 minutes using templates. Staff can easily switch between client workspaces while maintaining strict data separation. Firm generates consolidated invoice covering all workspace usage with single enterprise subscription.
📊 Total Enterprise Features: 27
All features are production-ready and available now. Contact sales for feature-specific pricing and tier availability.
Professional Tier
12 features included
Business Tier
21 features included
Enterprise Tier
All 27 features
How to Test MatchRecon
Prepare Test Data
- 1Export 1-2 months of bank statements as CSV or Excel
- 2Gather corresponding invoice PDFs (10-50 invoices recommended for testing)
- 3Create a test account during your 7-day trial period
- 4Upload both file sets and run the AI matching engine
Evaluate Results
- 1Check match rate percentage on dashboard (expect 85-95%)
- 2Review matched pairs - verify amounts, dates, and vendors align correctly
- 3Investigate exceptions - confirm flagged items are genuine discrepancies
- 4Export results and compare processing time vs. manual reconciliation
Pro Tip:
Start with a small dataset (20-30 transactions) to familiarize yourself with the interface. Then scale to your full monthly volume to see true time savings.
Troubleshooting
Low Match Rates (<70%)
If your automatic match rate is below 70%, try these solutions:
- Increase date tolerance to ±7 days (some banks have delayed postings)
- Lower fuzzy matching threshold to 75% (useful for vendor name variations)
- Check that invoice dates align with payment dates in bank statements
File Upload Errors
Common file upload issues and solutions:
- PDF too large: Compress using Adobe Acrobat or online tools (max 25MB)
- Corrupted CSV: Re-export from your banking portal, ensure UTF-8 encoding
- Scanned PDFs: Ensure PDFs contain searchable text (not just images)
API Reference
Integrate MatchRecon into your existing workflows with our comprehensive REST API.
Over 70 production-ready API endpoints available. Authentication via JWT tokens. Rate limiting: 1000 requests/hour (Professional), 5000 requests/hour (Business), Unlimited (Enterprise).
Core Endpoints
POST /api/upload
Upload invoice PDFs or bank statement files
POST /api/reconcile
Start AI matching process for uploaded files
GET /api/reconcile/[id]/results
Retrieve matching results with confidence scores
GET /api/export/[id]
Export results in CSV, Excel, or PDF format
Enterprise Features API
POST /api/duplicates/detect
Detect duplicate invoices and transactions
POST /api/variance-analysis
Analyze amount discrepancies and trends
POST /api/cashflow-forecast
Generate AI-powered cash flow predictions
GET /api/vendor-analytics
Retrieve vendor payment insights and stats
POST /api/partial-payments/detect
Identify and match partial payment scenarios
POST /api/recurring/detect
Find recurring transaction patterns
Integration Endpoints
POST /api/quickbooks
Sync data with QuickBooks Online/Desktop
POST /api/xero
Connect and sync with Xero accounting
POST /api/payment-gateways
Integrate Stripe, PayPal payment data
POST /api/zapier
Trigger Zapier workflows and actions
POST /api/webhooks
Register webhooks for real-time events
POST /api/webhooks/stripe
Handle incoming Stripe webhook events
Management & Collaboration
GET /api/workspaces
List and manage workspaces
POST /api/approvals
Create and manage approval workflows
POST /api/tasks
Create and assign reconciliation tasks
POST /api/comments
Add comments to transactions
GET /api/audit
Retrieve complete audit trail logs
GET /api/sla
Monitor SLA compliance metrics
Complete API Documentation
For complete API documentation including authentication, request/response examples, error codes, webhooks, and SDKs, visit our dedicated API documentation page.
View Full API Documentation