CONVERT_OOO Function (LibreOffice Calc)
Convert between the euro and legacy currencies with fixed historical factors in LibreOffice Calc. Includes exact syntax, worked currency examples and migration cautions.
Verification status: Official release source and independently calculated examples for CONVERT_OOO were reviewed. No new LibreOffice Calc application execution is claimed for this guide; the stated version and example limits still apply. How formula examples are checked
Quick answer: =CONVERT_OOO(100;"EUR";"DEM") returns 195.583 using the fixed historical conversion factor. CONVERT_OOO converts legacy euro currencies. For meters, temperatures or other physical measurements, use the separate CONVERT function.
Availability and version history
- Introduced: First calculation release not established. The 5.3 source-line change renamed the old currency CONVERT to CONVERT_OOO; this was a name change, not a new calculation.
- Supported in: LibreOffice 26.8.1.1, according to the versioned evaluator. It is retained for compatibility, not documented as retired.
- Scope: Desktop Calc; the installed legacy currency table determines available pairs. This function is not standardized or portable.
- Checked: October 14, 2026. Official documentation/source and independent decimal calculations checked; this function was not natively executed.
What CONVERT_OOO actually converts
The function multiplies or divides by a stored historical currency factor. It does not retrieve current exchange rates, accept a valuation date, or convert arbitrary world currencies. The standard table connects EUR with currencies that were replaced by the euro. Official CONVERT_OOO reference.
The similar names are easy to confuse:
- CONVERT_OOO is the older currency converter in current LibreOffice.
- CONVERT is the current LibreOffice measurement converter. Replacing CONVERT_OOO with CONVERT does not preserve a currency formula’s meaning.
- EUROCONVERT is the more flexible currency function recommended by LibreOffice Help. Review its arguments and rounding behavior before migrating a financial workbook.
An old name or file origin alone is not a reason to change formulas. Preserve the intended currency pair, factor and rounding policy, then compare known results after a conversion or import.
Syntax and arguments
=CONVERT_OOO(Value; "FromCurrency"; "ToCurrency")
All three arguments are required. Value is the signed numeric amount. The currency arguments are exact three-letter strings or references to cells containing those strings. Use uppercase codes such as "EUR", "DEM" and "FRF", not a currency symbol or a full currency name.
For ordinary use, exactly one currency must be EUR. For example, DEM→EUR and EUR→FRF are direct pairs, while DEM→FRF is not. The release evaluator first searches the requested pair, then the reverse pair; it does not automatically search a chain of intermediate currencies.
The examples use semicolons as argument separators and decimal points. Currency codes remain quoted text even when the formula’s separators vary with locale. Formatting a numeric cell as currency does not supply the missing code argument.
Fixed factors and supported codes
These selected factors come from the LibreOffice 26.8.1.1 configuration. Each is the number of legacy currency units per euro.
| Code | Legacy currency | Units per EUR |
|---|---|---|
| ATS | Austrian schilling | 13.7603 |
| DEM | German mark | 1.95583 |
| FIM | Finnish markka | 5.94573 |
| FRF | French franc | 6.55957 |
| ITL | Italian lira | 1936.27 |
| NLG | Dutch guilder | 2.20371 |
The versioned configuration contains 21 EUR-to-legacy entries. Its HRK and BGN entries are additional to the older 19-currency list in the Help paragraph. Treat the cited release table as the scope of that statement; it does not establish which older release first supported each code. A customized installation can also have a different conversion table.
Reproducible examples
Enter each formula in an unused cell. The following are independently calculated expected values; long decimals are rounded for display.
| Formula | Expected result |
|---|---|
=CONVERT_OOO(100;"EUR";"DEM") |
195.583 |
=CONVERT_OOO(195.583;"DEM";"EUR") |
100 |
=CONVERT_OOO(100;"DEM";"EUR") |
51.1291881196 |
=CONVERT_OOO(100;"EUR";"FRF") |
655.957 |
=CONVERT_OOO(655.957;"FRF";"EUR") |
100 |
=CONVERT_OOO(100;"EUR";"ITL") |
193627 |
=CONVERT_OOO(0;"EUR";"DEM") |
0 |
=CONVERT_OOO(-100;"EUR";"DEM") |
-195.583 |
A negative amount follows the same factor, which is useful for reversing a signed historical entry. The function does not decide whether that amount is a receipt, payment or correction.
Practical worksheet: preserve the original currency
Put historical amounts in A2:A10 and their uppercase currency codes in B2:B10. Put EUR in H1. In C2 enter =CONVERT_OOO(A2;B2;$H$1) and fill down, retaining the original amount and currency columns. This setup assumes every B cell contains a supported legacy code rather than EUR.
For A2=100 and B2=DEM, C2 is approximately 51.1291881196. If a specific reporting policy calls for cents, use =ROUND(C2;2) in a separate display or posting column, giving 51.13. A two-decimal number format changes appearance, while ROUND changes the value used by later formulas. Decide which is required before totaling many rows.
Advanced example: an explicit intermediate euro amount
To express 100 DEM as FRF through these two historical factors:
=CONVERT_OOO(CONVERT_OOO(100;"DEM";"EUR");"EUR";"FRF")
The independently expected result is approximately 335.385488514. The inner step divides by 1.95583; the outer step multiplies by 6.55957. The expression shows both conversions instead of implying that a direct DEM→FRF pair exists.
This arithmetic retains the intermediate precision. If a workbook requires legally specified currency rounding or a particular triangulation policy, establish that policy separately and review EUROCONVERT rather than treating the nested expression as universal compliance guidance. CONVERT_OOO itself has no precision or rounding-policy argument.
Errors and migration checks
With the standard release table, an unsupported pair follows the evaluator’s #N/A path. Examples include physical tokens such as "m" and "km", a direct legacy-to-legacy pair, and EUR→EUR. These are source-derived expectations, not observed cell results from a native run. A zero amount does not make an unsupported pair valid: the pair must still be found.
The configuration lookup preserves the supplied strings. Avoid lowercase substitutions, trailing spaces and code labels that only look identical. Inspect imported text before assuming a numerical error.
For migration, keep one known conversion in each direction and a round trip without intermediate rounding. Verify the application’s actual formula identity after import: Apache OpenOffice uses the older CONVERT spelling for its currency converter, whereas current LibreOffice’s CONVERT means measurements. Older storage formats can retain historical names even when the displayed formula changes.