| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 1066 |
| Technical Name |
advanced_loyalty_management |
| License | LGPL-3 |
| Website | https://www.cybrosys.com |
| Versions | 15.0 16.0 17.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 1066 |
| Technical Name |
advanced_loyalty_management |
| License | LGPL-3 |
| Website | https://www.cybrosys.com |
| Versions | 15.0 16.0 17.0 |
Advanced Loyalty Management
In this module, we have incorporated new features such as deducting loyalty points upon refund, converting change into loyalty points, displaying claimed rewards history, and introducing a new type of reward
Key Highlights
Loyalty deduction on Refund
In this module This module helps in deducting the loyalty points on refund .
Convert Change to loyalty points
In this module We can convert the Change into Loyalty points.
History of Claimed Rewards
We can see Claimed Rewards History in customer's page.
Introducing New Reward Type
Introducing New Reward type Redemption in Loyalty reward, where we can redeem our points
Created a Loyalty program with rule 1 point for per $ spent.We see How it added to order and Pos screen and Receipt . Lets see how it reduced on refund
We can observe how the loyalty points are deducted when the order is refunded.Firstly, we can see refunding 1 quantity
We can see the points deducted for the corresponding quantity refunded.
We can see it in the receipt
It is also reflected on the customer's page.
Next, we can process a refund for two quantities and examine how it is reflected in the POS screen, on the receipt, and on the customer's page.
Next, we can process a refund for the final quantity and examine how it is reflected in the POS screen, on the receipt, and on the customer's page.
We can create another loyalty program with rule 10 points per order, We can see how it reflects in the pos screen receipt
We can see the points given in the pos screen, reciept and customer's page. Now we can examine how it deducts on refund
We can see in this loyalty program we give points to an order. so when the whole quantity is refunded only, we can deduct the points
We can see when the final quantity is refunded the point is deducted
We can create another loyalty program with rule 5 points per unit, We can see how it reflects in the pos screen receipt
We can see the points given in the pos screen, reciept and customer's page. Now we can examine how it deducts on refund
We refund 1 quantity , so points for 1 quantity is reduced from loyalty cards
We refund 3 quantity , so points for 3 quantity is reduced from loyalty cards
Next, we can examine the scenario of claimed rewards
In POS we can see reward is claimed
It can be seen in receipt
The change of points also in customer's page
We can refund a quantity and check how the change in points in pos screen,receipt and customer's page
Now we refund the pending quantity, and tried to refund the reward line also, so a warning will appear no refund of reward line is possible because it will conflict the calculation of loyalty points.
Continue the process of refund and lets examine how the point changes in pos screen , recipet and customer's page.
The next scenario involves converting change to loyalty points. To facilitate this, we have introduced a new field in the loyalty program for the conversion rate per dollar.
We create a sales order directly from the POS interface.
We create a button under the change to convert the loyalty.
We can choose to which program the points is to be added.
We can choose to which program the points is to be added. and it is added to loyalty cards
We can see the claimed rewards history in this smart tab in the customer's page.
We can see the history of claimed rewards in customer's page.
A new Reward type is added in the loyalty program. We can set condition in the reward form
This reward type can be claimed to the customer when the customer is purchasing for the second time
No we can claim the reward and redeem the points
we can see once this reward is claimed according to redemption frequency we cant claim it again
We can set Max redemption amount and how much point per dollar cost ,then in pos we can see the points in popup
We can set Max redemption type as percent and there by calculating the order's 10 % as redeem points
-
Deduct Loyalty points on refund
-
Convert Change to Loyalty Points
-
History of Claimed rewards of Customers
-
New reward type introduced where we can redeem our points directly
Initial Commit for Advanced Loyalty 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
Report comment
Any abuse of this reporting system will be penalizedThere are no ratings yet!
Why override export_as_JSON() ?
Why are you overriding export_as_JSON(), and don't extends it?
if some custom or additional pos module is installed before your module, your override cause data loss , because loading stack is in installed order, if i do some custom module and then extends for add a single field, your module in stack loading overrides my extends.
its there any way to avoid this override and use extends instead ?
thanks
Re: Why override export_as_JSON() ?
Thank you for your feedback. The issue you mentioned has been resolved, and the updated app is now available on the Odoo App Store. You can download it from there.
[ISSUE] [v17] Create invoice from POS
Hi!
Thanks you for addons.
I want to indicate an error that I have found.
If we apply a redemption at the POS, and request an invoice, it causes problems and does not generate.
I have attached the error in case it helps.
I would also like to provide the translation into Spanish. Tell me how I can get it to you.
Traceback (most recent call last): File "/opt/odoo17_test/odoo/odoo/http.py", line 1782, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "/opt/odoo17_test/odoo/odoo/service/model.py", line 133, in retrying result = func() File "/opt/odoo17_test/odoo/odoo/http.py", line 1809, in _serve_ir_http response = self.dispatcher.dispatch(rule.endpoint, args) File "/opt/odoo17_test/odoo/odoo/http.py", line 2013, in dispatch result = self.request.registry['ir.http']._dispatch(endpoint) File "/opt/odoo17_test/odoo/odoo/addons/base/models/ir_http.py", line 221, in _dispatch result = endpoint(**request.params) File "/opt/odoo17_test/odoo/odoo/http.py", line 757, in route_wrapper result = endpoint(self, *args, **params_ok) File "/opt/odoo17_test/odoo/addons/web/controllers/dataset.py", line 24, in call_kw return self._call_kw(model, method, args, kwargs) File "/opt/odoo17_test/odoo/addons/web/controllers/dataset.py", line 20, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/opt/odoo17_test/odoo/odoo/api.py", line 464, in call_kw result = _call_kw_model(method, model, args, kwargs) File "/opt/odoo17_test/odoo/odoo/api.py", line 435, in _call_kw_model result = method(recs, *args, **kwargs) File "/opt/odoo17_test/odoo/addons/pos_sale/models/pos_order.py", line 49, in create_from_ui order_ids = super(PosOrder, self).create_from_ui(orders, draft) File "/opt/odoo17_test/odoo/addons/point_of_sale/models/pos_order.py", line 972, in create_from_ui order_ids.append(self._process_order(order, draft, False)) File "/opt/odoo17_test/odoo/addons/point_of_sale/models/pos_order.py", line 160, in _process_order return pos_order._process_saved_order(draft) File "/opt/odoo17_test/odoo/addons/point_of_sale/models/pos_order.py", line 187, in _process_saved_order self._generate_pos_order_invoice() File "/opt/odoo17_test/odoo/addons/point_of_sale/models/pos_order.py", line 897, in _generate_pos_order_invoice new_move.with_context(skip_invoice_sync=True)._generate_pdf_and_send_invoice(template) File "/opt/odoo17_test/odoo/addons/l10n_es_edi_facturae/models/account_move.py", line 661, in _generate_pdf_and_send_invoice return super()._generate_pdf_and_send_invoice(template, force_synchronous, allow_fallback_pdf, bypass_download, **kwargs) File "/opt/odoo17_test/odoo/addons/account/models/account_move.py", line 4536, in _generate_pdf_and_send_invoice return composer.action_send_and_print(force_synchronous=force_synchronous, allow_fallback_pdf=allow_fallback_pdf, bypass_download=bypass_download) File "/opt/odoo17_test/odoo/addons/account/wizard/account_move_send.py", line 732, in action_send_and_print return self._process_send_and_print( File "/opt/odoo17_test/odoo/addons/account/wizard/account_move_send.py", line 666, in _process_send_and_print self._generate_invoice_documents(moves_data, allow_fallback_pdf=allow_fallback_pdf) File "/opt/odoo17_test/odoo/addons/account/wizard/account_move_send.py", line 593, in _generate_invoice_documents self._hook_invoice_document_after_pdf_report_render(invoice, invoice_data) File "/opt/odoo17_test/odoo/addons/account_edi_ubl_cii/wizard/account_move_send.py", line 215, in _hook_invoice_document_after_pdf_report_render writer.write(writer_buffer) File "/opt/venvs/erptest/lib/python3.10/site-packages/pypdf/_writer.py", line 1412, in write self.write_stream(stream) File "/opt/odoo17_test/odoo/odoo/tools/pdf/__init__.py", line 100, in write_stream self.add_metadata({ File "/opt/venvs/erptest/lib/python3.10/site-packages/pypdf/_writer.py", line 1620, in add_metadata assert isinstance(self._info, DictionaryObject) AssertionErrorRe: [ISSUE] [v17] Create invoice from POS
Thanks for reporting