
Automating financial data reporting with Preswald

Category: Use Case
Tracking financial performance across multiple sources, Excel, Google Sheets, and SQL databases, was time-consuming and error-prone. Our finance team was manually extracting, cleaning, and visualizing data, which slowed down decision-making and increased the risk of errors.
We needed a solution to automate financial reporting, reduce manual effort, and generate real-time insights. That’s when we turned to Preswald.
The Challenge: Manual and Inefficient Financial Data Processing
Our finance team relied on multiple tools to generate reports:
- 📊 Data Extraction Pain – Pulling data from CSVs, spreadsheets, and databases took hours.
- 🔄 Manual Data Cleaning – Formatting inconsistencies required constant fixes.
- 📉 Outdated Dashboards – Reports weren’t updating in real-time.
- 😩 Complex Scripting – Writing and maintaining Python scripts for ETL was inefficient.
We needed a lightweight, scalable, and automation-friendly solution that could:
- Connect to multiple financial data sources
- Automate data processing and cleaning
- Generate interactive dashboards with minimal effort
- Enable easy cloud deployment for real-time access
Why We Chose Preswald
Preswald provided an all-in-one solution to automate financial reporting:
- No more manual ETL – Automates data ingestion and cleaning.
- Easily connects to financial data sources – Supports CSV, JSON, Google Sheets, and SQL.
- Dynamic dashboards with Python – No need for third-party BI tools.
- One-command deployment – Easily host dashboards on Google Cloud Run.
The Implementation: From Manual to Fully Automated Reports
Step 1: Installing Preswald
We started by installing Preswald:
pip install preswald
Step 2: Initializing the Financial Reporting App
We created a new Preswald project:
preswald init finance_dashboard
cd finance_dashboard
This generated a ready-to-use structure, including:
hello.py
– The main financial reporting script.preswald.toml
– Configuration for themes and settings.secrets.toml
– Secure storage for database credentials.
Step 3: Connecting to Financial Data Sources
Instead of manually exporting CSV files, we automated data ingestion from multiple sources:
from preswald import text, connect, get_df, table
# Title
text("# Financial Performance Dashboard")
# Connect to data sources
connect()
# Load data from Google Sheets and SQL
sales_data = get_df("google_sheets_sales")
expense_data = get_df("sql_finance_db")
# Display datasets
table(sales_data)
table(expense_data)
Step 4: Automating Data Cleaning and Transformation
Preswald allowed us to process and clean financial data on the fly:
import pandas as pd
from preswald import table
# Clean and merge sales and expense data
sales["Date"] = pd.to_datetime(sales["Date"])
expenses["Date"] = pd.to_datetime(expenses["Date"])
merged = sales.merge(expenses, on="Date", how="left")
merged["Net Profit"] = merged["Revenue"] - merged["Expenses"]
return merged
# Apply transformation
processed_data = transform(process_financials, sales_data, expense_data)
# Display processed results
table(processed_data)
Step 5: Running the Dashboard Locally
preswald run
Preswald hosted our interactive financial dashboard instantly at:
🌐 App running at: http://localhost:8501
Step 6: Deploying to the Cloud for Real-Time Access
To enable real-time reporting, we deployed our dashboard to the cloud with a single command:
preswald deploy --target structured
This made the financial reports available company-wide at:
🌐 App deployed at: https://finance-dashboard.preswald.app
The Results: Real-Time, Automated Financial Reporting
✅ 80% reduction in manual data processing time
✅ Eliminated errors from copy-pasting and formatting
✅ Real-time financial insights for executives
✅ One-click cloud deployment for team-wide access
Final Thoughts: Preswald for Finance Teams
If your finance team spends too much time manually processing and analyzing data, Preswald is a game-changer. It allows you to automate ETL, create dynamic reports, and deploy financial dashboards in minutes.
Try Preswald today and revolutionize your financial reporting!