Automated end-to-end data sync between GHL CRM and Fortnox accounting, powering 1,000+ subaccounts.
The client needed their sales system (GHL CRM) and accounting system (Fortnox) to work seamlessly together. Previously, sales and accounting teams had to manually re-enter data between platforms, leading to duplicate customer records, inconsistent invoices, lost discounts, incorrect taxes, and hours of wasted effort.
I built a custom integration that automated the entire process — customers, invoices, orders, and products now sync automatically between both platforms.
Designed and implemented the full integration logic, error handling, and deployment.
Multi-Account Support
The integration supports 1,000+ GHL subaccounts, each mapped to its own Fortnox account. Scalable architecture ensures data isolation per account while sharing the same infrastructure.
Company & Contact Sync
Private vs. company customers are handled differently to avoid duplicates. Conversion between private and company customer types is supported without data loss.
Invoice & Order Sync
Draft invoices from GHL CRM sync in real time to Fortnox. A later upgrade added order sync flexibility — clients choose order-first or direct invoice. Discounts are consolidated into a single line item for compatibility; shipping, rounding, and invoice charges sync reliably.
Product Sync
Real-time sync of products from GHL CRM to Fortnox, with optional article number prefixing for easier search.
Error Handling & Resilience
Failed API requests are logged in the database and retried automatically. Local DB token storage handles Fortnox downtime and network issues. Staged invoice sync (6 → 20 → all invoices) prevents notification spam on large accounts.