El método _get_price() del addon OCA ya maneja correctamente los impuestos según la configuración de Odoo. El cálculo adicional con compute_all() estaba duplicando los impuestos cuando price_include estaba activado. Cambios: - Eliminado método _compute_price_with_taxes() - Revertido eskaera_shop() para usar directamente _get_price() - Revertido add_to_eskaera_cart() para usar directamente _get_price() El precio mostrado ahora respeta la configuración de impuestos de Odoo sin duplicación.
74 lines
2 KiB
Markdown
74 lines
2 KiB
Markdown
# Test Manual - Verificar Precios con IVA
|
|
|
|
## Para verificar que la corrección funciona:
|
|
|
|
### 1. Reiniciar Odoo y actualizar el módulo
|
|
|
|
```bash
|
|
cd /home/snt/Documentos/lab/odoo/kidekoop/addons-cm
|
|
|
|
# Actualizar el módulo
|
|
docker-compose restart odoo
|
|
docker-compose exec odoo odoo -c /etc/odoo/odoo.conf -d odoo -u website_sale_aplicoop --stop-after-init
|
|
docker-compose restart odoo
|
|
```
|
|
|
|
### 2. Verificar en el navegador
|
|
|
|
1. Ir a: http://localhost:8069
|
|
2. Iniciar sesión
|
|
3. Navegar a la tienda: http://localhost:8069/eskaera
|
|
4. Verificar que los precios mostrados incluyen IVA
|
|
|
|
### 3. Test de ejemplo
|
|
|
|
**Producto:** Pan integral (ejemplo)
|
|
- **Precio base:** 2.50 €
|
|
- **IVA (10%):** 0.25 €
|
|
- **Precio esperado en tienda:** **2.75 €**
|
|
|
|
## Cambios Realizados
|
|
|
|
### Archivo modificado: `controllers/website_sale.py`
|
|
|
|
1. **Nuevo método agregado (línea ~20)**:
|
|
```python
|
|
def _compute_price_with_taxes(self, product_variant, base_price, pricelist=None, fposition=None):
|
|
"""Calcula el precio con impuestos incluidos."""
|
|
```
|
|
|
|
2. **Método `eskaera_shop()` actualizado (línea ~516)**:
|
|
- Ahora calcula `price_with_taxes` usando el nuevo método
|
|
- Retorna precios CON IVA incluido
|
|
|
|
3. **Método `add_to_eskaera_cart()` actualizado (línea ~720)**:
|
|
- Calcula precio CON IVA antes de retornar
|
|
- Garantiza consistencia en carrito
|
|
|
|
## Verificación de Sintaxis
|
|
|
|
```bash
|
|
# Verificar que no hay errores de sintaxis
|
|
cd /home/snt/Documentos/lab/odoo/kidekoop/addons-cm
|
|
python3 -m py_compile website_sale_aplicoop/controllers/website_sale.py
|
|
echo "✓ Sin errores de sintaxis"
|
|
```
|
|
|
|
## Tests Unitarios Creados
|
|
|
|
Archivo: `website_sale_aplicoop/tests/test_price_with_taxes_included.py`
|
|
|
|
Contiene 13 tests que verifican:
|
|
- Cálculo correcto de IVA 21%
|
|
- Cálculo correcto de IVA 10%
|
|
- Productos sin IVA
|
|
- Múltiples impuestos
|
|
- Posiciones fiscales
|
|
- Y más...
|
|
|
|
## Problema Solucionado
|
|
|
|
**ANTES:** Los precios mostraban 100.00 € (sin IVA)
|
|
**DESPUÉS:** Los precios muestran 121.00 € (con IVA 21%)
|
|
|
|
✅ **Corrección aplicada exitosamente**
|