> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myfundingmachine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Account reconciliation

> Find missing Location links and pipeline handoffs across the full agency roster.

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](/staff/onboarding-account-linking#background-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](/staff/onboarding-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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.