Navigation
14.22. Keep AlgaPSA and QuickBooks Online in Sync: Payments, Drift, and Exceptions
Understand the AlgaPSA two-way QuickBooks Online sync: how the 15-minute cycle exports invoices and credit memos, applies payments in both directions, detects drift, and surfaces exceptions for accounting staff to resolve.
Once you connect a QuickBooks Online company (see Connect QuickBooks Online), AlgaPSA keeps the two systems in sync for you. No manual file shuffling. A background sync cycle runs every 15 minutes for each connected company. It pushes finalized invoices, credit memos, and payments into QuickBooks. It pulls QuickBooks payments back onto the matching AlgaPSA invoices. And it watches for changes made directly in QuickBooks. When something cannot be reconciled on its own, AlgaPSA raises an exception so an accounting admin can resolve it, instead of letting the books quietly diverge.
This guide explains what the sync does, where to watch it, and how to clear the exceptions it raises. You will find the controls under Settings > Integrations > Accounting, on the QuickBooks Online panel.
How the sync cycle works
Each connected QuickBooks company runs its own sync cycle on a 15-minute schedule. A single cycle does two things.
- Inbound. It reads what changed in QuickBooks since the last cycle (new payments, changed invoices, deletions) and applies those changes in AlgaPSA. The cycle advances its position marker only after the inbound changes apply successfully. A failure is retried, not skipped.
- Outbound. It works through the queue of AlgaPSA-originated changes (new invoices to export, voids, payments to push, credit applications). Each outbound item retries on its own with a capped number of attempts. Outbound problems never block inbound progress.
The cycle is built to tolerate overlap and its own echoes. It re-reads a small window of recent QuickBooks activity to absorb clock differences, and it recognizes the changes that started in AlgaPSA so a payment is never counted twice. You do not need to manage any of this. It is simply why a healthy cycle can report "nothing to do" and still be working correctly.
You can also run a cycle right away with Sync Now. Use the Auto-sync enabled toggle to turn the schedule on or off.
The Sync Health panel
The Sync Health card is your accounting team's dashboard for the connection.
Figure 1: Sync Health reports the last cycle outcome, the QuickBooks token expiry, and how much work is waiting in each state.
| Element | What it tells you |
|---|---|
| Last Sync Cycle | The result and timestamp of the most recent run, plus a one-line summary (operations processed, drift found, payments applied). |
| Pending ops | Outbound changes still waiting to go to QuickBooks. |
| Errored ops | Outbound changes that have failed repeatedly and need attention. |
| Drift | Exported documents that were changed, voided, or deleted in QuickBooks since AlgaPSA sent them. |
| Open exceptions | The number of unresolved sync exceptions across all categories. |
| Token expiry | When the QuickBooks authorization will lapse. AlgaPSA refreshes it automatically and warns you ahead of the deadline. |
A healthy connection sits at zero pending and zero errored ops most of the time, and the last cycle reads succeeded.
Sync configuration
The Sync Configuration panel sets the defaults the sync applies to QuickBooks activity.
Figure 2: Configure the deposit account for incoming payments, optional class and department tags for exported documents, and whether the sync runs automatically.
| Setting | Effect |
|---|---|
| Deposit Account | The QuickBooks account that AlgaPSA-pushed payments are deposited into. If you leave it unset, QuickBooks uses Undeposited Funds. |
| Default Class | An optional QuickBooks class stamped on exported documents for class-based reporting. |
| Default Department | An optional QuickBooks department (location) stamped on exported documents. |
| Auto-sync enabled | When on, the cycle runs every 15 minutes. When off, sync runs only when you click Sync Now. |
Payments in both directions
Day to day, the most valuable thing the sync does is keep payment status accurate on both sides.
Inbound (QuickBooks to AlgaPSA). When you record a payment against an invoice in QuickBooks, the next cycle applies it to the matching AlgaPSA invoice and updates the status to paid or partially paid. AlgaPSA matches the payment to the invoice it exported, so the amounts and balances line up.
Outbound (AlgaPSA to QuickBooks). When you record a payment in AlgaPSA, the sync pushes it to QuickBooks as a Payment object applied to the linked invoice. That includes a Stripe payment captured through Online payments and a manually recorded check. Payments that started in QuickBooks are never pushed back, so the same money is never recorded twice.
Note: Suppose a QuickBooks payment is applied to an invoice that AlgaPSA already shows as fully settled. AlgaPSA does not silently double-apply it. Instead it raises a QuickBooks payment targets an already-settled invoice exception (see below) for you to review.
Drift detection
After AlgaPSA exports an invoice, someone can still change that document in QuickBooks. They might edit a line, void it, or delete it. The sync notices these changes and flags them as drift. It does not pretend the export still matches.
| Drift signal | What it means |
|---|---|
| Exported invoice was changed in QuickBooks | The invoice total, lines, or other fields no longer match what AlgaPSA exported. |
| Exported invoice was voided or deleted in QuickBooks | The document AlgaPSA exported no longer exists, or it has been voided in QuickBooks. |
Each drift signal becomes an exception. From there you decide what to do. Accept the QuickBooks version if the change was intentional, or re-export from AlgaPSA if the AlgaPSA version is correct. Accepting clears the drift. Re-exporting sends a fresh copy.
Exceptions: what they are and how to clear them
When the sync cannot reconcile something on its own, it creates an exception. The exception is a task assigned to an accounting administrator, so the issue is visible and actionable instead of buried in a log. The open count appears on the Sync Health panel, and each exception links to the invoice, payment, or connection it concerns.
| Exception | What happened | How to resolve it |
|---|---|---|
| Accounting connection failed authentication | The QuickBooks authorization was revoked or expired, and sync is paused. | Reconnect the company from Settings > Integrations > Accounting. |
| Accounting connection expires in N days | The token will lapse soon. | Reconnect ahead of the deadline to avoid a paused sync. |
| Scheduled accounting export keeps failing | An invoice could not be exported after repeated attempts. | Open the linked invoice and fix the cause. It is usually a missing service, tax, or term mapping. |
| Invoice void keeps failing in accounting | A voided AlgaPSA invoice could not be voided in QuickBooks. | Check whether the QuickBooks document still exists or has a payment applied, then retry. |
| Payment push keeps failing — invoice not mapped in QBO | A payment could not be pushed because its invoice was never exported to QuickBooks. | Export the invoice first, then let the payment retry. |
| Payment push keeps failing — customer not mapped in QBO | A payment could not be pushed because the client is not linked to a QuickBooks customer. | Link the client in the reconciliation wizard, then retry. |
| QuickBooks payment references an unknown invoice | A QuickBooks payment points at an invoice AlgaPSA cannot identify. | Confirm the invoice was exported from AlgaPSA, or link it in the wizard's history step. |
| QuickBooks payment targets an already-settled invoice | A QuickBooks payment would over-apply to an invoice AlgaPSA already shows as paid. | Review the payment in QuickBooks. AlgaPSA leaves the duplicate or overpayment unapplied. |
| Credit application keeps failing in accounting | A credit memo could not be applied to its target invoice in QuickBooks. | Confirm both the credit note and the target invoice are exported, then retry. |
| Linked QuickBooks customer is no longer available | A QuickBooks customer that was linked to an AlgaPSA client has been deleted or deactivated. | Re-link the client to an active QuickBooks customer in the wizard. |
A cycle that fails outright on authentication is reported as aborted, and it does not advance. Once you reconnect, the next cycle picks up exactly where it left off.
Watching sync status on invoices
You do not have to open the settings panel to see where an invoice stands. The Finalized invoices list shows a QuickBooks sync status for each invoice, and the invoice preview offers direct actions.
Figure 3: Each finalized invoice shows its QuickBooks sync state (synced, not synced, voided), and the preview panel offers Sync to QuickBooks and View in QuickBooks actions.
From the invoice preview you can do two things.
- Sync to QuickBooks. Export this invoice now instead of waiting for the next cycle.
- View in QuickBooks. Open the linked document directly in QuickBooks Online.
This is the quickest way to confirm a single invoice landed correctly, or to push a one-off export outside the normal cycle.
Working with more than one QuickBooks company
A tenant can connect more than one QuickBooks company (realm). Each connected company runs its own sync cycle and keeps its own mappings. Invoices export to the tenant's default company unless you target a specific company when you create the export batch. If your MSP bills out of several QuickBooks companies, set the default to the one most invoices belong to, and target the others explicitly.
Operating checklist for accounting admins
- Check the Sync Health panel as part of your billing routine. Investigate any non-zero Errored ops or Open exceptions count.
- Resolve connection exceptions first. A paused connection stops everything else.
- Treat drift as a decision, not an error. Accept the QuickBooks change, or re-export the AlgaPSA version.
- Before month-end close, confirm the last cycle reads succeeded and pending ops are at zero.
- Reconnect before the token-expiry warning date, not after, so the sync never pauses.
Related topics
- How Accounting Works in AlgaPSA — where the sync fits in the wider accounting picture.
- Connect QuickBooks Online — the one-time connection and mapping setup.
- Export finalized invoices for accounting import — export batches, including the CSV fallback.
- Issue and apply credit notes — how credit notes become QuickBooks credit memos.
- Accept online payments via Stripe — the most common source of outbound payment sync.
