← Back to Projects

QuickExpense

Personal Project • 2025 • Solo developer and product manager

The problem

Small business owners and freelancers type receipt data into QuickBooks by hand. It is slow, and errors creep in. I wanted a tool that reads a receipt photo and creates the expense, with no manual step.

What I built

A system that turns receipt photos into QuickBooks expenses:

  • Google Gemini reads the receipt image and extracts the data
  • The system validates and structures the data, and applies CRA tax rules
  • A two-agent check handles hard receipts, and an LLM judge scores the results
  • The QuickBooks API creates the expense directly
  • OAuth tokens refresh on their own, five minutes before they expire
  • FastAPI backend on Python 3.12

Tokens that refresh early

Many QuickBooks integrations fail when an OAuth token expires without notice. Mine watches each token and refreshes it five minutes early. The service never stops.

Stack

Python 3.12 • FastAPI • Google Gemini • QuickBooks API • OAuth 2.0

Result

A tool that reads vendor, amount, date and expense category from a receipt photo and creates the QuickBooks expense on its own. Extraction accuracy is 95%. I build it in public: see the roadmap.