We recently launched a project that utilizes WooCommerce Subscriptions, in particular variable subscriptions, to achieve rental management. This makes for an interesting use case of the official Subscriptions add-on.
WooCommerce Subscriptions is a large application. It’s quite popular, reasonably well documented, affordable, and critical for businesses that rely upon recurring revenue and automation.
Using this application for rentals can be tricky. There’s various applications and even WooCommerce plugins out there more specific to rental businesses, especially short-term product rentals.
Subscriptions worked for us because the client needed renewal cycles, multiple term options per customer group, quote requests, custom fields, early and extended returns, and custom pricing management based on a percentage of retail value – common within the rental industry.
Another requirement we had was the ability to hold clearance sales within the same store using simple product types. The store contains over 2,000 products, some having multiple quantities available, and all that eventually wear out or can be returned damaged.
How we went about it
- Custom cart meta fields for requested start date, project and room details for each line item.
- Check payment method to accept On Hold orders as quote requests.
- Sign-up fees to front load the first month rental fee, discounting subsequent months.
- User roles to determine which variation terms to default or show/hide per user type.
- Coupons to offer special pricing for parent order sign-up fees versus renewal orders.
- A parent order will overwrite a subscription record when paid, so the subscription record must be left alone until the original order gets paid.
- Changes can be made to the parent order until they pay for it.
- For manual orders, adding a subscription generates the parent order for initial payment.
- An active subscription status equates being on-rent.
- Invoices plugin attached PDF invoices, which we sorted by project name, date, and room identifier custom fields.
- Once a parent order is completed the subscription record is then used to manage future renewal schedules, changes, etc.
- Built an interface for admin restocking / returns.
- Shipping zones used for delivery territories by zip code.
- Local Pickup shipping method applies sales tax based on the shop base address. This can be important as many cities have a rental tax.
- Tax class is being used to differentiate rental tax versus sales tax for line items.
- Historic on-rent orders get a custom subscription product made to automate their renewals.
The site is nice and snappy fast – even with mid-grade hosting and an outdated theme (to replace in a future project). Customers enjoy the shopping experience and no longer have trouble getting their quote requests in.
Administratively we have more work to do to expand customer groups, better format the sometimes long PDF invoices, and manage workflow for odd things like changing one’s mind on an item, getting a freebie added in, or managing earlier or custom pricing. Technical support has been heavier than with other sites I’ve built or worked on.
Aside from those day-to-day operational issues we’re clamping down on, the site is pretty dang cool and cost closer to what a smaller store would weigh in at rather than something so powerful.