[GNC] Confused by report "Price Source" when recording bills in a foreign currency

James Walker jh_walker at outlook.com
Tue Mar 26 12:36:05 EDT 2019


Hello fellow GnuCash users,

Per the subject, I'm somewhat confused by the impact of the report "Price Source" when recording Bills received in a foreign currency.

I'm using GnuCash for a UK business (all accounts in GBP) for very simple affairs.

I use the services of a US business which invoices everything in USD.

To account for this GnuCash, I've done the following:


  *   Enabled Trading Accounts
  *   Created an A/Payable account in USD ("Liabilities:Current Liabilities:Trade Creditors USD")
  *   Created a USD expenses account for the company ("Expenses:US Company USD")
  *   Created a Vendor for the company and set its payment currency to USD

When I receive an invoice from the company, I do the following:


  *   Create a Bill for the invoice, with the USD amount shown on the invoice, for the Vendor
  *   Post the Bill to the Trade Creditors USD (Liability) / US Company USD (Expense) accounts

When I pay the invoice, I do the following:


  *   Credit Bank (GBP) and debit Trade Creditors USD (USD)
  *   GnuCash prompts for the exchange rate; I input the GBP amount which was taken from the bank account for the payment

An example of three invoices received:


  1.  Invoice 1: $14.40
  2.  Invoice 2: $14.40
  3.  Invoice 3: $14.40

  *   Balance of US Company USD (Expense): $43.20

When credited from Bank (GBP), the amounts respectively are:


  1.  £10.60
  2.  £10.87
  3.  £11.02

  *   Total expenses paid from bank in GBP: £32.49 - this is the figure I expect to see on the P&L

These figures match up with what is shown in the trading accounts: GBP £32.49, USD -$43.20.

Generating P&L

When I now go and generate a report (e.g. Profit & Loss), the default options seem to be showing the expenses at the most recent exchange rate.

I see expenditure of e.g. £32.61, with a £0.12 currency trade. This means the P&L is wrong and the balance sheet won't balance, because the expenditure from Bank was actually only £32.49.

It seems the multi-currency features in GnuCash are geared towards actual currency trading/asset tracking etc., not my simple "I've got a USD invoice" scenario.

To me, the £32.61 figure seems blatantly incorrect; I haven't spent that much money. My understanding is the P&L needs to show £32.49, which is how much was actually taken from the Bank and debited to "Trading:Currency:GBP" from "Trading:Currency:USD".

It seems GnuCash is forcing automatic currency conversions onto me when I don't need them, and breaking things in the process, but my understanding may be wrong, which is why I'm asking this.

By changing "Price Source" in the report options to either "Average Cost" or "Weighted Average," I can get the P&L to show £32.49 as expected.

However, I don't understand why this works, or what these two price sources are actually calculating. I've read the documentation and don't fully understand the language so could really benefit from some clarification.

Although it is currently working, I need to understand why it is working and whether it will continue working, in order to have peace-of-mind that the P&L will continue to show the expected figure when using these options in the future, after adding further transactions.

The documentation says this of "Average Cost":

            The amount-weighted net average of all splits exchanging the commodity for another regardless of account. Gain/loss splits are included in the calculation.

While this does produce the value I expect to see on the report (in my trivial experiments), I'm concerned about the "average" labelling as I don't understand what is actually being averaged or how it's ending up producing the correct value, when the defaults don't. The same is true of "Weighted Average" - again, it gives me the figure I want to see, but I don't know why. What is it averaging? What is it weighting with respect to what? How will the output of these two options differ, if at all, as I add more transactions in this manner?

My questions


  1.  Please provide a simple explanation of the "Average Cost" / "Weighted Average" price sources. Which is most appropriate for my scenario? Why do they give me the correct value, and will they continue to do so down the line? Is there a risk future transactions will throw off the "average" and create an incorrect P&L in the future, which I won't necessarily immediately spot?
  2.  Is there anything wrong with my process here?

The confusing thing for me is that everything is displayed as expected with the figures in the chart of accounts, but I'm getting thrown by the default report options and the labelling of the price sources. I believe this is just GnuCash's default multi-currency/trading handling conflicting with my requirements but need to make sure.

I just want to confirm if it is safe for me to record USD bills in this manner when my books are in GBP, and then how I should go about generating a P&L which shows the total expenses in GBP as actually paid out of the bank.

Kind regards,
James Walker


More information about the gnucash-user mailing list