About This Guide
This guide covers RebelPSA’s built-in QuickBooks Online integration — how to connect it, understanding exactly what it syncs, and monitoring or troubleshooting it day to day. It’s written for whoever administers the connection and for finance staff who rely on it.
Tip. RebelPSA’s Finance module is completely functional on its own. Invoicing, payments, AR (accounts receivable) aging, and reporting all work fully without QuickBooks connected — QuickBooks is an optional accounting export, never a requirement for using Finance.
What the Integration Does — and Doesn't Do
RebelPSA is your system of record for all billing activities. QuickBooks receives exports from RebelPSA and serves as your accounting ledger — this is a one-directional export relationship for your actual financial records, not a two-way sync.
| Data | Direction |
|---|---|
| Invoices | RebelPSA → QuickBooks |
| Payments | RebelPSA → QuickBooks |
| Customer mappings | QuickBooks → RebelPSA (mapping only, not a full customer sync) |
| Item mappings | QuickBooks → RebelPSA (mapping only) |
| Tax code mappings | QuickBooks → RebelPSA (mapping only) |
| Invoices from QuickBooks | Not supported |
| Customers from QuickBooks | Not supported (mapping only) |
The following are outside the current scope — RebelPSA manages all of these natively, without syncing them to QuickBooks:
- Importing invoices or payments from QuickBooks into RebelPSA
- Syncing your QuickBooks Chart of Accounts into RebelPSA
- Syncing vendors, purchase orders, expenses, or bills
- Syncing credit memos, estimates, or refunds to QuickBooks
- Importing QuickBooks customers or items as RebelPSA client records
- Connecting more than one QuickBooks company to a single RebelPSA account
Important. If you’ve seen QuickBooks described elsewhere as a fuller two-way sync — bi-directional customer records, invoice import, vendor sync — treat this guide as the accurate, current picture. What’s connected and working today is the one-directional export described above: your invoices and payments flow out to QuickBooks, and only customer/item/tax mapping data flows back in to make that export work correctly.
How Your Data Is Protected
Your QuickBooks connection is private to your account and built with per-tenant isolation as a foundational requirement.
| Security Measure | What It Means for You |
|---|---|
| Per-tenant token storage | Your QuickBooks credentials are stored in your own encrypted database. No other RebelPSA tenant can access them. |
| OAuth 2.0 authorization | You log into QuickBooks directly through Intuit’s own login page. RebelPSA never sees your QuickBooks password. |
| Automatic token refresh | Your connection refreshes automatically before it expires — you won’t need to reconnect frequently under normal use. |
| Encrypted at rest | All connection tokens are encrypted before being stored and cannot be read without the platform’s encryption key. |
Tip. The platform-level credentials that let RebelPSA talk to Intuit at all (its own developer app registration) are Rebel Software’s property, held in secure platform storage — entirely separate from your own tenant’s OAuth tokens. Every API call also carries Intuit’s own transaction ID, which support can use to trace an issue directly with Intuit if it’s ever needed.
Before You Connect
What You Need
- A QuickBooks Online account — the integration connects to QuickBooks Online only, not QuickBooks Desktop.
- Administrator access in RebelPSA — specifically, the Integrations Settings Edit permission, to connect or disconnect QuickBooks.
- Your QuickBooks login credentials — you’ll be redirected to Intuit’s own login page during setup.
- Your clients set up in RebelPSA — the integration matches clients to QuickBooks customers by name, so a client without a matching QuickBooks customer name won’t export until that’s resolved.
Choosing Your Environment
| Environment | When to Use It |
|---|---|
| Sandbox | Test the connection and confirm invoices/payments export correctly before going live. Connects to Intuit’s test environment — no real financial data involved. Recommended for first-time setup. |
| Production | Your live QuickBooks Online account. Anything exported here appears in your real QuickBooks ledger. |
Important. Always test in Sandbox first. Once you post invoices in Production mode, they appear in your live QuickBooks account.
Connecting QuickBooks to RebelPSA
QuickBooks is set up from Integrations → Integrations — find the QuickBooks card under the Finance category, showing Available if not yet connected.
- Set your environment. On the QuickBooks settings page, choose Sandbox or Production from the Environment dropdown, and click Save before doing anything else.
- Click Connect to QuickBooks. You’ll be redirected to Intuit’s secure login page.
- Authorize in QuickBooks. Log in, select the QuickBooks company to connect, and click Authorize.
- Confirm the connection. You’re returned to RebelPSA automatically, with a green “Connected” confirmation.
- Run Sync Now. This reads your QuickBooks customers, items, and tax codes into RebelPSA’s mapping tables and is required before invoice exports will work correctly. Click View Logs afterward to confirm it ran without errors.
Important. Connecting to QuickBooks does not automatically pull or push any data by itself. You must run Sync Now after connecting — without it, customer and item mappings won’t exist yet, and invoice exports will be skipped.
Verifying the Connection
- The integration status shows Connected on the settings page.
- The sync log shows a successful Sync Now run with no errors.
- Post a test invoice in Finance and confirm it appears in QuickBooks within a few seconds.
- If an invoice fails to export, check Integrations → Logs for the error (see Troubleshooting).
What the Buttons Do
| Button | What It Does |
|---|---|
| Connect to QuickBooks | Starts the Intuit OAuth authorization flow. |
| Disconnect | Removes the connection. Existing QuickBooks records are unaffected, and you can reconnect any time. |
| Test Connection | Sends a test request to confirm the connection is active and credentials are valid — does not sync data. |
| Sync Now | Reads customers, items, and tax codes from QuickBooks to rebuild the mapping tables. Run after first connecting, and again whenever you add new customers or items in QuickBooks. |
| Enable / Disable | Temporarily pauses or resumes the integration without disconnecting. |
| Save (Environment) | Saves your Sandbox/Production choice — always save before clicking Connect. |
Understanding the Sync Flow
| Event in RebelPSA | What Happens | When |
|---|---|---|
| Invoice is Posted | Exported to QuickBooks automatically | Within seconds (background job) |
| Payment is Posted | Exported to the matching QuickBooks invoice | Within seconds (background job) |
| Sync Now is clicked | Reads QuickBooks customers, items, and tax codes to rebuild mapping tables | Immediately, on demand |
| Connect to QuickBooks is clicked | OAuth connection established — no data syncs automatically at this point | At time of connect |
How Invoices Flow to QuickBooks
| Action in RebelPSA | What Happens in QuickBooks |
|---|---|
| Create a draft invoice | Nothing — draft invoices stay in RebelPSA only. |
| Post an invoice | RebelPSA creates or updates the matching invoice in QuickBooks automatically, within seconds. |
| Apply and post a payment | RebelPSA exports the payment and applies it to the matching QuickBooks invoice. |
| Disconnect QuickBooks | Future posts stop exporting. Existing QuickBooks records are not deleted or changed. |
Tip. Finance pages don’t currently show a per-invoice QuickBooks sync status indicator. To confirm a specific invoice exported, check Integrations → Logs after posting.
If a Client Isn’t Mapped
Before an invoice can export, RebelPSA must match its client to a QuickBooks customer via the mapping tables built by Sync Now. If a client has no matching QuickBooks customer:
- The export is skipped with a warning in the sync log — nothing errors loudly.
- The invoice remains completely valid in RebelPSA and is never lost.
- Create a matching customer in QuickBooks and run Sync Now again to resolve it.
Important. Run Sync Now after adding new clients in RebelPSA or new customers in QuickBooks. Mappings don’t update automatically — if they go stale, exports are silently skipped rather than erroring visibly.
Monitoring the Integration
Two Places to Check
- Integration Detail Page — Integrations → Integrations → QuickBooks → Manage. Shows connection status, last sync time/status, consecutive failure count, and the 10 most recent log entries.
- Integration Logs Page — Integrations → Logs, filterable by integration. Columns: date/time, severity (Info/Warning/Error/Critical), success (Yes/No), duration, a Correlation ID for support escalation, and a technical message.
Status Indicators
| Status | What It Means |
|---|---|
| Connected (green) | Active and running normally. |
| Not connected (gray) | No connection was established, or it was disconnected. |
| Paused (warning banner) | Automatically paused after 5 consecutive sync failures. No exports are running. |
| Last status: Failed | The most recent sync attempt failed; the integration may still be active otherwise. |
| Disabled | Manually disabled — click Enable to resume. |
Automatic Pause
After 5 consecutive sync failures, RebelPSA automatically pauses the integration to stop repeated failed attempts.
- A warning banner appears on the settings page.
- Invoice and payment exports stop until resumed.
- Invoices posted while paused are not retried automatically — they’ll need re-exporting once resolved.
- Check Integrations → Logs to find the cause, then click Enable to resume.
Reconnecting (Re-authorization)
Your access token refreshes automatically under normal use. You’ll need to manually reconnect if the connection has been inactive for roughly 100 days, or if Intuit revokes access for any reason.
- Go to Integrations → Integrations → QuickBooks → Settings.
- Click Disconnect.
- Click Connect to QuickBooks and complete the Intuit authorization flow again.
- Click Sync Now to refresh the mapping tables.
Tip. If you see repeated authentication errors in the sync log, disconnecting and reconnecting resolves most token-related failures by creating a fresh connection.
Troubleshooting
| Symptom | Likely Cause | What to Do |
|---|---|---|
| Connect to QuickBooks shows an error immediately | Environment not saved, or a platform-level configuration issue | Confirm you saved the correct Environment before clicking Connect. If it persists, contact support. |
| Connected, but invoices aren’t appearing in QuickBooks | Missing customer mapping, or the integration is paused | Run Sync Now. Check Integrations → Logs for export warnings. Confirm the integration isn’t Paused or Disabled. |
| Sync Now ran, but some clients still aren’t mapping | Client name in RebelPSA doesn’t exactly match the QuickBooks customer name | Check the names match exactly; create a matching QuickBooks customer if needed, then Sync Now again. |
| Paused banner appears | 5 consecutive sync failures triggered auto-pause | Check the logs for the underlying error, resolve it, then click Enable. |
| Connection worked before but now shows failed | OAuth token expired, or Intuit revoked access | Disconnect and reconnect; run Sync Now afterward. |
| Posted invoice is in RebelPSA but not QuickBooks | Export skipped due to a missing customer or item mapping | Check the sync log for a warning on that invoice; Sync Now, then re-post or contact support for manual re-export. |
When to Contact Support
- A persistent error remains after disconnecting and reconnecting
- The integration auto-paused and the sync log doesn’t make the cause clear
- Invoices are exporting to the wrong QuickBooks customer
- You see a Correlation ID for an error you can’t resolve yourself
Tip. When contacting support, have the following ready — your tenant name, the date/time of the issue, the exact error message from the sync log, and the Correlation ID if one is visible.
Common Workflows
Setting up the connection for the first time
- Set the environment to Sandbox and save.
- Connect and authorize through Intuit.
- Run Sync Now, then post a test invoice and confirm it appears in QuickBooks.
- Once verified, switch the environment to Production, save, and reconnect.
Onboarding a new client
- Create the client in RebelPSA as usual.
- Create a matching-named customer in QuickBooks if one doesn’t already exist.
- Run Sync Now so the new mapping is built before their first invoice posts.
An invoice didn’t show up in QuickBooks
- Check Integrations → Logs for a warning tied to that invoice.
- If it’s a mapping issue, fix the customer/item name mismatch and run Sync Now.
- Re-post the invoice or contact support if it needs a manual re-export.
Quick Reference & Glossary
| Term | Meaning |
|---|---|
| Sandbox | Intuit’s test environment — no real financial data, used to validate the connection before going live. |
| Production | Your live QuickBooks Online account — exports here are real. |
| Sync Now | The action that rebuilds customer/item/tax code mapping tables by reading current data from QuickBooks. |
| Mapping Table | The internal lookup RebelPSA uses to match a RebelPSA client/item to the correct QuickBooks record before export. |
| Auto-Pause | The automatic stop triggered after 5 consecutive sync failures, to prevent repeated failed attempts. |
| Correlation ID | An identifier attached to a sync log entry, used to help support trace a specific issue. |
| intuit_tid | Intuit’s own transaction ID, captured on every API call for tracing an issue directly with Intuit if needed. |
| OAuth 2.0 | The secure authorization standard used to connect — you log in directly through Intuit, and RebelPSA never sees your QuickBooks password. |