The Perpetual Quickbooks Home Currency Adjustment Bug

This will be of interest to anyone who uses the Quickbooks multicurrency feature. Perhaps also to others doing business in multiple currencies. Maybe even to general accounting nerds like myself.


Since the inception of the Quickbooks multicurrency feature roughly a decade ago, it has had a very simple bug that causes home currency adjustments to be performed incorrectly. This effectively means that most people using Quickbooks in multiple currencies, if they don’t know how to work around the bug, will be filing incorrect tax returns each year. The error could be large or small, but will always be present if the common conditions I’ll describe here are present.

What is multicurrency?

First off, what is multicurrency? Basically this feature is useful if your business has accounts, or sends or receives invoices denominated in any currency other than the currency of the business’s home jurisdiction. So for example a US business that has Canadian customers that it bills in CAD. Or a Canadian business with a USD bank account. Or of course any other combination of currencies. The way Quickbooks and other accounting software handles this is straightforward, but perhaps not outwardly obvious. Take the simple case of a foreign currency bank account, ie. a US-based business with a CAD account. For every transaction in this account, the software will keep a running tally of both the “home currency” (USD) and the “foreign currency” (CAD) balance.

So for example, say the account is brand new, and initially $100 CAD is deposited at an exchange rate of $1CAD = $0.90USD. The balance of the account will now be $90 (USD), with a foreign balance of $100 CAD. Some time later, $50 CAD is withdrawn, when the exchange rate is $1CAD = $0.80USD. The foreign balance is now $100-50 = $50 CAD. And the (home currency) balance of the account is now $90-$40 = $50 USD. So of course the two balances no longer reflect the current exchange rate; the difference is an unrealized gain or loss. (In this case, a loss, because the current value of the account is only 50*0.8 = $40 USD, while the balance is $50 USD.)

And the problem is?

To account for this, at the end of the fiscal year, you perform a “home currency adjustment”. This involves comparing the home and foreign currency balances of the account, and journaling the difference to a currency exchange gain/loss expense account. Quickbooks does this automatically for you. Mostly.

The problem is, when this feature was created, someone apparently added a conditional causing it to skip any accounts with zero (foreign currency) balance. After all, if there’s nothing in the account, no need to adjust it, right? Well, wrong. If you consider the example above, but instead imagine depositing $100 and then withdrawing $100 at a different exchange rate, it’s clear that the foreign balance can easily be zero while there is still an account balance that needs to be adjusted. And in fact, this is a very common situation, because foreign accounts are often accounts payable or accounts receivable, where invoices are created and then paid before the end of the month, resulting in a foreign balance of zero.

So again, if you have any foreign currency accounts—bank accounts, specific vendor accounts payable, or customer accounts receivable—that happen to have a foreign balance of $0 at your fiscal year end, the Quickbooks home currency adjustment feature will incorrectly skip adjusting them. This has been the case for many years, and despite it being repeatedly reported as a bug, and despite Intuit releasing a shiny new version of Quickbooks every single year, it has never been fixed. You would think that a bug that causes incorrect tax returns to be filed would be a high priority for a company producing accounting software, but apparently that is not the case.

How to deal with it

So, what to do? Well, first off I would certainly encourage anyone looking for software for their new business to look elsewhere. But for those of us already committed and unwilling to suffer the time cost of switching vendors (at least so far), you can work around this. What I do is the following

  • Perform the home currency adjustment as usual, under the Company/Manage Currency menu.
  • Run an unrealized gains/losses report under Reports/Company & Financial.
    • Compare the accounts listed there to those in the home currency adjustment.
    • For any accounts listed in the report that were not included in the adjustment, run a quickreport of the account for the fiscal year, and compare the year end balance to the foreign balance. If the foreign balance is zero and the balance is nonzero, add a line to the previously-generated home currency adjustment journal entry to clear that balance.
    • BTW, don’t try to skip that last step and just use the values shown right in the unrealized gains/losses report, because it’s buggy too, and will show results for the current date, not the date you enter, as well as not taking into account past currency adjustments.
  • Similarly, run account balance detail reports under vendors/payables and customers/receivables.
    • Likewise for any vendors or customers that were not included in the home currency adjustment, check whether they have a $0 foreign balance at year-end, and a non-zero balance.
    • If so, manually create new home currency adjustment journal entries for each vendor/customer, specifying both the appropriate A/P or A/R account, and the vendor name in the appropriate journal fields. These need to be done in separate journal entries because quickbooks does not allow you to manually add multiple vendors or customers to the same currency adjustment journal entry for some reason.

And then you’re done! Spend a minute silently cursing Intuit, and put your notes away to dig up next year. Eventually, maybe write a blog post about it.