Phone Flags

v1.4.8 Annual Subscription Updated Aug 25, 2026

Phone Flags

Turns every phone field into an input with country flags, auto-formatting and live validation, so stored numbers are always international.
Hyvä Compatible Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
€79.00
Try the live demo
  • Updates and support included for 12 months
  • License key delivered immediately by email
  • 30-day money-back guarantee
  • Full documentation included
  • Compatible with Hyvä themes
  • Composer-ready installation

Phone Flags

Capture clean, international phone numbers without ever asking your customers to remember a dial code. This module turns every phone field in your store — checkout, customer account, registration, contact form — into an intuitive input with country flags, auto-formatting, and live validation, so that what lands in your database is always callable, regardless of where the customer lives.

Bad phone numbers are one of the most under-rated causes of failed deliveries, undeliverable Mondial Relay parcels, and wasted support time. By making the format unambiguous at entry, this module fixes the problem at the source instead of asking your support team to clean up afterwards.

Who it's for

  • Cross-border merchants whose customers come from multiple countries and can't all be expected to know the international format
  • Stores using carrier integrations (Mondial Relay, Bpost, DPD…) that depend on a valid phone number in the destination country
  • B2C merchants who want a smooth, modern checkout that matches the experience customers see on their banking or travel apps

Key benefits

  • Country flags in every form — checkout shipping/billing, customer account address book, registration, and contact page. One consistent UX across the whole store.
  • Live formatting & validation — phone numbers are formatted as the user types and validated on blur, with a clear error message if the number isn't valid for the selected country.
  • Smart country list — pin your preferred countries at the top of the dropdown, hide irrelevant countries, or restrict the list to a specific set. Optional GeoIP detection pre-selects the visitor's country.
  • Mondial Relay safeguard — shows a warning at checkout when the phone country doesn't match the shipping country, so the relay point can actually reach the customer.
  • Mobile-friendly — full-screen country picker on mobile, retina flag sprites, no jQuery dependency.
  • Plug & play — works on standard Magento and Hyvä-equivalent address forms without theme surgery.

Compatibility

  • Magento 2.4.x / Mage-OS equivalent
  • PHP 8.1, 8.2, 8.3
  • Requires wimakeit/module-core 3.0 or later
  • Works on Luma frontends; Hyvä projects can reuse the JavaScript helper
  • Compatible with Full Page Cache (validation runs client-side)

Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.

Terminal
$ composer require wimakeit/module-phone-flags:^1.4.8
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Required dependency

This module requires wimakeit/module-core 3.0 or later. Composer will pull it automatically from the Wimakeit registry as long as the registry is declared in your project's composer.json.

ACL permission

A single configuration ACL resource is registered, attached to the standard Stores → Configuration tree:

ResourceDefault
Wimakeit_PhoneFlags::configgranted to Administrator role only

Configuration

The module ships with safe defaults tuned for a Benelux audience. Go to Stores → Configuration → Wimakeit → Phone Flags only if you want to change them.

General settings

SettingDefault
Enable Phone FlagsYes
Default CountryBE
Preferred Countries (top of dropdown)be, fr, nl, de, lu
Only Countries (whitelist)empty (all countries)
Excluded Countriesempty
Show Dial Code SeparatelyNo
National ModeNo
Auto Placeholderpolite

Validation settings

SettingDefault
Validate on BlurYes
Strict Mode (only valid characters accepted)Yes

GeoIP detection

SettingDefault
Enable GeoIP DetectionNo

Enable GeoIP only if your hosting stack provides a country-resolution layer (Varnish + GeoIP module, Cloudflare headers, etc.). Without one, leave this off and rely on the Default Country.

Mondial Relay integration

SettingDefault
Show Phone Mismatch NoticeYes

The notice only appears when a Mondial Relay shipping method is selected and the phone country differs from the shipping country. No action needed if you don't use Mondial Relay.

Version
v1.4.8
License
Annual Subscription
Support
12 months
Last updated
Aug 25, 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Compatible
Package
wimakeit/module-phone-flags

Compatibility checker

Pick your stack to see if this module fits.

Compatibility 4

Yes. Phone Flags is tested against Magento Open Source 2.4.4 → 2.4.7, Adobe Commerce on the same line, and Mage-OS 2.0+ — on PHP 8.1, 8.2 and 8.3. The Specifications tab lists the exact tested combinations. If your stack is in the list, we guarantee a clean install. Wimakeit is an Adobe-certified Magento agency based in Presles (Charleroi / Namur region), Wallonia, Belgium and runs every module against the same matrix we ship to enterprise clients across Belgium, France and the Netherlands.
Yes — fully. Phone Flags ships a native Hyvä-compatible frontend (Tailwind + Alpine.js) and integrates with Hyvä Checkout when applicable. No companion fallback module needed. Every Hyvä-marked module is built and maintained by the same Wimakeit team that ships Hyvä builds for production stores.
Hyvä Storefront (Tailwind + Alpine.js, server-rendered) and Hyvä Checkout (React-based, headless on top of Magento) are two distinct packages. Phone Flags ships native Hyvä Storefront compatibility — its frontend is rendered through Hyvä templates with no Luma fallback. Hyvä Checkout integration is delivered when the module has a checkout-step touchpoint (custom payment input, terms checkbox, etc.); otherwise the module runs server-side without any Hyvä Checkout customisation needed. See the Specifications tab for the exact Hyvä integration scope of this module.
Yes. Phone Flags respects the standard Magento scope (default / website / store / store_view). Every configuration is overridable per store view. Frontend labels use Magento's standard translation files — shipped in French, English and Dutch out of the box. Currencies follow your Magento currency setup with no extra wiring. A typical Wimakeit Magento store runs an fr_BE / nl_BE / en_GB triplet from a single backend — Phone Flags is ready for this B2B / international setup.

Pricing & licensing 4

€79 — one-time payment, perpetual licence, no recurring fees. Includes 1 year of minor updates + email support in French, English and Dutch, 1 production domain + 1 staging/dev domain. Renewing the support window after year 1 is optional. Volume licences are negotiated directly — write to contact@wimakeit.com for agency or multi-store pricing.
Yes. Phone Flags has a live demo on demo.wimakeit.be/module-phone-flags where you can poke around the admin and frontend with a real install pre-populated with sample data. For longer evaluations, request an evaluation licence via our contact form — evaluations cover the same scope as the paid licence and convert to a permanent key on purchase.
We review refund requests case by case. If the module doesn't deliver what was advertised, email contact@wimakeit.com from the address tied to your licence. The refund policy is published on the terms page and applies to every module sold through this marketplace.
Phone Flags is distributed under a commercial proprietary licence — not MIT, GPL or any other open-source licence. The PHP source ships in vendor/wimakeit/ once you composer require the package, so you can read it, audit it, and patch it locally for your own Magento install. You may NOT redistribute it, sublicense it, publish it on a public package registry, or sell it on. One licence = one production domain + one staging/dev domain (see terms for the full EULA). Wimakeit modules are NOT part of Magento's open-source repository on packagist.org — they are distributed exclusively via the private Composer registry packages.wimakeit.be.

Installation & updates 6

Run composer require wimakeit/module-phone-flags:^1.4.6, then bin/magento setup:upgrade, bin/magento setup:di:compile, and finally bin/magento cache:flush. The Installation tab on this page lists every configuration step (ACLs, cron jobs, default values) so a deploy takes minutes, not hours. If you need a hand, Wimakeit offers Magento installation services from our Wallonian office (Presles, between Charleroi and Namur).
Step 1: get a token on packages.wimakeit.be → My account → Tokens. Step 2: at the root of your project add to auth.json: {"http-basic": {"packages.wimakeit.be": {"username": "YOUR-EMAIL", "password": "YOUR-TOKEN"}}}. Step 3: register the repo: composer config repositories.wimakeit composer https://packages.wimakeit.be. Step 4: composer require wimakeit/module-phone-flags:^1.4.6. In CI/CD pipelines, inject COMPOSER_AUTH as a JSON env var instead of committing auth.json.
Most merchants are live within 30 minutes: composer install (1-2 min) → setup:upgrade + di:compile (5-10 min depending on stack size) → admin configuration (5-15 min following the Installation tab) → smoke test on a product or order. Allow extra time if you have a custom theme overriding similar templates. The Wimakeit team has shipped this exact module to B2B and DTC stores across Belgium.
Phone Flags is built for Magento 2.4.x / Mage-OS 2.0+ and has no Magento 1 equivalent. When migrating from Magento 1, the Wimakeit team handles the audit, the data migration and the integration of Phone Flags into the new backend as part of a Magento migration project. Migrating from Adobe Commerce to Mage-OS is transparent for Phone Flags: same composer require, same module code, same database schema — no fork to maintain, no licence change.
Updates ship through your composer dependency (this exact package), hosted on Wimakeit's private Composer repository at packages.wimakeit.be. Each release is announced on the Changelog tab + the Wimakeit news and follows semantic versioning — composer update is safe within a major.
All .phtml templates are overridable from your theme: copy the file into app/design/frontend/{YourVendor}/{theme}/Wimakeit_{Module}/templates/ keeping the same relative path. Blocks, ViewModels and Helpers are overridable via DI preference in your own custom module — declare <preference for="Wimakeit\…\OriginalClass" type="YourVendor\Override\Class" /> in etc/di.xml. Layout XML is extended (preferred) or overridden the standard Magento way. Wimakeit modules never use the final keyword on classes you might reasonably want to override — overriding is a first-class scenario, not a hack.

Support & security 3

Open a ticket through the contact form on wimakeit.be or email contact@wimakeit.com with the module name, version, Magento/Mage-OS version and the steps to reproduce. Fixes ship in the next patch release. Wimakeit support is staffed in French, English and Dutch on business days (CET working hours).
Send security reports privately to contact@wimakeit.com with a clear [SECURITY] subject prefix — please include the module name, version and the steps to reproduce. We acknowledge promptly on business days and credit reporters in the Changelog if they wish. Wimakeit is a Belgian SRL (société à responsabilité limitée) bound by Belgian and EU privacy and disclosure law.
Yes. Phone Flags stores only the data its feature scope requires, never tracks shoppers across sites, and ships zero third-party calls by default. Combine it with the Wimakeit GDPR module to publish cookie banners and data-subject request forms compliant with Belgian, French and Dutch DPA guidance. Wimakeit's EU-based hosting partners (OVH Roubaix / Gravelines, Cblue Gembloux) keep every customer's data inside the EU.

About Wimakeit 1

Wimakeit is an Adobe-certified Magento partner agency based in Presles, Wallonia (between Charleroi and Namur), Belgium, building Magento and Mage-OS stores since 2020 across BE / FR / NL. Every module on this marketplace runs in production on at least one Wimakeit client (we eat our own dog food). Direct line to the developers who built the code, multilingual support (FR / EN / NL), CET business hours, no offshore handoff. See our portfolio for the kind of Magento builds we ship.

Found something not covered by the FAQ?

Report a bug or ask a question — the form is prefilled with this module.

Report a bug

Changelog

Categories: Security, Feature, Fix, Perf, Admin, Deps.

[1.4.8] - 2026-06-05

Deps

  • Marketing documentation refreshed to list PHP 8.4 in the supported PHP range.

[1.4.7] - 2026-06-05

Deps

  • PHP 8.4 certified — constraint widened to >=8.1 <8.5.

[1.4.6] - 2026-05-08

Admin

  • Admin menu group standardized — module appears under a top-level Wimakeit_PhoneFlags entry with a Settings child that opens directly on the configuration section.
  • Config section path renamed from phoneflags to wimakeit_phone_flags for consistency with the other Wimakeit modules. A data patch migrates existing core_config_data rows automatically on setup:upgrade — no manual reconfiguration needed.

[1.4.5] - 2026-04-29

Deps

  • Certified PHP 8.1 → 8.3 support. Composer php constraint tightened to >=8.1 <8.4.

[1.4.4] - 2026-04-14

Admin

  • Composer/Satis distribution archives now exclude internal files (.gitlab-ci.yml, .claude/, docs/, .gitattributes).

[1.4.3] - 2026-04-14

Admin

  • Configuration access refactored from Helper\Config to Model\Config (extends AbstractConfig from wimakeit/module-core) — typed getters and consistency with the other Wimakeit modules. The legacy helper is removed.

[1.4.2] - 2026-04-07

Feature

  • Native Breeze frontend support. New breeze_default.xml layout registers Breeze JS bundles, ships Breeze-native phone-init.js and customer-address-phone.js widgets, and adds Breeze-compatible LESS styles with the @critical guard.

Deps

  • Depends on wimakeit/module-core for shared config abstractions.

[1.4.1] - 2026-03-17

Admin

  • Internal release pipeline consolidated (single auto-tag block).

[1.4.0] - 2026-01-25

Fix

  • Flag images failing to load on stores with non-default pub/static paths — asset import path corrected.

[1.3.0] - 2026-01-25

Fix

  • Country-code import on customer save no longer fails when the address has no country selected.

[1.2.0] - 2026-01-25

Feature

  • Customer account support — phone-flags input now renders on the customer address form (My Account → Address Book) in addition to checkout.
  • Country sync — the selected country in the address auto-updates the flag/dial-code prefix without a page reload.
  • Enhanced admin configuration — defaults for preferred country, allowed countries and dropdown behaviour are now exposed in the admin.

[1.0.0] - 2025-12-18

Feature

  • Initial release of Wimakeit Phone Flags for Magento 2 / Mage-OS.
  • Renders phone-number inputs with a flag-and-dial-code prefix on the checkout shipping/billing form (intl-tel-input behaviour, no third-party JS dependency).
  • Validates the entered number against the chosen country's format on submit.
  • Stores the E.164-formatted number alongside the entered value so downstream integrations (SMS, CRM) always get a usable number.

Found a bug? Tell us about it.

A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.

Report a bug for Phone Flags
Module SKU: wimakeit-module-phone-flags · Language: en_US

Need help?

Our team is available to assist with integration.

Contact us
Planifier un appel