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@latestYou can also build from source:
git clone https://github.com/ReconifyHQ/reconify.git
cd reconify
make buildCreate 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.yamlCheck source columns
reconify config check-source \
--config reconify.yaml \
--source bank \
--file data/bank/january.csvParse one file
reconify parse \
--config reconify.yaml \
--source bank \
--file data/bank/january.csv \
--format tableUse 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.jsonFor large files, prefer streaming output:
reconify reconcile \
--config reconify.yaml \
--pair bank_vs_stripe \
--format ndjson \
--progress \
--out results.ndjsonRead the result
Start with summary. Then inspect:
matchedfor clean matches.unmatched_leftandunmatched_rightfor missing records.amount_difffor same-reference records whose amounts exceed tolerance.timing_difffor same-reference records outside the date window.duplicatesfor repeated references inside one source.