Good way to record currency conversion transactions in personal accounting software?
"I found an answer by Peter Selinger, in two articles, Tutorial on multiple currency accounting (June 2005, Jan 2011) and the accompanying Multiple currency accounting in GnuCash (June 2005, Feb 2007). Selinger embraces the currency neutrality I'm after. His method uses ""[a]n account that is denominated as a difference of multiple currencies... known as a currency trading account."" Currency trading accounts show the gain or loss based on exchange rates at any moment.  Apparently GnuCash 2.3.9 added support for multi-currency accounting. I haven't tried this myself. This feature is not enabled by default, and must be turned on explicity. To do so, check ""Use Trading Accounts"" under File -> Properties -> Accounts. This must be done on a per-file basis. Thanks to Mike Alexander, who implemented this feature in 2007, and worked for over 3 years to convince the GnuCash developers to include it. Older versions of GnuCash, such as 1.8.11, apparently had a feature called ""Currency Trading Accounts"", but they behaved differently than Selinger's method." Here's what the GnuCash documentation, 10.5 Tracking Currency Investments (How-To) has to say about bookkeeping for currency exchanges. Essentially, treat all currency conversions in a similar way to investment transactions.  In addition to asset accounts to represent holdings in Currency A and Currency B, have an foreign exchange expenses account and a capital gains/losses account (for each currency, I would imagine).  Represent each foreign exchange purchase as a three-way split: source currency debit, foreign exchange fee debit, and  destination currency credit. Represent each foreign exchange sale as a five-way split: in addition to the receiving currency asset and the exchange fee expense, list the transaction profit in a capital gains account and have two splits against the asset account of the transaction being sold. My problems with this are: I don't know how the profit on a currency sale is calculated (since the amount need not be related to any counterpart currency purchase), and it seems asymmetrical.  I'd welcome an answer that clarifies what the GnuCash documentation is trying to say in section 10.5.
This started as a comment but then really go too long so I am posting an answer: @yarun, I am also using GnuCash just like you as a non-accountant. But I think it really pays off to get to know more about accounting via GnuCash; it is so useful and you learn a lot about this hundreds of years old double entry system that all accountants know. So start learning about 5 main accounts and debits and credits, imho. It is far easier than one can think. Now the answer: even without balancing amounts exactly program is very useful as you still can track your monthly outgoings very well. Just make/adjust some reports and save their configurations (so you can re-run quickly when new data comes in) after you have classified your transactions properly. If I still did not know what some transactions were (happens a lot at first import) - I just put them under Expenses:Unaccounted Expenses - thus you will be able to see how much money went who knows where. If later you learn what those transactions were - you still can move them to the right account and you will be pleased that your reports show less unaccounted money. How many transactions to import at first - for me half a year or a year is quite enough; once you start tracking regularly you accumulate more date and this becomes a non-issue. Reflecting that personal finance is more about behaviour than maths and that it is more for the future where your overview of money is useful. Gnucash wil learn from import to import what transactions go where - so you could import say 1 or 3 month intervals to start with instead of a while year. No matter what - I still glance at every transaction on import and still sometimes petrol expense lands in grocery (because of the same seller). But to spot things like that you use reports and if one month is abnormal you can drill down to transactions and learn/correct things. Note that reports are easy to modify and you can save the report configurations with names you can remember. They are saved on the machine you do the accounting - not within the gnucash file. So if you open the file (or mysql database) on another computer you will miss your custom reports. You can transfer them, but it is a bit fiddly. Hence it makes sense to use gnucash on your laptop as that you probably will have around most often. Once you start entering transactions into GnuCash on the day or the week you incur the expense, you are getting more control and it is perhaps then you would need the balance to match the bank's balance. Then you can adjust the Equity:Opening Balances to manipulate the starting sums so that current balances match those of your bank. This is easy.  When you have entered transactions proactively (on the day or the week) and then later do an import from bank statement the transactions are matched automatically and then they are said to be reconciled (i.e. your manual entry gets matched by the entry from your statement.) So for beginning it is something like that. If any questions, feel free to ask. IMHO this is a process rather a one-off thing; I began once - got bored, but started again and now I find it immensely useful. If you're audited routinely you probably have an accountant to get this straight. It's not something that I would be too worried about as it is purely journal-entry issue, there's no problem with the actual money. Mistakes happen. I'd suggest converting the currency, taking loss/gain on the conversion as a capital loss/gain, and credit the correct currency to the correct account. If GnuCash causes problems - just record it in the EUR equivalent, putting in notes the actual SGD value. Note that I'm not an accountant and this is not a professional advice. I’m going to answer this because: Accounting books only reflect the dollar value of inventories. Which means if you look at the balance sheet of McDonalds, you will not see how many bags of French fries are remaining at their storage facility, you will only see the total value at cost basis.  Your requirement for noting the number of shares purchased is not part of the double entry accounting system.  When you transfer $10000 from bank to broker, the entries would be:  The bank’s name and the broker’s name will not appear on the balance sheet.  When you purchase 50 shares at $40 per share, the accounting system does not care about the number of shares or the price. All it cares is the $2000 total cost and the commission of $10.  You have two choices, either place $10 to an expense account, or incorporate it into the total cost (making it $2010).  The entries for the second method would be: Now your balance sheet would reflect: What happens if the price increases from $40 per share to $50 per share tomorrow? Do nothing. Your balance sheet will show the cost of $2010 until the shares are sold or the accounting period ends. It will not show the market value of $2500.  Instead, the Portfolio Tracker would show $2500. The most basic tracker is https://www.google.com/finance/portfolio .  Later if you finally sell the shares at $50 per share with $10 commission: Again, the number of shares will not be reflected anywhere in the accounting system. Only the total proceeds from the sale matters. "QUICK ANSWER What @Mike Haskel wrote is generally correct that the indirect method for cash flow statement reporting, which most US companies use, can sometimes produce different results that don't clearly reconcile with balance sheet shifts.  With regards to accounts receivables, this is especially so when there is a major increase or decrease in the company's allowances for doubtful accounts. In this case, there is more to the company's balance sheet and cash flow statements differences per its accounts receivables than its allowances for doubtful accounts seems responsible for.  As explained below, the difference, $1.25bn, is likely owing more to currency shifts and how they are accounted for than to other factors. = = = = = = = = = = DIRTY DETAILS Microsoft Corp. generally sells to high-quality / high-credit buyers; mostly PC, server and other devices manufacturers and licensees.  It hence made doubtful accounts provisions of $16mn for its $86,833mn (0.018%) of 2014 sales and wrote off $51mn of its carrying balance during the year. Its accounting for ""Other comprehensive income"" captures the primary differences of many accounts; specifically in this case, the ""foreign currency translation"" figure that comprises many balance sheet accounts and net out against shareholders' equity (i.e. those assets and liabilities bypass the income statement).  The footnotes include this explanation: Assets and liabilities recorded in foreign currencies are translated at the exchange rate on the balance sheet date. Revenue and expenses are translated at average rates of exchange prevailing during the year. Translation adjustments resulting from this process are recorded to other comprehensive income (“OCI”) What all this means is that those two balance sheet figures are computed by translating all the accounts with foreign currency balances (in this case, accounts receivables) into the reporting currency, US dollars (USD), at the date of the balance sheets, June 30 of the years 2013 and 2014. The change in accounts receivables cash flow figure is computed by first determining the average exchange rates for all the currencies it uses to conduct business and applying them respectively to the changes in each non-USD accounts receivables during the periods. For this reason, almost all multinational companies that report using indirect cash flow statements will have discrepancies between the changes in their reported working capital changes during a period and the dates of their balance sheet and it's usually because of currency shifts during the period." "That's Imbalance-USD (or whatever your default currency is). This is the default ""uncategorized"" account. My question is, is it possible to get the ""unbalanced"" account to zero and eliminate it? Yes, it's possible to get this down to zero, and in fact desirable. Any transactions in there should be reviewed and fixed. You can delete it once you've emptied it, but it will be recreated the next time an unbalanced transaction is entered. Ideally, I figure it should autohide unless there's something in it, but it's a minor annoyance. Presumably you've imported a lot of data into what's known as a transaction account like checking, and it's all going to Imbalance, because it's double entry and it has to go somewhere. Open up the checking account and you'll see they're all going to Imbalance. You'll need to start creating expense, liability and income accounts to direct these into.  Once you've got your history all classified, data entry will be easier. Autocomplete will suggest transactions, and online transaction pull will try to guess which account a given transaction should match with based on that data." Take a look at http://en.wikipedia.org/wiki/Comparison_of_accounting_software, in particular the rows with a market focus of 'personal'. This is probably one of the more complete lists available, and shows if they are web-based (like Mint) or standalone (like Quicken or Microsoft Money). Depending on what software you use. It has to be reported as a foreign income and you can claim foreign tax paid as a foreign tax credit. For manual conversion you can use many sites, starting from google (type 30 USD in yuan) to sites like xe.com mentioned here. For programmatic conversion, you could use Google Calculator API or many other currency exchange APIs that are available. Beware however that if you do it on the real site, the exchange rate is different from actual rates used by banks and payment processing companies - while they use market-based rates, they usually charge some premium on currency conversion, meaning that if you have something for 30 dollars, according to current rate it may bet 198 yuan, but if he uses a credit card for purchase, it may cost him, for example, 204 yuan. You should be very careful about making difference between snapshot market rates and actual rates used in specific transaction. I used to use Quicken, but support for that has been suspended in the UK.  I had started using Mvelopes, but support for that was suspended as well!  What I use now is an IPhone app called IXpenseit to track my spending. "Other responses have focused on getting you software to use, but I'd like to attempt your literal question: how are such transactions managed in systems that handle them? I will answer for ""double entry"" bookkeeping software such as Quicken or GnuCash (my choice). (Disclaimer: I Am Not An Accountant and accountants will probably find error in my terminology.) Your credit card is a liability to you, and is tracked using a liability account (as opposed to an asset account, such as your bank accounts or cash in your pocket). A liability account is just like an asset except that it is subtracted from rather than added to your total assets (or, from another perspective, its balance is normally negative; the mathematics works out identically). When you make a purchase using your credit card, the transaction you record transfers money from the liability account (increasing the liability) to the expense account for your classification of the expense. When you make a payment on your credit card, the transaction you record transfers money from your checking account (for example) to the credit card account, reducing the liability. Whatever software you choose for tracking your money, I strongly recommend choosing something that is sufficiently powerful to handle representing this as I have described (transfers between accounts as the normal mode of operation, not simply lone increases/decreases of asset accounts)." "I'm no accountant, but I think the way I'd want to approach this kind of thing in Gnucash would be to track it as an Asset, since it is. It sounds like your actual concern is that your tracked asset value isn't reflecting its current ""market"" value. Presumably because it's risky it's also illiquid, so you're not sure how much value it should have on your books. Your approach suggested here of having it as just as expense gives it a 0 value as an asset, but without tracking that there's something that you own. The two main approaches to tracking an investment in Gnucash are: Of course, both of these approaches do assume that you have some notion of your investment's ""current value"", which is what you're tracking. As the section on Estimating Valuation of the concepts guide says of valuing illiquid assets, ""There is no hard rule on this, and in fact different accountants may prefer to do this differently."" If you really think that the investment isn't worth anything at the moment, then I suppose you should track it at 0, but presumably you think it's worth something or you wouldn't have bought it, right? Even if it's just for your personal records, part of a regular (maybe annual?) review of your investments should include coming up with what you currently value that investment at (perhaps your best guess of what you could sell it for, assuming that you could find a willing buyer), and updating your records accordingly. Of course, if you need a valuation for a bank or for tax purposes or the like, they have more specific rules about how they are tracking what things are worth, but presumably you're trying to track your personal assets for your own reasons to get a handle on what you currently own. So, do that! Take the time to get a handle on the worth of what you currently own. And don't worry about getting the value wrong, just take your best guess, since you can always update it later when you learn new information about what your investment is worth." A pencil and a small notepad really work here, but if you have a smartphone then some way of using it makes sense as well. Try: Transcribe all of these onto a better record at the end of each day. Also record the amount of money in your wallet/purse/pocket every day, and check to see if the amounts you've recorded add up to the amount you've spent. It'll be easier to remember that newspaper you bought at the end of the day, rather than a week later. Or just record the difference as 'miscellaneous'. Use one journal entry, and split the expenses into the appropriate accounts. This can happen even if you never mix business and personal on the same receipt: say you order office supplies (which where I live are immediately deductible as an expense) and software or hardware (which must be depreciated because they are assets) on the same order. We have an account called Proprietors Loan which represents money the company is lending to the humans who own it, or that the humans are lending to the company. Were I to pay for my personal lunch on a business credit card, it would go through that account, increasing the amount the company has lent me or decreasing the amount I have lent it. Similarly if I made a business purchase with a personal card it would go through that account in the other direction. Where I live, I can lend my company all the money I want any time, but if the company lends me money there can't be an outstanding balance over the corporate year end. If you make two credit card entries of 5 and 10 when you go to reconcile your accounts it will be harder because you'll have to realize they together match the single 15 line on your statement. Making a single entry (your A option) will make reconciling your statement much easier. And that way, you'll probably reconcile your statements, which is vital to knowing you actually recorded everything. I would suggest that you try ClearCheckbook.  It is kind of like Mint, but you can add and remove things (graphs, features, modules) to make it as simple or diverse as you need it to be.  It should be a workable solution for simply tracking both income and expenses, yet it will also provide extra features as needed. There is a free option as well as a paid option with added features.  I have not used ClearCheckbook before, but according to their features page it looks like you may have to upgrade to the paid option if you want to have complete tagging/custom field flexibility. I agree with all of the answers, but knowing the amount of money saved will give new ideas to use this money to help develope new concepts that will help humanity.