pos_loyalty_discount_before.../README.md
2025-12-15 13:09:07 +07:00

50 lines
1.9 KiB
Markdown

# POS Loyalty Discount Before Tax
This module modifies the loyalty reward discount calculation in POS to apply discounts before tax calculation and ensures that discount values are displayed as tax-exclusive in both the POS receipt and accounting entries.
## Features
1. **Discount Calculation Before Tax**: All loyalty rewards are calculated on the tax-exclusive amount rather than the tax-inclusive amount.
2. **Tax-Exclusive Display**: Discount values are displayed as tax-exclusive in the POS receipt.
3. **Proper Accounting Entries**: Accounting entries are created with tax only on the credit side, ensuring compliance with accounting standards.
## Technical Changes
### JavaScript Changes
- Modified `static/src/overrides/models/loyalty.js` to calculate discounts on tax-exclusive amounts
- Ensured discount line values are tax-exclusive for display purposes
### Backend Changes
- Created `models/pos_order.py` to handle accounting entries for loyalty discounts
- Created `models/loyalty_reward.py` to ensure discount products are properly configured
- Created `models/account_move.py` to ensure discount lines in account moves are tax-exclusive
- Created `models/pos_session.py` to handle session-level accounting for loyalty discounts
## Installation
1. Copy the module to your Odoo addons directory
2. Update the apps list in Odoo
3. Install the "POS Loyalty Discount Before Tax" module
## Configuration
No additional configuration is required. The module automatically applies the changes to all loyalty programs in POS.
## Usage
The module works automatically with all existing loyalty programs. Discounts will be calculated on tax-exclusive amounts and displayed as such in the POS interface and accounting entries.
## Compatibility
This module is compatible with Odoo 17 and requires the following modules:
- point_of_sale
- pos_loyalty
## License
LGPL-3