ER / app.py
Gan1-V's picture
Requirements.txt
0147c18 verified
import gradio as gr
import pandas as pd
def calculate_proprietary_ratio(
equity_share_capital, preference_share_capital, reserves_surplus,
land_building, plant_machinery, factory_equipment, office_equipment,
furniture_fixtures, motor_vehicles, computers, electrical_installations,
construction_in_progress, machinery_under_installation,
long_term_investments, long_term_loans_advances, security_deposits, deferred_tax_assets,
cash_on_hand, cash_at_bank, short_term_deposits, marketable_securities,
accounts_receivable, bills_receivable, inventory, prepaid_expenses,
accrued_income, short_term_loans_advances, gst_input_credit
):
# Shareholders' Funds
total_shareholders_funds = (
equity_share_capital + preference_share_capital + reserves_surplus
)
# Tangible Fixed Assets
total_tangible_fixed_assets = (
land_building + plant_machinery + factory_equipment + office_equipment +
furniture_fixtures + motor_vehicles + computers + electrical_installations
)
# Capital Work-in-Progress
total_cwip = construction_in_progress + machinery_under_installation
# Financial Non-Current Assets
total_financial_non_current_assets = (
long_term_investments + long_term_loans_advances +
security_deposits + deferred_tax_assets
)
# Current Assets
total_current_assets = (
cash_on_hand + cash_at_bank + short_term_deposits +
marketable_securities + accounts_receivable + bills_receivable +
inventory + prepaid_expenses + accrued_income +
short_term_loans_advances + gst_input_credit
)
# Total Assets
total_assets = (
total_tangible_fixed_assets +
total_cwip +
total_financial_non_current_assets +
total_current_assets
)
# Proprietary Ratio
proprietary_ratio = (
total_shareholders_funds / total_assets
if total_assets != 0 else 0
)
summary = f"""
### 📊 Summary
- **Total Shareholders' Funds:** ₹ {total_shareholders_funds:,.2f}
- **Total Tangible Fixed Assets:** ₹ {total_tangible_fixed_assets:,.2f}
- **Total Capital Work-in-Progress:** ₹ {total_cwip:,.2f}
- **Total Financial Non-Current Assets:** ₹ {total_financial_non_current_assets:,.2f}
- **Total Current Assets:** ₹ {total_current_assets:,.2f}
- **Total Assets:** ₹ {total_assets:,.2f}
### 📈 Proprietary Ratio
**Proprietary Ratio = Shareholders' Funds / Total Assets = {proprietary_ratio:.2f}**
"""
data = {
"Category": [
"Shareholders' Funds",
"Tangible Fixed Assets",
"Capital Work-in-Progress",
"Financial Non-Current Assets",
"Current Assets",
"Total Assets"
],
"Amount (₹)": [
total_shareholders_funds,
total_tangible_fixed_assets,
total_cwip,
total_financial_non_current_assets,
total_current_assets,
total_assets
]
}
df = pd.DataFrame(data)
return summary, df
with gr.Blocks() as demo:
gr.Markdown("## PROPRIETARY RATIO Calculator")
with gr.Accordion("Shareholders' Funds", open=True):
equity_share_capital = gr.Number(label="Equity Share Capital", value=0)
preference_share_capital = gr.Number(label="Preference Share Capital", value=0)
reserves_surplus = gr.Number(label="Reserves & Surplus", value=0)
with gr.Accordion("Tangible Fixed Assets", open=False):
land_building = gr.Number(label="Land & Building", value=0)
plant_machinery = gr.Number(label="Plant & Machinery", value=0)
factory_equipment = gr.Number(label="Factory Equipment", value=0)
office_equipment = gr.Number(label="Office Equipment", value=0)
furniture_fixtures = gr.Number(label="Furniture & Fixtures", value=0)
motor_vehicles = gr.Number(label="Motor Vehicles", value=0)
computers = gr.Number(label="Computers", value=0)
electrical_installations = gr.Number(label="Electrical Installations", value=0)
with gr.Accordion("Capital Work-in-Progress", open=False):
construction_in_progress = gr.Number(label="Construction in Progress", value=0)
machinery_under_installation = gr.Number(label="Machinery under Installation", value=0)
with gr.Accordion("Financial Non-Current Assets", open=False):
long_term_investments = gr.Number(label="Long-term Investments", value=0)
long_term_loans_advances = gr.Number(label="Long-term Loans & Advances", value=0)
security_deposits = gr.Number(label="Security Deposits", value=0)
deferred_tax_assets = gr.Number(label="Deferred Tax Assets", value=0)
with gr.Accordion("Current Assets", open=False):
cash_on_hand = gr.Number(label="Cash on Hand", value=0)
cash_at_bank = gr.Number(label="Cash at Bank", value=0)
short_term_deposits = gr.Number(label="Short-Term Deposits", value=0)
marketable_securities = gr.Number(label="Marketable Securities", value=0)
accounts_receivable = gr.Number(label="Accounts Receivable (Debtors)", value=0)
bills_receivable = gr.Number(label="Bills Receivable", value=0)
inventory = gr.Number(label="Inventory", value=0)
prepaid_expenses = gr.Number(label="Prepaid Expenses", value=0)
accrued_income = gr.Number(label="Accrued Income", value=0)
short_term_loans_advances = gr.Number(label="Short-term Loans & Advances", value=0)
gst_input_credit = gr.Number(label="GST Input Credit / Tax Receivables", value=0)
calculate_btn = gr.Button("Calculate Proprietary Ratio")
summary_output = gr.Markdown()
table_output = gr.Dataframe()
calculate_btn.click(
calculate_proprietary_ratio,
inputs=[
equity_share_capital, preference_share_capital, reserves_surplus,
land_building, plant_machinery, factory_equipment, office_equipment,
furniture_fixtures, motor_vehicles, computers, electrical_installations,
construction_in_progress, machinery_under_installation,
long_term_investments, long_term_loans_advances, security_deposits, deferred_tax_assets,
cash_on_hand, cash_at_bank, short_term_deposits, marketable_securities,
accounts_receivable, bills_receivable, inventory, prepaid_expenses,
accrued_income, short_term_loans_advances, gst_input_credit
],
outputs=[summary_output, table_output]
)
demo.launch()