What is the correct way to record the transfer of funds between 2 accounts of the same type (ie checking account to savings account)? Since they are both debit accounts, wouldn't crediting one and debiting the other cause problems?

More detailed example. My company is receiving funds as store credit, which is a liability account for us. When a client chooses to use these funds as a "budget" for future work, we want to transfer the funds to a "holding" account, which we will then charge against as the services are delivered. If we don't provide enough services to consume all of the funds on hold, then the remainder is returned to their "store credit" account. This model was chosen so that the client can use their "store credit" account to place multiple orders without going negative.

It seems to me that both the "store credit" and the "holding" accounts are company Liability accounts. What's the correct way to record this transfer as a journal entry?


  • don't think its off-topic, its a perfectly reasonable situation for anyone using quickbooks or gnucash, even for personal needs.
    – littleadv
    Aug 14, 2012 at 3:05

1 Answer 1


Your first and second paragraphs are two different cases.

Moving money between a checking account and a savings account will credit Cash and debit Cash, making a GL transaction unnecessary, unless the amounts in the two bank accounts are tracked as two separate GL accounts. You might have account 1001 (Cash-Checking) and account 1002 (Cash-Savings). In that case, a movement of money between these two accounts should be tracked by a transaction between the GL accounts; credit checking, debit savings. It won't affect your balance sheet, but depending on your definition of liquidity of assets it might affect working capital on your statement of cash flows (if you consider the savings account "illiquid" then money moved to it is a decrease in working capital).

Basically, what you are creating with your "store credit" accounts for each client is an "unearned revenue" account. When clients pay you cash for work you haven't done yet, or you refund money for a return as "store credit" instead of cash, the credit is a liability account, balancing an increase in cash, inventory, or an expense (if you're giving credit for free, perhaps due to a mistake on your part, you would debit a "Store Credit Expense" account). This can be split out client-by-client in the GL if you wish, avoiding the need for a holding account.

The way you want to do it, you'd have a "Client Holding" account. It must be unique in the GL and to the client, and yes, it is a liability account. To transfer to holding, you simply debit Unearned Revenue and credit Client Holding, logging the transaction as "transfer of client store credit" or similar (moving liability to liability; balance sheet doesn't change). Then, as you sell goods or services to the client, you debit Accounts Receivable and credit Revenue, then to record the payment you credit AR and debit Client Holding (up to its current credit balance, after which the client pays you Cash and you debit that, or the client still owes you). To zero out a remaining balance on the Holding account, debit Client Holding and credit Unearned Revenue.

I don't think the Holding account, the way you want to use it, is a good idea. If you want to track each customer's store credit balance with a GL account, then create specialized Unearned Revenue accounts for each client who gets a store credit, named for the client and containing their balance (zero or otherwise). If you don't care about it at the GL level, then pool it in one Unearned Revenue account (have one Store Credit account if you must), and track individual amounts off the books.

  • 1
    What is "GL"? You use the term many times but don't define it....
    – Wildcard
    Jul 29, 2018 at 9:39
  • GL = General Ledger
    – mdi
    Oct 9, 2018 at 6:47

You must log in to answer this question.

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