---
title: "Resetting Split Pay to Defaults"
description: "There is no in-product reset button. To wipe Split Pay configuration and start over, manually delete the spp_* and bsd_* options and drop the three plugin tables. Step-by-step guide via WP-CLI or phpMyAdmin, plus a backup-first warning."
url: "https://docs.splitpayplugin.com/faqs/reset-to-defaults/"
---
**Destructive operation.** Following this guide will permanently delete:

*   Every Split Pay setting (platform API keys, transfer percentages, vendor roles, Delayed-Transfers toggle, Stripe metadata mappings, etc.).
*   The full transfer history that powers the Transfers tab and automatic refund reversal ([Refund Handling](../../features/refund-handling/)).
*   Every per-product transfer rule and connected-account routing.
*   The synced list of connected Stripe accounts.

It will *not* reverse any past Stripe transfers, cancel your PRO subscription, or touch your Stripe Connect data on Stripe’s side — just the WordPress-side state Split Pay manages.

**Take a database backup before running anything below.**

## Why isn’t there a reset button in the UI?

By design. The transfer log is a critical record — without it, automatic refund reversal can’t calculate proportional reversal amounts, and the Transfers admin tab loses its history. Putting a one-click destructive button in the admin UI is more risk than benefit. Customers who legitimately need to start over are expected to do so deliberately, with a database backup in hand.

## What gets deleted?

Three database tables and a set of WordPress options. The exact names depend on your `$wpdb->prefix` (default is `wp_`):

### Tables

| Table (with default prefix) | Stores |
| --- | --- |
| `wp_bsd_scsp_transfer_log` | Every transfer attempt — powers the Transfers admin tab and refund reversals. |
| `wp_bsd_strp_accnt` | Synced list of connected Stripe accounts (account IDs, names, emails). |
| `wp_bsd_strp_connected_id` | Per-product connected-account routing rules. |

### Options

Anything matching the prefixes `spp_*`, `bsd_*`, and `fs_*_bsd-split-pay-*`. Notable examples:

*   `spp_wc_stripe_test_secret_key`, `spp_wc_stripe_live_secret_key` — per-gateway platform API keys (3.7.0+).
*   `spp_pp_stripe_test_secret_key`, `spp_pp_stripe_live_secret_key` — Payment Plugins gateway keys (3.7.0+).
*   `spp_delayed_transfers_enabled`, `spp_vendor_roles`, `spp_account_countries`, `spp_platform_country`.
*   `bsd_split_pay_stripe_connect_woo_stripe_connected_account`, `bsd_spscwt_type`, `bsd_spscwt_amount`, `bsd_split_pay_stripe_connect_woo_transfer_percentage` — legacy single-account global settings.
*   `bsd_log_table_created`, `spp_account_id_table`, `bsd_connected_id_table_created`, `bsd_log_table_integration_source`, `bsd_migration` — install/migration tracking flags.

The Freemius license records are stored under their own `fs_*` options. **Do not delete those** unless you also intend to disconnect the PRO license — see [Uninstalling Split Pay & Your PRO Subscription](../uninstall-and-license/).

## Reset using WP-CLI

If your host gives you SSH access and WP-CLI is installed, this is the cleanest path:

```
# 1. Take a backup first.
wp db export ~/spp-pre-reset-$(date +%Y%m%d).sql

# 2. Drop the three plugin tables.
wp db query "DROP TABLE IF EXISTS \`$(wp config get table_prefix --skip-themes --skip-plugins)bsd_scsp_transfer_log\`;"
wp db query "DROP TABLE IF EXISTS \`$(wp config get table_prefix --skip-themes --skip-plugins)bsd_strp_accnt\`;"
wp db query "DROP TABLE IF EXISTS \`$(wp config get table_prefix --skip-themes --skip-plugins)bsd_strp_connected_id\`;"

# 3. Delete every spp_* and bsd_* option.
wp option list --search='spp_*' --field=option_name | xargs -n1 wp option delete
wp option list --search='bsd_*' --field=option_name | xargs -n1 wp option delete

# 4. (Optional) Delete every per-product Split Pay post-meta key.
wp db query "DELETE FROM \`$(wp config get table_prefix --skip-themes --skip-plugins)postmeta\` WHERE meta_key LIKE 'bsd_%' OR meta_key LIKE '_bsd_%' OR meta_key LIKE 'spp_%';"

# 5. Re-activate the plugin to recreate the tables empty.
wp plugin deactivate bsd-woo-stripe-connect-split-pay
wp plugin activate bsd-woo-stripe-connect-split-pay
```

## Reset using phpMyAdmin (no SSH)

If your host only gives you phpMyAdmin or a similar GUI:

1.  **Back up your database** — phpMyAdmin’s **Export** tab, format SQL.
2.  Open the **SQL** tab on the database your WordPress install lives in. Replace `wp_` with your actual table prefix if different.
3.  Run the destructive query block:
    
    ```
    DROP TABLE IF EXISTS `wp_bsd_scsp_transfer_log`;
    DROP TABLE IF EXISTS `wp_bsd_strp_accnt`;
    DROP TABLE IF EXISTS `wp_bsd_strp_connected_id`;
    
    DELETE FROM `wp_options`
      WHERE option_name LIKE 'spp_%'
         OR option_name LIKE 'bsd_%';
    
    -- Optional: also clear per-product transfer rules saved on individual products.
    DELETE FROM `wp_postmeta`
      WHERE meta_key LIKE 'bsd_%'
         OR meta_key LIKE '_bsd_%'
         OR meta_key LIKE 'spp_%';
    ```
    
4.  Back in WordPress, **deactivate then reactivate** Split Pay so the plugin recreates the three tables fresh.

## How do I reset Split Pay *without* losing my PRO license?

The reset above only touches `spp_*` and `bsd_*` options. The Freemius license is stored in `fs_*` options that remain untouched, so your PRO license stays activated and bound to your account. (If you also want to disconnect the license, follow the steps in [Uninstalling Split Pay & Your PRO Subscription](../uninstall-and-license/).)

## After resetting

The Integrations tab will show empty cards. Re-enter your platform API keys, sync webhooks and accounts again, and reconfigure transfer rules. See [Quick Start](../../getting-started/quick-start/) for the full setup flow.

## See also

[Uninstalling Split Pay & Your PRO Subscription ›](../uninstall-and-license/) [Quick Start (re-onboarding flow) ›](../../getting-started/quick-start/)
