How do I export currencies?

Table of Contents

Export currencies via ores.cli to ORE XML, CSV, or JSON. See the CLI inventory for sibling recipes.

Question

How do I export currencies?

Answer

Export all as ORE XML

export ORES_CLI_DB_PASSWORD
./ores.cli refdata currencies export ${db_args} ${log_args} --format xml | \
    xmllint --format - | \
    head -n 20
<?xml version="1.0" encoding="UTF-8"?>
<CurrencyConfig>
  <Currency>
    <Name>Papua New Guinean kina</Name>
    <ISOCode>PGK</ISOCode>
    <NumericCode>598</NumericCode>
    <Symbol>K</Symbol>
    <FractionSymbol/>
    <FractionsPerUnit>100</FractionsPerUnit>
    <RoundingType>Closest</RoundingType>
    <RoundingPrecision>2</RoundingPrecision>
    <Format>%3% %1$.2f</Format>
    <CurrencyType/>
  </Currency>
  <Currency>
    <Name>Somali shilling</Name>
    <ISOCode>SOS</ISOCode>
    <NumericCode>706</NumericCode>
    <Symbol>K</Symbol>
    <FractionSymbol/>

Export all as CSV

export ORES_CLI_DB_PASSWORD
./ores.cli refdata currencies export ${db_args} ${log_args} \
  --format csv | head
iso_code,name,numeric_code,symbol,fraction_symbol,fractions_per_unit,rounding_type,rounding_precision,format,asset_class,market_tier,modified_by,valid_from,valid_to
PGK,Papua New Guinean kina,598,K,"",100,Closest,2,%3% %1$.2f,"",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
SOS,Somali shilling,706,K,"",100,Closest,2,%3% %1$.2f,"",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
ALL,Albanian lek,8,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
AMD,Armenian dram,51,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
ANG,Netherlands Antillean guilder,532,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
AOA,Angolan kwanza,973,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
ARS,Argentine peso,32,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
AUD,Australian dollar,36,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39
AWG,Aruban florin,533,"","",100,Closest,2,"","",ores,2025-12-11 23:45:39,2025-12-11 23:45:39

Export specific currency

export ORES_CLI_DB_PASSWORD
./ores.cli refdata currencies export ${db_args} ${log_args} \
  --format json --key USD | jq .
[
  {
    "version": 15,
    "iso_code": "USD",
    "name": "United States dollar",
    "numeric_code": "840",
    "symbol": "",
    "fraction_symbol": "",
    "fractions_per_unit": 100,
    "rounding_type": "Closest",
    "rounding_precision": 2,
    "format": "",
    "asset_class": "fiat",
    "market_tier": "g10",
    "modified_by": "ores",
    "valid_from": "2025-12-11 23:45:39",
    "valid_to": "2025-12-11 23:45:39"
  }
]

Export all versions of a currency

export ORES_CLI_DB_PASSWORD
./ores.cli refdata currencies export ${db_args} ${log_args} \
  --format json --key USD --all-versions | jq .[:3]
[
  {
    "version": 15,
    "iso_code": "USD",
    "name": "United States dollar",
    "numeric_code": "840",
    "symbol": "",
    "fraction_symbol": "",
    "fractions_per_unit": 100,
    "rounding_type": "Closest",
    "rounding_precision": 2,
    "format": "",
    "asset_class": "fiat",
    "market_tier": "g10",
    "modified_by": "ores",
    "valid_from": "2025-12-11 23:45:39",
    "valid_to": "2025-12-11 23:45:39"
  },
  {
    "version": 14,
    "iso_code": "USD",
    "name": "United States dollar",
    "numeric_code": "840",
    "symbol": "",
    "fraction_symbol": "",
    "fractions_per_unit": 100,
    "rounding_type": "Closest",
    "rounding_precision": 2,
    "format": "",
    "asset_class": "fiat",
    "market_tier": "g10",
    "modified_by": "ores",
    "valid_from": "2025-12-11 23:44:52",
    "valid_to": "2025-12-11 23:44:52"
  },
  {
    "version": 13,
    "iso_code": "USD",
    "name": "United States dollar",
    "numeric_code": "840",
    "symbol": "",
    "fraction_symbol": "",
    "fractions_per_unit": 100,
    "rounding_type": "Closest",
    "rounding_precision": 2,
    "format": "",
    "asset_class": "fiat",
    "market_tier": "g10",
    "modified_by": "ores",
    "valid_from": "2025-12-11 23:36:31",
    "valid_to": "2025-12-11 23:36:31"
  }
]

Export as of specific time point

export ORES_CLI_DB_PASSWORD
./ores.cli refdata currencies export ${db_args} ${log_args} \
  --format json --as-of "2025-12-11 23:44:52" | jq .[:3]
[
  {
    "version": 13,
    "iso_code": "MVR",
    "name": "Maldivian rufiyaa",
    "numeric_code": "462",
    "symbol": "",
    "fraction_symbol": "",
    "fractions_per_unit": 100,
    "rounding_type": "Closest",
    "rounding_precision": 2,
    "format": "",
    "asset_class": "fiat",
    "market_tier": "g10",
    "modified_by": "ores",
    "valid_from": "2025-12-11 23:36:31",
    "valid_to": "2025-12-11 23:36:31"
  },
  {
    "version": 13,
    "iso_code": "AED",
    "name": "United Arab Emirates dirham",
    "numeric_code": "784",
    "symbol": "",
    "fraction_symbol": "",
    "fractions_per_unit": 100,
    "rounding_type": "Closest",
    "rounding_precision": 2,
    "format": "",
    "asset_class": "fiat",
    "market_tier": "g10",
    "modified_by": "ores",
    "valid_from": "2025-12-11 23:36:31",
    "valid_to": "2025-12-11 23:36:31"
  },
  {
    "version": 13,
    "iso_code": "AFN",
    "name": "Afghan afghani",
    "numeric_code": "971",
    "symbol": "",
    "fraction_symbol": "",
    "fractions_per_unit": 100,
    "rounding_type": "Closest",
    "rounding_precision": 2,
    "format": "",
    "asset_class": "fiat",
    "market_tier": "g10",
    "modified_by": "ores",
    "valid_from": "2025-12-11 23:36:31",
    "valid_to": "2025-12-11 23:36:31"
  }
]

Emacs 29.3 (Org mode 9.6.15)