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
- Verify the Location and the exact subscription in the agency account.
- 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.
- Set Product Location ID only on the verified existing opportunity. For an eligible new customer, use Account connection → Check account links.
- If the contacts disagree, review both records and their subscription binding. Do not create another opportunity or merge contacts to bypass the review.
- Run the report again to confirm the finding is resolved.
Automatic checks and provisioning
A report runs daily at 12:00 UTC (06:00 MDT / 05:00 MST) whenONBOARDING_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.
