Files @ ae3e4617d31e
Branch filter:

Location: NPO-Accounting/oxrlib/oxrlib_example.ini

Brett Smith
historical: Always format rates with the same precision.

When we format a rate as a price, we don't know how much precision
is "enough" to do the conversion, because we don't know what's
being converted to. As a result, we may (=will almost certainly)
end up formatting the rate with different precision on the cost
date vs. the price date, and that causes Beancount/Ledger to fail
to make the connection between them.

Using a constant of 6 is enough to make the current test for
"enough" precision pass, so just do that for now. This might need
further refinement in the future.
[OXR]
# This section includes settings to query the Open Exchange Rates API directly.

# An App ID provided by OXR.
app_id = abcd1234...

[Cache]
# This optional section includes settings to read and write a cache of API
# results on the filesystem.  If you omit these settings, results won't be
# cached.

# The directory to save cache files under.  This directory must already exist.
directory = /home/YOU/.cache/oxrlib

# Save data from the historical API using this filename pattern.
# The pattern must include `{date}` and `{base}`, where API parameters are
# filled in.
historical = {date}_{base}_rates.json

[Historical]
# This optional section can specify default parameters for historical API calls.

# Set the base currency.
# Note that setting a base other than USD requires a paid OXR account.
base = USD

# Write output in Ledger format.
output_format = ledger

# Denominate books in this currency.
# Formatted conversions will always show a rate to convert to this
# currency, even when converting between two other currencies.
# If not specified, output will show the rate for the currency you're
# converting to.
denomination = USD

# Use signs for these currencies in Ledger output.
# If not specified, defaults to the user's preferred currency, which is
# the first setting found from:
# 1. the denomination setting above
# 2. the user's locale
# 3. the base currency (which defaults to USD)
signed_currencies = USD, EUR