Localization
The work of making an ERP legally and practically usable in a specific country. It is a permanent, ongoing effort, not a one-time translation project.
The four layers
1. LANGUAGE translation, character sets, RTL, sorting
2. FORMATTING dates, numbers, currency, addresses, names
3. LEGAL tax, statutory reporting, e-invoicing, payroll, labour law
4. BUSINESS local practices, payment methods, calendars, industry norms
Layer 3 is where the effort and the risk are. Layers 1 and 2 are solved problems; layer 3 changes every year, per country, and non-compliance has legal consequences.
Language
- Translation of UI labels, messages, help text, and printed documents
- Text expansion — German is ~30% longer than English; design layouts for it
- Complex scripts — Bengali, Devanagari, Thai, Arabic need proper shaping and font support, not just a Unicode string
- RTL layouts — Arabic and Hebrew mirror the entire interface, not just text direction
- Mixed direction — a Bengali invoice with Latin product codes and Arabic numerals is where naive implementations break
- Locale-aware sorting — collation differs; German ä sorts differently in a phone book than in a dictionary
- Document language — the recipient’s language, not the user’s. A German customer gets a German invoice from an English-speaking clerk
Always test with real text in the target script, not “test test test”. Font coverage and shaping problems only appear with real content.
Formatting
Dates: 15/03/2026 15.03.2026 03/15/2026 2026-03-15 15-Mar-2026
Numbers: 1,234.56 1.234,56 1 234,56 1'234.56
Indian/BD: 12,34,567.89 ← lakh/crore grouping, not thousands
Currency: $1,234.56 1.234,56 € ¥1,235 (0 dec) ৳1,234.56 1,234.560 KWD (3 dec)
Negatives: -1,234.56 (1,234.56) 1,234.56-
Addresses: postcode before or after city, state/province present or absent,
building-first or street-first, 2 to 6 address lines
Names: given/family order, patronymics, multiple family names,
no family name at all, honorifics
Phone: E.164 for storage; local formatting for display
Store canonical, display localised. Dates as DATE, numbers as NUMERIC, phones as E.164, countries as ISO 3166. Format at the presentation layer only. Storing a formatted string is a decision you will regret.
Calendars
| Calendar | Where |
|---|---|
| Gregorian | Default |
| Hijri (Islamic) | Saudi Arabia and Gulf states — official in some contexts |
| Bengali (Bangla) | Bangladesh — cultural, some official use |
| Buddhist Era | Thailand — official, year = Gregorian + 543 |
| Japanese eras | Japan — Reiwa, Heisei; official documents |
| Hebrew | Israel |
| Persian (Solar Hijri) | Iran, Afghanistan |
Plus: the working week differs. Sunday–Thursday in Bangladesh, Saudi Arabia, and several others; Monday–Friday in most of the West; Sunday–Thursday in Israel. A system defaulting to Mon–Fri computes every lead time and promise date wrong in those countries. See Periods and Calendars.
Public holidays are per country and often per region, change annually, and some (Eid, Chinese New Year) move on the Gregorian calendar. Calendars must be maintained years ahead, with a monitoring alert when they run short.
Legal localisation — the hard part
Tax
Every country’s VAT/GST/sales tax rules, rates, codes, reporting, and e-invoicing. See Tax and E-Invoicing.
Chart of accounts
Some countries mandate a national chart:
- France — Plan Comptable Général
- Belgium, Spain, Portugal, Poland, Romania — prescribed charts
- China — prescribed structure
- Germany — SKR03/SKR04 (conventional, not legally mandated, but universal)
Your operating chart maps to the local chart via alternative account numbers.
Statutory reporting
- Financial statements in the mandated local format
- SAF-T (Portugal, Poland, Norway, Lithuania, Romania, and spreading) — a prescribed XML dump of the full ledger
- Central bank reporting (foreign exchange, cross-border transactions)
- Statistical reporting (Intrastat in the EU)
- Local GAAP differences from IFRS
Payroll
The deepest localisation of all. Income tax, social security, pension, statutory leave, termination rules, minimum wage, overtime rules, union agreements, and year-end certificates — all different, all changing annually.
Never build payroll for a country you don’t have expertise in. Buy it.
Document requirements
Invoice content requirements vary and are legally binding:
India GSTIN of both parties, HSN codes, place of supply, IRN + QR code
Bangladesh Mushak 6.3 format, BIN, serial number, amount in words
Brazil NF-e with government authorisation before goods may move
Italy SdI clearance
Saudi ZATCA-compliant with cryptographic stamp and QR
EU VAT number of both parties for intra-community supply,
the specific exemption wording where zero-rated
Get invoice content wrong and the customer cannot reclaim input tax — which means they will call you, and possibly refuse to pay until it’s fixed.
Banking
Payment file formats, bank account structures (IBAN vs national formats), payment methods, and central bank reporting on cross-border payments.
Business practice localisation
| Country/region | Practice |
|---|---|
| Japan | Consumption tax rounding conventions; the hanko/seal culture (now digitising); precise payment date conventions |
| India | GST with state-wise registration; e-way bills for goods movement; TDS withholding |
| Bangladesh | Bonded warehouse and back-to-back LC for RMG exports; VDS/AIT withholding; Mushak forms; bank-heavy trade finance |
| Middle East | Hijri dates; Sunday–Thursday week; Ramadan working hours; letters of credit |
| China | Fapiao (official tax invoices, physically controlled); Golden Tax System integration |
| Brazil | NF-e clearance before goods move; extremely complex multi-level tax (ICMS, IPI, PIS, COFINS) |
| Germany | GoBD requirements for digital record-keeping; strict works council involvement |
| US | Sales tax by 13,000+ jurisdictions; 1099 reporting; state-level payroll |
The template vs local variant problem
The central governance question for any multinational rollout:
GLOBAL TEMPLATE LOCAL VARIANT
Common processes Statutory requirements only
Common master data structure Local tax codes and accounts
Common chart of accounts Local chart mapping
Common reporting Local statutory reports
Local payment formats
Local language
Rule: local variants are for LEGAL requirements only,
never for "we've always done it this way here."
Without that rule, you get 14 different systems sharing a logo. With it too rigidly applied, you get a system that’s illegal in three countries. A template governance board with real authority — able to say no to preference and yes to law — is what makes the distinction hold.
Sources of localisation
| Source | Notes |
|---|---|
| Vendor localisation packages | SAP, Oracle, Dynamics ship country versions. Check which countries before committing |
| Partner localisation | Local partners fill gaps the vendor doesn’t cover |
| Specialist add-ons | Tax engines, e-invoicing providers, payroll providers |
| Custom development | Last resort; you own the maintenance forever |
Check localisation coverage before selecting an ERP for a given country. A product with no Bangladesh localisation means you build Mushak forms, VDS, and bonded warehouse reporting yourself — and maintain them as NBR rules change. That cost belongs in the selection decision, not discovered in month eight.
Maintenance — the ongoing cost
Localisation is never finished:
Annually or more often:
- Tax rates change
- Payroll tax bands and social security rates change
- Statutory report formats change
- E-invoicing schemas version
- New compliance mandates appear
- Public holiday calendars need extending
- Minimum wage and labour rules change
Budget for it as a permanent operational line item. A common failure: a project ends, the team disperses, and eighteen months later the tax return format changed and nobody noticed until the filing was rejected.
Assign an owner per country who monitors the relevant authority’s announcements. For vendor-supplied localisation, that means applying legal change packages promptly — they’re released for a reason and often close to a deadline.
Developer checklist
- All text externalised for translation; nothing hardcoded
- UTF-8 end to end; tested with the target script
- Fonts embedded in PDFs, with coverage for the target script
- RTL layout tested if applicable
- Dates, numbers, and currency formatted by locale, stored canonically
- Currency decimal places from the currency, never assumed to be 2
- Working week and holidays from the factory calendar, never hardcoded
- Address format flexible (variable line count, optional state/postcode)
- Name handling flexible (no assumed first/last split)
- Tax rates and codes are dated master data
- Document layouts meet the local legal content requirements
- Localisation coverage confirmed for every country in scope
- A named owner per country for regulatory change monitoring