A Frappe/ERPNext app for seamlessly syncing master data from QuickBooks Online into ERPNext — built and maintained by Invento Software Limited.
QuickBooks Master Sync bridges the gap between QuickBooks Online and ERPNext by providing a reliable, real-time synchronization of master data — helping businesses maintain consistency across their accounting and ERP systems.
⚠️ Note: This app synchronizes master data only (Accounts, Customers, Suppliers, Items, Tax Rates, Payment Terms, etc.). Transactional data sync (Invoices, Payments, etc.) is available in the full version. Contact munim@invento.com.bd to upgrade.
- Secure QuickBooks Online OAuth2 flow built into the ERPNext interface
- Access token and refresh token management handled automatically
- Multi-company support with per-company QuickBooks credentials
- Sync company-level configuration from QuickBooks
- Map QuickBooks company data to ERPNext company structure
- Automatic currency and accounting period alignment
- Full synchronization of the QuickBooks Chart of Accounts to ERPNext Accounts
- Preserves account types, root types, and account hierarchies
- Smart mapping between QuickBooks account classifications and ERPNext root types (Asset, Liability, Equity, Income, Expense)
- Sync QuickBooks Customers → ERPNext Customers
- Sync QuickBooks Vendors → ERPNext Suppliers
- Includes contact details, billing addresses, and tax registrations
- Sync QuickBooks Items/Services → ERPNext Items
- Maps product and service types appropriately
- Sync QuickBooks Tax Codes and Tax Rates → ERPNext Sales Tax Templates
- Supports complex tax groups
- Sync QuickBooks payment terms → ERPNext Payment Terms Templates
- Sync QuickBooks payment methods → ERPNext Mode of Payment
- Side-by-side comparison of QuickBooks and ERPNext account balances
- Summary cards: Matched, Mismatched, QuickBooks Only, ERPNext Only
- Customer & Supplier balance reconciliation — fully functional
- Date-wise comparison drilldown per account
- Premium gate on detailed account tabs (contact Invento to unlock)
- Built-in QuickBooks Debug Log Viewer for inspecting sync activity
- View, delete, and manage QuickBooks API response files
- Quick log clearing with audit trail
- Automatically sync opening balances at the end of the master data sync
- Ensures ERPNext starts from the same financial position as QuickBooks
- Live sync progress dialog with step-by-step status updates
- WebSocket-powered via Frappe's
frappe.realtimesystem - Shows completed ✅, running 🔄, and failed ❌ steps in real time
- Non-dismissible dialog during sync to prevent accidental interruptions
The following features are available in the full version of QuickBooks Master Sync. Contact us to unlock:
| Feature | Free | Full |
|---|---|---|
| Master Data Sync | ✅ | ✅ |
| Opening Balance Sync | ✅ | ✅ |
| Customer/Supplier Balance Comparison | ✅ | ✅ |
| Account Balance Comparison (Matched/Mismatched/Only) | 🔒 | ✅ |
| Transactional Data Sync (Invoices, Bills, Payments) | 🔒 | ✅ |
| Journal Entry Sync | 🔒 | ✅ |
📧 Contact: munim@invento.com.bd
🌐 Website: https://invento.com.bd
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch develop
bench install-app quickbooks_master_sync- Frappe Framework v15+
- ERPNext v15+
- QuickBooks Online account with API access
- Navigate to QuickBooks Settings in ERPNext
- Enter your QuickBooks Client ID and Client Secret
- Click Connect QuickBooks to complete the OAuth2 authorization
- Select the Company to sync
- Use Actions → Sync QuickBooks to run a full master data sync
This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/quickbooks_master_sync
pre-commit installPre-commit is configured to use the following tools:
ruff— Python linting and formattingeslint— JavaScript lintingprettier— Code formattingpyupgrade— Python syntax modernization
quickbooks_master_sync/
├── quickbooks_master_sync/
│ ├── api/ # Frappe whitelisted API endpoints
│ ├── doctype/
│ │ ├── quickbooks_settings/ # Main settings DocType + UI
│ │ └── quickbooks_log/ # Sync activity log
│ ├── page/
│ │ ├── quickbooks_balance_comparison/ # Balance comparison page
│ │ └── quickbooks_debug_viewer/ # Debug log viewer
│ ├── sync/ # Sync orchestration modules
│ │ ├── sync_company.py
│ │ ├── sync_opening_balances.py
│ │ └── ...
│ ├── utils/ # Shared utilities
│ ├── compare_balances.py # Balance comparison logic
│ └── reconciliation.py # Reconciliation helpers
├── pyqb/ # QuickBooks Python SDK (bundled)
└── hooks.py
MIT — see LICENSE for details.
Built with ❤️ by Invento Software Limited