Selling subscriptions with OpenERP

In the current post you’ll see how to configure and use the three OpenERP modules that we developed in order to sale subscriptions:

  • sale_subscriptions (it allows to sell products of type ‘subscription’ and to generate a new quotation when the subscription ends)
  • sale_subscriptions_alerts (by using email_template, the module allows to configure the alerts to send before the subscription ending)
  • sale_subscriptions_delivery (it allows to configure the products composing a subscription and to manage the related delivery orders)

In order to install sale_subscriptions_delivery, you must have nan_product_pack among the available modules. This module allows to configure which products have to be delivered when a subscription is sold.

In order to sell a subscription, first of all you have to define the product selecting the ‘Subscription’ field and the related duration (‘Subscription Duration’). The duration is expressed in days, in the example you can see an annual subscription.

If you are using sale_subscriptions_delivery, the ‘Pack’ tab becomes available and you’ll be able to fill the products to deliver. For instance, if you want to sell an annual subscription of a monthly magazine, you have to insert 12 magazines composing that subscritpion:

So now it is possible to sell the subscription creating a new sale order and selecting the ‘Subscription 1’ product in the order line. The system will fill the fields containing the beginning and ending dates automatically.

If you are using sale_subscriptions_delivery, while saving the order, the system loads the products that have to be delivered.

After confirming the sale order, the system creates the scheduled action that will create, when the subscription is about to expire (06/12/2012 in the example), a new quotation containing the data of the expiring subscription, proposing the subscription renewal to the customer:

If you are using sale_subscriptions_delivery, when confirming the sale order, the system creates the delivery order containing the stock moves established by the subscription. In the example, you can see 12 deliveries planned in 12 months:

Moreover, if you installed the sale_subscriptions_alerts module, you are able to configure the email alerts that will be sent to the customer whose subscription is expiring. Clicking on Tools -> Configuration -> Subscription Alerts, you can configure the alerts to send. Along with the “days before expiration”, you have to insert the email template that will be sent. The template is configurable through the email_template module.

After having configured the alerts, when confirming the sale order, the system will create the related scheduled actions that will send by email the expiring subscription alerts.


The modules are downloadable at the following links:


Code and bugs are managed on Launchpad:

Facebook Twitter Linkedin Digg Delicious Reddit Stumbleupon Tumblr Posterous Email Snailmail

Written by on Tuesday, June 14th, 2011

Lorenzo Battistini
OpenERP addicted
GitHub profile:
Launchpad profile:
Linkedin profile:
Agile Business Group
  • Tarasiadis Miltos

    Hi eLBati,
    it seems very usefull. These days I try to write a new module like yours. And today I see your module. I try it and I think that is a good start for my company.

    Next days I will focus on my project (openERP Simple project management system). So your module will be very useful for my developing procudure as I can’t find enough docs (as you have see at

    So will we be in contact if you like.

    In addition I would like to know if you have the ability to cooperate with my company to develop some more complicated that we have in mind in the future.