Built for Razorpay Buildathon 2026, Track 04.
Zaimu cross-checks five financial sources — merchant orders, Razorpay payments, settlements, recon records, and bank statements — to answer three questions most reconciliation tools don't ask:
- Was I charged the right fees?
- Was I paid on time?
- Did everything actually arrive?
Fee audit — compares actual gateway charges against a contracted rate card, transaction by transaction. Catches zero-MDR violations (UPI cannot be charged MDR under RBI mandate), fee rate drift, and unreversed MDR on refunds. Groups variances by type, calls an LLM to attribute cause and confidence, and generates a dispute draft ready to send.
Multi-source reconciliation — runs a 3-pass matching engine (exact by order ID → aggregate by UTR → fuzzy by amount) across all five sources. Flags unmatched records and amount discrepancies in matched ones.
Investigation agent — takes all unmatched exceptions and looks for pairs that explain each other (a missing payment + an orphan deposit with the same amount and date = one broken reference, not two problems). Auto-resolves what it can, escalates what it can't with a rupee amount attached.
pip install -r requirements.txtCreate a .env file:
OPENROUTER_API_KEY=your_key_here
Generate demo data:
python -m src.generate_dataRun the app:
streamlit run app.pypython test_all_layers.pyTests cover all four layers: entitlement model, variance detector (precision + recall on planted overcharges), LLM adjudicator, and reconciliation engine.
- Streamlit frontend
- Gemini Flash via OpenRouter for LLM calls
- Rate card config in
config/rate_card.yaml