Nine Minds Logo

Navigation

10.20. Connect QuickBooks Online to AlgaPSA for Live Two-Way Accounting Sync

Connect AlgaPSA Enterprise Edition to QuickBooks Online with tenant-owned OAuth credentials so finalized invoices, credit memos, and payments stay in sync with your accounting system of record.

10.20. Connect QuickBooks Online to AlgaPSA for Live Two-Way Accounting Sync
Connect AlgaPSA Enterprise Edition to QuickBooks Online with tenant-owned OAuth credentials so finalized invoices, credit memos, and payments stay in sync with your accounting system of record.
10. SettingsUpdated: 6/17/2026

The QuickBooks Online integration links an AlgaPSA tenant straight to a QuickBooks Online company. Finalized invoices, credit memos, and payments then flow between the two systems automatically. Once you connect, your accounting team stops re-keying invoices and reconciling spreadsheets. AlgaPSA exports billing documents into QuickBooks, watches for changes made on the QuickBooks side, and applies QuickBooks payments back onto the matching AlgaPSA invoices.

This guide covers the one-time connection. The ongoing sync behavior is covered separately: payments, drift detection, and the exceptions an accounting admin works through. See Keep AlgaPSA and QuickBooks Online in Sync. For where the integration fits in the wider accounting picture, see How Accounting Works in AlgaPSA. If you are not ready for a live connection, the QuickBooks CSV export path is always available and needs no setup.

Figure 1: QuickBooks Online appears on the Accounting Integrations page with an Enterprise badge. Select it to open the connection and configuration panel.


What the QuickBooks Online integration does

CapabilityWhat it means for your MSP
Invoice exportAlgaPSA creates each finalized invoice as a QuickBooks invoice, with line items mapped to QuickBooks items, tax codes, and terms.
Credit memo exportAlgaPSA creates each finalized credit note as a QuickBooks credit memo and applies it against the customer balance.
Payment sync (inbound)Payments you record in QuickBooks are applied back onto the matching AlgaPSA invoice, so paid and partially-paid status stays accurate on both sides.
Payment sync (outbound)Payments you record in AlgaPSA, such as a Stripe payment, are pushed to QuickBooks as Payment objects against the linked invoice.
Drift detectionWhen an exported invoice is later changed, voided, or deleted in QuickBooks, AlgaPSA notices and raises an exception so you do not miss the discrepancy.
Customer matchingA reconciliation wizard links AlgaPSA clients to existing QuickBooks customers, or creates new QuickBooks customers on demand.
Class and department taggingExported documents can carry a default QuickBooks class and department for segment reporting.

Prerequisites

Confirm the following before you connect.

  1. Edition access. QuickBooks Online is an Enterprise Edition integration. If the QuickBooks Online card does not appear under Settings > Integrations > Accounting, the tenant does not have the required edition or feature access.
  2. AlgaPSA permissions. You are an AlgaPSA administrator who can update billing settings.
  3. A QuickBooks Online company. You can sign in to the company you want to connect, with the rights to authorize third-party apps.
  4. Intuit app credentials. You have a client ID and client secret from an Intuit Developer app, and the AlgaPSA callback URL is registered as an authorized redirect URI. AlgaPSA shows you the exact callback URL to register (see Step 2).

Tenant-owned versus application credentials: AlgaPSA can use either the Intuit app credentials you enter for this tenant, or shared application-level credentials configured by your AlgaPSA operator. Entering tenant-owned credentials keeps each MSP's QuickBooks app separate, and that is the recommended setup.


Step 1: Open the QuickBooks Online settings

  1. In AlgaPSA, go to Settings.
  2. Select Integrations.
  3. Open the Accounting category.
  4. Select the QuickBooks Online card and click Configure Integration.

The panel has three working areas: the Tenant-Owned OAuth App credentials card, the Live QuickBooks Connection card, and, once you connect, the Sync Health and Live QuickBooks Mapping & Configuration cards.


Step 2: Enter your Intuit app credentials

In the Tenant-Owned OAuth App card, register the Intuit app that AlgaPSA should use for this tenant.

Figure 2: The credentials card shows the redirect URI to register with Intuit, the required OAuth scope, the active environment, and masked confirmation that a client ID and secret are stored.

The card displays the values you need on the Intuit side.

FieldPurpose
Redirect URIThe callback URL to add to your Intuit app's authorized redirect URIs. AlgaPSA accepts the QuickBooks authorization response only at this URL.
Required ScopesThe OAuth scope AlgaPSA requests (com.intuit.quickbooks.accounting).
Intuit EnvironmentWhether AlgaPSA talks to the QuickBooks Sandbox or Production API. Your AlgaPSA operator sets this.

Paste your Intuit app's QuickBooks Client ID and QuickBooks Client Secret into the two fields, then click Save QuickBooks Credentials. AlgaPSA stores the secret and never returns secret values to the browser again. Instead the card shows a masked confirmation and a Credentials Ready badge once you save both values.

Operational check: Register the Redirect URI shown on this card with your Intuit app before you connect. If the redirect URI does not match, Intuit rejects the authorization and the connection fails with a configuration error.


Step 3: Connect the QuickBooks company

With credentials saved, the Live QuickBooks Connection card enables the Connect QuickBooks button.

  1. Click Connect QuickBooks. AlgaPSA redirects you to Intuit's authorization page.
  2. Sign in to the QuickBooks Online company you want to connect, and approve access.
  3. Intuit returns you to AlgaPSA. AlgaPSA stores the connection and lands back on the integration panel with a success message.

After you connect, the card shows the connected company name, its QuickBooks realm (company) ID, and an active status badge. The button changes to Reconnect QuickBooks, and a Disconnect QuickBooks button appears next to it.


Step 4: Confirm the connection is healthy

Once you connect, the Sync Health card summarizes the live connection at a glance.

Figure 3: With a connection live, the Sync Health card reports the last sync cycle, the work waiting in each state, and when the QuickBooks token expires.

Confirm three things.

  • The Live QuickBooks Connection card shows the expected company name and an active status.
  • The Sync Health card shows a recent Last Sync Cycle result. Sync runs automatically every 15 minutes.
  • The token-expiry line shows a future date. AlgaPSA refreshes tokens automatically, and warns you ahead of time if you need to reconnect.

Step 5: Map services, tax codes, and payment terms

Before invoices export cleanly, AlgaPSA needs to know which QuickBooks item, tax code, and term each AlgaPSA service maps to. Open the Live QuickBooks Mapping & Configuration card and work through its three tabs.

TabMaps AlgaPSA……to QuickBooks
Items / ServicesServices in your catalogQuickBooks Items (products/services)
Tax CodesTax regionsQuickBooks Tax Codes
Payment TermsPayment terms (Net 30, Due on Receipt, etc.)QuickBooks Terms

AlgaPSA loads the available QuickBooks items, tax codes, and terms directly from the connected company. So you map against the real values that exist in QuickBooks.

You can also set sync defaults on the Sync Configuration panel: a default Deposit Account for incoming payments, and an optional default Class and Department to stamp on exported documents for segment reporting. Keep AlgaPSA and QuickBooks Online in Sync describes these in detail.


Going live with existing data: the reconciliation wizard

If the QuickBooks company already contains customers and invoices, run the reconciliation wizard before your first export. That way AlgaPSA links to the right records instead of creating duplicates. Click Run setup wizard on the integration panel.

Figure 4: The reconciliation wizard's first step matches AlgaPSA clients to their QuickBooks customers. Accept exact matches in bulk, confirm fuzzy matches individually, and link the rest manually or create them in QuickBooks on demand.

The wizard walks through three steps.

  1. Customers. Review and link your AlgaPSA clients to their QuickBooks counterparts. Accept exact name matches in bulk. Confirm close ("fuzzy") matches one at a time. Link anything with no match manually, or create it in QuickBooks on demand.
  2. History. Link historical invoices that already exist in QuickBooks, so AlgaPSA does not re-export them.
  3. Go-live. Set the cutover date. AlgaPSA treats invoices dated before the cutoff as already handled in QuickBooks. The live sync owns invoices on or after it.

Run the wizard before your first sync. It is the difference between a clean go-live and a pile of duplicate customers and invoices to clean up later.


Disconnect and reconnect

To disconnect, click Disconnect QuickBooks on the connection card. Disconnecting removes the stored QuickBooks access tokens, but it keeps your tenant-owned Intuit app credentials in place. So you can reconnect later in a single click, without re-entering the client ID and secret.

You may need to reconnect if the QuickBooks authorization expires or is revoked on the Intuit side. When that happens, AlgaPSA raises an Accounting connection needs attention notification and pauses sync. Click Reconnect QuickBooks and re-authorize to restore it.


Troubleshooting

ProblemWhat to check
QuickBooks Online card is missingConfirm Enterprise Edition access and that you can update billing settings.
Connect button is disabledSave a valid client ID and client secret first. The connection cannot start until credentials show Credentials Ready.
Authorization fails with a configuration errorConfirm the Redirect URI shown on the credentials card is registered in your Intuit app as an authorized redirect URI, exactly as displayed.
Authorization completes but the connection is not savedStart the connection from AlgaPSA with the Connect QuickBooks button, not from a saved or shared link, and finish it in the same browser session.
Connection shows expired statusThe QuickBooks token was revoked or has lapsed. Click Reconnect QuickBooks and re-authorize the company.
Invoices fail to export with a mapping errorMap the service, tax code, or term named in the error under Live QuickBooks Mapping & Configuration.
Exported invoices land under the wrong companyA tenant with more than one connected QuickBooks company exports to its default company unless you target a specific one. See the multi-company note in the sync guide.

Best practices for MSPs

  • Use tenant-owned credentials so each MSP's QuickBooks app and audit trail stay separate.
  • Register the redirect URI and confirm the environment (Sandbox or Production) before you connect, not after.
  • Run the reconciliation wizard before your first export whenever the QuickBooks company already has customers or invoices.
  • Finish your service, tax, and term mapping before you export, so the first batch validates cleanly.
  • Keep the Intuit app owner documented for future credential rotations, the same way you would for any OAuth integration.
  • Leave the QuickBooks CSV export available as a fallback for any period when a direct connection is paused.