Installing Elite Balance

This page is for the store owner or developer who installs Elite Balance. It covers the requirements, buying and downloading the extension, installing and activating it, what activation sets up (and which features are live straight away), how updates arrive, and what happens to your data when you deactivate or delete the plugin.

Requirements

↑ Back to top
RequirementMinimumNotes
WordPress6.6Tested up to 7.1.
WooCommerce9.0Must be installed and active. Tested up to 11.1.
PHP7.4Any newer PHP version that your WordPress and WooCommerce versions support.
Customer accountsRequired for walletsA wallet belongs to a registered customer account. Guests can still buy with your other payment methods, but they have no wallet.

Elite Balance declares compatibility with:

  • High-Performance Order Storage (HPOS) and the legacy posts storage.
  • The Cart and Checkout blocks and the classic shortcode checkout, including partial wallet payments and the pay-by-wallet discount.
  • Multisite. Network activation installs Elite Balance on every existing site, and on each new site created while it stays network-active. Every site keeps its own wallets and settings.

Background work (for example releasing pending cashback or processing a large migration) runs through Action Scheduler, which ships with WooCommerce. You do not need to install anything else.

When a requirement is not met

↑ Back to top

Elite Balance never stops your store from loading. If WordPress, WooCommerce or PHP is too old, or WooCommerce is not active, the plugin stays dormant and administrators see an error notice: Elite Balance is inactive because this site does not meet its minimum requirements:, followed by one line per problem, for example “Elite Balance requires WooCommerce 9.0 or newer. This site is running WooCommerce 8.9.” Fix the listed items and Elite Balance starts working on the next page load.

The plugin header also lists WooCommerce as a required plugin, so WordPress itself asks you to activate WooCommerce before it lets you activate Elite Balance.

Buy and download

↑ Back to top
  1. Buy Elite Balance from its product page on the WooCommerce Marketplace.
  2. Log in to your account on WooCommerce.com and open My Subscriptions.
  3. Find Elite Balance and download the plugin .zip file. Keep the file as it is: do not unzip it.

There is no license key to enter. Your WooCommerce.com subscription is what gives you updates and support.

Install and activate

↑ Back to top

Upload the zip file

↑ Back to top
  1. In your WordPress admin, go to Plugins > Add New Plugin and click Upload Plugin.
  2. Choose the .zip file you downloaded and click Install Now.
  3. Click Activate Plugin. On a multisite network, use Network Activate from Network Admin > Plugins if every site should have it.

Install from a connected store

↑ Back to top

If your store is connected to your WooCommerce.com account, you can also install and activate your purchased extensions from WooCommerce > Extensions > My Subscriptions without downloading the file yourself.

After activation

↑ Back to top
  • The Elite Balance row on the Plugins screen gets two links: Settings (opens WooCommerce > Settings > Elite Balance) and Wallets (opens the dashboard).
  • The dashboard is at WooCommerce > Elite Balance.
  • Continue with Getting Started with Elite Balance for a 10-minute walkthrough.

Note: Only one copy of Elite Balance can run. If two copies are installed under different folder names, the copy that loads second does nothing. Delete the extra copy from the Plugins screen.

What activation sets up

↑ Back to top

Activation prepares the database and permissions. It does not create pages, products, coupons or orders, and it sends no emails.

Database tables

↑ Back to top

Five tables are created, using your site’s table prefix (shown here as wp_):

TableWhat it holds
wp_rb_elbal_walletsOne wallet per customer: the current balance, the currency and the status (active or locked).
wp_rb_elbal_transactionsThe ledger. Every credit and debit as a permanent row, with the balance after it.
wp_rb_elbal_holdsReservations: wallet money set aside for an unpaid order or a pending withdrawal request.
wp_rb_elbal_withdrawalsCustomer withdrawal requests and their status.
wp_rb_elbal_historyThe earlier history archive: a read-only copy of another wallet plugin’s transaction log, filled after a migration (new in 1.1.0). It is never part of the ledger.

Amounts are stored as fixed-precision decimals with four decimal places, never as floating-point numbers.

Who can manage wallets

↑ Back to top

Activation adds the capability rb_elbal_manage_wallets to the Administrator and Shop manager roles. Users with it can open WooCommerce > Elite Balance, credit and debit wallets, refund orders to the wallet and run migrations. The settings screens under WooCommerce > Settings follow WooCommerce’s own permission (manage_woocommerce).

Note: Deactivating the old wallet plugin during a migration also needs the WordPress activate_plugins capability, which shop managers do not have by default. See Migrating from Another Wallet Plugin.

The customer wallet page

↑ Back to top

Elite Balance adds a Wallet item to the My Account menu, right after Orders, at /my-account/wallet/. It is a WooCommerce account endpoint, not a separate WordPress page. Permalinks are refreshed automatically the first time it loads, and again whenever you change the page URL slug, so you do not need to resave your permalinks. You can rename the page and change its slug under WooCommerce > Settings > Elite Balance; see Customer Wallet Page, Block and Shortcode.

The payment method

↑ Back to top

A payment method called Elite Balance Wallet is registered with WooCommerce. You find it under WooCommerce > Settings > Payments > Elite Balance Wallet. Customers see it at checkout under its title, Wallet balance by default.

Background jobs

↑ Back to top

When the plugin loads, it schedules four recurring jobs in Action Scheduler (group elite-balance). You can see them under WooCommerce > Status > Scheduled Actions.

JobRunsWhat it does
rb_elbal_expire_holdsHourlyA safety net: releases wallet reservations whose order no longer exists or is already cancelled, failed, refunded or in the trash. A reservation for a live, payable order is never touched.
rb_elbal_earn_pending_releaseHourlyCredits cashback and top-up bonuses whose release delay has passed.
rb_elbal_birthday_scanDailyAwards birthday rewards (only when you have a birthday rule and the birthday field is on).
rb_elbal_blank_withdrawal_detailsDailyErases customers’ payout details 30 days after a withdrawal request is finished.

What is live right after activation

↑ Back to top

Several features are on by default. Review this table before you activate on a live store.

SettingDefaultWhat it does
Enable wallet payments (payment method)OnCustomers can pay the whole order from their wallet. The option only appears to a logged-in customer whose available balance covers the full order total, so nobody sees it until they have money in their wallet.
Partial payments (payment method)OnCustomers with any available balance see Use my wallet balance at checkout and can combine it with another payment method.
Enable top-upsOnEvery logged-in customer sees an Add funds tab on My Account > Wallet and can buy wallet credit (5 to 500 in your store currency by default).
Enable earningOnThe Earning tab is shown. No rules exist after activation, so nothing is awarded until you add and enable a rule.
Enable withdrawalsOffNo Withdraw tab for customers and no Withdrawals tab in the admin.
Pay-by-wallet discountNo discountNo automatic discount for wallet payments.
Birthday fieldOffNo birthday data is collected.
Wallet emailsWallet credited and Wallet debited on, Wallet low balance offCustomers get an email when staff, refunds, top-ups or rewards change their balance. Order payments and migrations never send these emails.

Tip: If you want to prepare everything before customers notice, untick Enable top-ups under WooCommerce > Settings > Elite Balance > Top-ups right after activation, and switch it back on when you launch. Every setting is described in the Settings Reference.

Updates

↑ Back to top

Updates come from WooCommerce.com, like every Marketplace extension:

  1. Go to WooCommerce > Extensions > My Subscriptions and connect your store to the WooCommerce.com account that bought Elite Balance.
  2. If WooCommerce asks you to, install and activate the WooCommerce.com Update Manager plugin. It delivers updates for Marketplace extensions.
  3. New versions then appear on Dashboard > Updates and on the Plugins screen. Update as you would any plugin.

An active subscription is needed to receive updates. You can also download the latest zip from My Subscriptions on WooCommerce.com and upload it over the installed version.

Database upgrades after an update

↑ Back to top

When a version changes the database (1.1.0 adds the wp_rb_elbal_history table), the change runs by itself the next time anyone opens an admin page. It only adds what is missing and never touches existing balances or transactions. There is no “update database” button to press.

Tip: Take a database backup before updating any plugin that handles money, and read the changelog on the product page for what changed.

Deactivating

↑ Back to top

Deactivating never deletes anything. Wallets, the ledger, holds, withdrawal requests, earning rules and settings all stay in the database. While Elite Balance is inactive:

  • the wallet payment method and the Use my wallet balance option disappear from checkout;
  • the Wallet page disappears from My Account;
  • no rewards are awarded and no wallet emails are sent.

Important: Wallet money reserved for an order that was partly paid from the wallet is collected only when Elite Balance sees that order get paid. Before you deactivate on a live store, let open orders that use the wallet get paid or cancel them. Reactivating brings everything back as it was.

Uninstalling (deleting the plugin)

↑ Back to top

The ledger is a financial record, so by default deleting the plugin from the Plugins screen removes only the plugin files. All Elite Balance data stays in the database. If you install Elite Balance again later, every wallet and transaction is still there.

Removing all data

↑ Back to top

To remove the data too, turn on the setting first, then delete the plugin:

  1. Export what you need to keep: Export CSV on the Wallets tab and on the Transactions tab.
  2. Go to WooCommerce > Settings > Elite Balance > Advanced, tick Delete data on uninstall and click Save changes.
  3. Go to Plugins, deactivate Elite Balance, then click Delete.

With the setting on, deleting the plugin removes:

  • all five Elite Balance tables (wallets, ledger, holds, withdrawals and the earlier history archive);
  • every Elite Balance setting, migration report and stored state (options starting with rb_elbal_), and the payment method settings;
  • Elite Balance user data, including customers’ birthdays;
  • Elite Balance order data, such as pending cashback records and top-up flags, from both order storages (HPOS and posts);
  • prepared migration anomaly files in wp-content/uploads/elite-balance/;
  • its scheduled background jobs, and the rb_elbal_manage_wallets capability from every role.

It does not remove WooCommerce orders (including top-up orders), refund records, order notes, or the wallet email settings saved under WooCommerce > Settings > Emails.

Important: Deletion cannot be undone. Customers lose their balances for good. On multisite, each site’s own Delete data on uninstall setting decides what happens to that site’s data.

For developers

↑ Back to top
  • The installed schema version is stored in the option rb_elbal_schema_version (3 in 1.1.0). The installer runs on activation and on admin_init whenever the stored version is behind. It uses dbDelta(), so running it again is safe.
  • The action rb_elite_balance_installed fires after each install or upgrade, with the schema version.
  • The filter rb_elite_balance_capability_map changes which roles receive rb_elbal_manage_wallets on install.
  • Setting defaults are applied in code. Activation does not write them to the database, so an option only exists after someone saves its screen.
  • The action rb_elite_balance_loaded fires once the plugin has booted and requirements are met. Use it as the entry point for extensions.

See the Developer Reference for the full API and hook list.

Related

↑ Back to top
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.