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

# Stripe Connect

> Connect a Stripe account to a Business and sync customers and transactions into Bizzy

Stripe Connect links a Stripe account to a Business in Bizzy 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 Bizzy (see
  [Business profile](/user-guide/businesses))
* 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, Bizzy automatically:

* Sets the sync mode to **One-Way** (Stripe → Bizzy)
* 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.

<Note>
  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.
</Note>

## Sync modes

Stripe Connect supports three sync modes. You can switch between them at any
time without disconnecting.

| Mode        | Direction       | What syncs                                                                                                    | When                                                                                        |
| ----------- | --------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| **Off**     | None            | Nothing — connection stays linked but no data moves                                                           | N/A                                                                                         |
| **One-Way** | Stripe → Bizzy  | Customers, charges, invoices from Stripe                                                                      | Real-time via webhooks; full sync on enable from Off (if >7 days stale) or via **Sync Now** |
| **Two-Way** | Both directions | Inbound from Stripe (as One-Way) plus outbound: customer name, email, and phone edits in Bizzy push to Stripe | Inbound real-time; outbound triggered by edits in Bizzy                                     |

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

<Note>
  Switching to **Two-Way** does not bulk-push existing Bizzy customers to
  Stripe. Only future edits sync outbound. Inbound sync from Stripe remains
  complete in both One-Way and Two-Way.
</Note>

### 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, Bizzy runs a
full inbound sync automatically to catch up.

## Customer mapping

Bizzy tries to link Stripe customers to existing Bizzy customers automatically
by **normalized email address** during initial sync. The matching rules:

| Result                                   | Behavior                                                       |
| ---------------------------------------- | -------------------------------------------------------------- |
| Exactly one Bizzy customer matches       | Auto-linked                                                    |
| Multiple Bizzy customers share the email | Marked **ambiguous** — requires manual resolution              |
| No Bizzy customer matches                | Left 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 Bizzy 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

<Note>
  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.
</Note>

## Sync errors

When inbound or outbound sync fails for a specific customer or transaction,
Bizzy 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 Bizzy
* 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 Bizzy's access from the Stripe Dashboard
directly, Bizzy 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 Bizzy 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 Bizzy 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

<CardGroup cols={2}>
  <Card title="Customers" icon="users" href="/user-guide/customers">
    Work with synced customers in Bizzy
  </Card>

  <Card title="Business profile" icon="building" href="/user-guide/businesses">
    Configure the Business that owns the Stripe connection
  </Card>
</CardGroup>
