import json, csv
TRANSACTIONS = [{"type":"sale","amount":15000},{"type":"tax","amount":1100},{"type":"cogs","amount":9000}]
def generate_journal(txn):
entries = []
for t in txn:
if t["type"]=="sale":
entries.append({"ref":"JE-001","desc":"Sales Cash","debit":t["amount"],"credit":0})
entries.append({"ref":"JE-002","desc":"Sales Tax","debit":0,"credit":int(t["amount"]*0.073)})
elif t["type"]=="cogs":
entries.append({"ref":"JE-003","desc":"COGS","debit":t["amount"],"credit":0})
total_deb = sum(e["debit"] for e in entries)
total_cred = sum(e["credit"] for e in entries)
if total_deb>total_cred:
entries.append({"ref":"JE-004","desc":"Round Adj","debit":0,"credit":total_deb-total_cred})
return entries, total_deb, total_cred
journal, db, cr = generate_journal(TRANSACTIONS)
print(json.dumps({"entries":journal,"debit":db,"credit":cr,"balanced":db==cr}))