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
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.
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.
They use it every day.
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_referenceinstead ofid_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
Why choose us?
See how we compare to the most common alternatives on the market.
| Feature | WePresta | Addons |
|---|---|---|
| payments Transparent pricing | check_circle | cancel |
| update Lifetime updates included | check_circle | cancel |
| support_agent Direct developer support | check_circle | cancel |
| verified PS 1.7, 8 & 9 compatible | check_circle | help_outline |
| code Standardized clean code | check_circle | cancel |
| storefront Multi-store ready | check_circle | help_outline |
| money_off No hidden renewal fees | check_circle | cancel |
FAQ
Find answers to frequently asked questions about this module
Join +39 merchants using this module
5-minute installation · Full documentation included
demo@demo.com
content_copy
/
demodemo
content_copy