Web & Software
Custom PHP CRM with QuickBooks Integration | Services Company
Invoicing time cut from 6 hours to 20 minutes per week
The Challenge
A services company was running customers in spreadsheets and invoices separately in QuickBooks Online, with constant double entry and mismatched payment records. Nobody could tell which invoices were actually settled without opening two systems.
The Solution
We built a custom PHP/MySQL CRM on a clean MVC structure with a real, reviewed QuickBooks Online integration, so customer records, invoicing and payment status live in one place.
Deliverables
- CRM core: customers, contacts, leads and support tickets
- QuickBooks Online API integration with full OAuth 2.0 token refresh handling
- Automated invoice creation and two-way status sync with QuickBooks
- Payment tracking and reconciliation against QuickBooks records
- Automated customer and invoice notification emails
- Admin roles and granular permission controls
Process
- 01Mapped the existing workflow and designed a clean PHP MVC CRM around it
- 02Built the CRM core, then implemented the QuickBooks OAuth 2.0 flow with reliable token refresh
- 03Automated invoice creation with status synced back from QuickBooks
- 04Added payment tracking, reconciliation views and notification emails
- 05Set up admin roles and permissions, then passed Intuit's app review
Tools & Stack
PHP
MySQL
MVC
QuickBooks Online API
OAuth 2.0
Final Result
94%
Less Manual Entry
0
Duplicate Invoices
Approved
Intuit App Review