How to account for non-refundable deposits

SOLVED

We started taking 25% non-refundable deposit on every booking this year- this money goes straight into the bank.  The balance of the stay is paid when the guest arrives (sometimes in the following year).  If the guest cancels we retain the deposit regardless (thus non-refundable).

On some advice (which I have a feeling was bad...),  I had begun using the GJ to debit the 2460 deposit liability account when the deposits were received and then credit it again when money was deposited in the bank. Her understanding was that since the deposit was non-refundable I would count it as income in that month in which I took the deposit.  

Upon further research, I came across a few forum posts saying that even though it's non-refundable it's not realized income until the guest comes and pays the balance.  Which is correct?

Secondly, I'd like to be able to switch over to creating invoices etc but I imagine it's too late since I've already posted a couple months worth of deposits. (If that's an "easy" fix please let me know!)   If I have to continue using the GJ, and the way I've been doing it is indeed wrong, how do I account for the money in the bank? (meaning, I have money in my bank now, but it's not technically realized income until the guest comes to stay)