Collecting Customer Deposits and Managing Sold Estimates

New Contributor II

Hello ServiceTitan Community!

New to ServiceTitan here, in the Garage Door industry! We're in need of some extensive help and recommendations on how you all record taking a customer deposit. Putting the Pricebook aside, we all understand how customizable the door industry is. Therefore, the majority of our retrofit installs are ordered, and we require a downpayment (Deposit) before we order the door.

Here's the issue: When we send out an estimate to a customer, or when they're ready to proceed with a job, we require a 50% deposit on all doors we sell before we can order & book the job. We currently have to convert the "Sold Estimate" (which, in my opinion, should be called an "Accepted Estimate") to a job and create an invoice before we can collect a 50% deposit. We need to avoid booking the job and creating an invoice until we have that deposit (CASH) in hand because there are folks out there who, unfortunately, might not follow through once a job is "Sold." Then, we end up with both a "Job" and "Invoice" sitting out in limbo.

We can't continue with this workflow for several reasons:

Accounting and Reporting Implications:

  • Our current process is throwing our accounting off balance tremendously and causing a lot of extra manual entries. When we book a job, create an invoice, and then apply 50% of the payment, it misrepresents our Accounts Receivable. For instance, a $100K job with a $50K deposit should still show $100K in Accounts Receivable, not $50K. This affects not only our internal tracking but also our external financial reporting and obligations. When receiving a deposit, that does not guarantee that the job will be performed. Therefore, there is no liability to offset the deposit, which is HIGHLY important from a bookkeeping standpoint and for what we need to report to our accounting team.
  • NERD ALERT: When taking a deposit, you debit the bank and credit customer deposits. Then, when the job is complete and the full amount has been collected, we debit the bank again, credit sales revenue, debit customer deposits, and credit AR. This is the standard accounting procedure, and currently, I have not found a way to streamline this process.

Managing "Sold" Estimates and Unbooked Jobs:

  • We have a 30-day policy once an estimate is presented to a customer. We know a lot can change in 30 days, product-wise and price-wise. If the customer accepts the estimate and it moves from "Unsold" to "Sold" status, this complicates our tracking of when that period is voided because it all ultimately derives from when the deposit is collected. This leads to a lot of backtracking and checking past "Sold Estimates," which is inefficient and time-consuming.
  • For example, if a customer accepts an estimate, we book the job and send the invoice to collect our deposit. If the customer doesn't make their deposit until day 31 from when the estimate was presented, we then face the awkward situation of having to refund the customer, explaining that their payment wasn't made within the 30-day window of the estimate presentation. Worse case, we might have to explain a price increase or that a product is no longer available, which is very unprofessional on our end.

A simple solution would be to have a payment link somewhere in the estimate email, or the ability to charge a percentage when the customer accepts the estimate online. Rather than applying it to the invoice, there NEEDS to be some sort of mapping where it is applied to customer deposits (NOT THE INVOICE) for accounting purposes.

Any advice on this would be extremely helpful. Thank you for coming to my Ted Talk, lol.


New Contributor

@Zach Reaching out to quickly confirm you were aware of the option to take a payment manually from both Office or Mobile at the Estimate level, rather than booking every won Estimate into an Install Job / Invoice in order to collect a deposit. If you are already knowledgeable of the features below, please disregard!

In Office, after marking an Estimate as Sold, the "Actions" drop-down on the right shows an option to "Collect/Apply Payment":


This eliminates the need to generate an Invoice. The deposit is stored as a credit on the customer record. 

Same option at the Mobile level: after selling an Estimate on a sales appointment, the technician can process a payment in the field (not sure how common this workflow is for your business but seemed at least worth mentioning):



The downside here of course is that this is not a workflow that allows the customer to simply pay through an online link. Instead they would have to either call in so that the office keys in the payment, or have the technician swipe their card in the field.

Thank you for the feedback & upvoting the feature request to send an online payment link at the Estimate level as well!



@sheerahsaurus Thank you for the feedback!

Yes, we are aware of this particular workflow and I appreciate your help in trying to solve this. It is an option that we are using, however, it still isn't the best practice in my opinion. As you mentioned, we would have to key in the payment and I feel as this defeats the purpose of starting to automate workflows. Another point to mention is that this is after the Estimate is considered, "Sold", which "Technically" speaking, it has not been "Sold". 


@Zach Got it, good to know you are already utilizing this option. I agree it would be great to automate the customer payment process more to prevent these steps having to be taken on the office side. 

For the verbiage, ServiceTitan has designated Estimates to fall under "Sales" in reporting, whereas work that is actually completed and invoiced is marked as "Revenue." I'm not sure where this reasoning came from originally, but it might help clarify why Estimates are marked as "Sold" when they are approved.

This is helpful! Thank you

New Contributor III

Do you have the "enable deposit workflow" setting turned on in payment collections?    While it won't solve the workflow issues when trying to collect a deposit outside of mobile - it could provide an option to export an unapplied payment as a liability and then when the payment is applied to an invoice that entry is reversed.  



New Contributor II

Hey jbulman,

I have read a little into this, do you guys use Quickbooks Online? or Quickbooks Desktop? 

Because it seems that this workflow only works with the desktop version.

New Contributor III

We have Quickbooks Desktop

New Contributor II

I do not! I'll have to check with my account rep to see if this can be turned on for us!

Thank you for the feedback!

ServiceTitan Certified Provider
ServiceTitan Certified Provider

Lots of great points made, @ZachHawk. Have you looked into Progress billing, specifically for collecting customer deposits?



Sheena @ NiFT