QuickBooks

How to Record Customer Prepayments in QuickBooks Online

A customer prepayment, a retainer, a deposit against future work, isn't revenue the moment it lands in your bank account; you still owe them the goods or service. Record it against a liability account instead of income, then move it to income only when you apply it to the invoice it's actually paying for. Here's each step, in order.

The full walkthrough

1. Create a liability account for prepayments. From Settings, open Chart of accounts and click New. Choose Other Current Liabilities as the account type and name it something like "Customer Prepayments" or "Unearned Revenue." You only set this up once.

2. Create a product or service item that points at the liability account. Go to Settings, then Products and services, then New. Make a non-inventory or service item called "Prepayment" or "Retainer," and on its setup, point the income account field at the liability account from step 1, not a normal income account.

3. Record the prepayment using that item. If the customer pays before any invoice exists, use + New, then Sales receipt (if they paid immediately) or Invoice (if you're billing them for the deposit itself), and use the prepayment item on the line. The money posts to the liability account instead of inflating revenue for a job you haven't done yet.

4. Do the actual work, then create the real invoice. When the job or service is ready to bill, create a normal invoice listing what you actually delivered, same as any other invoice.

5. Apply the prepayment against the new invoice. Add a line to the invoice using the same prepayment item from step 2, entered as a negative amount equal to the credit the customer has on file. This reduces the invoice by what they already paid and moves that same amount out of the liability account into real income, matched to the work it actually covers.

Why this gets skipped in practice

The fast path is to just drop the prepayment straight into income when it arrives, since that's the obvious button and the cash is real. It works right up until the job falls through, gets delayed a quarter, or only half gets delivered before the rest is billed separately. At that point your books already show revenue for work that hasn't happened, and someone has to go back and untangle it.

It also gets messy for a business juggling several prepayments at once: which customer has a credit sitting on file, how much, and against which eventual invoice. That tracking tends to live in someone's head or a side spreadsheet rather than in QuickBooks itself, and it drifts out of date the moment a job scope changes.

What we've built on top of QuickBooks prepayment tracking

Prepayments applied automatically when the real invoice goes out

A job or project tool flags that work is complete, the matching invoice gets generated, and the customer's outstanding prepayment credit gets applied to it in the same step, instead of someone remembering to add the offsetting line by hand.

Outstanding credit balance surfaced before it's forgotten

A running view of which customers are sitting on an unapplied prepayment and how much, pulled straight from the liability account, so nobody has to go digging through a side spreadsheet to answer "do they still have a credit with us?"

How many customer prepayments are you tracking by hand right now?

If it's living in a spreadsheet next to QuickBooks instead of in the liability account itself, tell us how it's structured and we'll tell you if QuickBooks can carry that on its own.

Let's talk

Juggling customer prepayments outside of QuickBooks?

Tell us how deposits and retainers come in for your business, a signed contract, a booking page, a one-off request, and we'll tell you how to get them posting and applying correctly without a side tracker. Prepayments are one place manual tracking creeps in; we automate whatever's manual anywhere else in the business too.

Let's talk

Frequently Asked Questions

Is a customer prepayment the same thing as a security deposit in QuickBooks?+
No, even though both get recorded against a liability account at first, which is where the confusion comes from. A security deposit is money you're holding that you might have to give back in full, a damage deposit on a rental, for example. A customer prepayment is an advance payment toward goods or services you're going to deliver and invoice for; it's meant to become income, not get returned. One is about safekeeping someone else's money; the other is about billing ahead of the work.
How do I handle a retainer in QuickBooks?+
Same mechanism as any other prepayment: record it against a liability account using a dedicated item, then apply it against invoices as the work that earns it gets billed. A retainer is really just a prepayment that may get drawn down across several invoices instead of one.
How do I apply a deposit to an invoice in QuickBooks?+
Add a line to the invoice using the same item you used to record the original prepayment, entered as a negative amount for the portion being applied. That reduces what the customer owes on this invoice and reduces the liability account by the same amount.
How do I record a supplier or vendor prepayment in QuickBooks?+
That's the opposite direction from this page: money your business pays out in advance to a vendor, not money a customer pays you. It still uses a liability-style account (an asset this time, a prepaid expense), but it's tracked through bills and vendor credits rather than invoices and sales receipts.

Let's talk

Tell us the one thing your team does manually that eats up time. We read every message and reply within a day.