Used in production
Built for a real recurring workflow, not only as a demo.
Production bookkeeping workflow
A small Flask/Python application that turns a repeated bookkeeping workflow into a guided input flow and writes structured records to Google Sheets.
Built for a real recurring workflow, not only as a demo.
Designed around repeated structured entries that belong in a sheet.
Helped reduce repetitive manual typing and made the process easier to repeat.
Overview
This project demonstrates how a lightweight Flask app can collect structured input and send it directly to Google Sheets through the Google Sheets API. It was useful because the workflow did not need a large custom system; it needed a fast, consistent way to enter the same kinds of bookkeeping records again and again.
The result is small enough to understand quickly, configurable enough to reuse, and focused enough to solve the actual problem without overbuilding.
Why it is useful
Common values are selected from configurable options instead of typed from scratch.
The guided flow keeps entries structured before they reach the spreadsheet.
Sheet ids, OAuth files, labels, and options live in local configuration.
The stack is intentionally small: Flask routes, Google Sheets API calls, and tests.
Features
Provides a compact web interface for collecting structured records.
Appends validated rows to a configured spreadsheet.
Record types, targets, and option labels are editable locally.
Important paths and ids can be supplied without changing source code.
Core service behavior and the guided form flow are covered by tests.
The public repository uses placeholders and generic examples only.
Architecture
Example output
Public repo notes
The public version contains placeholders and generic labels. Real spreadsheet ids, OAuth files, tokens, and workflow-specific labels are kept in local configuration files.
Tech stack