Cómo aplicar el nuevo canon digital en WooCommerce

canon digital woocommerce

Con fecha 1 de agosto de 2017, como se suele decir «con agostidad y alevosía«, se implantó un nuevo canon digital que afecta a todos los soportes y dispositivos susceptibles de albergar contenido protegido por derechos de autor.

No quiero entrar en el hecho de que nos penalicen a todos preventivamente, por el uso de unos pocos, y te aseguro que me contengo, que es objeto de otro debate, así que vamos a lo práctico, a ver cómo aplicar el canon digital en WooCommerce, pues todas las tiendas, también las online, tienen que aplicar este canon desde ya, desde el 1 de agosto de 2017.

A qué artículos afecta el nuevo canon digital y qué canon aplicar

La lista es larga, aquí tienes cada tipología y el importe fijo a aplicar a cada uno:

  • Teléfonos móviles y smartphones: 1,10 euros por unidad.
  • Tabletas y ebooks: 3,15 euros por unidad.
  • Memorias USB, tarjetas SD y tarjetas microSD: 0,30 euros por unidad.
  • Discos duros y SSD: 12 euros por unidad.
  • Equipos multifunción de sobremesa de inyección de tinta y que tengan un peso inferior a 17 kilos: 7,95 euros por unidad.
  • Equipos multifunción láser de sobremesa que no tengan un peso de más de 17 kilos: 10,00 euros por unidad.
  • Escáner mono: 9 euros por unidad.
  • Grabadora de CD: 0,60 euros por unidad.
  • Grabadora de DVD: 3,40 euros por unidad.
  • CD no regrabable: 0,17 euros por unidad.
  • CD regrabable: 0,22 por unidad.
  • DVD no regrabable: 0,44 euros por unidad.
  • DVD regrabable: 0,60 euros por unidad.

El problema: no es un porcentaje de impuesto

Si fuese un impuesto porcentual adicional casi se acabaría aquí el artículo, simplemente añadirías una línea más a tus impuestos con el porcentaje a aplicar a cada producto, con la putada de tener que crear un impuesto para cada uno.

Esto, por ejemplo, sirve para los impuestos turísticos o medioambientales basados en porcentaje, por los que, además de los impuestos normales, tienes que aplicar un porcentaje adicional a cada tipo de impuesto, como ya vimos.

Las soluciones al canon digital en WooCommerce

Hay varias posibles maneras de abordar este problema rápidamente. Vamos a verlas.

YITH WooCommerce Products Addons

Plugin gratuito cuyo objetivo es añadir complementos a tus productos. Por ejemplo, si el cliente quiere añadir personalizaciones y cosas así.

Pero que también puedes usar para este objetivo, ofreciendo solo una opción, la del canon digital.

Para ello, edita cada producto y encontrarás una nueva pestaña llamada «Complementos de producto«. Ahí el primer paso es crear un grupo con el nombre que quieras.

Una vez crees el grupo pulsa el botón Gestionar.

Y en la siguiente pantalla elige los productos y/o categorías de productos a los que se aplicará el complemento.

A continuación pulsa el botón «Administrar complementos» que es donde añadirías las opciones de producto que, para nuestro caso, solo habrá una.

Una vez ahí pulsa en «Añadir nuevo»

A continuación, es importante que el tipo sea de radio button para que no puedan quitar la selección los usuarios. Por supuesto, ponle un título, que será visible en la página de producto y al finalizar la compra.

También, un poco más abajo, asegúrate de activar las siguientes opciones:

Para finalizar, añade la opción, en este caso única, definiendo una etiqueta (visible), comprueba que la cantidad sea fija, y pon el precio a añadir.

También puedes añadir una descripción, que será visible al pasar el cursor en un icono de interrogante que se verá en la página del producto.

De nuevo es importante que actives la casilla «Marcada(s)« para que esté marcada por defecto

Guarda el complemento y guarda el pedido con complementos, actualiza tu producto y ya lo tendrás.

canon digital 2017 en woocommerce

YITH WooCommerce Products Addons Premium

Si optas por el plugin premium ya puedes hacer lo mismo con los productos variables, añadir más tipologías de opciones y muchísimo más.

WooCommerce conditional Product Fees for Checkout

En la versión gratuita de este plugin puedes crear costes adicionales para productos específicos, a los que se aplicarán o no los impuestos del producto.

Todo se gestiona desde la página de ajustes del plugin, en DotStore Plugins > WooCommerce Conditional Product Fees for Checkout.

Ahí añade una cuota (fee) adicional, defínelo, ponle nombre y coste. Al final de los ajustes eliges si el coste adicional se aplicará por producto, país, etc., pudiendo aplicar varias reglas condicionales.

Cuando guardes la cuota adicional (fee) se aplicará a los productos seleccionados, y se verá en el carrito y al finalizar la compra.

En la versión premium del plugin puedes aplicar los costes adicionales de manera más flexible, por categoría, etiqueta, región, usuario, etc.

WooCommerce Product Fees

Este otro plugin es como la versión más simple de todo lo que hemos visto hasta ahora. Simplemente añade una pestaña a la página de datos del producto en la que podemos añadir el nombre de la cuota extra y su importe o porcentaje.

En nuestro caso, siempre habrá que marcar la casilla que multiplica la cuota por la cantidad de productos.

Por supuesto, lo verás y se aplicará en el carrito y el pago

Funciones PHP

Como siempre, puedes usar código para conseguirlo. Con este que tienes a continuación puedes aplicar un coste fijo por categorías, como en el ejemplo:

// Añade un coste fijo adicional por categoría
function woo_add_cart_fee() {
//23 es el ID de la categoría a aplicar el coste adicional
$category_ID = '23';
global $woocommerce;

foreach ($woocommerce->cart->cart_contents as $key => $values ) {
    // Obtenemos los términos, p.ej. lista de la categoría usando el ID del producto
$terms = get_the_terms( $values['product_id'], 'product_cat' );
    // Como un producto puede tener varias categorías tenemos que revisar la lista de productos para ajustarlo
    foreach ($terms as $term) {
        if($term->term_id == $category_ID){
         $excost = 6; //6 es el coste extra adicional
         }
         }
        $woocommerce->cart->add_fee('Canon Digital', $excost, $taxable = false, $tax_class = '');
}
}
add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );

¿Más opciones?

A mi no se me ocurren más ahora mismo pero si tú has encontrado alguna cuéntanosla en los comentarios.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(6 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

9 comentarios en “Cómo aplicar el nuevo canon digital en WooCommerce”

  1. Hola,

    Me parece muy interesante las formas que propones, pero ¿es obligatorio mostrar la información sobre el canon digital? ¿No podrías asignar el texto con el importe correspondiente y dependiendo de cada categoría (ej. Este artículo incluye 0,30 € del Canon digital) mostramos el importe que tique y el precio lo modificas directamente?

  2. Jorge Martín

    Pero así tienes un problema, como lo facturas ? Ya que no aparece correctamente. Menudo lío, alguien encontró otra manera ?

  3. Hola, pregunte en el foro de foro de soporte de wordpress como añadir el canon digital pero que afecte a un archivo .csv que importo todos los días utilizando un campo «canon» que ya lleva incluido cada artículo:
    https://es.wordpress.org/support/topic/canon-digital-csv-woocommerce/#post-69807
    Bueno pues quería darte las gracias por que he podido arreglármelas con
    Yith-woocommerce-product-add-ons por medio de categórias, a sido muy complejo por el montón de categorías a las que me afecta en canon ya que hay mes de 7.000 productos en el catálogo pero me sirve.
    Seguiré intentando hacer pruebas para hacer que se pueda hacer desde wp all import por que no tendría que estar pendiente a variaciones del canon o a nuevas categorías, si lo consigo lo comentaré aquí y en el foro.
    Muchísimas gracias, saludos.

  4. Alvaro Sierra Dominguez

    He usado el codigo php en las funciones y esta muy bien pero al meter varias unidades de un producto no lo multiplica por el numero de unidades si compra dos moviles el canon es 2,20 no 1,10.
    Y no puedo meter varias categorias al copiar el codigo y meter otra categoria distinta la pagina me da fallo al cargar el functions

    Aver si tu sabes como anidar varias categorias y que se multiplique por el numero de unidades

    1. Christian Lyon Herrera

      Hola Alvaro, sólo debes de ampliarlo un poco más, multiplicando la cantidad por el canon y ya está.
      Aquí te dejo el código que yo uso y me va de lujo.

      // CANON POR DERECHOS DE AUTOR Y COPIA
      // Añade un coste fijo adicional por categoría

      function woo_add_cart_fee() {
      // Aquí pones el número de categoría que quieres usar para productos con canon
      $category_ID = '23';
      global $woocommerce;

      foreach ($woocommerce->cart->cart_contents as $key => $values ) {
      // Obtenemos los términos, p.ej. lista de la categoría usando el ID del producto
      $terms = get_the_terms( $values['product_id'], 'product_cat' );
      //Uso $amount para la cantidad del producto en la línea del carrito
      $amount = $values['quantity'];
      // Como un producto puede tener varias categorías tenemos que revisar la lista de productos para ajustarlo
      foreach ($terms as $term) {
      if($term->term_id == $category_ID){
      $excost = 5.45 * $amount; // 5.45 es el coste extra adicional multiplicado por la cantidad
      }
      }

      // Yo uso precios sin iva en mi web, así el carro los calcula al finalizar la compra
      // En caso de que trabajes con IVA incluido, deberás de poner $taxable=false y $tax_class=' '

      $woocommerce->cart->add_fee('Canon Digital', $excost, $taxable = true, $tax_class = '21');
      }
      }
      add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );

      Espero que te sirva.

      1. Hola chicos, en qué archivo copiáis el código PHP que mencionáis? Me las estoy viendo para configurar el canon digital. La versión gratuita del plugin «YITH WooCommerce Products Addons» ya no permite marcar la opción ‘obligatorio’. Por lo que no se aplica el importe del canon digital, o dicho de otro modo, el cliente puede desmarcarlo. Así que «de gratis» solo queda tirar de código. Gracias, un saludo.

      2. Os dejo por aquí las modificaciones que le he hecho al código de @christianlyonherrera:disqus

        Con esta modificación, en el ‘checkout’ se especifica el importe del canon para cada categoria distinta, dando así un poco más de detalle al usuario.

        //Añadir coste de canon en categorías específicas

        //Con precios SIN IVA en web, indicamos a woocommerce que lo trate como imponible con 21% de iva

        function woo_add_cart_fee() {

        //Variables de categoria = id
        $cat_hdd_externos = '62'; // 6.45 €
        $cat_hdd_integrados = '81'; // 5.45 €
        $cat_pen_drives = '119'; // 0.24 €
        $cat_grabadoras = '92'; // 1.86 €
        global $woocommerce;

        //Leemos 1 por 1 los productos del carrito

        foreach ($woocommerce->cart->cart_contents as $key => $values ) {

        // Obtenemos el id del producto y la categoria a la que pertenece
        $terms = get_the_terms( $values['product_id'], 'product_cat' );

        //Obtenemos la cantidad añadida al carrito del producto leido
        $amount = $values['quantity'];

        //Recorremos la categoria, guardando el precio del [canon x unidades en el carrito] dependiendo de la categoria a la que pertenezca

        foreach ($terms as $term) {
        if($term->term_id == $cat_hdd_externos){
        $excost = 6.45 * $amount;
        $woocommerce->cart->add_fee('Canon Digital HDD Externos', $excost, $taxable = true, $tax_class = '21');
        }
        if($term->term_id == $cat_hdd_integrados){
        $excost = 5.45 * $amount;
        $woocommerce->cart->add_fee('Canon Digital HDD Integrados', $excost, $taxable = true, $tax_class = '21');
        }

        if($term->term_id == $cat_pen_drives){
        $excost = 0.24 * $amount;
        $woocommerce->cart->add_fee('Canon Digital Pen Drives', $excost, $taxable = true, $tax_class = '21');
        }

        if($term->term_id == $cat_grabadoras){
        $excost = 1.86 * $amount;
        $woocommerce->cart->add_fee('Canon Digital Grabadoras', $excost, $taxable = true, $tax_class = '21');

        }
        }
        }
        }

        add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );

        El resultado en el carrito es algo así:

        Ejemplo código canon

        1. Hola, yo estoy haciendo las facturas manuales una a una… por no saber poner el canon digital correctamente. Todo este código debo copiarlo en el archivo functions.php.

          Sin tener ni idea, imagino que debo entrar al hosting, buscar un archivo llamado asi… solo encontraré uno verdad? y editarlo con bloc de notas…. y copiar y pegar este texto.
          Una vez hecho, imagino que debo crear las categorias como dicen el documento functions.php.

          Algo que deba saber como novato?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido