QFind anything/
API Reference

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

ConceptDescription
Expected transactionsPayments you anticipate receiving. Define merchant, amount, date, reference.
Incoming transactionsPayments you have received. From manual entry, Stripe, CSV, or EBICS.
MatchesProposed links between incoming and expected. LedgerMatch scores candidates; you resolve.
Tenants & environmentsData is isolated per tenant. Each tenant has environments (development, staging, production, test).
LedgerMatchExternal service that scores and ranks match candidates using embeddings, amount, and date.

How it works

  1. Define expected — Create expected transactions via API.
  2. Ingest incoming — Incoming transactions arrive via manual creation, Stripe sync, CSV upload, or EBICS.
  3. Match — LedgerMatch finds candidates and returns ranked matches with confidence scores.
  4. 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_KEY and EMBEDDING_PROVIDER=openai for LedgerMatch.

Next steps