[GNC] Can't fetch currency conversion rates between two foreign currencies.
Geoff
cleanoutmyshed at gmail.com
Mon Aug 17 23:05:14 EDT 2020
Summary
Gnucash 4.1, Windows 10.
Base currency USD, Trading accounts enabled, Alpha Vantage API Key.
Create 3 (asset) accounts in currencies USD, GBP, EUR.
When doing transfers to/from Base & Foreign currencies, the Fetch Rate
button in the Transfer Funds dialogue box successfully retrieves the
exchange rate and calculates the currency conversions - screenshot
currency1.
When doing transfers to/from the two Foreign currencies, (eg EUR/GBP),
the Fetch Rate button in the Transfer Funds dialogue box again runs the
perl process to get the exchange rate but returns with no data -
screenshot currency2.
As a result, a conversion rate of zero is recorded in the price database
- screenshot currency3.
Ruminations
Is this functionality meant to be supported by gnucash? It *is*
supported by the gnc-fq-dump and gnc-fq-helper scripts.
I haven't previously used currency conversions with gnucash, but was
prompted to do this test by the long running thread of Samantha Payn,
possibly accessible on Nabble:
http://gnucash.1415818.n4.nabble.com/GNC-Difficulty-with-online-price-retrieval-John-Ralls-tc4720222.html
Supporting Documentation
Screenshots of gnucash, gnc-fq-helper, and excerpts from gnucash debug log.
C:\Program Files (x86)\gnucash\bin>perl gnc-fq-helper
(currency "USD" "GBP")
(("USD" (symbol . "USD") (gnc:time-no-zone . "2020-08-18 11:33:31")
(last . #e0.76158) (currency . "GBP")))
(currency "USD" "EUR")
(("USD" (symbol . "USD") (gnc:time-no-zone . "2020-08-18 11:33:31")
(last . #e0.8409) (currency . "EUR")))
(currency "GBP" "EUR")
(("GBP" (symbol . "GBP") (gnc:time-no-zone . "2020-08-18 11:33:31")
(last . #e1.10407) (currency . "EUR")))
(currency "EUR" "GBP")
(("EUR" (symbol . "EUR") (gnc:time-no-zone . "2020-08-18 11:33:31")
(last . #e0.90552) (currency . "GBP")))
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/reports/standard
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files
(x86)\gnucash\share/guile/site/2.2\gnucash/reports/standard
* 10:41:16 DEBUG <gnc.scm> dir-files=(view-column trial-balance
transaction taxinvoice register reconcile-report receivables receipt
price-scatter portfolio payables owner-report new-owner-report new-aging
net-charts lot-viewer job-report invoice income-statement
income-gst-statement general-ledger general-journal equity-statement
dashboard customer-summary category-barchart cashflow-barchart cash-flow
budget budget-income-statement budget-flow budget-barchart
budget-balance-sheet balsheet-pnl balsheet-eg balance-sheet
balance-forecast advanced-portfolio account-summary account-piecharts)
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/reports/example
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files
(x86)\gnucash\share/guile/site/2.2\gnucash/reports/example
* 10:41:16 DEBUG <gnc.scm> dir-files=(welcome-to-gnucash sample-graphs
hello-world daily-reports average-balance)
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/reports/locale-specific/us
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files
(x86)\gnucash\share/guile/site/2.2\gnucash/reports/locale-specific/us
* 10:41:16 DEBUG <gnc.scm> dir-files=(taxtxf)
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/report/stylesheets
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files
(x86)\gnucash\share/guile/site/2.2\gnucash/report/stylesheets
* 10:41:16 DEBUG <gnc.scm> dir-files=(plain head-or-tail footer css)
* 10:41:18 DEBUG <gnc.scm> gnc:fq-check-sources results: (1.49 adig aex
aiahk alphavantage amfiindia asegr asx aufunds australia bamosz bet
bmonesbittburns bourso bse bsero canada canadamutual citywire cominvest
cse deka dutch dwsfunds europe fetch_live_currencies fidelity
fidelity_direct fidelityfixed financecanada finanzpartner finland fool
france ftfunds ftportfolios ftportfolios_direct fundlibrary goldmoney
greece hex hu hufund hungary hustock iexcloud indiamutual
known_currencies lerevenu maninv morningstar morningstarau morningstarch
morningstarjp mstaruk nasdaq nyse nz nzx platinum romania seb_funds
sixfunds sixshares stockhousecanada_fund tdefunds tdwaterhouse tiaacref
tnetuk troweprice troweprice_direct trustnet tsp tsx uk_unit_trusts
ukfunds unionfunds usa usfedbonds vanguard vwd yahoo_json yahoo_yql za
za_unittrusts)
* 10:41:18 MESSG <gnc.scm> Found Finance::Quote version 1.49
* 10:41:18 INFO <gnc.account> [xaccAccountRecomputeBalance] acct=Bank
USD starting baln=0/1
* 10:41:18 INFO <gnc.account> [xaccAccountSetGUID] acct=0ac95368
* 10:41:18 INFO <gnc.account> [xaccAccountRecomputeBalance] acct=Bank
EUR starting baln=0/1
* 10:41:18 INFO <gnc.account> [xaccAccountSetGUID] acct=0ac95480
* 10:41:18 INFO <gnc.account> [xaccAccountRecomputeBalance] acct=Bank
GBP starting baln=0/1
* 10:41:18 INFO <gnc.account> [xaccAccountSetGUID] acct=0ac95598
======================================================
Enter transfer USD / GBP - Screenshot "currency1.jpg"
======================================================
* 10:41:38 INFO <gnc.gui> [lookup_price] No price Found for USD, GBP
* 10:41:38 INFO <gnc.gui> [lookup_price] No price Found for USD, GBP
* 10:41:41 DEBUG <gnc.scm> ALPHAVANTAGE_API_KEY=*REDACTED*
* 10:41:41 DEBUG <gnc.scm> handling-request: (currency EUR USD)
* 10:41:43 DEBUG <gnc.scm> results: ((EUR (symbol . EUR)
(gnc:time-no-zone . 2020-08-18 10:41:41) (last . 11879/10000) (currency
. USD)))
* 10:41:43 DEBUG <gnc.scm> handling-request: (currency GBP USD)
* 10:41:44 DEBUG <gnc.scm> results: ((GBP (symbol . GBP)
(gnc:time-no-zone . 2020-08-18 10:41:41) (last . 131129/100000)
(currency . USD)))
* 10:41:44 INFO <gnc.gui> [lookup_price] Found reverse price: 1 GBP =
1.311290 USD
* 10:41:44 WARN <qof> [gnc_numeric_to_decimal()] Rounding required when
'never round' specified.
* 10:41:44 WARN <qof> [gnc_numeric_to_decimal()] Rounding required when
'never round' specified.
* 10:46:15 INFO <gnc.gui> [lookup_price] Found reverse price: 1 GBP =
1.311290 USD
* 10:46:15 INFO <gnc.gui> [update_price] Existing price is preferred,
so won't supersede.
* 10:46:15 INFO <gnc.ledger> [gnc_split_register_save] finished saving
split "" of trans "usd gbp"
* 10:46:15 INFO <gnc.register> [listen_for_account_events] insert new
account Trading:CURRENCY:GBP into qf=0de8d988
* 10:46:15 INFO <gnc.register> [listen_for_account_events] insert new
account Trading:CURRENCY:USD into qf=0de8d988
======================================================
Enter transfer GBP / EUR - Screenshot "currency2.jpg"
======================================================
* 10:48:21 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:48:21 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:48:25 DEBUG <gnc.scm> ALPHAVANTAGE_API_KEY=*REDACTED*
* 10:48:25 DEBUG <gnc.scm> handling-request: (currency EUR USD)
* 10:48:28 DEBUG <gnc.scm> results: ((EUR (symbol . EUR)
(gnc:time-no-zone . 2020-08-18 10:48:26) (last . 11887/10000) (currency
. USD)))
* 10:48:28 DEBUG <gnc.scm> handling-request: (currency GBP USD)
* 10:48:29 DEBUG <gnc.scm> results: ((GBP (symbol . GBP)
(gnc:time-no-zone . 2020-08-18 10:48:26) (last . 131203/100000)
(currency . USD)))
* 10:48:29 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:50:12 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:50:12 INFO <gnc.gui> [new_price] Created price: 1 GBP = 0.000000 EUR
* 10:50:12 INFO <gnc.gui> [lookup_price] Found price: 1 GBP = 0.000000 EUR
* 10:50:13 INFO <gnc.gui> [lookup_price] Found price: 1 GBP = 0.000000 EUR
* 10:50:13 INFO <gnc.gui> [update_price] Same price for GBP in EUR
* 10:50:13 INFO <gnc.ledger> [gnc_split_register_save] finished saving
split "" of trans "gbp eur"
* 10:50:13 INFO <gnc.register> [listen_for_account_events] insert new
account Trading:CURRENCY:EUR into qf=0de8d988
Thanks
Geoff
=====
-------------- next part --------------
A non-text attachment was scrubbed...
Name: currency1.jpg
Type: image/jpeg
Size: 84733 bytes
Desc: not available
URL: <http://lists.gnucash.org/pipermail/gnucash-user/attachments/20200818/ff4bdffc/attachment-0004.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: currency2.jpg
Type: image/jpeg
Size: 82352 bytes
Desc: not available
URL: <http://lists.gnucash.org/pipermail/gnucash-user/attachments/20200818/ff4bdffc/attachment-0005.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: currency3.jpg
Type: image/jpeg
Size: 61095 bytes
Desc: not available
URL: <http://lists.gnucash.org/pipermail/gnucash-user/attachments/20200818/ff4bdffc/attachment-0006.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: currency4.jpg
Type: image/jpeg
Size: 33952 bytes
Desc: not available
URL: <http://lists.gnucash.org/pipermail/gnucash-user/attachments/20200818/ff4bdffc/attachment-0007.jpg>
-------------- next part --------------
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/reports/standard
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files (x86)\gnucash\share/guile/site/2.2\gnucash/reports/standard
* 10:41:16 DEBUG <gnc.scm> dir-files=(view-column trial-balance transaction taxinvoice register reconcile-report receivables receipt price-scatter portfolio payables owner-report new-owner-report new-aging net-charts lot-viewer job-report invoice income-statement income-gst-statement general-ledger general-journal equity-statement dashboard customer-summary category-barchart cashflow-barchart cash-flow budget budget-income-statement budget-flow budget-barchart budget-balance-sheet balsheet-pnl balsheet-eg balance-sheet balance-forecast advanced-portfolio account-summary account-piecharts)
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/reports/example
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files (x86)\gnucash\share/guile/site/2.2\gnucash/reports/example
* 10:41:16 DEBUG <gnc.scm> dir-files=(welcome-to-gnucash sample-graphs hello-world daily-reports average-balance)
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/reports/locale-specific/us
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files (x86)\gnucash\share/guile/site/2.2\gnucash/reports/locale-specific/us
* 10:41:16 DEBUG <gnc.scm> dir-files=(taxtxf)
* 10:41:16 DEBUG <gnc.scm> rpt-subdir=gnucash/report/stylesheets
* 10:41:16 DEBUG <gnc.scm> mod-dir=c:\Program Files (x86)\gnucash\share/guile/site/2.2\gnucash/report/stylesheets
* 10:41:16 DEBUG <gnc.scm> dir-files=(plain head-or-tail footer css)
* 10:41:18 DEBUG <gnc.scm> gnc:fq-check-sources results: (1.49 adig aex aiahk alphavantage amfiindia asegr asx aufunds australia bamosz bet bmonesbittburns bourso bse bsero canada canadamutual citywire cominvest cse deka dutch dwsfunds europe fetch_live_currencies fidelity fidelity_direct fidelityfixed financecanada finanzpartner finland fool france ftfunds ftportfolios ftportfolios_direct fundlibrary goldmoney greece hex hu hufund hungary hustock iexcloud indiamutual known_currencies lerevenu maninv morningstar morningstarau morningstarch morningstarjp mstaruk nasdaq nyse nz nzx platinum romania seb_funds sixfunds sixshares stockhousecanada_fund tdefunds tdwaterhouse tiaacref tnetuk troweprice troweprice_direct trustnet tsp tsx uk_unit_trusts ukfunds unionfunds usa usfedbonds vanguard vwd yahoo_json yahoo_yql za za_unittrusts)
* 10:41:18 MESSG <gnc.scm> Found Finance::Quote version 1.49
* 10:41:18 INFO <gnc.account> [xaccAccountRecomputeBalance] acct=Bank USD starting baln=0/1
* 10:41:18 INFO <gnc.account> [xaccAccountSetGUID] acct=0ac95368
* 10:41:18 INFO <gnc.account> [xaccAccountRecomputeBalance] acct=Bank EUR starting baln=0/1
* 10:41:18 INFO <gnc.account> [xaccAccountSetGUID] acct=0ac95480
* 10:41:18 INFO <gnc.account> [xaccAccountRecomputeBalance] acct=Bank GBP starting baln=0/1
* 10:41:18 INFO <gnc.account> [xaccAccountSetGUID] acct=0ac95598
======================================================
Enter transfer USD / GBP - Screenshot "currency1.jpg"
======================================================
* 10:41:38 INFO <gnc.gui> [lookup_price] No price Found for USD, GBP
* 10:41:38 INFO <gnc.gui> [lookup_price] No price Found for USD, GBP
* 10:41:41 DEBUG <gnc.scm> ALPHAVANTAGE_API_KEY=*REDACTED*
* 10:41:41 DEBUG <gnc.scm> handling-request: (currency EUR USD)
* 10:41:43 DEBUG <gnc.scm> results: ((EUR (symbol . EUR) (gnc:time-no-zone . 2020-08-18 10:41:41) (last . 11879/10000) (currency . USD)))
* 10:41:43 DEBUG <gnc.scm> handling-request: (currency GBP USD)
* 10:41:44 DEBUG <gnc.scm> results: ((GBP (symbol . GBP) (gnc:time-no-zone . 2020-08-18 10:41:41) (last . 131129/100000) (currency . USD)))
* 10:41:44 INFO <gnc.gui> [lookup_price] Found reverse price: 1 GBP = 1.311290 USD
* 10:41:44 WARN <qof> [gnc_numeric_to_decimal()] Rounding required when 'never round' specified.
* 10:41:44 WARN <qof> [gnc_numeric_to_decimal()] Rounding required when 'never round' specified.
* 10:46:15 INFO <gnc.gui> [lookup_price] Found reverse price: 1 GBP = 1.311290 USD
* 10:46:15 INFO <gnc.gui> [update_price] Existing price is preferred, so won't supersede.
* 10:46:15 INFO <gnc.ledger> [gnc_split_register_save] finished saving split "" of trans "usd gbp"
* 10:46:15 INFO <gnc.register> [listen_for_account_events] insert new account Trading:CURRENCY:GBP into qf=0de8d988
* 10:46:15 INFO <gnc.register> [listen_for_account_events] insert new account Trading:CURRENCY:USD into qf=0de8d988
======================================================
Enter transfer GBP / EUR - Screenshot "currency2.jpg"
======================================================
* 10:48:21 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:48:21 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:48:25 DEBUG <gnc.scm> ALPHAVANTAGE_API_KEY=*REDACTED*
* 10:48:25 DEBUG <gnc.scm> handling-request: (currency EUR USD)
* 10:48:28 DEBUG <gnc.scm> results: ((EUR (symbol . EUR) (gnc:time-no-zone . 2020-08-18 10:48:26) (last . 11887/10000) (currency . USD)))
* 10:48:28 DEBUG <gnc.scm> handling-request: (currency GBP USD)
* 10:48:29 DEBUG <gnc.scm> results: ((GBP (symbol . GBP) (gnc:time-no-zone . 2020-08-18 10:48:26) (last . 131203/100000) (currency . USD)))
* 10:48:29 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:50:12 INFO <gnc.gui> [lookup_price] No price Found for GBP, EUR
* 10:50:12 INFO <gnc.gui> [new_price] Created price: 1 GBP = 0.000000 EUR
* 10:50:12 INFO <gnc.gui> [lookup_price] Found price: 1 GBP = 0.000000 EUR
* 10:50:13 INFO <gnc.gui> [lookup_price] Found price: 1 GBP = 0.000000 EUR
* 10:50:13 INFO <gnc.gui> [update_price] Same price for GBP in EUR
* 10:50:13 INFO <gnc.ledger> [gnc_split_register_save] finished saving split "" of trans "gbp eur"
* 10:50:13 INFO <gnc.register> [listen_for_account_events] insert new account Trading:CURRENCY:EUR into qf=0de8d988
More information about the gnucash-user
mailing list