Supported source types
- Banks: Daily statements, real-time feeds, and historical exports from financial institutions.
- ERPs: SAP, Oracle, NetSuite, Microsoft Dynamics, and other enterprise systems.
- Payment Processors: Stripe, Adyen, PayPal, Square, and payment gateway transactions.
- Card Networks: Visa, Mastercard, Elo, and Amex settlement files.
Ingestion methods
External data can be ingested through multiple channels:
| Method | Use Case | Real-time |
|---|---|---|
| File Upload | Manual CSV/JSON/XML uploads | No |
| SFTP Pull | Scheduled file retrieval | No |
| API Integration | Direct API connection | Yes |
| Fetcher Service | Automated data collection | Configurable |
| Webhook Push | External system pushes data | Yes |
File-based ingestion
The most common method for bank statements and ERP exports.
Manual upload
cURL
Response
SFTP pull configuration
Configure Matcher to pull files from an SFTP server:cURL
Response
SFTP authentication options
| Auth Type | Configuration |
|---|---|
password | "password": "encrypted_password" |
ssh_key | "ssh_key_id": "key_001" (stored in vault) |
certificate | "certificate_id": "cert_001" |
Bank connections
Standard Bank format
Most banks provide CSV or MT940 formatted statements:Mt940/mt942 format
For SWIFT-formatted bank statements:Open banking / psd2
For real-time bank connections via Open Banking APIs:cURL
Response
ERP connections
SAP integration
Oracle integration
Generic ERP file export
For ERPs without direct API integration:Payment processor connections
Stripe integration
cURL
Response
Adyen integration
PayPal integration
Card network settlement files
Visa settlement
Mastercard settlement
Fetcher service integration
The Fetcher service automates data collection from connected sources.
Enable fetcher for a source
Monitor fetcher jobs
Response
Connection security
Credential storage
All credentials are stored securely in an encrypted vault:Response
Ip allowlisting
Configure source IPs that can push data:Webhook signatures
For sources that push via webhook, verify signatures:Data format requirements
Required fields
Every transaction must include:| Field | Type | Description |
|---|---|---|
transaction_id | String | Unique ID from source |
amount | Decimal | Transaction amount |
currency | String | ISO 4217 code |
date | Date | Transaction date |
Recommended fields
| Field | Type | Description |
|---|---|---|
reference | String | Payment reference |
counterparty | String | Other party name |
type | String | credit/debit |
posting_date | Date | Settlement date |
Field mapping
Configure how source fields map to Matcher:Best practices
Use scheduled ingestion for banks
Use scheduled ingestion for banks
Configure SFTP or API polling for bank statements rather than manual uploads. This ensures consistent, timely data availability.
Enable retry policies
Enable retry policies
Configure automatic retries for API-based sources. Transient failures are common; retries prevent manual intervention.
Monitor connection health
Monitor connection health
Set up alerts for connection failures and no-data scenarios. Proactive monitoring prevents reconciliation delays.
Use appropriate sync frequency
Use appropriate sync frequency
Match sync frequency to your reconciliation needs. Daily for bank statements; hourly for payment processors.
Secure credentials properly
Secure credentials properly
Store all API keys and passwords in the vault. Never include credentials in configuration payloads.
Test with sample data first
Test with sample data first
Validate field mapping and data quality with sample files before enabling automated ingestion.

