Automating financial data reporting with Preswald

Automating financial data reporting with Preswald

Amrutha GujjarAmrutha Gujjar4 min read

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!

https://github.com/StructuredLabs/preswald