Integration · Small business
QuickBooks Two-Way Sync
Getting a small business's financial data out of QuickBooks and into a database it can report on, and writing changes back.
- Role
- Designer & builder
- Client
- 8-employee automotive wheel business
- Stack
- language, database
- APIs
- QuickBooks Online API (OAuth 2.0)
The problem
The business ran on QuickBooks, but reporting and day-to-day lookups meant clicking through QuickBooks screens or exporting spreadsheets by hand. They needed the data somewhere it could be searched and combined with everything else.
What I built
- Pulls invoices, customers and payments from QuickBooks into a database
- Creates and updates invoices back in QuickBooks through the API, so both stay in sync
- Handles QuickBooks' sign-in tokens, which expire and refresh, without anyone logging in again
- Result: e.g., hours saved per week or reports that are now automatic
Security
Financial data called for care. The API credentials and refresh tokens are kept out of the code and in where you store them, e.g., environment variables / a secrets file with restricted permissions, the integration only requests the access it needs, and the database sits on the business's internal network.
What I'd do next
- Add an audit log of every change written back to QuickBooks
- Alert on sync failures instead of relying on someone noticing
Questions about this project? Email [email protected].