GnuCash register reimbursements
You should be recording the reimbursement as a negative expense on the original account the expense was recorded. Let's assume you have a $100 expense and $100 salary. Total $200 paycheck. You will have something like this In the reports, it will show that the expense account will have $0 ($100 + ($100)), while income account will have $100 (salary).
Dwolla looks to be a great option. But it requires users to have an account there (Free to sign up). And there rates are absolutely amazing.  Free for transactions under $10 $0.25 to receive money on transactions over $10 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. Get the cash you need to expand your business! Free information. Call Now. 866-334-8705.  Our goal: Helping small companies rebuild in this economy through private lending.  We are looking for business owners that want to save money on their credit card processing or begin accepting credit cards.  Grow your business now with a Merchant Cash Advance. Funding of 100 - 300% of your monthly sales, no points or upfront fees! No fixed monthly payment! Payment is automatically collected through credit card sales.  We have partnered with several processors and other service providers to ensure the ability to offer Credit Card Processing with the lowest possible rates and fees for processing and funding in the industry.  We also offer Gift Cards and Loyalty Programs to help you with repeat business.  Call 866-334-8705 and mention Agent #22104 to speak to one of our knowledgeable representatives that can give you a quote today.  http://agent.vendorsmerchantnetwork.com/22104  Our goal is to develop a custom tailored structure for your particular business' needs and desires. This enables you to process in the most cost efficient manner available in the industry! Features 24/7 Customer Support Lowest Processing Rates in the Industry Free Terminal Reprogram No Termination Fee  In addition, even in this difficult economic time, we offer Merchant Cash Advances to qualified applicants!   DON'T WAIT TO GET THE MONEY YOU NEED TO EXPAND YOUR BUISNESS! CALL US TODAY! "Your debits and credits are perfect. Now, it comes down to a choice of how you want your accounts organized, financially speaking. In terms of taxes, it's recommended you keep a separate set of books just like a corporation and account for them strictly according to law. It's best not to credit phone expenses since it will no longer show on your net reports.  A better alternative would be ""Phone reimbursement"".  With that, you can not only see if you've been compensated but also how much you're personally managing these expenses by checking the annual ""Phone expense"" account. This is all up to personal preference, but so long as you're properly balancing your accounts, you can introduce any level of resolution you wish.  I prefer total resolution when it comes to financial accounting. Also, it is not good practice to debit away ""Salary"".  The net of this account will be lower and distorted.  An expense reimbursement is not salary anyways, so the proper bookings will follow below. Finally, if GnuCash is calling ""Salary"" an income account, this is unfortunate.  The proper label would be ""revenue"" since ""income"" is a net account of expenses from revenue in the income identity. Entries With this, your books will become clearer: your cash assets will remain as clear as you had organized them, but now your income statement will provide higher resolution." Because a paying down a liability and thus gaining asset equity is not technically an expense, GnuCash will not include it in any expense reports. However, you can abuse the system a bit to do what you want.  The mortgage payment should be divided into principle, interest, and escrow / tax / insurance accounts. For example: A mortgage payment will then be a split transaction that puts money into these accounts from your bank account: For completeness, the escrow account will periodically be used to pay actual expenses, which just moves the expense from escrow into insurance or tax. This is nice so that expenses for a month aren't inflated due to a tax payment being made: Now, this is all fairly typical and results in all but the principle part of the mortgage payment being included in expense reports. The trick then is to duplicate the principle portion in a way that it makes its way into your expenses. One way to do this is to create a principle expense account and also a fictional equity account that provides the funds to pay it: Every time you record a mortgage payment, add a transfer from this equity account into the Principle Payments expense account. This will mess things up at some level, since you're inventing an expense that does not truly exist, but if you're using GnuCash more to monitor monthly cash flow, it causes the Income/Expense report to finally make sense. Example transaction split: The GnuCash manual has a page with examples of opening new accounts. The tl;dr is: use the Equity:Opening Balance to offset your original amounts. The further explanation from the GnuCash page is: As shown earlier with the Assets:Checking account, the starting   balances in an account are typically assigned to a special account   called Equity:Opening Balance. To start filling in this chart of   account, begin by setting the starting balances for the accounts.   Assume that there is $1000 in the savings account and $500 charged on   the credit card. Open the Assets:Savings account register. Select View from the menu and check to make sure you are in Basic Ledger style. You will   view your transactions in the other modes later, but for now let’s   enter a basic transaction using the basic default style. From the Assets:Savings account register window, enter a basic 2 account transaction to set your starting balance to $1000, transferred   from Equity:Opening Balance. Remember, basic transactions transfer   money from a source account to a destination account. Record the   transaction (press the Enter key, or click on the Enter icon). From the Assets:Checking account register window, enter a basic 2 account transaction to set your starting balance to $1000, transferred   from Equity:Opening Balance. From the Liabilities:Visa account register window, enter a basic 2 account transaction to set your starting balance to $500, transferred   from Equity:Opening Balance. This is done by entering the $500 as a   charge in the Visa account (or decrease in the Opening Balance   account), since it is money you borrowed. Record the transaction   (press the Enter key, or click on the Enter icon). You should now have 3 accounts with opening balances set. Assets:Checking, Assets:Savings, and Liabilities:Visa. I think something you might want to look at is a service called Dwolla. They charge $0.25 per transaction, and are free for transactions under $10. I suggest you have a professional assist you with this audit, if the issue comes into questioning. It might be that it wouldn't. There are several different options to deal with such situation, and each can be attacked by the IRS. You'll need to figure out the following: Have you paid taxes on the reimbursement? Most likely you haven't, but if you had - it simplifies the issue for you. Is the program qualified under the employers' plan, and the only reason you're not qualified for reimbursement is that you decided to quit your job? If so, you might not be able to deduct it at all, because you can't take tax benefits on something you can be reimbursed for, but chose not to. IRS might claim that you quitting your job is choosing not to get reimbursement you would otherwise get. I couldn't find from my brief search any examples of what happened after such a decision. You can claim it was a loan, but I doubt the IRS will agree. The employer most likely reported it as an expense. If the IRS don't contest based on what I described in #2, and you haven't paid taxes on the reimbursement (#1), I'd say what you did was reasonable and should be accepted (assuming of course you otherwise qualify for all the benefits you're asking for). I would suggest getting a professional advice. Talk to a EA or a a CPA in your area. This answer was not intended or written to be used, and it cannot be used by any taxpayer, for the purpose of avoiding penalties that may be imposed on the taxpayer "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!" If you would like to use linux I suggest you to use KMyMoney http://kmymoney2.sourceforge.net/ It is based on gnucash but it is easier to use IMO "I've been in a very similar situation to yours in the past.  Since the company is reimbursing you at a flat rate (I assume you don't need to provide documentation/receipts in order to be paid the per diem), it's not directly connected to the $90 in expenses that you mention.  Unless they were taking taxes out that would need to be reimbursed, the separate category for Assets:Reimbursable:Gotham City serves no real purpose, other than to categorize the expenses. Since there is no direct relationship between your expenses and the reimbursement, I would list them as completely separate transactions: Later, if you needed to locate all of the associated expenses with the Gotham trip, gnucash lets you search on memo text for ""Gotham"" and will display all of the related transactions.  This is a lot cleaner than having to determine what piece of the per diem goes to which expenses, or having to create a new Asset account every time you go on a trip." Not correct. First - when you say they don't tax the reimbursement, they are classifying it in a way that makes it taxable to you (just not withholding tax at that time).  In effect, they are under-withholding, if these reimbursement are high enough, you'll have not just a tax bill, but penalties for not paying enough all year.  My reimbursements do not produce any kind of pay stub, they are a direct deposit, and are not added to my income, not as they occur, nor at year end on W2.  Have you asked them why they handle it this way? It's wrong, and it's costing you. "GNUCash won't show 'Credit Card' type accounts in ""Process Payment"", as of v.2.6.1. A workaround is to create another  account of type A/Payable. Then, transfer the operations you want to pay via ""Process Payment"" to this new account. It should be visible now. A drawback is that you have split your current Credit Card debt, which makes it harder to track. Alternatively you may wish to only use this new account for all your credit card related expenses. Another alternative is processing payments for these purchases manually to keep the 'credit card' accounts consistent." I haven't used it in years, but look at GnuCash. From the site, one bullet point under Feature Highlights: Given your needs, GNUcash will do swimmingly. I've used it for the past 3 years and while it's a gradual learning process, it's been able to resolve most stuff I've thrown at it. Schedule bills and deposits in the calendar view so I can keep an eye on cash flow.  GNUcash has scheduled payments and receipts and reconcilation, should you need them. I prefer to keep enough float to cover monthly expenses in accounts rather than monitor potential shortfalls.   Track all my stock and mutual fund investments across numerous accounts. It pulls stock, mutual and bond quotes from lots of places, domestic and foreign. It can also pull transaction data from your brokers, if they support that.  I manually enter all my transactions so I can keep control of them. I just reconcile what I entered into Quicken based on the statements sent to me. I do not use Quicken's bill pay There's a reconciliation mode, but I don't use it personally. The purpose of reconcilation is less about catching bank errors and more about agreeing on the truth so that you don't incur bank fees. When I was doing this by hand I found I had a terrible data entry error rate, but on the other hand, the bayesian importer likes to mark gasoline purchases from the local grocery store as groceries rather than gas. I categorize all my expenditures for help come tax time. GNUcash has accounts, and you can mark expense accounts as tax related. It also generates certain tax forms for you if you need that. Not sure what all you're categorizing that's helpful at tax time though. I use numerous reports including. Net Worth tracking, Cash not is retirement funds and total retirement savings. Tons of reports, and the newest version supports SQL backends if you prefer that vs their reports.