AI agent that generates trial balance from GL entries with debit/credit totals per account.
import json, pandas as pd from collections import defaultdict GL_ENTRIES = "gl_entries.json" def generate_trial_balance(): with open(GL_ENTRIES) as f: entries = json.load(f) agg = defaultdict(lambda: {"debit": 0, "credit": 0}) for e in entries: agg[e["account"]]["debit"] += e.get("debit", 0) agg[e["account"]]["credit"] += e.get("credit", 0) for acc in agg: agg[acc]["balance"] = agg[acc]["debit"] - agg[acc]["credit"] return agg def check_balance(tb): total_debit = sum(v["debit"] for v in tb.values()) total_credit = sum(v["credit"] for v in tb.values()) return {"balanced": total_debit == total_credit, "variance": total_debit - total_credit} tb = generate_trial_balance() print(json.dumps(tb, indent=2))