WooCommerce Deposits

Our WooCommerce Deposits extension allows you to select products or services on which you would accept deposits or payments. Customers can then place deposits or choose a payment plan on these products, rather than pay in full.

Requirements

↑ Back to top
  • WooCommerce version 10.9 or higher
  • WordPress version 6.9 or higher
  • PHP version 7.4 or higher

Installation

↑ Back to top
  1. Download the extension from your WooCommerce dashboard.
  2. Go to Plugins > Add New > Upload and select the ZIP file you just downloaded.
  3. Click Install Now and then Activate.
  4. Read the next section to learn how to set up the plugin.

Setup and Configuration

↑ Back to top

Storewide Deposits Settings

↑ Back to top

Storewide settings apply to every product that doesn’t have its own deposit settings.

Note:

If you only want deposits on some products, leave Default Enable Deposits set to No – Deposits are Disabled and set up deposits on each product instead. See Product Data Settings.

To set up deposits for your whole store:

  1. Go to WooCommerce > Settings > Products > Deposits.
  2. Choose a Default Enable Deposits option. The other settings appear once you turn deposits on.
    • No – Deposits are Disabled: customers pay the full price.
    • Yes – Deposits are Optional: customers choose to pay a deposit or the full price.
    • Yes – Deposits are Required: customers must pay a deposit.
  3. If deposits are optional, choose the Default Payment Option that’s selected on the product page: Pay Deposit or Pay in Full.
  4. Choose a Deposit Calculation Method: Percentage, Fixed Amount, or Payment Plan.
  5. For a percentage or fixed amount, enter the Default Deposit Amount without currency or percent symbols. For a payment plan, choose the plans in Default Payment Plan. You need to add a payment plan first.
  6. Optional: in Disable Payment Gateways, choose payment methods customers can’t use when they pay a deposit. Deposits works with any gateway, because it doesn’t charge customers automatically.
  7. Optional: select Order Again Behavior to reuse the original order’s deposit settings when a customer orders again.
  8. Select Save changes.

Under Customer Notifications, Email Reminders sends customers an email before each payment plan payment is due. Use Reminder Timing to choose how far ahead it’s sent. To change the email itself, go to WooCommerce > Settings > Emails and open Customer Notification: Payment Plan Reminder Notification. Invoices use the standard WooCommerce Customer invoice / Order details email, which you can edit in the same place or replace with a template override.

Product Data Settings

↑ Back to top

To turn on deposits for one product, or give it different settings from the rest of your store:

  1. Go to Products and edit the product.
  2. In Product data, select the Deposits tab. The Storewide Deposit Settings box shows what the product uses now. To change those defaults, select Manage Storewide Deposit Settings.
  3. Select Enable custom deposit settings for this product.
  4. Choose a Deposit Setting: Disabled, Optional, or Required.
  5. If deposits are optional, choose the Default Option: Pay Deposit or Pay in Full.
  6. Choose a Deposit Type: Percentage, Fixed Amount, or Payment Plan.
  7. For a percentage or fixed amount, enter the Deposit Amount without currency or percent symbols. For a payment plan, choose the plans customers can pick from in Available Payment Plans.
  8. Select Update.

For variable products, these settings apply to every variation. To give one variation its own settings, open it in the Variations tab and select Enable custom deposit settings for this variation.

Payment Plans

↑ Back to top

Payment Plans give customers the option to pay an upfront fee and the remainder at a later date, dividing payments into multiple parts over time. This would be similar to a loan, layaway or credit plan.

You can offer different plans on different products.

Adding a Payment Plan

↑ Back to top
  1. Go to Products > Payment Plans.
  2. Under Add Payment Plan, enter a Plan Name and Plan Description. Customers see both when they choose a plan.
  3. Under Payment Schedule, add a row for each payment. Each row is a percentage of the full price and when it’s due. The first row is the deposit, which is paid Immediately.
  4. Select + to add the next payment, and set when it’s due, such as After 1 Months. Each interval counts from the previous payment.
  5. Check that Total reaches 100%, then select Save Payment Plan.

For example, this plan takes 10% up front and the rest in six monthly payments of 15%:

The plan then appears under Existing Payment Plans:

Editing and Deleting Payment Plans

↑ Back to top

Plans are listed under Existing Payment Plans. Hover over a plan to show Edit and Delete. Editing a plan uses the same form as adding one.

Usage

↑ Back to top

Cart and Checkout Flow

↑ Back to top

When a product takes deposits, customers see the options on its product page. What they see depends on the product’s deposit setting:

  • Optional: customers choose Pay Deposit or Pay in Full.
  • Required: customers see the deposit amount, with no choice.
  • Payment plan: customers choose a plan or Pay in Full.

In the cart and at checkout, customers see what’s Due today and the total of Future payments:

Managing Order Deposits and Payment Plans

↑ Back to top

After checkout:

  • An unpaid deposit order has the status Pending Deposit Payment, which works like Pending payment.
  • Customers can see the order in My Account, including future scheduled payments and their amounts. From there, they can move between each scheduled order and the original deposit order.
  • You can see deposit details in order emails and on the Edit order screen.
  • When a customer pays a deposit online, the order status changes to Partially Paid. Bank transfers, checks, and cash on delivery don’t change the status, because no money has moved yet. Change it to Partially Paid yourself once you receive the deposit.
  • If an order has a payment plan, each future payment gets its own order with the status Scheduled.

Managing Deposit Orders

↑ Back to top

On the Edit order screen, a line item paid with a deposit looks like this:

Use these buttons to manage it:

  • Invoice Remaining Balance: creates a new order for the remaining amount. You can send it to the customer to pay online.
  • Mark Paid (offline): records that you collected the rest of the payment offline. This changes the order status to Completed.
  • Remainder – Invoice #0000: appears after you invoice the remaining balance, and opens that follow-up order.

Once the remaining balance is invoiced and paid, or marked paid offline, the order status changes to Completed.

Deposits can be refunded, but you need to refund them manually from the order.

Note:

If Invoice Remaining Balance and Mark Paid (offline) are missing, check the order amounts. Most payment gateways, such as Stripe and PayPal, have a minimum charge of $0.50. Authorize.Net lets customers buy products under $2, but these buttons then don’t appear. To make sure they show, set a product price of at least $2 and a deposit of at least $1.

Managing Orders on Payment Plans

↑ Back to top

On the Edit order screen, a line item on a payment plan looks like this:

View Scheduled Payments opens the order list, filtered to that plan’s orders. They have the status Scheduled and a future order date.

When a scheduled payment is due, the customer gets an invoice to pay it. Once all scheduled orders are paid, the plan ends and the original order is marked Completed.

Deposits doesn’t charge customers automatically, and it doesn’t store card details. The customer pays each scheduled payment from its invoice.

Coupon Handling

↑ Back to top

Coupons are applied according to standard WooCommerce functionality, explained in Coupon Management. You can apply it globally/storewide or on a per-product basis, excluding or including as you like.

For fixed coupons

↑ Back to top

For products with payment plans, a proportional amount of the fixed discount is applied now, and then the rest is applied proportionally to future payments. For example, on a payment plan with 4 payments of 25%, a $10 coupon would discount $2.50 from each payment.

For products with fixed and percentage-based deposits, the entire discount is deferred to the final invoice. If the value exceeds the amount of the final payment, the difference is applied to the first payment.

For percentage-based coupons

↑ Back to top

For products with payment plans, the discount is applied proportionally to present and future payments (similar to above).

For products with fixed deposits, the entire discount is deferred to the final invoice. If the value exceeds the amount of the final payment, the difference is applied to the first payment.

For products with percentage-based deposits, the discount is applied proportionally to the deposit and the final invoice.

Payment plans

↑ Back to top

If you have a payment plan and an option to pay in full on the same product, it’s not possible to only apply a coupon on the full payment option. This requires conditional logic according to what the customer selects, and this would require customization.

Taxes and fees

↑ Back to top

Deposits only calculates tax on the deposit for a product. Tax on the rest is charged with the next payment.

For payment plans, tax is charged on the deposit. The future payments are created when the order is placed, so they keep the same tax point and rate even if the rate changes during the plan. For more on tax points, see the UK government’s guidance on VAT on instalments, deposits and credit sales.

Deposits doesn’t change how WooCommerce handles fees, so a fee isn’t split between the deposit and future payments. To apply a fee only to the deposit, or to future payments as well, handle it in the plugin or custom code that adds the fee.

Compatibility and limitations

↑ Back to top

Deposits works with simple and variable products, and with bookable products from WooCommerce Bookings. For bookable products, Booking Persons can also multiply a fixed deposit by the number of persons. Deposits works with the cart and checkout blocks.

Deposits isn’t compatible with:

  • Pre-Orders
  • Subscriptions
  • Wishlists
  • Composite Products
  • Points and Rewards
  • Product Bundles
  • Grouped products
  • Extra Fees for WooCommerce
  • Payment Gateway Based Fees

Virtual products don’t become available until the order is marked Completed.

Deposits collects partial payments. It isn’t built for refundable security deposits, and it can’t run credit checks, because that would mean collecting sensitive financial information such as tax numbers. If you extend credit to customers, that risk is yours to weigh.

Questions and support

↑ Back to top

Something missing from this documentation? Still have questions and need assistance?

  • If you have a question about a specific extension or theme you’d like to purchase, contact us to get answers.
  • If you already purchased this product and need some assistance, get in touch with a Happiness Engineer via our support page and select this product’s name from the Product dropdown.

Related Products

WooCommerce Subscriptions is a WooCommerce extension that lets customers subscribe to your products or...

WooCommerce Bookings is the official WooCommerce extension that lets store owners sell appointments, reservations, rentals, or classes with...

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.