File size: 1,378 Bytes
b215163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import streamlit as st
import pandas as pd

# Page config
st.set_page_config(page_title="Business Expense Tracker", layout="centered")

st.title("💰 Small Business Expense Tracker")

# Initialize session state for storing data
if "records" not in st.session_state:
    st.session_state.records = []

# Input section
st.subheader("Enter Daily Record")
date = st.date_input("Date")
sales = st.number_input("Sales (₹)", min_value=0.0, step=100.0)
expenses = st.number_input("Expenses (₹)", min_value=0.0, step=100.0)

if st.button("Add Record"):
    profit = sales - expenses
    st.session_state.records.append({"Date": date, "Sales": sales, "Expenses": expenses, "Profit": profit})
    st.success(f"Record added: Profit = ₹{profit:.2f}")

# Display table if records exist
if st.session_state.records:
    df = pd.DataFrame(st.session_state.records)
    
    st.subheader("📊 Expense Records")
    st.dataframe(df, use_container_width=True)
    
    # Summary
    st.subheader("📈 Summary")
    total_sales = df["Sales"].sum()
    total_expenses = df["Expenses"].sum()
    total_profit = df["Profit"].sum()
    
    st.write(f"*Total Sales:* ₹{total_sales:.2f}")
    st.write(f"*Total Expenses:* ₹{total_expenses:.2f}")
    st.write(f"*Total Profit:* ₹{total_profit:.2f}")
    
    # Chart
    st.line_chart(df.set_index("Date")[["Sales", "Expenses", "Profit"]])