How should I record invoices in foreign currency in GNUCash?
"The solution I've come up with is to keep income in CAD, and Accounts Receivable in USD.  Every time I post an invoice it prompts for the exchange rate. I don't know if this is ""correct"" but it seems to be preserving all of the information about the transactions and it makes sense to me.  I'm a programmer, not an accountant though so I'd still appreciate an answer from someone more familiar with this topic." It depends upon in how many currencies your business is denominated. If your business is solely dependent upon this one payer, it's best to start up a new set of books in USD.  All accounts should be translated from CAD from a date preceding the USD activity.  The CAD books should be closed, and all should be done with the new USD books. If your business will continue to use both USD & CAD, it's best to have two sets of books, one for USD and one for CAD.   Multi-currency books are a nightmare and should be avoided at all costs. Also, with the way you describe your situation, it appears as if you're also blending your household and business books.  This should also be avoided for best practices.
"Gnucash is much more designed for accounting than for budgeting. While it does have some simple budgeting features, they're largely based around tracking how much has been spent in the Expense categories/accounts, and seeing how close one is to a limit that's been set. Because the point of Gnucash is accounting, there's not a way to track an expense in two expense categories simultaneously. (You can split a transaction across multiple categories, to have a grocery store purchase of $150 be split across $100 Food and $50 Phone Minutes or whatever. But not have a $150 purchase be tracked as $150 Food and $150 Household expenses, because that's not how double-entry accounting works.) The closest way to do what I think you're looking for is to take advantage of the hierarchical account structure, and repeat subcategories as needed. For example: This would allow you to see Household expenses vs. Vacation expenses, and still see what it got spent on. Reporting on all ""Food"" purchases, if you want to do so, is slightly more tricky as you'd need to select all those ""Food"" categories separately in your report, but it's possible. You speak about wanting to ""track"" expenses multiple ways, so I think that this would allow you to record data sufficient to ""track"" it. But the point of tracking any data is to be able to report on it in some fashion, so if you have more specific reporting requirements, you might want to ask about that as well." "Regardless of wether or not you are registered for GST, you are legally required to include a GST total on every invoice sent to an Australian customer. This GST total must be 10% of the payment amount if you are registered for GST, or it must be $0.00 if you are not registered for GST. Since all GST transactions with the government are in Australian dollars, this amount on the invoice also needs to be in AUD, or else it's impossible for you and your customer to both be working off the same GST amount. This means you need to transfer your money from USD to AUD in PayPal's ""Manage Currencies"" area before you can send a tax invoice to the customer, so that you can provide the correct amount in AUD based on the actual exchange rate for the day (and you are required to send invoices promptly). Alternatively, you can collect payments in AUD using PayPal or use a different payment service that collects payments in USD but immediately converts them to AUD for sending an invoice (australian paypal competitors often provide this service)." I want to shop in the currency that will be cheapest in CAD at any   given time. How do you plan to do this? If you are using a debit or credit card on a CAD account, then you will pay that bank's exchange rate to pay for goods and services that are billed in foreign currency. If you plan on buying goods and services from merchants that offer to bill you in CAD for items that are priced in foreign currency (E.g. buying from Amazon.co.uk GBP priced goods, but having Amazon bill your card with equivalent CAD) then you will be paying that merchant's exchange rate. It is very unlikely that either of these scenarios would result in you paying mid-market rates (what you see on xe.com), which is the average between the current ask and bid prices for any currency pair. Instead, the business handling your transaction will set their own exchange rate, which will usually be less favorable than the mid-market rate and may have additional fees/commission bolted on as a separate charge.  For example, if I buy 100 USD worth of goods from a US vendor, but use a CAD credit card to pay, the mid-market rate on xe.com right now indicates an equivalent value of 126.97 CAD. However the credit card company is more likely to charge closer to 130.00 CAD and add a foreign transaction fee of maybe $2-3, or a percentage of the transaction value. Alternatively, if using something like Amazon, they may offer to bill the CAD credit card in CAD for those 100 USD goods. No separate foreign transaction fee in this case, but they are still likely to exchange at the less favorable 130.00 rate instead of the mid-market rates. The only way you can choose to pay in the cheapest equivalent currency is if you already have holdings of all the different currencies. Then just pay using whichever currency gets you the most bang for your buck. Unless you are receiving payments/wages in multiple currencies though, you're still going to have to refill these accounts periodically, thus incurring some foreign transaction fees and being subject to the banker's exchange rates. Where can I lookup accurate current exchange rates for consumers? It depends on who will be handling your transaction. Amazon will tell you at the checkout what exchange rate they will apply if you are having them convert a bill into your local currency for you. For credit/debit card transactions processed in a different currency than the attached account, you need to look at your specific agreement or contact the bank to see which rate they use for daily transactions (and where you can obtain these rates), whether they convert on the day of the transaction vs. the day it posts to your account, and how much they add on ($ and/or %) in fees and commission. "I'm not sure there's a good reason to do a ""closing the books"" ceremony for personal finance accounting. (And you're not only wanting to do that, but have a fiscal year that's different from the calendar year? Yikes!) My understanding is that usually this process is done for businesses to be able to account for what their ""Retained Earnings"" and such are for investors and tax purposes; generally individuals wouldn't think of their finances in those terms. It's certainly not impossible, though. Gnucash, for example, implements a ""Closing Books"" feature, which is designed to create transactions for each Income and Expenses account into an end-of-year Equity Retained Earnings account. It doesn't do any sort of closing out of Assets or Liabilities, however. (And I'm not sure how that would make any sense, as you'd transfer it from your Asset to the End-of-year closing account, and then transfer it back as an Opening Balance for the next year?) If you want to keep each year completely separate, the page about Closing Books in the Gnucash Wiki mentions that one can create a separate Gnucash file per year by exporting the account tree from your existing file, then importing that tree and the balances into a new file. I expect that it makes it much more challenging to run reports across multiple years of data, though. While your question doesn't seem to be specific to Gnucash (I just mention it because it's the accounting tool I'm most familiar with), I'd expect that any accounting program would have similar functionality. I would, however, like to point out this section from the Gnucash manual: Note that closing the books in GnuCash is unnecessary. You do not need to zero out your income and expense accounts at the end of each financial period. GnuCash’s built-in reports automatically handle concepts like retained earnings between two different financial periods. In fact, closing the books reduces the usefulness of the standard reports because the reports don’t currently understand closing transactions. So from their point of view it simply looks like the net income or expense in each account for a given period was simply zero. And that's largely why I'm just not sure what your goals are. If you want to look at your transactions for a certain time, to ""just focus on the range of years I'm interested in for any given purpose"" as you say, then just go ahead and run the report you care about with those years as the dates. The idea of ""closing books"" comes from a time when you'd want to take your pile of paper ledgers and go put them in storage once you didn't need to refer to them regularly. Computers now have no challenges storing ""every account from the beginning of time"" at all, and you can filter out that data to focus on whatever you're looking for easily. If you don't want to look at the old data, just don't include them in your reports. I'm pretty sure that's the ""better way to keep the books manageable""." If you are off by coins, how can you be sure that you only made a typo and didn't miss a transaction?  To start off, I would strongly you find a way to be precise.  It doesn't matter so much in the accounting, but the habit of doing a thorough job will pay off in other dividends down the line. Basically, do the pennies now.  Tryout some free online software to save the headache of data entry. But........ Since my primary goal is to get you to do the budgeting, and if you really hate the coins, just be consistent in how you fudge the debits and the credits. Always round down to the nearest whole in income, and always round up on expenses.  You won't overspend this way, and your back account should have a little bit of padding because you will assume less money in and more money out. Honestly, I do tracking in both Quicken and Mint.com, so the transaction size is no big deal to me.  If I did it all in Excel, I would round to whole notes.  You didn't tag your question with a country, so I don't know if or similar is available to you. "Here's a very basic MySQL query I put together that does what I want for  income/expense report. Basically it reports the same info as the canned income/expense report, but limits it those income/expenses associated with a particular account (rental property, in my case).  My main complaint is the output ""report"" is pretty ugly. And modifying for a different rental property requires changing the code (I could pass parameters etc). Again, the main ""issue"" in my mind with GnuCash income/expense report is that there is no filter for which account (rental property) you want income/expenses for, unless you set up account tree so that each rental property has its own defined incomes and expenses (i.e. PropertyA:Expense:Utility:electric).  Hopefully someone will point me to a more elegant solution that uses the report generator built into GnuCash. THanks! SELECT a2.account_type , a4.name, a3.name, a2.name, SUM(ROUND(IF(a2.account_type='EXPENSE',-  s2.value_num,ABS(s2.value_num))/s2.value_denom,2)) AS amt FROM    (     SELECT  s1.tx_guid     FROM    gnucash.accounts AS a1         INNER JOIN gnucash.splits AS s1 ON s1.account_guid = a1.guid     WHERE   a1.name='Property A'         ) AS X     INNER JOIN gnucash.splits s2 ON x.tx_guid = s2.tx_guid     INNER JOIN gnucash.accounts a2 ON a2.guid=s2.account_guid     INNER JOIN gnucash.transactions t ON t.guid=s2.tx_guid     LEFT JOIN gnucash.accounts a3 ON a3.guid = a2.parent_guid     LEFT JOIN gnucash.accounts a4 ON a4.guid = a3.parent_guid WHERE   a2.name <> 'Property A' # get all the accounts associated with tx in Property A account (but not the actual Property A Bank duplicate entries.         AND t.post_date BETWEEN CAST('2016-01-01' AS DATE) AND CAST('2016-12-31' AS DATE) GROUP BY a2.account_type ,a4.name, a3.name, a2.name  WITH ROLLUP ; And here's the output. Hopefully someone has a better suggested approach!" With $7 Million at stake I guess it would be prudent to take legal advise as well as advise from qualified CA. Forex trading for select currency pair [with one leg in INR] is allowed. Ex USDINR, EURINR, JPYINR, GBPINR. Forex trading for pairs without INR or not in the above list is NOT allowed. Mint has worked fairly well for tracking budgets and expenses, but I use GnuCash to plug in the holes. It offers MSFT$ like registers; the ability to track cash expenses, assets, and liabilities; and the option to track individual investment transactions. I also use GnuCash reports for my taxes since it gives a clearer picture of my finances than Mint does.