Reconify Docs

Quickstart

Install Reconify, create a config, validate it, parse a file, and run reconciliation.

This guide runs a bank export against a Stripe-style export.

Install

go install github.com/reconifyhq/reconify/cmd/reconify@latest

You can also build from source:

git clone https://github.com/ReconifyHQ/reconify.git
cd reconify
make build

Create reconify.yaml

version: 1
timezone: "UTC"

index:
  backend: auto
  spill_dir: "/tmp/reconify"
  auto_max_right_file_mb: 2048

sources:
  bank:
    file_pattern: "data/bank/*.csv"
    parser:
      type: csv
      date_col: "Date"
      date_layout: "2006-01-02"
      tz: "UTC"
      amount_col: "Amount"
      decimal: "."
      thousands: ","
      multiplier: 100
      currency_col: "Currency"
      name_col: "Details"
      ref_col: "Reference"

  stripe:
    file_pattern: "data/stripe/*.csv"
    parser:
      type: csv
      date_col: "Date"
      date_layout: "2006-01-02"
      tz: "UTC"
      amount_col: "Amount"
      decimal: "."
      thousands: ","
      multiplier: 100
      currency_col: "Currency"
      name_col: "Description"
      ref_col: "Reference"

pairs:
  bank_vs_stripe:
    left: bank
    right: stripe
    date_window: "1d"
    amount_tolerance_minor: 0
    name_mode: "tokens"

Validate the config

reconify config validate --config reconify.yaml

Check source columns

reconify config check-source \
  --config reconify.yaml \
  --source bank \
  --file data/bank/january.csv

Parse one file

reconify parse \
  --config reconify.yaml \
  --source bank \
  --file data/bank/january.csv \
  --format table

Use this before reconciling if dates, amounts, references, or currency values look wrong.

Run reconciliation

reconify reconcile \
  --config reconify.yaml \
  --pair bank_vs_stripe \
  --out results.json

For large files, prefer streaming output:

reconify reconcile \
  --config reconify.yaml \
  --pair bank_vs_stripe \
  --format ndjson \
  --progress \
  --out results.ndjson

Read the result

Start with summary. Then inspect:

  • matched for clean matches.
  • unmatched_left and unmatched_right for missing records.
  • amount_diff for same-reference records whose amounts exceed tolerance.
  • timing_diff for same-reference records outside the date window.
  • duplicates for repeated references inside one source.

On this page