Getting Started
What is Payment Reconciler, core concepts, and how to get started.
What is Payment Reconciler
Payment Reconciler is a multi-tenant API service that reconciles payments: it links incoming transactions (payments you have received) to expected transactions (payments you anticipated). The system uses LedgerMatch, an external matching service, to find candidate expected transactions for each incoming one and rank them by confidence. You accept or reject matches—or let the system auto-accept when confidence meets your threshold.
Use cases include:
- Reconciling bank statements with expected invoices
- Matching Stripe charges to anticipated payments
- Bulk CSV upload reconciliation
- Automated matching with manual review for edge cases
Core concepts
| Concept | Description |
|---|---|
| Expected transactions | Payments you anticipate receiving. Define merchant, amount, date, reference. |
| Incoming transactions | Payments you have received. From manual entry, Stripe, CSV, or EBICS. |
| Matches | Proposed links between incoming and expected. LedgerMatch scores candidates; you resolve. |
| Tenants & environments | Data is isolated per tenant. Each tenant has environments (development, staging, production, test). |
| LedgerMatch | External service that scores and ranks match candidates using embeddings, amount, and date. |
How it works
- Define expected — Create expected transactions via API.
- Ingest incoming — Incoming transactions arrive via manual creation, Stripe sync, CSV upload, or EBICS.
- Match — LedgerMatch finds candidates and returns ranked matches with confidence scores.
- Resolve — Accept or reject matches. Auto-accept when confidence meets your threshold.
See Reconciliation for the full flow.
Prerequisites
- Node.js 20.x (LTS; see repo root
.nvmrc) - Docker and Docker Compose — For running PostgreSQL, Redis, LedgerMatch, Keycloak
- Embeddings — LedgerMatch needs embeddings for semantic matching:
- Ollama (default in Docker) — Local, no API key. Uses
mxbai-embed-large. - OpenAI — Set
OPENAI_API_KEYandEMBEDDING_PROVIDER=openaifor LedgerMatch.
- Ollama (default in Docker) — Local, no API key. Uses
Next steps
- Architecture — System design, components, data flow
- Infrastructure — Services, ports, protocols
- Development — Local setup, env vars, running the API
- Authentication — How to authenticate API requests
- Reconciliation — Reconciliation flow and concepts