Automated monthly management accounts generation KPI dashboards, variance analysis, and commentary.
import pandas as pd, json
P&L_API = "https://api.finance.local/pnl"
BUDGET_API = "https://api.finance.local/budget"
def fetch_pnl(month):
return pd.DataFrame(requests.get(P&L_API,params={"m":month}).json())
def fetch_budget(month):
return pd.DataFrame(requests.get(BUDGET_API,params={"m":month}).json())
def generate_management_account(pnl_df, budget_df):
merged = pnl_df.merge(budget_df, on="account")
merged["variance"] = ((merged["actual"]-merged["budget"])/merged["budget"]*100).round(2)
commentary = {row["account"]: f"{row['variance']}% vs budget" for _,row in merged.iterrows()}
return {"kpi":merged.to_dict("records"), "commentary":commentary}
account = generate_management_account(fetch_pnl("2026-06"), fetch_budget("2026-06"))
print(json.dumps(account,indent=2))
Basic Package
Special SME traction programme by AINNA.
Limited starter website offer. AI usage, hosting, maintenance and custom integrations depend on the confirmed scope.
View SME Offer โ
Ask about AINNA pages, services and articles.
AINNA website sources only ยท answers up to 5 lines
No section data available yet.
Sites with documented sections will appear here.
We value your privacy
We use browser storage to remember your choice. Optional analytics runs only after you allow it; your choice is recorded with an anonymous ID. Privacy Policy