Skip to main content
Open Admin → Onboarding → Account reconciliation → View report. Choose Check all accounts to start a background check. The report updates while open; large agencies can take several minutes. This check does not modify customer records, subscriptions, account access, opportunities or messages.

What the report checks

The starting point is the agency’s full sub-account inventory, including paused accounts and accounts without an app installation. Installation status is shown separately. The report reads all statuses in the Operations Onboarding and Retention pipelines, including Won, Lost and Abandoned records. For each Location, it retains the SaaS account’s contact reference separately from the contact on its exact payment subscription. These references can disagree even when the subscription ID matches. The report flags that disagreement instead of silently choosing a contact or merging records. Some agency accounts reference Stripe customers and subscriptions directly. The report checks those subscriptions in the configured billing account and shows the agency-reported status separately from the verified billing status. Stripe IDs are never treated as CRM contact or payment-record IDs. A direct Stripe account still needs a verified Operations contact association; an unavailable subscription remains unknown and requires review of the billing account. Findings include missing Product Location IDs, missing Onboarding opportunities, duplicate cards, shared billing contacts, contact disagreements and Onboarding Won without a Retention card. Opportunities that cannot be associated with the agency roster appear separately, so unresolved records do not disappear.

Resolve a finding

  1. Verify the Location and the exact subscription in the agency account.
  2. Check the payment subscription’s Operations contact and the existing Onboarding opportunity. Names, emails and business names help locate records; they are not sufficient for an automatic link.
  3. Set Product Location ID only on the verified existing opportunity. For an eligible new customer, use Account connection → Check account links.
  4. If the contacts disagree, review both records and their subscription binding. Do not create another opportunity or merge contacts to bypass the review.
  5. Run the report again to confirm the finding is resolved.
An absent app installation does not mean an account is canceled. Likewise, a paused account is not proof of cancellation, and a trial is not proof of payment. The report displays observed subscription/payment states; it does not infer cancellation risk from a future annual term end date. Usage-based Retention stages remain a separate decision.

Automatic checks and provisioning

A report runs daily at 12:00 UTC (06:00 MDT / 05:00 MST) when ONBOARDING_RECONCILIATION_ENABLED=true is configured. Turning it off stops scheduled checks and preserves the saved report; staff can still run an explicit check. A failed or incomplete inventory refresh preserves the last complete report and displays an error. Individual subscription lookup failures remain visible as unknown, never as canceled or missing customers. The October 5 inventory contained 277 agency accounts. The 2,000-account cap is a defensive inventory limit, not a throughput guarantee. The bounded job preserves the prior report if it exceeds its time budget; partial inventories are not published as complete. Server diagnostics record provider/status codes, elapsed time and processed/total counts without provider bodies, customer names or credentials. Review those measurements before materially expanding the agency roster. When automatic linking is enabled, a new installation or completed provisioning job attempts the existing guarded linker without waiting for the Operator to open setup. It retries pending provider/opportunity availability after one, five and fifteen minutes. The Location must already have Onboarding & Setup enabled in Labs and belong to the Operations agency. Linking never enables the feature, changes a subscription, marks onboarding complete or sends a welcome message. Review-required mappings remain for staff, and the usual setup/admin retries still work after the bounded provisioning retries finish. Separately enabled background account-link recovery can retry eligible missing or stale pending attempts without opening setup. It preserves review holds and completed links. The reconciliation report itself remains read-only. The separate new customer enrollment rule can enable Labs before linking for verified customer Locations created after the rollout cutoff. It preserves the original cohort and existing opt-outs; an older Location reinstalling the app does not qualify. An existing Retention card prevents a second handoff even if the card is closed. Closed Retention cards receive no engine actions. Reopening onboarding therefore requires staff to reconcile the existing Retention card, rather than relying on a duplicate card being created. If both an open and a closed card exist for the same contact and product Location, the live runner requires staff review. It does not assume the open card belongs to the current onboarding episode, and historical cards should not be deleted to silence that review.