Client paying ahead - best practice

Hi! What is currently the best practice for getting a client to pay ahead, basically in advance of a project? (A retainer toward a milestone, basically).

If I create an invoice and they pay it - of course that becomes a zero balance for them - because they have “paid for it” already

If I just put in a credit for them, then they never receive an invoice and I’d have to take payment manually or outside of Invoice Ninja, which is not good either (I want them to receive an invoice and pay via IN).

So - maybe we need a way to send out “credit invoices”? Many projects and contracts have milestones and retainers (a lot of recurring invoices in the service industry are used for retainer credits - they expire if not used, but if used, invoices are deducted from that month’s retainer credit).

How can this be done in IN?


PS - Amazing software, loving it. Feeling so much better about having this system setup than anything I’ve ever tried before.

I’ve been experimenting more and more - the best thing I can figure out is to send the invoice for the retainer (whether this is recurring or not), and when it comes back give a credit to the client for the same amount.

I guess, if this is best practice, maybe we need a way to send an invoice out for a credit? Like, allow the clients to buy credits? (as if they were a product or something - that way it would be automatic)

That being said - I have no idea what to do for the “monthly retainer” scenario where credits would expire at the end of the month - but I may be wrong on that being very common. Either way I guess allowing some sort of expiration date system on a credit would take care of that as well.

The main thing, being able to invoice and having that payment automatically trigger a credit would solve this retainer scenario as well (I think):

The retainer is your money, simply placed in trust with the attorney. As the attorney does work for you, he invoices against the retainer.

At any time, you can request an accounting of all charges against the retainer and/or request that any unbilled portion of the retainer be returned to you.

If anyone has any ideas on best practice for this besides issuing a credit after sending out an invoice stating they are buying a credit for future work, let me know!

Most often my clients will just overpay an invoice to do this and that would take care of itself, but pre-payments are more and more common with bigger jobs and at the end of the year (for tax write offs for them).


I think v5 has better support for this, you can accept a payment now and then apply it to invoices at a later time. You can try it in the demo:

Thanks for the reply! That does sound good!

Something I also like about the demo in v5 is it also looks better for task based billing - I’m a “bill for the service” and then “occasionally I’ll have products” guy. So being able to start an invoice with the “service setup” is looking easier over there (I have to create a task first now - and they are also easier to get to from the invoice screen in v5).

Thank you. Will keep trucking w/v4 and update when things stabilize on v5.

Amazing software guys. I mean, so much more than so many for less cost, and the stability is amazing too, even on self hosted it seems rock solid. I can’t say thank you enough.

1 Like

One last reply after playing around with v5 more - being apple to accept a payment now and applying it later works great if I am accepting a check or cash in person (because it even emails them a receipt after I put the payment in - excellent)

But it doesn’t cover the use case of needing to send out an invoice for a deposit toward future work, and letting them pay themselves via a credit card (without me later remembering to enter a matching credit - if that will work - and I think it might)

Basically it’s this scenario:

Not to compare. I think IN does a million more things better than FreshBooks, at a fraction of the cost. It just described the scenario perfectly.

Keep up the great work, and thank you again. :smiley:

I believe this is supported, there is a partial/deposit field on the edit invoice form.


That’s true. And that is perfect if the invoice is basically completed; all services and products are on there already.

It doesn’t really work well when clients are paying ahead in general though. Because I would need to send out a completed invoice. (I don’t know what all services they are paying for yet - I may have a general idea but the line item invoice with lists of services by the hour will come later).

The only way I can figure out how to do this is to sell credits for hours of my time (hours of service) - and then actually put a matching credit in via the credit section.

When you send a quote and ask for a partial deposit. They accept the quote, the quote becomes an invoice, you get some money and you can still edit the Invoice after I think. So you could add the hours or whatever is missing then. Right?

That’s interesting - it wouldn’t support the monthly retainer for credit use case (where I really think maybe somehow a credit needs to be offered as a product), but it would support the majority of my cases where I’m asking for a good faith prepayment to get started on a big project - let me test this and get back, and thanks for the idea :slight_smile:

Okay! @Connexium I experimented with the quote system more - it is a great system for actual quotes of tangible products, but it doesn’t work so well for my business (where I need task/hourly/service based estimates instead of quotes).

You can’t quote for tasks, and second of all, even if you could, they can’t be adjusted later after the invoice is created from a quote. You can add more products (or maybe even tasks), but you can’t adjust if the amount of time comes in under or over, or if the product price changes - which is what I need when sending out estimates for tasks/services.

This is basically a great quote system (quotes are fixed and will not change) but doesn’t work well at all as an estimate system (estimates will be different than final invoice).

Product based businesses tend to use “Quotes” while service based businesses tend to use “Estimates”

Since my invoices are detailed by Service Date + Service Description, I may can convert the quote system to an estimate system by quoting my services as “Items” and then creating a separate task based invoice later.

I think all of this could be solved if I could sell a product that triggers giving a client a specified amount of credit, that way they could buy so many hours from me in advance (at varying rates depending on the service) - I think this would make it more user friendly for service based businesses.

In this way a new invoice could be created later with more details, instead of trying to adjust an approved quote where things are “fixed”…However, that is the nature of quotes vs. estimates (fixed vs not fixed). But I think being able to sell credits would fix the quote system where we could use it like an estimate system.

The other thing (not a quick fix) would be to introduce a true estimate system where the client can approve estimates, and it triggers a draft invoice but it doesn’t publish the invoice to the client (because it’s not finalized yet) - and everything can be adjusted before finalization.

I think service based businesses could really use both of these features. @hillel Would it be okay to write them up as a feature request in GitHub for v5?

I think I understand what you are trying to say. I must also admit that it’s VERY hard to accommodate every possible billing scenario. Having tried other products, for the price range, InvoiceNinja is incredible!

I’m sure Hillel is always open to suggestions, but at one point complexity and granularity have to be balanced with simplicity and usefulness. Im just glad its not my job to decide haha!

Good luck

1 Like

Thanks! Absolutely 100% agree with this. I think, for some reason, many self-hosted products are focused on product based businesses (and quotes) instead of service (time) based businesses (and estimates). I bet it’ll come around eventually. In the meantime instead of hacking IN I think I plan to use Square for estimates and IN for everything else.

The good news is I think these are features that could be added with much copied code but variables changed, and that would cover about 98% of the estimate based service industry (by potentially duplicating the quote module and altering it toward estimates - having one tab for quotes and one tab for estimates), the bad news is it’s still a lot of work.

Here’s where I’d get into huge trouble if I sent a quote for time based work (or if it even looked, or acted like a quote) instead of an estimate (from a search definition):

An estimate is a best guess of how much a job might cost. ​ A quote is more exact. Once you've accepted a quote, the contractor has to do the work for that price.

But you’re 100% right. While it seems like there are tons of estimate based businesses out there prioritizing has to be insanely painful and I’m glad I’m not trying to decide as well. Good words! I just hope they are making enough money off of the product to make it worth it for them as hard as they work!! Otherwise, where is the tip jar? (I did buy white label for myself, but that’s just a drop in the bucket for the incredible nature of IN, like you mentioned :))

Hey! I know this is old but wanted to show where the “pay ahead” by making a (full or partial) deposit toward an invoice is in a video (@hillel mentioned this earlier and this video illustrates it around 7:25): Our Process From Quote To Sale using Invoice Ninja - YouTube

While I think an open ended “estimate tab” could be an awesome addition to IN, I have found that if you (1) send multiple smaller invoices, or, (2) just communicate really well with the client (if you have a good client and good relationship with them) and tell them to not pay XYZ invoice that you’ll send an updated one, then update and re-send and let them know that the old one is void and the new one that came out is good, you can do okay with this workflow when an ongoing job expands or changes. Of course the links in IN stay the same so everything but the attached PDF invoice (if you have this option enabled) will be updated in the system, and any new emails that go out will have the correct (updated) invoice attached.

It’s probably easier to keep track with multiple smaller invoices, which with Invoice Ninja is amazingly easy to keep track of since it does all of the heavy lifting and hard work for you.

Also of note for anyone reading: When you “Mark Sent” an invoice in the system, an initial email doesn’t go out but the invoice is then “active” or “live” and any scheduled emails, payment reminders, etc. will go out - so keep them as drafts as long as you want which keeps them dormant in the system, and then change the dates of the invoice right before you decide to send it and make it a live invoice.

Thanks again for such great, amazing, and solid software that is head and shoulders above the rest of the market.