Configurar gastos de envío según peso y país en Woocommerce (Actualizado)

plugin APG configurar gastos de envío por peso y país en woocommerce
POST ACTUALIZADO. Una de las pocas limitaciones que tiene woocommerce es la configuración de los gastos de envío ya que no permite dicha configuración por peso y volumen. Y eso que cuando das de alta los productos sí que puedes introducir esa información.

Para poder envíar según el peso hay una serie de plugins, desde los ofrecidos por Wootheme a 199$ hasta plugins gratuitos como el que ofrece Antonio Cantero en su blog Woodemia, por cierto muy recomendable.

El plungin Woo Weight Shipping (Woodemia) tiene la limitación de que solo se puede configurar para un solo país ya que basa la configuración por códigos postales. En la versión de pago sí se puede llevar a cabo este tipo de configuración.

La última vez que necesité configurar una tienda tenía unas necesidades más concretas ya que vendía a España con gastos de envío gratuitos menos a Ceuta, Melilla y las Islas Canarias, y un coste según el peso para Europa y otro coste según el peso para el resto de países.

Configuración de los gastos de envío según el peso y el páis

Para ello utilizamos el plugín WooCommerce – APG Weight and Postcode/State/Country Shipping 2.0. En este plugin se puede configurar los envíos por códigos postales, por regiones y por países, ya es compatible con la versión de Woocommerce 3.0. Permite crear varios tipos de envío. Como por ejemplo un envío normal y otro urgente.

Si quieres instalarlo directamente del repositorio de plugins de WordPres ten en cuenta que aunque pongas el nombre literal en el buscador no aparece entre los primeros, incluso deberás ir a buscarlo a la segunda página.

Una vez instalado es fácil de configurar. Para el post voy a configurar los gastos de envío para España gratuitos, para Ceuta, Melilla y las Islas Canarias van a tener un coste, Europa tendrá otro y el resto de países tendrán otro. Además los precios serán diferentes si el tipo de envío es normal o urgente. La tabla de gastos de envío sería esta:

tabla-pesos-coste-woocommerce-apg-actualizado

PASOS A SEGUIR

Desde la configuración de Ajustes de Woocommerce, en la pestaña envío debemos crear las distintas zonas de envío.
En este caso vamos a crear cuatro zonas. España, la segunda zona sería la comprendida por Ceuta, Melilla y las Islas Canarias, la tercera sería Europa, y por último sería el resto de países.

Vamos a empezar por España.
Lo primero es dar de alta la zona desde la configuración de envío:

Ventana principal configuración de los gastos de envío en Woocommerce 4.6

Al clicar en “Añadir zona de envío” se nos abre la ventana para crear dicha zona.

Debemos poner el nombre de la zona. Despúes elegir la región. En este caso hemos elegido toda España incluídas Ceuta, Melilla y las Islas Canarias. Después veremos que no importa que estén incluidas.

Y por último debemos elegir los métodos de envío:

crear zona de envío en woocommerce España - Cowalenciawebs

En el caso de España debemos elegir dos métodos, “Envío gratuito” y “Gastos de Envío APG”.

crear tipo de envío en woocommerce España - Cowalenciawebs

Ahora creamos la zona de Ceuta, Mellilla y las Islas Canarias.
Para esta zona lo que hacemos en introducir cuatro rangos de códigos postales, rangos que corresponden con Baleares, Canarias, Ceuta y Melilla.
Los rangos se introducen con el primer número de la serie, tres puntos, y el último número de la serie.

Evidentemente introducimos algunos códigos postales que no existen pero no va a afectar al funcionamiento del sistema.

crear tipo de envío en woocommerce Cueta, Melilla, Canarias- Cowalenciawebs

Hemos elegido dos veces el método de envío APG porque en uno configuraremos el envío normal y en el otro el urgente.

La siguiente zona a configurar sería Europa.
Para ello realizamos los mismos pasos pero elgimos en región Europa.

crear tipo de envío en woocommerce Europa- Cowalenciawebs

Al crear la primera zona por defecto nos sale un zona que se llama “Resto del mundo”. Esta la utilzaremos para configurar los gastos de envío de países de fuera de Europa.

Una vez están creadas las cuatro zonas es muy importante el orden en el que se ponen. El sistema le asígna al cliente la primera zona de envío con la que coincide empezando por arriba. Por lo que aunque España está incluida en Europa, al estar España delante en el orden el sistema le asignará los gastos de envío de España y no de Europa.

crear tipo de envío en woocommerce Europa- Cowalenciawebs

Configuración de los métodos de envío.

En este proceso tenemos dos métodos en cada zona. En España tenemos el envío gratuito y el envio APG.
Para configurar el envío gratuito puedes seguir el manual para configurar los gastos de envío en Woocommerce 4.6 de nuestro post.

En el resto de las zonas hay que configurar dos veces los gastos de envío por peso, uno para el envío normal y otro para el urgente.

Configuración del plugin APG

Al acceder a una zona de envío podemos acceder a la configuración del método de envío. De esta manera vemos la ventana siguiente:

Configuración plugin APG woocommerce. Cowalenciawebs
Configuración plugin APG woocommerce. Cowalenciawebs

Los pasos a seguir son los siguientes:

1- Habilitar el método de envío

2- Título del método
El título que le pongas al método será el que el cliente verá en el carrito de compra. Hemos dicho que este será nuestro envío normal. Puedes usar el nombre del proveedor o incluir en tiempo que tarda. Por ejemplo: Correos 72 horas.

3- Estado de impuestos
Debes elegir si los gastos de envío están sujetos a algún tipo de impustos como por ejemplo el IVA.

4- Coste por pedido
Debes poner una cantidad que quieras que se le sume al coste final calculado por peso del pedido. Es un coste añadido al pedido. Si no quieres que se le cargue nada más que el determinado por el peso y el país debes dejarlo en cero.

5- Coste adicional
Es el mismo del apartado anterior pero aquí puedes poner un porcentaje del coste del pedido. Para no usarlo debes dejarlo en cero.

6- ¿Aplicar por producto?
Nos permite elegir que las tarifas se apliquen por producto y no por peso. Si la idea es configurar el envío por peso debéis dejarlo desactivado.

7- Tarifas de envío
Para configurar los gastos de envío hay que seguir una codificación:
Peso|Coste del envío|Volumen

si se quiere configurar solo por peso:
Peso|Coste del envío

o si se quiere configurar solo por volumen:
Volumen|Coste del envío

Por lo que para el caso de España, envío urgente quedaría:

0.05|4.95
0.1|5.95
0.5|9.95

Solo nos quedaría comentar la opción Exceso de peso/dimensiones.
Esta opción debe estar marcada para que aplique la tarifa más cara a un pedido que exceda del peso mayor puesto en la tabla. Si no está marcada no permitirá la venta a pedidos que sobrepasen el peso.

El resto de opciones son sencillas de configurar.

Se debe repetir este proceso con cada uno de los método de envio APG de cada una de las zonas de envío.

¿Te ha gustado este artículo?
0 Votos, Promedio: 0 de 5

¿Quieres nuestro ebook?

ebook analytics gratis Configuración Extra de Google Analytics: Sácale el máximo partido a tu cuenta.
* Campo obligatorio

Estés donde estés, si necesitas un sitio web, tienda online, campañas de e-mailing o gestión de tus redes sociales, no dudes en contactar con nosotros (Equipo de diseño web ubicados en Valencia) a través de nuestro formulario y te informaremos al respecto.

23 Comentarios

  1. Art Project Group
    | Responder

    Juanjo gracias por acordarte de nuestro plugin 😀

    Por desgracia este tutorial se ha quedado desfasado 🙁

    Si quieres saber cómo se configura la nueva versión compatible con WooCommerce 2.6.x y 3.0.x échale un ojo al tutorial actualizado: https://artprojectgroup.es/como-se-configura-woocommerce-apg-weight-and-postcodestatecountry-shipping-2-0.

    Un saludo.

    • Covalenciawebs
      Cowalenciawebs
      | Responder

      Ya hemos actualizado el post.
      Muchas gracias por la información!!! 🙂
      Un saludo

  2. Beatriz Montabes Aparicio
    | Responder

    Hola, Juanjo! Gracias por la recomendación para usar este plugin, porque creo que es lo que necesito. Yo sólo tengo un tipo de envío pero con dos variables según si se hace a la Península o a Ceuta, Melilla y/o Islas Canarias. Por lo tanto, entiendo que el proceso es incluso más sencillo que el tuyo, peeero al seguir tus pasos, me he encontrado con que no se me muestran dos cosas que me impiden avanzar con el tutorial:

    1.En Opciones de envío / Gestionar gastos de envío adicionales. Por tanto, no me salen ni esas opciones de envío que parece que aparecen por defecto… Pero luego es raro, porque en “Zonas de envío” sí que me deja elegir entre “Precio único”, “Recogida local”, pero no las veo donde debería nestar. Por enredar, he hecho lo suyo pero en Envío / Clases de envío y he añadido ahí la clase de envío. Pero me da que no es lo mismo.

    2.Al configurar los gastos de envío APG no me sale la opción vital de “Elección del tipo variables por la que se va a configurar el envío”.

    ¿Podrías echarme una mano?

    Gracias de antemano de verdad!

    • Juanjo López
      Juanjo López
      | Responder

      Hola Beatriz,
      Ya hemos acualizado el post para la versión del plugin APG 2.0 y la versión de Woocommerce 3.0
      Un saludo

  3. Roberto
    | Responder

    Estimado Juanjo
    Gracias por tu post, pero la verdad es que lo instale, y me sale instalado , pero cuando voy a la opcion de ENVIO de WooCommerce no se ve por ningun lado lo que mostras en el post, y no tengo opcion de crear metodos de envio, ni la opcion de Gastos de envio APG.
    Tengo la version WooCommerce 4,7 .
    Podrias decirme que pasa? Gracias

    • Juanjo López
      Juanjo López
      | Responder

      Hola Roberto,
      la primera pregunta que debo hacer, aunque resulte obvia, es si después de instalarlo has activado el plugin. Y me atrevo a hacerla porque a mí me ha pasado alguna vez…
      Si está activado, comentas que tienes instalada la versión 4.7 de WordPress.
      He visitado en la sección de plugins de WordPress.org el plugin de APG y he visto que es compatible con la versión 4.7 WordPress pero no con Woocommerce 2.5 o anterior.
      ¿es tu caso?
      Y de nuevo, aunque suene obvio otra vez, prueba a desisntarlo y volver a instalar.
      Espero haber podido ayudarte.
      Un saludo

  4. Zazu
    | Responder

    Hola he instalado el plugin y al entrar en ajuntes,en gastos de envio APG me sale el siguiente mensaje de error:

    Fatal error: Uncaught Error: Call to undefined method WC_Shipping_Method::get_instance_form_fields() in /homepages/11/d612505656/htdocs/clickandbuilds/Almanatur/wp-content/plugins/woocommerce-apg-weight-and-postcodestatecountry-shipping/apg-shipping.php:155 Stack trace: #0 /homepages/11/d612505656/htdocs/clickandbuilds/Almanatur/wp-content/plugins/woocommerce-apg-weight-and-postcodestatecountry-shipping/includes/formulario.php(8): WC_apg_shipping->get_instance_form_fields() #1 /homepages/11/d612505656/htdocs/clickandbuilds/Almanatur/wp-content/plugins/woocommerce-apg-weight-and-postcodestatecountry-shipping/apg-shipping.php(151): include_once(‘/homepages/11/d…’) #2 /homepages/11/d612505656/htdocs/clickandbuilds/Almanatur/wp-content/plugins/woocommerce/includes/admin/settings/class-wc-settings-shipping.php(165): WC_apg_shipping->admin_options() #3 /homepages/11/d612505656/htdocs/clickandbuilds/Almanatur/wp-includes/plugin.php(525): WC_Settings_Shipping->output(”) #4 /homepages/11/d612505656/htdocs/clickandbuilds/Almanat in /homepages/11/d612505656/htdocs/clickandbuilds/Almanatur/wp-content/plugins/woocommerce-apg-weight-and-postcodestatecountry-shipping/apg-shipping.php on line 155

    Qué puede ser y qué puedo hacer para solucionarlo?

    • Covalenciawebs
      Juanjo
      | Responder

      Hola, visto lo que nos compartes no nos atrevemos a hacer un diagnóstico… en estos casos puede haber fallado la instalación del plugin o que haya alguna incompatibilidad con otro plugin.
      Prueba a desinstalarlo y volverlo a instalar. Sé que suena básico pero a veces funciona 😉
      Lo mejor es que hagas una consulta a los desarrolladores del propio plugin.
      Un saludo

  5. Félix
    | Responder

    Muy bueno. Sin embargo, voy a lanzar otra pregunta. Queremos vender nuestro producto a Portugal, pero únicamente al territorio dentro de Península Ibérica. ¿Cómo restringir las provincias insulares? Muchas gracias.

    • Juanjo López
      Juanjo López
      | Responder

      Hola Félix, disculpa que haya tardado tanto en contestar. He estado fuera una temporada.
      La dificultad está en que Woocommerce no te deja elegir provincias de Portugal. He encontrado un plugin, Portugal States (Distritos) for WooCommerce, que añade las provincias, pero no he probado si el plugin de APG luego las reconoce a la hora de la configuración.
      Si lo has solucionado sería de gran ayuda que nos contaras la solución. Muchas gracias!!

  6. Alexander
    | Responder

    Estuvo bueno el post.
    Aquí otro método de envío basado en regiones y municipios: http://shop.gopymes.pe/product/woocommerce-shipping-price-by-place/

    • Juanjo López
      Juanjo López
      | Responder

      Muchas gracias por tu aportación!!

  7. Emilio Andrés
    | Responder

    Buenas a todos.
    Me encontraba con un problema, y es que necesitaba configurar un precio único para península, a partir de un precio concreto gratuito y para según qué provincia por kilos. He creado un código para que oculte ambos y muestre precio según peso para Baleares, Canarias, Ceuta y Melilla. El código hay que incluirlo en el archivo functions.php del tema.
    Saludos.

    add_filter( ‘woocommerce_package_rates’, ‘ocultar_envio_por_zonas’, 10, 2 );
    /**
    * Oculta la opción de gasto de envío gratuito para las regiones
    * de Canarias y Baleares, Ceuta y melilla
    */
    function ocultar_envio_por_zonas( $rates, $package ) {
    global $woocommerce;
    $customer_state = $woocommerce->customer->get_shipping_state();
    // Sólo se modifica si está habilitado el gasto de envío gratuito o el precio único
    if ( isset( $rates[‘free_shipping’] ) || isset( $rates[‘flat_rate’] ) ) {
    if( $woocommerce->customer->get_shipping_country() === “ES” ){
    // Comprueba si el destino es Canariasl, Baleares, Ceuta y Melilla
    if(( $customer_state === “GC” ) || ( $customer_state === “TF” ) || ( $customer_state === “PM”) || ( $customer_state === “CE”) || ( $customer_state === “ML” )){
    // Deshabilita la opción de envío grauito si procede o bien el precio único
    unset( $rates[‘free_shipping’] ); unset( $rates[‘flat_rate’] );
    }else{
    if ( isset( $rates[‘free_shipping’] ) ){
    // Sólo muestra la opción de envío gratuito
    $free_shipping = $rates[‘free_shipping’];
    $rates = array();
    $rates[‘free_shipping’] = $free_shipping;
    }else{
    // Sólo muestra la opción de envío gratuito
    $free_shipping = $rates[‘flat_rate’];
    $rates = array();
    $rates[‘flat_rate’] = $free_shipping;
    }
    }
    }
    }
    return $rates;
    }

  8. Santiago Pulido
    | Responder

    Buenas tardes,

    Usé tu tutorial para configurar una tienda de impresoras (http://www.tiendapcprofesional.com/) y ha funcionado perfectamente hasta que me he dado cuenta que si el carro tiene dos impresoras (duplicadas las referencias o con 2 referencias diferentes) no suma los pesos y por tanto me aplica un primer rango de precios de envio.

    Hay algo que no he hecho bien? o es una limitación del plugin?

    Gracias de antemano por hacerme la vida más fácil.

  9. Aranzazu
    | Responder

    Hola, pero entonces, solo se puede configurar para un tipo de tarifa? Quiero decir, yo por ejemplo quiero ofrecer por peso tanto al extranjero como a españa pero con distintas opciones de envio: ordinario, certificado, urgente.. solo se puede poner para una? gracias por vuestro tiempo.

    • Juanjo López
      Juanjo López
      | Responder

      Hemos actualizado el post para responder a esa pregunta.
      Un saludo!

  10. Heather
    | Responder

    Me habeis salvado la vida 😉
    Muchas gracias por este tutorial!!
    Como tambien tenía que crear otra tarifa para Baleares, hice un grupo más de provincias para Baleares.

    • Juanjo López
      Juanjo López
      | Responder

      Muchas gracias por tu comentario. Me alegro de que te haya sido útil.
      Es un plugin potente y se le puede sacar mucho partido.

  11. Luis
    | Responder

    Perfecto el tutorial, si no es por este post imposible hacerlo 🙂 Enhorabuena!

    • Covalenciawebs
      Juanjo López
      | Responder

      Muchas gracias por tu comentario, nos alegramos de que te haya sido útil.

  12. Eva
    | Responder

    Muchísimas gracias por tu respuesta Juanjo. Voy a ver si lo puedo solucionar. Saludos.

  13. Eva
    | Responder

    Gracias por vuestro post, me ha sido realmente útil a la hora de configurar el plugin de APG. Pero tengo una duda: como puedo sumar el peso del embalaje al peso total del envío. Es decir, si el embalaje sin el producto pesa 200 gr. no se como puedo hacer que tenga en cuenta este dato cuando calcula el peso y por consiguiente el coste total del envío.

    • Juanjo López
      Juanjo López
      | Responder

      Gracias Eva, nos alegramos de que te haya sido útil.
      Este plugin no te permite sumar el peso del embalaje. Por otro lado, si sabes cuanto pesa el embalaje puedes calcular cuanto te cobraría tu servicio de envíos para ese peso. Y el plugin te permite poner en el campo “Coste por pedido” una cantidad fija que se le sumará al coste del envío según su peso. Esta solución te vale si tu embalaje pesa siempre igual.
      Si no es así y, a mayor número de productos el embalaje es más grande y pesa más, te queda la solución de poner ese coste extra no como un precio fijo sino como un porcentaje del coste del envío. Ese porcentaje lo pondrías en el campo “Coste adicional”.
      Espero haberte ayudado.

Dejar un comentario