Professional Development    Technology & Finance    Bruce Cole, CPA, MBA
Case Study · Python · Cloud Deployment

From Classroom to Cloud:
Building a Real Accounting System
with Python and AI

What happens when an accountant with 30 years of experience starts studying artificial intelligence? An assignment becomes a working product.

Bruce Cole CPA  ·  MBA CPCC AI Program

Most people learn to code by building things that don't matter — tip calculators, to-do lists, placeholder apps. I took a different approach: I built something I actually understood.

I am currently enrolled at Central Piedmont Community College, working toward an Associate's degree in Artificial Intelligence. It's a deliberate investment — three decades as a CPA have given me a clear view of where the profession is heading, and I want to be ahead of it, not behind it.

One of the early assignments in the program involved Python and a classic database called Northwind — a sample dataset Microsoft has used for years to teach SQL, full of customers, products, orders, suppliers, and employees from a fictional gourmet food company. The assignment asked students to load the data, build some query screens, and demonstrate basic CRUD operations.

I handed that in. Then I kept going.

CPA
MBA
30+ Years Finance & Accounting
CPCC · AA in AI (In Progress)

The Question Behind the Project

The thought that drove the extra work was simple: I know what a real accounting system looks like from the inside. Could I build one from scratch?

Not a simulation. Not a toy. A system that actually follows double-entry bookkeeping rules — where every sale credits Revenue and debits Cash or Accounts Receivable, where every inventory purchase flows through the journal, where the Balance Sheet actually balances and the trial balance checks itself. The kind of system that would make an auditor comfortable, built by someone who has spent a career thinking about exactly that.

"The accounting logic didn't come from a textbook. It came from three decades of knowing what correct books look like — and what happens when they aren't."
— On building the journal and ledger system

That combination — deep domain expertise applied to a new technical skill — is what turned a classroom exercise into something worth showing to a client or an employer.

Phase One: The Desktop Application

The first version of the system was a fully functional desktop application built with Python's standard toolkit. No expensive frameworks, no third-party platforms — just the tools that come with the language itself.

The main menu alone tells the story of the scope. Six functional columns covered every area of basic business operations:

Transaction Entry

Sales orders with line-item carts, A/R collections, inventory purchases, A/P payments, and manual journal entries — all posting correctly to the general ledger.

Customer & Vendor Management

Full add, edit, and delete capability for customers and products, with grid views and form validation.

Ledger Reports

A/R detail by customer, A/P detail by vendor, and a full General Ledger with summary and transaction-level drill-down. Trial balance verifies automatically.

Financial Statements

Contribution Margin, Income Statement, Balance Sheet, and Cash Flow Statement — all date-aware, with quarterly and annual period presets drawn from actual order history.

Data Queries

Searchable grids for Customers, Orders, Suppliers, and Employees — filter by any field, see results instantly.

Charts & Analytics

Six embedded charts: revenue by product, by customer, by category, monthly trend, shipper breakdown, and revenue vs. cost — all filterable by date range.

Northwind Desktop Application Main Menu — showing the six-column layout with Transaction Entry, Customer & Vendor Entry, Detail Lists, Ledger Reports, Financial Reports, and Charts
Figure 1. The desktop application's main menu — six functional columns covering the full scope of a basic business accounting system, built with Python's built-in GUI toolkit.

The Financial Dashboard window shows everything a controller or CFO would want to see on one screen: a live income statement with monthly detail, side-by-side with revenue vs. COGS charts broken down both by month and by product category. Every number is live — post a new sale, and the dashboard updates in real time.

Northwind Financial Dashboard — showing the Income Statement alongside Monthly Revenue vs COGS line chart and Revenue vs COGS by Category bar chart
Figure 2. The Financial Dashboard — income statement with monthly breakdown alongside two Matplotlib charts, all date-range filterable. Revenue: $378,334 · Gross Profit: $118,496 · Margin: 31.3%.

Phase Two: Taking It to the Web

A desktop application that runs on one machine has limited practical value for a client or employer evaluating what you can do. The logical next step was to make it publicly accessible — which turned out to require solving a genuinely interesting problem.

Desktop GUI frameworks and cloud servers do not speak the same language. The window-drawing code had to be completely replaced, while the accounting logic — every journal entry, every report calculation, every SQL query — could stay exactly as written. That separation is actually a sign of good architecture: business logic that doesn't depend on how it's displayed is logic you can reuse anywhere.

The tool I used for the conversion was Streamlit, a Python library that turns Python scripts into web applications without requiring web development expertise. Dropdown menus, data grids, charts, forms — all written in Python, all rendered as a proper browser interface. The accounting engine underneath didn't change a single line.

Once the web version was running locally, deploying it to Google Cloud took a single command. The application now runs on Google Cloud Run — serverless, automatically scaled, secured with HTTPS, available to anyone with the URL.

The Live Application

The application below is fully functional — not a screenshot, not a demo recording. You can navigate to Transaction Entry and post a sale, open Financial Reports and pull an income statement for any quarter, or explore the charts filtered to a specific year. Everything you interact with is running live on Google Cloud.

Live Application  ·  Google Cloud Run
northwind-accounting-lsmih5emya-uc.a.run.app

The complete Northwind Accounting System, running live on Google Cloud Run. Use the sidebar to navigate between Dashboard, Transaction Entry, Financial Reports, and Charts.  Open in full window ↗

What This Demonstrates

This project is not a technical exercise for its own sake. It is a demonstration of something specific: what becomes possible when genuine domain expertise meets modern technical capability.

Any competent developer can build a CRUD application. Fewer can build a correct double-entry accounting system, because correctness in accounting requires knowing what correct looks like — understanding why debits and credits need to balance, why cost of goods and revenue need to flow through the journal separately, why the cash flow statement's ending balance has to agree with the general ledger's cash account to the penny.

That knowledge doesn't come from a programming tutorial. It comes from three decades as a CPA, from reading financial statements, from finding the errors that other people missed.

The most valuable AI implementations in finance and accounting will not be built by engineers who learned some accounting, or by accountants who learned some Python. They will be built by people who are genuinely both.
— The case for T-shaped expertise in financial technology

For Potential Consulting Clients

If you are evaluating whether AI and automation tools can meaningfully improve your finance and accounting operations, this project is a concrete example of what that looks like in practice. The Northwind system demonstrates:

Process automation — loading, transforming, and validating structured data from source files into a working database, without manual intervention.

Reporting automation — financial statements that generate themselves from the underlying transaction data, date-filterable to any period, always current.

System integration thinking — the clean separation between data logic and presentation means the same accounting engine could connect to your ERP, your spreadsheets, or your existing reporting tools with minimal rework.

Cloud deployment — moving from a local prototype to a publicly accessible, scalable web application, secured and maintained by Google's infrastructure at minimal cost.

For Potential Employers and Recruiters

Finance and accounting departments increasingly need professionals who can do more than interpret reports — they need people who can build the tools that generate them. The skills demonstrated here — Python, SQL, cloud deployment, data architecture — are the same skills that power the automation and AI initiatives now appearing in every serious finance transformation roadmap.

The differentiator is that those skills, in this case, are paired with a CPA credential, an MBA, and thirty-plus years of knowing exactly which numbers matter and why.

The Bottom Line

A classroom assignment became a fully deployed, publicly accessible accounting system — built correctly, from first principles, by someone who has spent a career in the field it models.

The tools are Python, SQLite, Streamlit, and Google Cloud. The foundation is thirty years of knowing what the right answer looks like before you write the first line of code.

That combination is not common. It is, increasingly, exactly what the market needs.


This project was developed as an extended exploration building on coursework in the Artificial Intelligence program at Central Piedmont Community College (CPCC), Charlotte, NC. The complete source code is available on request. The live application runs at northwind-accounting-lsmih5emya-uc.a.run.app.