Saltar al contenido

Extensión Opencart para poner el precio con IVA

Con esta extensión que se desarrolló para OpenCart podemos poner los precios de los productos con el IVA del 21% directamente. Si conocéis OpenCart ya habréis visto que los precios se tienen que poner sin IVA y después OpenCart calcula el IVA y lo añade a los productos.

Esto hace que tardes más tiempo si tienes que ir calculando el precio sin IVA antes de poner el precio de venta en cada producto.

Aquí puedes descargarte la extensión, Precio con IVA incluido.

Te la ofrecemos gratis por un tweet, solo tienes que descargártela y subirla a tu servidor.

Súbelo a tu servidor dentro de la carpeta vqmod/xml y renómbrale a .xml (por ejemplo fichero.xml).

La mini documentación de la extensión:

Probado en versiones:
========================
Desde la 1.4.1.x a la 1.5.6.1

Requisitos:
========================
Necesita tener instalado vQmod, puedes descargarlo gratuitamente desde su web. http://vQmod.com

¿Cómo funciona?
========================
Opencart solo muestra los precios del producto sin iva, por lo tanto tienes que calcular el precio de cada producto, con esta modificación mostrará ambos, el precio con IVA y el precio sin IVA, en la página del producto.
No tendrás que calcular ninguno, con que indiques el precio con IVA se calculará el otro automáticamente en la página del producto. Y viceversa, si quieres puedes poner el precio sin IVA y te mostrará automáticamente el precio con IVA.

Características principales:
========================
Puedes indicar en cada producto el precio con IVA incluido directamente, sin tener que calcular el IVA. Ahorrarás tiempo en meter cada producto.

Cómo lo instalo:
========================
1) Instalar vQmod como su web indica.
2) Copia el fichero iva21.xml dentro de vQmod/xml

Ventajas
========================
No tendrás que realizar ninguna modificación en tus ficheros originales de tu instalación de opencart.
Ahorras tiempo en calcular el IVA en cada uno de los productos.

Notas
========================
Si quieres realizarlo sobre un IVA diferente al 21% solo tienes que modificar el fichero xml y poner el porcentaje que necesites.

precio con iva incluido

El código es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
        <id>Replace</id>
        <version>1.5.*</version>
        <vqmver>2.X</vqmver>
        <author>Miguel</author>
        <file name="admin/view/template/catalog/product_form.tpl">
 
 
        <operation info="Elimina linea">
                        <search position="replace"><![CDATA[
<?php echo $entry_price; ?>
                        ]]></search>
                        <add><![CDATA[
** Actualizado para IVA 21%   
                        ]]></add>
                </operation>
 
 
                <operation info="Cambio">
                        <search position="replace"><![CDATA[
<input type="text" name="price" value="<?php echo $price; ?>" /></td>
                        ]]></search>
                        <add><![CDATA[
                        <!-- //Precio con IVA del 21 INICIO -->
</tr>
<td><?php echo "Precio con IVA:"; ?></td>
<td><input type="text" id="ivainc" name="ivainc" onkeyup="actualizaNormal()" value="<?php print ($price*1.21); ?>" /></td>
</tr>
<tr>
<td><?php echo $entry_price; ?></td>
<td><input type="text" id="price" name="price" onkeyup="actualizaConIva()" value="<?php echo $price; ?>" /></td>
 
 
<script type="text/javascript"><!--
 
 
function doRound(x, places) {
return Math.round(x * Math.pow(10, places)) / Math.pow(10, places);
}
 
 
function actualizaConIva() {
var taxRate = 21; //Precio con IVA del 21
var grossValue = document.forms["form"].price.value;
 
if (taxRate > 0) {
grossValue = grossValue * ((taxRate / 100) + 1);
}
 
document.forms["form"].ivainc.value = doRound(grossValue, 4);
}
 
function actualizaNormal() {
var taxRate = 21; //Precio con IVA del 21
var netValue = document.forms["form"].ivainc.value;
 
if (taxRate > 0) {
netValue = netValue / ((taxRate / 100) + 1);
}
 
document.forms["form"].price.value = doRound(netValue, 4);
}
//--></script>
 
<!-- Precio con IVA FIN-->
                        ]]></add>
                </operation>