Subscriptions v2

Following on from here

I am looking for feedback to turn our subscriptions feature into something that can be used to replace small shopping carts for users that sell services and/or products that don’t require the complexity of a huge shopfront like Shopify / Magento etc.


The main enhancements in V2 is the ability to add optional products where the client can “self serve” themselves through the checkout.

In V2 of subscriptions we now have the option to display images alongside the product, as well as define maximum quantities for products

We’ve also wired in the option to enable Inventory management so if you do not wish to sell more than the stock on hand, the system will display out of stock notifications and block adding these items to the cart.

To further reduce friction, we now have One Time Password authentication which reduces the needs for user to remember passwords.


Calculating taxes at the checkout. We are in discussions with third party providers on this that will give the ability to management global tax compliance at the checkout automatically.

Redundant invoice generation. At the moment a invoice is generated as soon as the client click on the payment method. If they abandon the checkout, this leaves the invoice dangling. For some jurisdications, force deleting invoices isn’t a desirable outcome so having a clean way to handle this is important.

One option here is to generate an invoice with no invoice number, and only confirm the invoice number after a successful payment has been completed. This will allow us to clean up these types of invalid invoices, and no affect invoice counters.

As always, your feedback is greatly appreciated to make this section of the application better for all users.

To test v2 of subscriptions, just add /v2 to the end of the url a regular subscription


Regular subscription

New subscription

1 Like

Looks great!
I would like to note some findings, might be too early but it looks healthier in your video than on my instance…:

  • i can’t select a quantity in optional products
  • i can’t control the invoicenumber for subscriptions and don’t know if that one would count up as expected/required
  • after marking the test-invoice as paid (by hand/me), there is (still) no subscription listed in the customer portal and no recurring invoice listed for the customer, nor me. :confused: (i couldn’t see a subscription module for me either)
  • when logging in instead of creating an account, the customer can’t choose passwordless login for existing, regular customers who were added by me to receive normal invoices. this was an option previously.
  • i couldn’t figure out how the inventory management is supposed to be configured… but isn’t seats similar (on a global offering level tho)?
  • edit: (oh, and should apple/google play be available on the desktop? would be nice but…)
1 Like


Thanks for the feedback!!

One big change in v2 is handling stale/dangling invoices… by nature of invoicing, when the client arrives at the payment screen the invoice must be generated, however at this point the client may abandon the checkout which would leave the invoice dangling… this causes problems with invoice #'s

As a workaround, in v2, instead of assigning a proper “Invoice Number” I stub a temporary random number, if the user abandons the checkout, the system will clean up these invoices which does not affect your invoice number counter.

If the user does proceed with payment. The invoice number is updated to match the system counters.

I am still working on the dedicated subscription page, currently the subscriptions are managed under the recurring invoice tab, but in v2, we’ll expose this directly in its own tab.

One Time Passwords will work for all clients now, so instead of passwords, everyone will just use OTP to verify.

Inventory management currently restricts only the optional products, however i’ll also add this to the non-optional products.

Max Seats only affects the recurring items in the Non Optional products.

Lots of complexity, very little documentation so far, but i am working on it!

Any further feedback certainly appreciated.

Hi, thanks for the clarification – I was able to confirm that a Stripe payment switches the invoice number to the expected value (the R is missing for recurring tho). However that’s not the case for bank transfer where I have to add the payment myself. Also the customer would enter the “wrong” number if it was working.

In both tests, I don’t see any recurring invoice nor do I see a subscription in the customer portal.

I couldn’t figure out (but didn’t spend that much time) where to enable OTP generation… not in the latest release?

Inventory management currently restricts only the optional products, however i’ll also add this to the non-optional products.

Okey, I have learned that i need to go into Settings > Product-settings and flip the switch there as well, in order to be able to configure an available number. Now it makes sense I guess. :wink:

@milan, there are a bunch of changes in 5.5.57

Hi @david

Is V2 already available? I am aksing because I see some of the settings but don’t get the optional products to show up. Also the invoice already has a number, even if there is not payment.

If V2 is not already available, let me know if I can test something and provide feedback.


HI @ecomsilio

Yes it is available by appending /v2 to the end of the subscription portal URL.

I would really appreciate some feedback and whether any changes are needed.


Hi David,

I love how this is developing so far!

However, I do see some needed changes (or bugs) as some features are not present on my end.

For example, secondary products are missing titles. Also, optional products can not have their quantity set. Both of these seem to be working in your demo however.

Also the checkout button appears to be visible before completing login even when require registration is set to true. This also works in your demo but not on my (self-hosted) instance.

More than happy to help out with fault finding if needed.

Thanks so much for this excellent work,


To use all of the features of v2, you’ll want to create 2 custom fields under the products tab

(Settings > Custom FIelds > Products Tab)

Custom field 1 is reserved for a product image url, ie https://web.url/pic.jpg
Custom field 2 is reserved for the maximum quantity available for purchase, any value under 100 is valid.

In regards to the checkout + email dialogs being open at the same time, that certainly should not happen.

Do you see this on the initial load of the page? or after some activity? If you can provide some steps to recreate this, I can look into it further. I haven’t been able to make this happen on my side yet.

@david should we consider adding the image URL and max quantity fields to the products table?

Note: the difference would be the values would be set at the product level rather than specified for each invoice.

Thanks for the tips with the custom fields, David. This has resolved the quantity not being able to be set.

Yes, the email and checkout buttons are both present on the initial load of the page. This is the way it has always been for me on a fresh install that I completed today. As such I dont really have any reproduction steps per se. As this is a test instance i’m more than happy to DM you the link to the page if that helps.

Kind regards,


Can you check the browser console for any errors when the page loads? I have a feeling some dependencies are not loading for you.


we could add these as dedicated fields, most likely Max Quantity could fit there better. However I do like the image being kept in the custom fields as this could also be including on the invoice PDFs if users choose to also display them on the PDF.

Couldn’t we still show the image if the URL was on the product? We could look it up using the key.


We certainly could if it was integrated into the pdf_variables.

Hi David,

I have no errors to speak of in the console.

Here’s a look at the waterfall network view as well.

Just to double check it is in’t any of my installed extensions, I tested it on a fresh install of Firefox without any extensions. The results above are from this test.

Thanks so much for your time and effort looking into this.


can you DM me a link to your subscriptions page so that I can take a look please?