QuickExpense
Personal Project
2024
Solo developer and product manager
The Challenge
Manual expense entry into QuickBooks is time-consuming and error-prone. Small business owners and freelancers spend significant time each month manually entering receipt data, which could be automated.
The challenge was to create a system that could accurately extract data from receipt images and automatically create QuickBooks expense entries without manual intervention.
The Solution
I built an automated system that processes receipt images and creates QuickBooks expenses:
- Receipt image processing with Google Gemini AI for data extraction
- Automatic data validation and structuring
- QuickBooks API integration for direct expense creation
- OAuth token management with automatic refresh
- FastAPI backend with Python 3.12 for reliability
A key innovation was building proactive token refresh that prevents expiration - tokens refresh automatically with a 5-minute buffer, ensuring uninterrupted service.
Key Feature: Proactive Token Management
One of the most challenging aspects was handling QuickBooks OAuth tokens reliably. Many integrations fail when tokens expire unexpectedly.
I implemented a proactive refresh system that monitors token expiration and automatically refreshes them with a 5-minute buffer. This ensures the system never fails due to expired tokens, providing a seamless experience for users.
Technologies
FastAPI was chosen for its excellent async support and automatic API documentation. Google Gemini AI provides reliable text extraction from receipt images with good accuracy for structured data.
Outcome
A working tool that processes receipts and creates QuickBooks expenses automatically. The system accurately extracts vendor information, amounts, dates, and expense categories from receipt images.
The robust token management ensures reliable operation without manual intervention, making it a practical solution for real-world use.