Shipping Cost by Zip Code — Postal Code Based Shipping Fees - Module PrestaShop

PrestaShop Zip Code Shipping Module: Automate Your Custom Shipping Rates and Protect Your Margins

+39 downloads 4.89 / 5 9.X 8.X 5 languages 🇫🇷 FR 🇬🇧 EN 🇮🇹 IT 🇪🇸 ES 🇵🇱 PL

Apply different shipping fees based on postal codes of your customers. This PrestaShop shipping module lets you create unlimited delivery zones by zip code and configure shipping rates per carrier for each zone.

Calculate shipping costs by weight or cart amount, set percentage-based fees, offer free shipping per zone or above a threshold, and disable delivery for restricted areas. Supports postal code ranges, CSV import/export, multistore and multilang.

Fully transparent at checkout — shipping fees are automatically calculated based on the customer's postal code. Compatible with PrestaShop 8.x and 9.x.

Features

Everything you need, nothing you don't.

Unlimited delivery zones by postal code with granular pricing.

Zones by postal code

Create delivery zones based on postal codes, not countries.

Rates by weight and amount

Set up price tiers by weight or cart amount.

CSV import/export

Import your zones and rates in bulk via a CSV file.

Unlimited number of zones

Create as many zones as needed to cover your territory.

Multi-carrier compatible

Associate postal code zones with different carriers.

Fair rates for every customer

No more identical shipping fees for London and the Highlands.

Customer reviews

They use it every day.

5 out of 5 · 4.89 reviews

"Exactement ce qu'il me fallait. Le module fonctionne parfaitement depuis le premier jour."

AB Antoine B.

"Ottimo modulo, facile da installare. Il supporto ha risposto in meno di un'ora."

MV Marco V.

"Works flawlessly on PrestaShop 9. Clean code and great documentation."

SL Sarah L.

"Muy buen modulo, cumple con lo prometido. Me gustaria ver mas opciones de personalizacion."

PG Pablo G.

"Bardzo przydatny modul. Oszczedza mi duzo czasu kazdego dnia."

KW Katarzyna W.

"Brilliant plugin. Set it up in under 15 minutes and it just works."

TH Thomas H.
description Full description expand_more

Shipping Cost by Zip Code — Advanced Postal Code Based Shipping Fees for PrestaShop

Managing shipping costs accurately is one of the biggest challenges for online merchants. By default, PrestaShop only allows you to set shipping fees by zone and country, which is often too broad. A delivery to a remote mountain village should not cost the same as a delivery to a major city center — even within the same country.

The Shipping Cost by Zip Code module solves this problem by giving you full control over your shipping rates based on postal codes. Create custom delivery zones by zip code, assign specific shipping fees per carrier, and let the module handle everything automatically at checkout.

🎯 How Does It Work?

The module introduces a simple but powerful concept: postal shipping zones. Instead of relying on PrestaShop's default zone system, you create your own zones based on zip codes or postal code ranges. Each zone can have its own shipping rates, its own carriers, and its own rules.

When a customer enters their postal code at checkout, the module automatically matches it to the correct zone and calculates the shipping cost accordingly. The process is 100% transparent — no extra dropdown, no region selection, no additional steps for the customer.

📦 Key Features

Unlimited Delivery Zones by Postal Code

Create as many shipping zones as you need. Split a country into regions, departments, cities, or any custom area. Each zone is defined by one or more postal codes — individually or as numeric ranges (e.g., 75001 to 75020 for Paris, 97100 to 97490 for French overseas territories).

Flexible Shipping Rate Configuration

For each zone, configure shipping fees per carrier with full flexibility:

  • Calculation by weight — set shipping rates based on the total weight of the cart (e.g., 0–5 kg = €5.90, 5–10 kg = €8.50)
  • Calculation by cart amount — set shipping rates based on the order total (e.g., €0–€50 = €6.00, €50–€100 = €3.00)
  • Percentage-based fees — charge a percentage of the cart total instead of a flat rate (e.g., 3% of the order amount)
  • Unlimited ranges — create as many weight or price ranges as needed per carrier per zone

Free Shipping Options

Offer free shipping for specific zones, specific carriers, or automatically when the cart amount exceeds a defined threshold. Ideal for boosting conversions and encouraging higher order values.

Disable Delivery for Specific Areas

Need to block delivery to certain postal codes? Simply enable the "Delivery disabled" option on a zone. Carriers managed by the module will not appear at checkout for customers in that area. Perfect for restricted delivery zones, remote areas, or regions you don't ship to.

Zone Priority System

If a postal code belongs to multiple zones (e.g., a general "South of France" zone and a more specific "Marseille" zone), the module uses a priority system. The zone with the highest priority (lowest position number) wins. This gives you precise control over overlapping areas.

CSV Import & Export

Managing hundreds of postal codes? No problem. Use the built-in CSV import feature to bulk-create zones, postal code ranges, and shipping rates in one go. A sample CSV file is included. You can also export your entire configuration as a backup or to duplicate it across stores.

Multistore & Multilang Support

The module is fully compatible with PrestaShop's multistore feature. Each shop can have its own set of delivery zones and shipping rates. Zone names support multiple languages for international stores.

🛒 Seamless Checkout Experience

Your customers don't need to do anything special. The shipping fee is automatically calculated when they enter their postal code during checkout. There is no extra step, no dropdown to select a region — the module works silently in the background. Compatible with both standard checkout and one-page checkout.

⚙️ Easy Back-Office Management

The module integrates directly into your PrestaShop back-office under the Shipping menu, with a dedicated "Shipping by Zip Code" tab. The interface follows PrestaShop's native design patterns for a familiar experience:

  • Zone list — view all your delivery zones at a glance with postal code count, carrier count, active status, and drag-and-drop position sorting
  • Zone editor — a single page to manage zone settings, add postal codes, and configure carrier pricing with dynamic forms
  • CSV import screen — upload and validate your CSV files with a detailed import report

🔧 Technical Details

  • Module type: CarrierModule (integrates natively into PrestaShop's shipping calculation pipeline)
  • No core overrides — the module does not modify any PrestaShop core files
  • Lightweight — optimized SQL queries with caching to avoid performance impact
  • Carrier safe — uses id_carrier_reference instead of id_carrier, so your configuration survives carrier edits
  • Numeric postal codes only — supports countries with numeric postal codes (France, Spain, Germany, Italy, USA, etc.)
  • Fallback behavior — configurable: when no zone matches, either use standard PrestaShop shipping fees or block delivery entirely
  • Clean uninstall — all module data is removed on uninstall with no leftovers

💡 Common Use Cases

  • Different shipping fees for overseas territories — charge higher rates for DOM-TOM (97xxx) while keeping mainland France affordable
  • Free delivery in your local area — offer free shipping for postal codes near your warehouse
  • Block delivery to remote areas — disable shipping to mountain regions or islands where carriers charge premium rates
  • Tiered pricing by region — charge less for nearby cities and more for distant regions, all within the same country
  • Percentage-based shipping for high-value orders — charge 2% of cart total instead of flat rates for premium zones
Comparaison

Why choose us?

See how we compare to the most common alternatives on the market.

Feature Addons
Transparent pricing
Lifetime updates included
Direct developer support
PS 1.7, 8 & 9 compatible
Standardized clean code
Multi-store ready
No hidden renewal fees
Included Not included Partial / Not guaranteed
Support

FAQ

Find answers to frequently asked questions about this module

This module allows you to apply precise shipping fees based on the customer's zip code, rather than being limited to PrestaShop's native zones/countries. Specifically, you create postal zones (e.g., "city center", "mountain area", "remote islands"), associate individual zip codes or ranges, and define rates per carrier. At checkout, the module detects the zip code and automatically calculates the correct amount. This improves UX by showing credible fees and handling carrier surcharges for remote areas seamlessly.

The module follows a simple logic: one zip code → one zone (the best match). You can define general zones (e.g., "South") and specific ones (e.g., "London"). If a zip code matches multiple zones, a priority system decides: the highest-ranked zone (lowest position) wins. This prevents conflicts when stacking rules, ensuring a clear and scalable system.

Yes. The best way is to manage rates by carrier and zone. For each pair, you choose a calculation method: by weight (e.g., 0–5 kg, 5–10 kg…) or by cart total (e.g., £0–£50, £50–£100…). You can create as many ranges as needed to match your carriers' actual rate sheets, allowing for competitive pricing while securing margins on heavy items.

Yes, and it's a powerful conversion tool. Besides fixed fees, you can apply a percentage of the cart total (useful for high-value items where insurance costs follow the price). For free shipping, you can offer it by zone (e.g., "local") or threshold (e.g., "free over £100"). This boosts conversion and average order value while excluding remote areas from free shipping offers.

The module includes a "non-deliverable zone" mode. You define a zone for zip codes to exclude (remote islands, inaccessible areas, etc.) and enable the option: at checkout, carriers will simply not appear for those addresses. This is much better than late error messages, preventing orders you cannot fulfill and maintaining customer trust.

The behavior is configurable. You can use standard PrestaShop fees as a fallback (good for starting out) or block shipping if no zone matches (for strict logistical control). Best practice is to start with the fallback and monitor uncovered zip codes to refine your zones over time.

No, it doesn't create new carriers: it uses your existing ones and adjusts their cost based on the zip code. For the customer, it's invisible: no extra fields, just accurate pricing after entering the address. Fully compatible with standard and One Page Checkout modules.

CSV import is for managing hundreds of zip codes quickly. Work in UTF-8 with ";" as a separator. Existing zones with the same name are reused to prevent duplicates, allowing you to update rates in bulk without breaking your setup.

Compatible with PrestaShop 8.x and 9.x, supports multistore and multilingual setups. No core overrides, making it very robust. For high-performance stores with many rules, using zip code ranges is recommended over thousands of single entries.

Limitation: only numeric zip codes are supported (not suitable for UK/CA alphanumeric codes). Best practices: start with 3–6 zones, enable standard fee fallback initially, use ranges for easier maintenance, and test with representative addresses.

Join +39 merchants using this module

5-minute installation · Full documentation included

inventory_2 Module 9.90 € 2.97 € one-time -70%
Choose your license
3 months of support for 0.99€ · then 1.99€/month
  • Response within 24 business hours
  • 🔧 Installation & configuration assistance
  • 💬 Direct contact with the developer
No commitment · Cancel in 1 click from your account
Instead of --€/year if purchased separately
Loading...