# Currency codes (common)

ISO 4217 currency codes for the invoice currency (BT-5) and the VAT accounting currency (BT-6), with the rules that matter on e-invoices.

## How these codes are used on invoices

ISO 4217 defines the currency codes that structured invoices use instead of free text. Receiving systems, ERPs and validators expect exact codes such as EUR (Euro), USD (US dollar), CHF (Swiss franc). Practical subset; ISO 4217 contains many more currencies.

> **ISO 4217**: Practical subset; ISO 4217 contains many more currencies.

## How to use this code list in production

Keep one mapping for currency codes across ERP source data, generated XML and validation checks. Lock the allowed values before go-live, map legacy values before export, and make sure finance teams know which business cases require manual review.

## Currency codes (common)

| Code | Meaning | Notes |
| --- | --- | --- |
| EUR | Euro | Currency of the euro area and the usual invoice currency (BT-5) for EU e-invoices. EN 16931 amounts use at most two decimals. |
| USD | US dollar | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| GBP | Pound sterling | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| CHF | Swiss franc | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| TRY | Turkish lira | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| PLN | Polish zloty | National currency of Poland (EU, outside the euro area). If you invoice in another currency but VAT is due in Poland, add BT-6 = PLN and the VAT total in PLN (BT-111). |
| SEK | Swedish krona | National currency of Sweden (EU, outside the euro area). If you invoice in another currency but VAT is due in Sweden, add BT-6 = SEK and the VAT total in SEK (BT-111). |
| NOK | Norwegian krone | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| DKK | Danish krone | National currency of Denmark (EU, outside the euro area). If you invoice in another currency but VAT is due in Denmark, add BT-6 = DKK and the VAT total in DKK (BT-111). |
| CZK | Czech koruna | National currency of Czechia (EU, outside the euro area). If you invoice in another currency but VAT is due in Czechia, add BT-6 = CZK and the VAT total in CZK (BT-111). |
| HUF | Hungarian forint | National currency of Hungary (EU, outside the euro area). If you invoice in another currency but VAT is due in Hungary, add BT-6 = HUF and the VAT total in HUF (BT-111). |
| RON | Romanian leu | National currency of Romania (EU, outside the euro area). If you invoice in another currency but VAT is due in Romania, add BT-6 = RON and the VAT total in RON (BT-111). |
| ISK | Icelandic króna | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| MXN | Mexican peso | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| JPY | Japanese yen | ISO 4217 defines no decimal places for this currency. Send whole amounts (for example 15000.00) so that line totals and document totals do not drift through rounding. |
| CAD | Canadian dollar | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| AUD | Australian dollar | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| CNY | Chinese yuan renminbi | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| INR | Indian rupee | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| BRL | Brazilian real | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| ZAR | South African rand | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| SGD | Singapore dollar | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| HKD | Hong Kong dollar | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| KRW | South Korean won | ISO 4217 defines no decimal places for this currency. Send whole amounts (for example 15000.00) so that line totals and document totals do not drift through rounding. |
| THB | Thai baht | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| AED | UAE dirham | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| ILS | Israeli new shekel | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| NZD | New Zealand dollar | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| UAH | Ukrainian hryvnia | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |
| RSD | Serbian dinar | Non-EU currency. If VAT is due in an EU member state that requires VAT in its national currency, add BT-6 and the VAT total in that currency (BT-111). |

## Create an XRechnung from your PDF and confirm the codes

The converter determines codes from this list for BT-5 from the details on the invoice. You see each value before download and can correct it. Already have an XML file? The free validator reports codes outside the list, for example under BR-CL-04, BR-05.

- [Convert invoice](/en/pdf-to-xrechnung)
- [Validate XML](/en/xrechnung-validator)

Download requires an account. Subscriptions from €10/month with annual billing (excl. taxes), or €5 per conversion (excl. taxes) without a subscription.

## Practical tips before you send an e-invoice

- Use the exact code from ISO 4217 and keep the spelling and casing expected by the standard.
- Check that the currency codes you use match the business case and the related fields on the invoice.
- Validate the final XRechnung, ZUGFeRD/Factur-X, UBL, or CII file before sending it to the recipient.

## Common code-list mistakes

- Letting free-text values pass through the ERP export instead of mapping them to the official code list.
- Using a technically valid code without checking whether the recipient profile or country rule actually allows it.
- Fixing the XML output only, while leaving the upstream ERP source value inconsistent for the next invoice.

## Frequently asked questions

Common questions when teams choose currency codes for an invoice or an ERP export.

### What are currency codes used for on an invoice?
ISO 4217 is the standardized list behind these codes. A code tells the receiving system exactly which value you mean, so the invoice can be processed automatically in XRechnung, ZUGFeRD/Factur-X, UBL, CII and Peppol workflows.

### Which currency codes are used most often?
Common examples on this page include EUR (Euro), USD (US dollar), CHF (Swiss franc). The right choice depends on your transaction, tax treatment, recipient requirements, and the invoice profile you are sending.

### Where do currency codes go in a structured e-invoice?
Enter the code in the structured invoice field that matches its meaning, for example the currency field, VAT category field, payment means field, unit field, or invoice type field. The exact XML path depends on whether you send XRechnung, ZUGFeRD/Factur-X, UBL, or CII.

### How do I avoid validation errors with currency codes?
Use only values allowed by the relevant implementation guide, keep the code exactly as defined in ISO 4217, and provide all related data required by that choice. Many validation errors happen when a code is correct in isolation but inconsistent with the rest of the invoice.

### Can I use codes outside this page?
Often yes, but recipients and national profiles frequently accept only a practical subset of the full ISO 4217 list. This page focuses on common invoice values, so confirm buyer-specific or country-specific rules before sending production documents.

## Download

Use this code list in your systems or validation rules.

- [Download JSON](/resources/code-lists/currency-codes/data?format=json)
- [Download CSV](/resources/code-lists/currency-codes/data?format=csv)

## Official resources

- [ISO 4217 currency codes](https://www.iso.org/iso-4217-currency-codes.html)
- [XRechnung Validator](/xrechnung-validator)
- [Developer API](/developer-api)
