| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) • Website (website) |
| Community Apps Dependencies | Show |
| Lines of code | 2635 |
| Technical Name |
website_subscription_package |
| License | AGPL-3 |
| Website | https://www.cybrosys.com |
| Versions | 15.0 16.0 17.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) • Website (website) |
| Community Apps Dependencies | Show |
| Lines of code | 2635 |
| Technical Name |
website_subscription_package |
| License | AGPL-3 |
| Website | https://www.cybrosys.com |
| Versions | 15.0 16.0 17.0 |
Website Subscription Package Management
This Module Create Subscription for A Product From Website.
Key Highlights
Community compatible.
Auto Create Product Subscription and Sale Order From Website.
Send Mail After Auto Create Sale Order & Subscription To the customer.
Create Variant wise 2nd Subscription Discount.
User Can Manage Subscription from Portal.
Create Recurrence Period.
Create Subscription Plan.
Go to Sales-> Configuration-> Settings. Enable 'Discounts'.
Create New Subscription Product.
Create Variants for the Product.
Enable 'Is Subscription' from 'Subscription' tab and provide discount for variants.Select subscription plan and Recurrence Period.
Create variant wise Discount for Subscription Product.
Select the Product from Website.
Select Recurrence Period and add to cart.
Can see subscription details in Cart.
Confirm the order.
Sale order and subscription order will be created.
Send mail after auto create sale order & subscription to the customer.
Subscription Interval added in sale order line.
Start the Subscription Order on clicking 'START' button.
Stage changed to IN PROGRESS.
Customer can see their subscription order from Portal.
Click 'Start' to start the subscription Order from portal.
A recurring invoice will be generated for the subscription order according to the recurring period. Starting from the second invoice onward, variant-specific discount will be applied.
-
Community compatible.
-
Auto Create Product Subscription and Sale Order From Website.
-
Send Mail After Auto Create Sale Order & Subscription To the customer.
-
Create Variant wise 2nd Subscription Discount.
-
User Can Manage Subscription from Portal.
Initial commit for Subscription Management
Related Products
Our Services
Odoo Customization
Odoo Implementation
Odoo Support
Hire Odoo Developer
Odoo Integration
Odoo Migration
Odoo Consultancy
Odoo Implementation
Odoo Licensing Consultancy
Our Industries
Trading
Easily procure and sell your products
POS
Easy configuration and convivial experience
Education
A platform for educational management
Manufacturing
Plan, track and schedule your operations
E-commerce & Website
Mobile friendly, awe-inspiring product pages
Service Management
Keep track of services and invoice
Restaurant
Run your bar or restaurant methodically
Hotel Management
An all-inclusive hotel management application
Support
Got questions or need help? Get in touch.
Say hi to us on WhatsApp!
Please log in to comment on this module
Misleading Application
Please take the time to read my previous messages carefully. My concern is not just about the mention of automatic payments, but about the misleading nature of the app, which implies it can handle automated payments when it does not. This causes confusion and wasted time. I strongly suggest updating the app description to clearly state its limitations so users know exactly what to expect before using it.
Also, please stop replying with the same generic responses. Instead, focus on updating the app page to reflect its actual capabilities. This will provide clarity and improve user experience.
Re: Misleading Application
Hello Anand, We apologize for any disappointment caused. There was no mention of automatic payments being included in this app. It is a free app. You can either use this and integrate an automatic payment feature, or explore other apps that offer all the required features.
Misleading Application
Could you please point out where exactly on the app page it mentions that this application only creates invoices and does not handle automated payments? I reviewed the page and found no clear indication of this limitation. Even after I pointed out the issue, it seems the app page has not been updated to clarify this. Transparency is key to avoiding confusion and ensuring users do not waste valuable time on features that are not as expected.
Re: Misleading Application
Hello Anand, We apologize for any disappointment caused. There was no mention of automatic payments being included in this app. It is a free app. You can either use this and integrate an automatic payment feature, or explore other apps that offer all the required features.
Misleading Application
I must express that this application is misleading as it leads users to believe that it includes automated payment features when it does not. This can result in significant time loss for users who expect automation but are instead required to manually process payments.
The time spent dealing with this issue is often more valuable than the cost of the app itself. Additionally, while many of your applications are free, they often turn out to be not fully usable in practice. A clearer indication of the app’s limitations would have been appreciated to avoid such confusion and inefficiency.
Re: Misleading Application
Please read the app page before choosing the app.
What is the point of just creating an invoice?
The primary purpose of a subscription model is to offer convenience by automating the payment process for customers. Requiring customers to visit the website each month to manually make a payment defeats this purpose, as it essentially replicates the experience of making a manual payment each month. This approach is generally less appealing to customers, who prefer the ease and efficiency of automated payments.
Re: What is the point of just creating an invoice?
Hello Anand, We apologize for any disappointment caused. There was no mention of automatic payments being included in this app. It is a free app. You have the option to either use this and integrate an automatic payment feature, or explore other apps that offer all the features you require
Automated Subscription Payments with Stripe or Razorpay
Could you clarify whether this module is designed to automatically create and manage Stripe or Razorpay subscriptions for our customers, or if customers must visit our website each month to process their payments manually?
Re: Automated Subscription Payments with Stripe or Razorpay
Currently, our module is designed to automate the invoicing process for subscriptions. However, it does not automatically handle payment processing through Stripe or Razorpay. Customers will need to manually process their payments.
It doesn't seem to work. Creating a simple payment, not a subscription
In the website setting,
I kept the Shop - Checkout Process Add to Cart to "Let the user decide (dialog)" and Sign in/up at checkout to "Mandatory (no guest checkout)" and while I'm trying to subscribe I'm receiving the below error. But when I turn back the setting Add to Cart to "Stay on Product Page" and Sign in/up at checkout to "Optional" the payment seems to happen but it doesn't seem to create a Subscription
Error on Cron "Check Close limit" in V17 when try to run manually
Traceback (most recent call last): File "/home/parikshit/Odoo17Community/odoo/odoo/tools/safe_eval.py", line 390, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(729,)", line 1, in File "/home/parikshit/Odoo17Community/odoo/custom_addons/website_subscription_package/models/subscription_package.py", line 76, in close_limit_cron 'tax_ids': rec.tax_id AttributeError: 'subscription.package.product.line' object has no attribute 'tax_id' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 1770, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/home/parikshit/Odoo17Community/odoo/odoo/service/model.py", line 133, in retrying result = func() File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 1797, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 2001, in dispatch result = self.request.registry['ir.http']._dispatch(endpoint) File "/home/parikshit/Odoo17Community/odoo/addons/website/models/ir_http.py", line 235, in _dispatch response = super()._dispatch(endpoint) File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_http.py", line 222, in _dispatch result = endpoint(**request.params) File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 725, in route_wrapper result = endpoint(self, *args, **params_ok) File "/home/parikshit/Odoo17Community/odoo/addons/web/controllers/dataset.py", line 28, in call_button action = self._call_kw(model, method, args, kwargs) File "/home/parikshit/Odoo17Community/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/home/parikshit/Odoo17Community/odoo/odoo/api.py", line 468, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/home/parikshit/Odoo17Community/odoo/odoo/api.py", line 453, in _call_kw_multi result = method(recs, *args, **kwargs) File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_cron.py", line 107, in method_direct_trigger cron.with_user(cron.user_id).with_context({'lastcall': cron.lastcall}).ir_actions_server_id.run() File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_actions.py", line 942, in run res = runner(run_self, eval_context=eval_context) File "/home/parikshit/Odoo17Community/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_actions.py", line 772, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/home/parikshit/Odoo17Community/odoo/odoo/tools/safe_eval.py", line 404, in safe_eval raise ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)) ValueError: : "'subscription.package.product.line' object has no attribute 'tax_id'" while evaluating 'model.close_limit_cron()' The above server error caused the following client error: RPC_ERROR: Odoo Server Error at makeErrorFromResponse (http://localhost:8069/web/assets/1/5017ade/web.assets_web.min.js:2872:163) at XMLHttpRequest. (http://localhost:8069/web/assets/1/5017ade/web.assets_web.min.js:2876:13)Re: Error on Cron "Check Close limit" in V17 when try to run manually
Hello, Thanks for reporting. The error has been resolved, and the updated version of the app is now available. Please download.
for V17 There is an error on Cron "Check Close Limit" execution
Traceback (most recent call last): File "/home/parikshit/Odoo17Community/odoo/odoo/tools/safe_eval.py", line 390, in safe_eval return unsafe_eval(c, globals_dict, locals_dict) File "ir.actions.server(729,)", line 1, in File "/home/parikshit/Odoo17Community/odoo/custom_addons/website_subscription_package/models/subscription_package.py", line 76, in close_limit_cron 'tax_ids': rec.tax_id AttributeError: 'subscription.package.product.line' object has no attribute 'tax_id' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 1770, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/home/parikshit/Odoo17Community/odoo/odoo/service/model.py", line 133, in retrying result = func() File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 1797, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 2001, in dispatch result = self.request.registry['ir.http']._dispatch(endpoint) File "/home/parikshit/Odoo17Community/odoo/addons/website/models/ir_http.py", line 235, in _dispatch response = super()._dispatch(endpoint) File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_http.py", line 222, in _dispatch result = endpoint(**request.params) File "/home/parikshit/Odoo17Community/odoo/odoo/http.py", line 725, in route_wrapper result = endpoint(self, *args, **params_ok) File "/home/parikshit/Odoo17Community/odoo/addons/web/controllers/dataset.py", line 28, in call_button action = self._call_kw(model, method, args, kwargs) File "/home/parikshit/Odoo17Community/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/home/parikshit/Odoo17Community/odoo/odoo/api.py", line 468, in call_kw result = _call_kw_multi(method, model, args, kwargs) File "/home/parikshit/Odoo17Community/odoo/odoo/api.py", line 453, in _call_kw_multi result = method(recs, *args, **kwargs) File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_cron.py", line 107, in method_direct_trigger cron.with_user(cron.user_id).with_context({'lastcall': cron.lastcall}).ir_actions_server_id.run() File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_actions.py", line 942, in run res = runner(run_self, eval_context=eval_context) File "/home/parikshit/Odoo17Community/odoo/addons/website/models/ir_actions_server.py", line 61, in _run_action_code_multi res = super(ServerAction, self)._run_action_code_multi(eval_context) File "/home/parikshit/Odoo17Community/odoo/odoo/addons/base/models/ir_actions.py", line 772, in _run_action_code_multi safe_eval(self.code.strip(), eval_context, mode="exec", nocopy=True, filename=str(self)) # nocopy allows to return 'action' File "/home/parikshit/Odoo17Community/odoo/odoo/tools/safe_eval.py", line 404, in safe_eval raise ValueError('%s: "%s" while evaluating\n%r' % (ustr(type(e)), ustr(e), expr)) ValueError: : "'subscription.package.product.line' object has no attribute 'tax_id'" while evaluating 'model.close_limit_cron()' The above server error caused the following client error: RPC_ERROR: Odoo Server Error at makeErrorFromResponse (http://localhost:8069/web/assets/1/5017ade/web.assets_web.min.js:2872:163) at XMLHttpRequest. (http://localhost:8069/web/assets/1/5017ade/web.assets_web.min.js:2876:13)