I'm trying to figure out how to keep track of my kids' birthday money in a double-entry accounting system (GnuCash).

Currently I am keeping track of the amounts as sub-accounts of my checking account (extrapolating from [this answer](https://money.stackexchange.com/a/109418/62241)), and if that's the appropriate way to do it, that can be the answer to the question. But lately I've been thinking I should treat these amounts as liabilities, since I am obligated to provide the money whenever my kids want to spend it.

I just can't quite figure out how to do the entries.

**Grandparents send birthday money to the checking account:**

Credit Income:Gifts

Debit Assets:Checking Account

Credit Liability:Birthday Money

*Debit ... Some arbitrary expense account for indicating a gift liability?*

**Kids spend their money from the checking account to buy a book:**

Credit: Checking Account

Debit Expenses:Book

*Credit ... ?*

Debit Liability:Birthday Money

**Kids spend money from my cash (which I don't track in the software)**

Debit Expenses:Book

Debit Liability:Birthday Money

Is there a solution here, or is it better just to use sub-accounts?