Manage Subscriptions as a Subscription, not as a recurring invoice

Hi Guys,

I love that we’re able to set an invoice as being recurring BUT why isn’t subscriptions their own thing?
I think it would be way easier to manage subscriptions if these were linked to a client + plan (custom even better) than linked to an invoice as it is now.

Ideally the would even be able to check all the subscription a client has from the client panel.

As it is now, its messy. When we go to accounts/subscriptions we can’t even filter per client, nor is editing a subscription all that viable.

1 Like

Perhaps we can fetch Party details as well (like Customer Name, Supplier Name) in the Subscription master. This shall also help in applying filter on the Subscription based on Customer/Supplier Name.

Request you to create Github Issue for your feature suggestions.

@Ooops_404 I think that you and I are looking for the same thing. In my words, I would like to be able to set up an Item as a Service that was recurring on a regular basis and bill it as a Subscription.

I saw some great ideas in this Github Issue: Subscription functionality redesign #6313. It is very long and had some excellent details from @hwinkel, @Jan_Joost_de_Vries and Ronnie Garcia. But it got closed in September of 2016 with this GitHub: [Enhance] Subscription module #10089 which handled some issues (which is very cool!), but was solely focused on Invoices and not on Items.

Is there something that I am missing in my logic that we should be able to have Service Items that are Recurring Subscriptions?

1 Like

I am sure ERPNext uses something to manage their own customer subscription and plans. I am trying to do something like what you just mentioned. Probably by adding customer category / customer_subscription doctype and then creating subscription sales orders / invoices from it.

Hi @MichaelPinkowski

Sorry for the late reply, I somehow missed your message.
I agree with you, I think that’s the logic way to manage subscriptions. For several reasons;

  • A service detail may change over time (i.e. Fees)
  • Ease of management of subscriptions per client (just like its easy to consult invoices for instance)

I have to say that the current subscription system is a bit messy, I tried to make some changes to active subscriptions I have (in my case as a client) and it’s all messed up. Duplicated invoices for instance, which I’m guessing that its because I changed the last invoice fees… oh well… messy.

I honestly don’t get it why they decided to do it the way they did, I have used quite a few programs that handle subscriptions (i.e. WHMCS, ClientExec, Blesta, OSMembership, PayPlans, among others) and I never seen it done the way ERPNext did. Actually they all use the same CORE method which can be resumed in this way.

Client → Subscriptions
Each client can have multiple subscriptions
Each subscription keeps an history of invoices.

How subscriptions are done.
→ Create a service

How to Manually update a service
→ Client → Subscription → details (change whatever as an overwrite)

This pretty much makes them all flexible.


Yes, that sounds like what I think it should be done.

Have a look at any of the subscriptions system I mention above.


I agree with @Ooops_404, the current subscriptions module is a bit messy. Subscriptions business-wise aren’t “cancelled” unless there’s a termination in the client’s contract/service. However, if a client’s contract is modified (eg. fees change or certain inclusions are added to the subscription), ERPNext forces you to cancel the subscription, create a new invoice, and then amend the existing subscription (or create a new one) based on the new sales invoice.

That’s quite a long way to go just to update a subscription. :sweat_smile:
It would be nice if subscriptions could be simplified to generate invoices on their own and to have editable Service Items.

By the way, I found the issue in github. A colleague and I are also willing to send a PR for this once we get more info on how to solve this issue.



Any progress on changing the subscription logic?

Our use case is in cloud hosting. Users should be able to choose different service packages and quota using the ERPnext shop. They should be able to choose e.g. a quarterly subscription of package A with quota 10 GB and may upgrade the quota to 25 GB in half a year.

Users should be charged automatically using Stripe or Paypal in the next subscription period.
We thought about adding subscriptions to sales orders and clearing them manually. But this requires to cancel orders if users upgrade.

I think the PR for the customizations has already been merged to develop. :slight_smile:

1 Like

Wonderful, this PR is exactly the use case we were looking for.

Now we need to think how we could trigger a recurring payment procedure automatically with credit card (via Stripe) or bank account and how to manage a withdrawal authorization.