[All work](/work?type=work)

# Bank-to-Sheets Sync

I made a small banking pipeline that keeps settled transactions in Google Sheets, leaving the budget calculations in the sheet and handling the recurring sync in Python.

[Source code](https://github.com/Slaymish/akahu-sheets-sync)

Independent development. Python, Akahu and Google Sheets.

![Explanatory diagram for Bank-to-Sheets Sync, showing Settled transactions, Categorise and reconcile, Google Sheets.](https://cdn.sanity.io/images/qnuj1c4o/production/8cb55608a5373803c48fec2c15342bfebba74db4-1280x720.png?w=1280\&q=80\&auto=format)

I worked on getting the transaction data into a sheet reliably, as the formulas already had somewhere to live and the recurring job was to keep their underlying ledger up to date, with the saved sync state keeping track of the previous run before another batch of transactions arrived.

The sync used stable transaction IDs and stored its progress between runs, with configurable category rules and transfer detection applied before batched writes to the sheet.

Reconciliation compared the available balance information with the recorded data, while settled transactions avoided some of the mutability that makes pending entries awkward to keep in a repeatable ledger.

The catalogue date follows the first preserved commit on 15 November 2025.

## Outcome

An implemented personal banking sync with focused tests for state, categorisation and reconciliation. It is a precursor to the later finance projects, with sample data used for public illustration.

[All work](/work?type=work)
