Invoice & Inventory Automation
A service garage was retyping every stock invoice by hand — and once that stock arrived, tracking what happened to it meant editing three sheets manually, one at a time.

Overview
This service garage buys stock from suppliers and tracks it in a Google Sheets inventory. Every invoice was previously typed in line by line, and once stock was logged, its status — used, sold, moved — only ever changed when someone remembered to update it by hand across separate Input and Output tabs, with nothing connecting the two.
The challenge
Two problems compounded each other: getting invoice data into the sheet meant manually transcribing every line item from PDFs that varied by supplier, and once stock was in, there was no consistent trail of what happened to it next. Nothing moved between tabs on its own.
The approach
The work covered both ends. A drop-in tool reads supplier invoice PDFs and extracts parts, quantities, prices and invoice numbers regardless of format, adding them straight into the inventory as new stock. The inventory sheet itself was then rebuilt around a set of macros, so a single status change — not three manual edits — carries an item automatically from Inputs into Transactions and, if it's used or sold, into Outputs.
The solution
A drop-a-PDF, press-a-button intake tool paired with a macro-driven inventory sheet: new stock lands in Inputs automatically, and one status change moves it through Transactions to Outputs — the record the garage keeps on hand for HMRC.
Main features
- Drop-in PDF invoice processing — no manual typing
- Handles multiple supplier invoice formats
- Extracts part, quantity, price and invoice number automatically
- New stock added directly to the inventory's Inputs
- One status change moves an item from Inputs through Transactions to Outputs
- Outputs tab kept audit-ready for HMRC
Technology and tools
- Python
- PDF parsing
- OCR
- Google Sheets
- Apps Script macros
Gallery
A closer look


Start Here
Have a project in mind?
Tell me what needs to change, and I will give you an honest answer about whether I am the right person to build it.