Appearance
Country rules & sales channels
For merchants
If you run several storefronts — say one for Nigeria and one for Kenya — some of the plugin's behaviour can differ per storefront, and one rule can differ per country. This page says which, and how the values combine.
What can differ per storefront
Choose the storefront in the Sales Channel drop-down at the top of the plugin configuration, change the value, Save.
| Setting | Per storefront? | Notes |
|---|---|---|
| Additive address fields | Yes | Shown and saved only in storefronts where it is on. |
| Administrative-division hierarchy — drop-down and endpoints | Yes | The Local division drop-down also needs Additive address fields on in that storefront. |
| Administrative-division hierarchy — import | No | The import reads the All Sales Channels value. |
| Phone normalization | Yes | |
| Reference data | No | The import reads the All Sales Channels value. Countries, states and currencies are shared by all storefronts anyway. |
| Enable debug logging, Log levels | Yes | No entries are written in 0.1.0 — see Configuration. |
| Administrative-division depth | See below |
Example: to show the extra address fields only in your Ghana storefront, leave Additive address fields off under All Sales Channels, choose the Ghana storefront, switch it on, Save.

Rules per country: division depth
Administrative-division depth is the plugin's one country rule: how many tiers of local divisions a country is expected to have below the state (Nigeria: LGA and ward = 2). The plugin works it out from up to three layers, the most specific one that is set winning:
Global — Country rules → Administrative-division depth under All Sales Channels.
Per country — a system-configuration key with the country's ISO code, set on the command line:
bashbin/console system:config:set KmhAfricaCommerceCoreSW.country.NG.divisionDepth 2 bin/console system:config:set KmhAfricaCommerceCoreSW.country.GH.divisionDepth 0Per storefront — Administrative-division depth with a storefront chosen in the drop-down. It applies to every country in that storefront, and only counts when it differs from the global value.
Unset everywhere means 0 (no divisions expected).
No visible effect in 0.1.0
Only the plugin's address validator reads this rule, and nothing in the plugin calls the validator yet: customers see no hint and nothing is blocked whatever you set. The shipped validator also asks for global and per-country values only, so a per-storefront value is not used. The setting is in place for extensions built on the plugin — see Developer docs.
What is the same for every storefront
Countries, states, currencies and local divisions are shared Shopware data: one import serves all storefronts. Which countries a storefront offers is Shopware's own setting, Sales Channels → your storefront → General → Countries. Postal-code and state settings per country are under Settings → Shop → Countries.