Loading article…
Loading article…
Last updated on Aug 26, 2026
Once you've created Languages, set one as primary, and given customers locales, it helps to know how Advanced Billing decides which translation appears on a given invoice.
Advanced Billing builds each invoice by layering translations, starting from its own English defaults and applying progressively more specific matches on top. A more specific layer replaces a value only where it actually defines one. Anything it leaves blank falls through to the layer beneath, so a single invoice can draw its wording from several Languages at once.
How Advanced Billing resolves a translation for one field
| Priority | Layer | Applies when |
|---|---|---|
| 1 | Full locale custom translations | The customer's locale exactly matches a Language's full locale, such as es-MX |
| 2 | Language-code translations | The customer's language matches a Language's code, such as es-MX matching a base es. Your own overrides for that code sit on top of any Maxio-provided translations for it. |
| 3 | Site primary translations | Set by you as the site's primary Language |
| 4 | Maxio English defaults | Nothing above supplies a value |
Read it as an overlay rather than a race: layer 1 wins for the fields it defines, layer 2 fills the gaps layer 1 left, and so on down to English.

When a customer's locale matches a Language's full locale exactly, such as es-MX, that Language's overrides are used for every field it defines.

Where the full locale supplies nothing, Advanced Billing looks for a Language matching just the language code. A customer with es-MX matches a base es Language. Your own overrides for that code take precedence over Maxio's provided translations for the same language.

Maxio ships full base translations for English (en), Spanish (es), French (fr), and Polish (pl). If a customer's language is one of these and neither layer above supplies a value, the Maxio translation is used.

For any field still unresolved, and for customers with no locale set at all, Advanced Billing uses the Language you marked as the site primary.
Anything not supplied by any layer above falls back to Maxio's English defaults.
Suppose you sell into Central America. You create a Spanish - Base Language and override most invoice fields, and you have customers in Mexico, Costa Rica, and Belize with locales es-MX, es-CR, and es-BZ.
Your Spanish - Base translations suit all three, except for a few fields such as Billing Address and Shipping Address. So you create Language Locales for es-MX, es-CR, and es-BZ, select Customize Language, and override only those address fields for each region.
Those customers then see their region-specific wording for the address fields, and the Spanish - Base wording everywhere else. Where Spanish - Base defines nothing, they see Maxio's provided Spanish translations.
Had the same setup been for Italian, which has no Maxio-provided base translations, those customers would instead see the site primary translations for missing values, and Maxio's English defaults for anything still unresolved.
Still need help?
Reach out and our support team will take it from here.