QuickBooks Integration — Setup & Usage Guide
Export your Rubi Professional CRM data as QuickBooks-compatible CSV or IIF files. Import them into QuickBooks Online or QuickBooks Desktop. No OAuth, no API keys, no Intuit developer account — just clean files and a one-click download.
Overview
The QuickBooks Integration module lets tenant admins generate three types of QuickBooks-ready export files on demand:
Customers
Your CRM customer list as a QuickBooks-ready customer file. Name, company, email, phone, billing address.
Invoices
Successful payments from the Customer Payments module, formatted as QuickBooks invoices with line items.
Transactions
Full payment activity log (every attempt, every status) as general journal entries for reconciliation.
Why export-only in V2?
An earlier version of this module attempted a live OAuth-based sync with QuickBooks Online. We rebuilt it as an export-only module in April 2026 because live sync has ongoing costs that don't match its usefulness for most tenants:
- No Intuit developer app to configure. OAuth requires an approved Intuit developer account, a production app listing, and redirect URI approval — a process that can take days and breaks every time Intuit revises their API.
- Works identically for QuickBooks Online and Desktop. The OAuth API only serves QBO. Desktop users (still a significant share) were second-class. IIF makes Desktop a first-class target.
- Auditable by design. Your accountant gets a file they can read, review, and import on their own schedule. Live sync tends to create "what just changed?" mysteries.
- No API version drift. Intuit rotates API versions; a file export format that's been stable since QuickBooks shipped doesn't.
Live bidirectional sync is on the roadmap for a future v3. If that's a must-have for your workflow, let us know.
Quick start ≈ 5 minutes
-
1
Activate the module
Open RubiMine, find the QuickBooks Integration tile (featured with a V2 · NEW badge), click Activate. Billing starts at $99.99/mo.
-
2
Open the dashboard
Navigate to Tenant Admin → QuickBooks Integration. You'll see three export cards: Customers, Invoices, Transactions.
-
3
Pick your export type, date range, and format
Each card shows how many records are available. Set an optional date range and pick CSV (QBO Online) or IIF (QB Desktop).
-
4
Preview
Click Preview to see the first 10 rows in the exact shape they'll be exported. Quick sanity check before you commit.
-
5
Download + import
Click Download — your browser saves the file. Then import into QuickBooks (see sections QBO Online or QB Desktop below).
Export types
Customers
Every customer in your CRM, ready to drop into QuickBooks. Filterable by created-date range. Typical use: when you first connect RubiPro to QuickBooks and want to backfill your customer list, or when a major batch of new customers arrive and you want to push them in bulk.
Column set: Name | Company | Email | Phone | Billing Address | City | State | ZIP | Country | Notes. The Notes column auto-stamps Imported from Rubi Professional · id=N so you can trace back.
Invoices
Successful payments from the Customer Payments module, as QuickBooks-ready invoice records. Filterable by payment date. Typical use: end-of-month reconciliation — export last month's paid invoices, import into QuickBooks, done.
Column set: InvoiceNo | Customer | InvoiceDate | DueDate | Item | Description | Quantity | Rate | Amount | Memo. One line-item per invoice (quantity 1, rate = amount). Memo carries the gateway transaction ID for cross-referencing.
Transactions
Full log of every payment attempt — succeeded, failed, declined, refunded — as general journal entries. Filterable by attempt date. Typical use: forensic reconciliation, fraud review, end-of-quarter audit prep.
Column set: Date | TransactionID | Reference | Customer | Company | Amount | Currency | PaymentMethod | Gateway | Status | Description.
CSV vs IIF — which do I pick?
| Pick | If you use | Import path |
|---|---|---|
| CSV | QuickBooks Online | Settings (gear) → Import Data → Customers / Invoices |
| IIF | QuickBooks Desktop (Pro, Premier, Enterprise) | File → Utilities → Import → IIF Files |
Both formats are pure text, auditable, and compatible with accounting tools other than QuickBooks (many general ledger systems import CSV or IIF).
Importing into QuickBooks Online
- Open QuickBooks Online and sign in.
- Click the gear icon (top right) → under Tools, click Import Data.
- Pick the object type matching your file (Customers or Invoices).
- Upload the CSV file you downloaded from Rubi Professional (e.g.
rubipro-qbo-customers-2026-04-24.csv). - On the column-mapping screen, QBO auto-detects our column names (Name, Company, Email, etc.). Adjust any that don't map and click Next.
- Review the preview, confirm, and click Start import.
Tip: QBO's Customer import doesn't natively support payment/invoice line items in a single file. For invoices, use the Invoices export separately and import via Sales → New → Invoice → Import.
Importing into QuickBooks Desktop
- Open QuickBooks Desktop and your company file.
- Back up your company file first — IIF imports are not reversible. File → Back Up Company → Create Local Backup.
- Go to File → Utilities → Import → IIF Files.
- Select the IIF file you downloaded (e.g.
rubipro-qbo-invoices-2026-04-24.iif). - QuickBooks imports the records and shows a confirmation dialog with the count of rows processed.
Warning: IIF import bypasses QuickBooks' normal validation rules. Always back up first. For production data, preview the first 10 rows on our side, then do a dry-run import into a test company file before hitting your live one.
Export history
Every export (successful or failed) is logged to the quickbooks_exports table and shown on the dashboard. Entries include: who ran it, when, what type, what format, how many rows, file size, and status.
If an export fails (e.g. the Customer Payments module isn't active for your tenant so Invoices has nothing to export), the history shows a red "error" chip with a hoverable message. No silent failures.
Troubleshooting
The Invoices card shows 0 available
Invoices export reads from the Customer Payments module's payment_attempts table, filtered to status = succeeded. If you haven't run any successful payments yet — or the Customer Payments module isn't active for your tenant — the count will be 0. Activate Customer Payments in RubiMine to enable this export.
QuickBooks Online rejects my CSV columns
QBO's Import Data wizard shows you which columns didn't auto-map. You can adjust the mapping in-place on that screen. If you need to rename columns to match your QBO setup exactly, open the CSV in a spreadsheet app, edit, save, and re-upload.
QuickBooks Desktop says "No IIF records were imported"
Usually means a column in the file contains a tab character, which breaks the tab-separated structure. Our exporter strips tabs from all field values, so this shouldn't happen — but if it does, capture the file and email support. Also verify you're on QB Desktop 2018 or later (older versions have buggy IIF parsers).
I want live two-way sync
Planned for a future v3. If you have a specific use case that can't be served by scheduled exports (e.g. daily overnight), let support know — real customer demand drives what we build next.
Frequently asked questions
Is the export process auditable?
Yes. Every export is logged with user, timestamp, row count, and status. Sysadmins can view a global error log at /admin/view-quickbooks-state.php.
Does it work with QuickBooks Self-Employed?
QuickBooks Self-Employed has limited CSV import support — only Mileage and Expenses, not Customers or Invoices. If you're on Self-Employed, upgrade to Simple Start or Essentials to use this integration.
Can I export to a format other than CSV or IIF?
Not in v2. If you need XLSX, OFX, or QBO (bank-download format) export, let support know — we'll gauge demand.
Is there a row-count limit?
No hard limit on our side. The practical limit is QuickBooks' own import limits (QBO: ~1,000 customers per import batch; Desktop: effectively unlimited). For very large exports, split by date range.
Where do preview results come from?
The preview runs the same query as the download but only returns the first 10 rows as JSON so you can eyeball column mapping before spending time on a full download + import.
Ready to export to QuickBooks?
Activate from RubiMine and you'll have your first file in under 60 seconds.
Open RubiMine