Odoo Help


1 Answer
Ron Arts
26‏/4‏/2015 12:55 م

First, there is no module available (and I looked) so you'll have to write your own. I faced a very similar problem, and I would implement it as follows:

  • Extend the product model to include a 'class'. This class could be dsl, pri, sim, line or whatnot depending on the exact type of your business

  • Create models for these classes: class_dsl, class_pri, class_sim. 

  • Create a new top-level menu for your business, and add menus for adding/editing your class_* products. Using proper access rules, you can make these menus available in the customer portal (did I mention you should install the portal?)

  • And the big trick: enable contract management in Settings->Sales.

  • Now, sell each customer a contract, and add products to that contract. 

  • Extend the contract (account.analytic.invoice) so that every time a product is added to the contract, your code will pick up the product class and add a record to the corresponding model.

Contracts will generate invoices each month/year automatically, and will mail them to your customers. If you install the paypal module, the mail will include a link to paypal where they can pay.

You will end up with tables in the postgres database for all lines etcetera, everything your customer ordered, and you can run provisioning off those tables if you want.

Misc tips:

the odoo8 store is not designed to sell subscriptions or contracts. Paypal integration is awkward in the sense that you can only pay goods OR pay subscriptions in one transaction, not both, and the current paypal integration does not even allow subscription paying.

You'll need to run your own Odoo instance , or you need to pay Odoo to implement it for you on their cloud

There's a module called 'Database Auto-Backup'. Useful.

Ask a Question
Keep Informed
1 follower(s)
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.