CityFee – City Dropdown & Delivery Fees for WooCommerce
CityFee – City Dropdown & Delivery Fees for WooCommerce

CityFee – City Dropdown & Delivery Fees for WooCommerce

0/5 (0 ratings) — active installs Updated Nov 14, 2026
Classic checkout: the city field is a searchable list of your cities, with the other spelling next to each name.

Classic checkout: the city field is a searchable list of your cities, with the other spelling next to each name.

In many countries couriers price delivery by city, not by postcode, and customers type their city in many different ways. CityFee replaces the free-text city field with a dropdown (a select list) of the cities you deliver to and charges the delivery fee of the chosen city: city-wise delivery charges that you set. It is built for Cash on Delivery stores, but works for any WooCommerce store that ships by city or charges a local delivery fee per city or area.

Cities can be grouped by region (state, province, governorate, wilaya or district) and shown as “City – Region” in the dropdown, so customers find their city quickly in long lists. The city select works in the WooCommerce Checkout block as well as the classic checkout.

Free features

  • City dropdown at checkout instead of a free-text city field, per country, in the classic checkout and the Checkout block, for billing and shipping addresses.
  • The customer can only pick a city from your list, and the choice is checked on the server too.
  • Your own city lists: add, edit, hide and reorder cities in WooCommerce > Settings > Shipping > Cities. An optional “other spelling” (for example the name in Arabic script) is shown next to the name.
  • Paste a whole list at once: one city per line, optionally with its fee. You can copy two columns (city and fee) from a spreadsheet and paste them directly.
  • “Delivery by city” shipping method: a fee per city, a default fee for cities without one, and “not delivered” cities that get no delivery option.
  • The fee updates as soon as the customer changes the city.
  • Change many fees at once (bulk edit for selected cities or a whole country).
  • Cities can also be used as regions in WooCommerce shipping zones.
  • The chosen city is copied into the order and customer address, so emails, invoices and courier exports show a normal city name.
  • Postcode field hidden per country (optional).
  • Compatible with HPOS (High-Performance Order Storage).
  • Translation-ready and right-to-left ready (admin screen and checkout checked in Arabic).

How it works

  1. Go to WooCommerce > Settings > Shipping > Cities, choose a country and add or paste your cities with their fees.
  2. In WooCommerce > Settings > Shipping, add “Delivery by city” to the shipping zone that covers the country, like Flat rate, and set the default fee.
  3. Customers now choose their city from the list and see its delivery fee at checkout.

Starter lists of main cities, grouped by region, are included for 47 countries (from Wikidata, with English, French and Arabic names), including Morocco, Algeria, Tunisia, Egypt, Saudi Arabia, the United Arab Emirates, Oman, Mauritania, Nigeria, Pakistan, Bangladesh and most of Latin America: open the country and click “Load starter list” (all regions or only the ones you deliver to), then edit it to match your courier. For other countries you add or paste your own list.

Already using another plugin for states and cities? If “States, Cities, and Places for WooCommerce” is installed, CityFee can import its lists in one click (see the FAQ). Try CityFee first with “Load demo cities” (7 cities of Mauritania).

CityFee Pro

A paid version, CityFee Pro, adds city groups (for example Zone A / B / C) with one fee per group, free delivery above a cart amount per city or group, hiding Cash on Delivery for selected cities, and full CSV import and export of your city lists. The free plugin works on its own and shows no advertising.

Pricing and a 7-day free trial (no card needed): dssarl.com/cityfee

Privacy

CityFee does not send any data to external services and adds no tracking. City lists and settings are stored in your WordPress database; orders and customer addresses use WooCommerce’s normal fields.

CityFee is developed by Digital Services SARL (https://dssarl.com/).

Getting fake Cash on Delivery orders? Our free plugin OrderProof asks customers to confirm COD orders with a WhatsApp code before you ship.

Questions or problems? Open a thread in the support forum. If CityFee is useful to your store, an honest review helps other store owners find it.

Data sources

Starter city lists are built from Wikidata (https://www.wikidata.org/), available under CC0 1.0 Universal (https://creativecommons.org/publicdomain/zero/1.0/). Selection, codes and corrections by Digital Services SARL, GPLv2 or later. City lists are provided “as is” for convenience; store owners should check names and fees before going live.