Crear

Cómo agregar departamentos, provincias y distritos al checkout de WooCommerce

Opciones para adaptar el checkout de WooCommerce a las ubicaciones del Perú sin añadir campos innecesarios ni romper los envíos.

Actualizado: agosto de 2026

Checkout de WooCommerce en una laptop con los campos Departamento, Provincia y Distrito completados con Lima y Miraflores.

WooCommerce incluye país, región, ciudad, dirección y código postal, pero no organiza por defecto el checkout con departamentos, provincias y distritos del Perú como muchas tiendas necesitan.

Adaptarlo sirve para calcular envíos, normalizar direcciones y reducir errores. No significa que debas pedir el código oficial de ubigeo al cliente. En la mayoría de tiendas basta con mostrar listas dependientes y guardar los nombres de las ubicaciones.

Qué problema resuelve

Un campo libre de ciudad puede producir variantes como:

  • San Juan de Lurigancho.
  • SJL.
  • San Juan L.
  • Lima.
  • Lima, SJL.

Eso dificulta aplicar tarifas por distrito, exportar pedidos y conectar facturación o logística.

Una estructura ordenada permite:

  1. Elegir departamento.
  2. Mostrar sus provincias.
  3. Mostrar los distritos de la provincia.
  4. Aplicar reglas de entrega.
  5. Guardar una dirección consistente.

Antes de modificar el checkout

Define para qué usarás los campos.

NecesidadConfiguración posible
Solo vender en LimaLista de distritos o zonas de reparto
Vender a todo el PerúDepartamento, provincia y distrito
Cotizar el envío despuésUbicación para validar cobertura
Conectar un courierCampos compatibles con su integración
Emitir comprobantesDatos que solicite el sistema, sin mezclar dirección fiscal y entrega

No añadas DNI, RUC, referencia, fecha de nacimiento o varios teléfonos como obligatorios sin una razón clara.

Opción 1: usar un plugin de ubicaciones peruanas

Es la ruta más sencilla cuando existe un plugin compatible con tu versión de WordPress y WooCommerce.

Antes de instalarlo, revisa:

  • Fecha de actualización.
  • Versiones compatibles.
  • Soporte.
  • Reseñas recientes.
  • Cómo guarda los datos.
  • Compatibilidad con bloques de checkout.
  • Compatibilidad con el plugin de envíos o facturación.
  • Qué ocurre al desactivarlo.

Haz la prueba en staging. Un plugin puede funcionar en el checkout clásico y fallar en el checkout basado en bloques, o modificar nombres de campos que otra integración espera.

No recomendamos un plugin universal porque la compatibilidad cambia. Evalúa el que utilice tu pasarela, facturador o proveedor logístico cuando exista una integración oficial.

Opción 2: usar zonas y métodos de envío

Si solo necesitas tarifas por áreas, quizá no haga falta implementar las tres listas.

WooCommerce permite crear zonas de envío. Puedes combinar:

  • Recojo.
  • Tarifa fija.
  • Envío gratuito bajo condiciones.
  • Métodos ofrecidos por plugins.

Para Lima, una solución puede agrupar distritos por zonas tarifarias. Para provincias, puedes separar departamentos o trabajar con una cotización posterior.

La ventaja es una configuración más simple. La desventaja es que WooCommerce no reconoce cada distrito de Perú de forma nativa, por lo que quizá necesites códigos postales, campos adicionales o un plugin.

Opción 3: desarrollo personalizado

Tiene sentido cuando:

  • El negocio usa reglas propias.
  • Hay integración con ERP, facturación o courier.
  • Se necesita guardar código de ubigeo.
  • Las tarifas dependen de varios campos.
  • El plugin disponible no es compatible.

La personalización debe seguir los hooks y APIs de WooCommerce. Evita editar directamente el núcleo, el tema padre o el plugin: las actualizaciones borrarían los cambios.

Documenta:

  • Nombre de cada campo.
  • Clave con la que se guarda.
  • Si aparece en pedidos y correos.
  • Validaciones.
  • Reglas de envío.
  • Dependencias.
  • Comportamiento si falta JavaScript.

¿Es necesario pedir el código de ubigeo?

Generalmente no. El cliente reconoce nombres, no códigos.

El código puede ser útil internamente para:

  • Facturación.
  • Logística.
  • Bases de datos.
  • Cruces con sistemas externos.

La interfaz puede mostrar Miraflores y guardar además el código correspondiente. No obligues al comprador a buscarlo.

Cómo ordenar los campos

Un orden habitual para productos físicos es:

  1. Nombre y apellidos.
  2. Teléfono.
  3. Correo.
  4. Departamento.
  5. Provincia.
  6. Distrito.
  7. Dirección.
  8. Referencia opcional.

Si el negocio emite factura, muestra los campos correspondientes solo cuando el cliente elija esa opción.

El código postal no se utiliza de forma uniforme en todas las operaciones peruanas. Si tu courier no lo requiere, evita convertirlo en obligatorio.

Configurar tarifas por distrito

No mezcles una lista de distritos con una tarifa plana sin probar todas las combinaciones.

Define una tabla de operación:

ZonaDistritosTarifaPlazo
RecojoPunto definidoS/0Según horario
Zona 1Distritos cercanosSegún operaciónRango informado
Zona 2Distritos intermediosSegún operaciónRango informado
Fuera de coberturaOtrosCotización o bloqueoNo aplica

Los valores deben corresponder con el costo real del negocio. Actualiza la tabla si cambia el operador.

Compatibilidad con facturación

La dirección de entrega y la información fiscal no siempre son lo mismo.

Comprueba qué datos envía la integración:

  • Departamento.
  • Provincia.
  • Distrito.
  • Código de ubigeo.
  • RUC.
  • Razón social.
  • Tipo de comprobante.

Haz pedidos con boleta y factura. Un checkout que se ve bien puede guardar campos vacíos o enviarlos con claves incompatibles.

Revisa la guía sobre facturación electrónica para tiendas online.

Compatibilidad con pagos y bloques de checkout

Algunas personalizaciones antiguas dependen del checkout clásico. WooCommerce también ofrece bloques de carrito y checkout, cuyo sistema de extensibilidad es diferente.

Antes de cambiar el diseño:

  • Confirma qué checkout está activo.
  • Revisa documentación del plugin.
  • Prueba la pasarela.
  • Prueba la validación.
  • Revisa el pedido en el administrador.
  • Revisa correos y facturación.

No cambies al checkout por bloques en producción solo para solucionar el ubigeo.

Pruebas obligatorias

Prueba desde celular y computadora:

  • Departamento con varias provincias.
  • Provincia con muchos distritos.
  • Cambio de selección después de completar la dirección.
  • Distrito fuera de cobertura.
  • Recojo.
  • Tarifa gratuita.
  • Cupón.
  • Pago aprobado y rechazado.
  • Boleta y factura.
  • Correos.
  • Edición del pedido en administración.

Comprueba que el total no cambie de forma inesperada al volver desde la pasarela.

Rendimiento y mantenimiento

Una base de ubicaciones extensa no debería cargarse repetidamente desde servicios externos lentos durante el checkout.

Evita:

  • Llamadas innecesarias a APIs.
  • Duplicar librerías.
  • Cargar todos los distritos en cada página.
  • Plugins abandonados.
  • Código pegado sin documentación.

Después de actualizar WooCommerce, vuelve a probar el checkout. Es una parte crítica de la tienda.

Enlaces relacionados

Fuente técnica