Skip to main content
Stripe Connect links a Stripe account to a Business in ShingleAI so customers and transactions sync between the two systems. You configure it from your organization’s settings — each Business can connect to one Stripe account.

Prerequisites

  • You must be an Owner or Admin to connect, disconnect, or change sync settings
  • The Business you want to connect must already exist in ShingleAI (see Business profile)
  • You need an existing Stripe account with permission to authorize OAuth connections

Connect Stripe

To connect a Business to Stripe:
  1. Navigate to Settings > Integrations > Stripe (at /{orgSlug}/settings/integrations/stripe)
  2. Click Connect Stripe
  3. You’re redirected to Stripe’s authorization page — sign in if needed and approve the connection
  4. Stripe sends you back to the integration page with a success message
When the connection completes, ShingleAI automatically:
  • Sets the sync mode to One-Way (Stripe → ShingleAI)
  • Triggers an initial full inbound sync of customers and transactions
The connected account’s name, email, and connection date appear at the top of the page once linked.
The first connection’s initial sync runs in the background. Larger Stripe accounts may take several minutes; the page shows the most recent full-sync timestamp when complete.

Sync modes

Stripe Connect supports three sync modes. You can switch between them at any time without disconnecting.
ModeDirectionWhat syncsWhen
OffNoneNothing — connection stays linked but no data movesN/A
One-WayStripe → ShingleAICustomers, charges, invoices from StripeReal-time via webhooks; full sync on enable from Off (if >7 days stale) or via Sync Now
Two-WayBoth directionsInbound from Stripe (as One-Way) plus outbound: customer name, email, and phone edits in ShingleAI push to StripeInbound real-time; outbound triggered by edits in ShingleAI
To change modes:
  1. On the Stripe integration page, find the Sync mode card
  2. Select the new mode
  3. Confirm in the dialog that explains what will happen
Switching to Two-Way does not bulk-push existing ShingleAI customers to Stripe. Only future edits sync outbound. Inbound sync from Stripe remains complete in both One-Way and Two-Way.

Manual full sync

Use Sync Now on the integration page to re-run a full inbound sync without changing modes. This is useful after bulk changes in Stripe (e.g., importing customers there) or to recover from a long offline period. When sync mode was Off for more than 7 days and you re-enable it, ShingleAI runs a full inbound sync automatically to catch up.

Customer mapping

ShingleAI tries to link Stripe customers to existing ShingleAI customers automatically by normalized email address during initial sync. The matching rules:
ResultBehavior
Exactly one ShingleAI customer matchesAuto-linked
Multiple ShingleAI customers share the emailMarked ambiguous — requires manual resolution
No ShingleAI customer matchesLeft unlinked — a new customer is created on first transaction

Manage mappings

Click Manage Customer Mapping on the Stripe integration page (or visit /{orgSlug}/settings/integrations/stripe/customer-mapping) to review and edit links. The customer-mapping table shows each Stripe customer alongside its current link status. Filter by All, Unlinked, Ambiguous, or Linked to focus on what needs attention. For each row you can:
  • Link — Open the customer picker, search ShingleAI customers by name or email, and link manually
  • Unlink — Remove the existing link without deleting either customer
  • Auto-link by email — Bulk action at the top of the page; runs the same email-matching rule against all unlinked and ambiguous customers visible on the current page and reports a summary
Pages of Stripe customers are pulled directly from Stripe’s API with cursor-based pagination. Run the auto-link bulk action page-by-page if you have a large backlog.

Sync errors

When inbound or outbound sync fails for a specific customer or transaction, ShingleAI records the error and surfaces it in a Sync errors card on the main integration page. Each error row shows:
  • The entity that failed
  • The error message
  • How many times it has been retried
  • The timestamp of the last attempt
For each error you can click Retry to re-run the sync for that single entity. On success, the error row is removed; on failure, the attempt count increments. The Clear all button at the top of the card removes all error rows but does not retry them. Use it to acknowledge errors you’ve decided to ignore.

Disconnecting

To disconnect Stripe from a Business:
  1. On the Stripe integration page, click Disconnect Stripe
  2. Confirm in the dialog
Disconnecting:
  • Stops all future inbound and outbound sync
  • Preserves all customers and transactions already imported into ShingleAI
  • Leaves the Business in a clean state — you can connect a different Stripe account afterward

Connection revoked from Stripe

If you (or another Stripe admin) revoke ShingleAI’s access from the Stripe Dashboard directly, ShingleAI detects the revocation the next time the integration page loads and shows a banner explaining the connection is no longer valid. Click the Disconnect button in the banner to clean up the broken connection record, then reconnect when ready.

Limitations

  • One Business per Stripe account. Each Business connects to a single Stripe account; Stripe accounts cannot be shared across multiple Businesses
  • Two-Way is forward-only. Switching to Two-Way pushes future ShingleAI edits to Stripe but does not back-fill historical edits
  • Ambiguous matches require human review. Auto-link skips any Stripe customer whose email matches multiple ShingleAI customers
  • Stripe rate limits. Initial sync respects Stripe’s per-account rate limits and throttles between pages, so very large accounts take longer than a single API page would suggest

Next steps

Customers

Work with synced customers in ShingleAI

Business profile

Configure the Business that owns the Stripe connection