Description
Advanced Partial Payment or Deposit for WooCommerce lets you collect deposits and partial payments on your WooCommerce store. Perfect for high-value items, services, bookings, and custom orders.
Free Features
- Fixed & Percentage Deposits — Collect a flat amount or percentage of the product price
- Per-Product Settings — Override global settings on individual products
- Category-Wise Rules — Set deposit rules per product category
- Cart & Checkout Integration — Beautiful deposit breakdown display
- Custom Order Status — “Partially Paid” status for deposit orders
- Balance Tracking — Track remaining balance on each order
- Pay Balance — Customers can pay balance from My Account
- Email Notifications — Deposit received, balance due, payment complete
- Admin Management — Deposit metabox on orders, manual payment recording
- Professional Dashboard — Tabbed settings page with sidebar navigation
Pro Features
- Payment Plans / Installments
- Minimum & Maximum Deposit Amounts
- Payment Gateway Restrictions
- Auto Payment Reminders
- Forced Deposit Mode
- Reports & Analytics
- Tax & Fee Handling
- Bulk Product Settings
- User Role-Based Deposits
- Conditional Deposit Rules
Installation
- Upload the plugin to the
/wp-content/plugins/directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Go to Deposits in the admin sidebar to configure settings
Reviews
Contributors & Developers
“Advanced Partial Payment or Deposit for WooCommerce” is open source software. The following people have contributed to this plugin.
Contributors“Advanced Partial Payment or Deposit for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Advanced Partial Payment or Deposit for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
4.0.12
- Improvement: Removed the per-product and per-category “minimum payment” fields from Flexible Payments. The feature request was “additional payments of any desired amount” — a minimum was never asked for, and having a second amount+type pair sitting next to Deposit Type/Value on every product read as configuring the same thing twice. Flexible Payments is now one dropdown: Use Global Setting / Yes / No, with nothing else to fill in.
- The site-wide minimum in Deposits > Flexible Payments (Pro settings) is unchanged, since that is a single optional safety net rather than a per-product setting.
4.0.11
- Improvement: Flexible Payments is now a collapsible “Flexible Payments (Pro)” group on the Deposit tab. Click the header and its fields appear. It is a closed group by default, so it no longer reads as a trailing part of the selected deposit type, and the short-lived separate Remaining Balance tab has been removed.
4.0.10
- Improvement: Flexible Payments now has its own “Remaining Balance” tab on the product screen, beside Deposit. It previously sat underneath the deposit fields, where it read as part of the selected deposit type instead of as the separate setting it is.
4.0.9
- Improvement: Renamed the Flexible Payments minimum fields so they cannot be mistaken for a second Deposit Type. “Minimum Type” offered the same option labels as Deposit Type (“Fixed Amount”, “Percentage”), so two identical-looking Type dropdowns appeared on the same screen. It now reads “The minimum above is: a flat amount of money / a percentage of the booking total”.
4.0.8
- Improvement: Flexible Payments now sits in its own “Remaining Balance” card on the product Deposit tab. It was separated only by a hairline rule, so it read as part of whichever deposit-type fields happened to sit above it, even though it is a separate setting that governs the balance after the deposit.
4.0.7
- Fix: Flexible Payments stays visible at all times. It was being hidden whenever the deposit type was Payment Plan, which left no way to switch it back off. Now it is the Payment Plan option that becomes unavailable while Flexible Payments is on, with a note explaining why.
- Fix: An explicit Yes on the product now beats a leftover instalment schedule on the order, so the saved setting is what actually applies.
4.0.6
- Improvement: Flexible Payments now sits below Deposit Type under a “Remaining Balance” heading, since it governs what happens after the deposit rather than the deposit itself.
- Improvement: Flexible Payments is hidden when the Deposit Type is Payment Plan, replaced by a line explaining that the plan already schedules the remaining balance. Showing both read as two competing systems.
- Fix: An order created from a Payment Plan no longer offers flexible balance amounts, so the behaviour matches what the product screen shows.
4.0.5
- Feature: Choosing “Yes” for Flexible Payments on a product or category now reveals a Minimum Per Payment and Minimum Type of its own, so each booking can have its own floor instead of sharing the global one. The section shows and hides as you change the dropdown.
- Percentage minimums are measured against the full booking total, so the floor does not creep downwards as the customer pays. If less than the minimum is left, the customer can still clear the balance.
4.0.4
- Feature: Flexible Payments can now be set per product and per category, not just globally. Each has a “Use Global Setting / Yes / No” control, and an explicit Yes or No overrides the global toggle in both directions.
- Fix: A minimum payment amount is now applied when Flexible Payments is switched on by a product or category override, instead of only when the global toggle is on.
4.0.3
- Security: The “Pay Balance Now” button in the balance reminder email now routes through the balance payment flow. It previously linked straight to the order payment page, which charged the customer the deposit amount again and credited the payment to nothing, leaving the balance still owed.
- Security: Paying a balance no longer reinstates a cancelled order. Cancelling is a shop decision and a customer payment must not silently reverse it (filter
apd_allow_payment_on_cancelled_orderrestores the old behaviour). - Security: Hardened the balance payment permission check. Guest orders have no owner, so a logged-out visitor now has to present the order key rather than passing an owner comparison of 0 against 0.
- Security: A recorded payment is now capped at the amount still outstanding, so the total paid can never exceed the order total.
- Feature: Support for paying a balance in freely chosen amounts, over as many payments as the customer likes, until the booking is paid in full. Off by default; enable it under Deposits > Flexible Payments with the Pro addon.
- Fix: The cart payment-type toggle now rejects products that have no deposit enabled, matching the bulk toggle.
- Dev: New filters
apd_allow_partial_balance_payments,apd_min_balance_paymentandapd_allow_payment_on_cancelled_order.
4.0.2
- Security: Offline payment gateways (Cash on delivery, Direct bank transfer, Check payments) no longer close out a deposit balance. Previously an order moving to on-hold or processing was treated as a successful remaining-balance payment, so a customer could mark an order fully paid without any money being captured.
- Security: An order sitting on-hold is no longer treated as paid for balance finalization on any gateway, since on-hold is WooCommerce’s “awaiting payment” state.
- Fix: Recording a payment now clears any in-flight balance payment marker, so a stale pending amount can no longer be banked twice.
- Dev: New
apd_offline_payment_methodsandapd_is_balance_payment_capturedfilters to control which gateways may settle a balance.
1.0.0
- Initial release












