Phone numbers
Introduction
Data integrity for phone number(s) is paramount to maintain a valid vendor master file.
Our phone number validation features are designed to assist the end user while entering phone numbers by validating and formatting phone numbers. The goal is to facilitate data entry and improve data quality.
The user may also bypass validation issues if confident the number and format are valid.
In the unlikely event this feature creates too many frustration, turn it off as per the next section, without further risk.
Configuration
Our phone number validation features can be configured from eftsure parameters > User interface > Extend > Phone
Activation

Use the Phone number validation checkbox to enable/disable this feature.
Override format
Use the Option to override phone number formatting:
- No formatting: reflect as per user/vendor onboarding input
- National: Number will be formatted using the standard national format, for example 0412 345 678 in Australia
- International: Number will be formatted with country code, for example +61 412 345 678 in Australia
Phone numbers in National and International formats might contain special characters such as spaces, parenthesis, plus sign ...
Usage
The phone number validation features are available on most phone related controls (Mobile and Landline) throughout the eftsure extension:
Phone number validation controls usually work in pair with the country selection control in order to match the phone number rules of the target country.

If the phone number to be used doesn't match the targetted country, the end user can always prefix the phone number with + CountryCode to avoid failing local conventions:
International phone numbers are always a valid choice for phone number validations, even locally.
Data entry
For local phone numbers (matching country code), the end user can enter the phone number without international country code. If the phone number doesn't match the country conventions, a warning message will be displayed.

For international phone numbers (different from country code), the end user needs to enter the + CountryCode prefix before the phone number.
if the phone number doesn't match the international conventions, a warning message will be displayed.

Data formatting
If the entered phone number is valid, it will be formatted according to Override format:
| Country | Before | Override national | Override international |
|---|---|---|---|
| Australia | ![]() | ![]() | ![]() |
| France | ![]() | ![]() | ![]() |
| United States of America | ![]() | ![]() | ![]() |
Bypass
To avoid user frustration with phone number validation rules, end user can bypass phone number validations, which can be useful in case of outdated library. The following option allows the end-user to activate the phone number validation bypass:

The following option re-enables the phone number validation.

This bypass speeds up issue resolution in case of invalid phone numbers.
Upgrades
We regularly upgrade this library to allow our users to use the latest phone rules and conventions.
International phone number conventions evolve faster than software upgrades and customer environments might start using outdated validation rules over time, causing user frustrations.
About
We use libphonenumber for libphonenumber-csharp to assist in this task.
libphonenumber is Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers.
It is widely used and trusted in the software industry for phone number purposes, and validates phone numbers locally, without sending data to Google or affiliates.
Quicklinks
- Reporting an issue? Want to send a pull request? See the contribution guidelines
- Check the frequently asked questions
- Fun! Falsehoods Programmers Believe About Phone Numbers






