Stripe
Connecting
- Navigate to Settings > Integrations
- Click Connect Stripe and enter your Stripe API key
- Once connected, your invoices and charges appear in the Invoices tab
What Syncs
- Invoices — All Stripe invoices with customer, amount, and subscription details
- Standalone charges — Charges not attached to invoices (common for simple billing setups)
- Active subscriptions — Available as a dropdown when creating revenue records
MRR Detection
WisePilot groups standalone charges by customer and amount to detect recurring patterns:- Charges with the same customer and amount are grouped
- The average interval between charges is calculated
- Monthly (20-45 days), quarterly (80-100 days), and annual (350-380 days) patterns are identified
- Detected patterns surface with a one-click action to create a revenue record
Cross-Website Exclusion
If multiple websites share a Stripe account, each charge can only be claimed by one website. Charges claimed by other websites are automatically hidden from your invoice feed.Xero
Connecting
- Navigate to Settings > Integrations
- Click Connect Xero to start the OAuth flow
- Authorize WisePilot in your Xero account
- Select the Xero tenant (organization) to link
What Syncs
- Invoices — Accounts receivable invoices with contact and line item details
- Repeating invoices — Recurring invoice templates for MRR matching
- Contact filtering — Filter invoices by contact name or account code in settings
Token Refresh
Xero OAuth tokens expire every 30 minutes. WisePilot automatically refreshes them with a graduated retry system:- Strike 1 — Retry immediately
- Strike 2 — Wait and retry
- Strike 3 — Mark connection as unhealthy; re-authorize from Settings
Reconciliation States
Every invoice from Stripe or Xero is assigned a reconciliation status:
The Unmatched filter is selected by default so you can quickly process new charges that need attention.