I am a freelancer; some of my clients pay me as an employee and some as a contractor. I have separate expense accounts for expenses I incur as a contractor and as an employee because as an employee, unreimbursed expenses are not tax deductible.

At the beginning of the year, I created an income account called Reimbursed Expenses so those amounts wouldn’t be included with taxable income; however, that means that the amount of the cost I incurred is still in the expense account. Rather than having reimbursed expenses post as credits to an income account, I would prefer to debit the appropriate expense account to decrease the balance so it correctly reflects tax deductible expenses.

I would also rather not use a separate receivable account for expenses for which I expect to be reimbursed because I do still want those transactions in my expense account so I can see how much I spent on say hotels regardless of whether it was reimbursed or not. If I use a separate receivable account, those charges would never hit my expense account and would just go back and forth between two asset accounts, my bank account and the reimbursable expenses receivable account.

When I’m generating an invoice though, GnuCash doesn’t allow me to select an expense account as the transfer account. Is there a way for me to credit my checking account and debit my expense account when I pay for something, then when I invoice it, credit the expense account? That way I could open an expense account and see all my hotel charges, but not have the ones that aren’t tax deductible included in the balance for the account. Right now when I process a payment, it just debits my bank account and credits the receivable.

Do I need to enter a completely separate transaction that debits the reimbursed expenses income account and credits relevant expense account? That seems tedious and redundant since it would be completely outside the invoice and process payment functions and leaves a lot of room for error. The balance in my reimbursed expenses income account wouldn’t zero out because I also have mileage reimbursement payments in there. So if I miss an expense, I wouldn’t be able to tell without auditing the whole account and checking all my invoices to see if a line item was mileage or an expense.

I’d appreciate any help or advice, thanks!

  • I don't know gnucash yet (looking forward to learning about it). But I could answer the question from an accounting perspective, and using most software I have used. If that would be helpful?
    – C.S.
    Nov 10, 2021 at 15:49
  • @4dcndn: I’m always open to suggestions in case there’s something I could improve. I absolutely love GnuCash, it’s just a very basic, straightforward, double entry system, but since I use the built in feature to generate invoices, that creates my receivable, so I’m a bit limited in my options.
    – Rena
    Nov 11, 2021 at 16:15

2 Answers 2


Here's an option for you:

For an Expense account for which you might be reimbursed (say, "Travel") create an account called "Travel Reimbursements", with an account type of Income. Attach "Travel Reimbursements" as a child account of "Travel". (You may need to repeat this process for a number of different expense accounts.)

When you create an invoice, you will be able to select "Travel Reimbursements" as a line item because, after all, it's an Income account. However, any income recorded against this account will effectively reduce the total recorded against its parent Expense account.

I've done some limited testing of this method - I suggest that you should do some more testing to confirm that it will achieve the outcome that you're after. But I think that it will work.

  • Over two years later, this answered my exact question and worked perfectly for me. Jan 13 at 10:46

Just some basics - you mention that you're talking about expenses for both contractor and employee clients at the beginning.. is the whole question about both sets? Or is your invoicing question just in relation to your contractor clients? I'll assume that.

If you are claiming the expenses as a tax deduction, then you do also need to include the reimbursement amounts as taxable income. It's both or neither.. the expenses (and any income received to offset them), or not listing the expenses. So that's one thing.

Secondly, the expense is related to the money you spent in incurring the expense. And after that, you record revenue (the invoice) and a receivable amount equal to that income amount. I haven't used gnucash yet, but hopefully that is what it does - that is how accounting practices work.

Third, you may want to use an additional field to indicate the customer/job for each invoice. I'll try and update this when I've used gnucash, but there should be some way to do that in there. That will make subsequent review of any questions much easier.

I'd probably have one (or more) expense account for contractor-related expenses, which go on schedule C, and which will be offset somewhat by reimbursements (reported as revenue also in self-employment section). And then one expense account for employment-related expenses - which you're getting reimbursed from your employer probably using their forms/processes and not the invoice process. And neither that revenue nor those expenses would be on your tax return.

  • I invoice both types of clients. I have separate expense accounts set up, but the problem is that for taxes, I would have to go through all of my expense accounts and pick out the expenses that were reimbursed because reimbursed expenses are not taxable income, and only unreimbursed expenses as a contractor are deductible, not as an employee, which is why I’d rather track the reimbursements as a credit to an expense account than as a credit to an income account, but I can’t find a way to use an expense account as the transfer account in GnuCash when generating an invoice.
    – Rena
    Nov 12, 2021 at 23:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .