I was the sole developer for the online storefront for a cremation products vendor. We quickly settled on WooCommerce as the most robust e-commerce platform, and though the designers based their design on a commercial theme, we quickly decided that the custom functionality would require us to create our own, while starting with the theme as the basis for our code.
The store handles around $20,000 of sales per month, with multiple managers handling sales and customer processing.
The client wanted to be able to approve all customers before they could login and shop. I created a custom registration form in conjunction with the WP Approve User plugin to accommodate the multi-step registration process.
Custom User Fields
One of the major features that the client offered is the ability to pay on terms (invoice), but only if the customer is approved to do so. My simple solution was to create a custom user field and disable that payment gateway if the checkbox is not checked.