Progressive Billing
Bill clients when a percentage of a project is considered as completed.
-
Rafael Aznar commented
Please add progressive invoicing. Will not migrate from Quickbooks until this feature is available in Zoho books. After that we will be more than happy to switch to Zoho One and take advantage of all its features. A code with a workaround is not what we are looking for as it may generate more issues than solutions.
-
Bill Lyon commented
PROGRESS INVOICING - work-around
Kyle, I tried for several years to implement Progress Invoicing. I finally gave up and canceled my subscription. Very soon after I canceled, ZOHO contacted me and asked what they could do to get me back, and I told them...again...Progressive Invoicing. Within 2 days they sent me this work-around for Progressive Invoicing. I didn't quite figure out how to follow the instructions and I think there may be some typos in the script. i.e. see "Estimte ID is Null" on last line.
========== BEGIN =========
Setup for Progress Invoicing:
As promised, our developers have come up with a work-around to achieve progressive invoicing in Zoho Invoice. Before I guide you with the instructions, let me explain how this works.
The invoicing is based on an estimate you create. For e.g: Assume you create an Estimate for $100. You can convert that estimate to an invoice. When you are on the invoice creation page, you need to change the Rate of how much you wish to be invoiced. Say you change the rate to $50. You will have to create a pair of custom fields for both the estimate and invoice module. These fields will display the Total Due and the Balance to be paid accordingly. The custom function executes every time you convert that estimate to an invoice. So you can create multiple invoices from the same estimate with the progressive rates that you want to collect every time until the whole payment is collected.
Progress Invoicing setup instructions:
Progress Invoicing custom function:Paste the custom function attached to this email in the space available. Replace the XXXXX in the 12th line with the authtoken that you generate from this link<https://accounts.zoho.com/apiauthtoken/create?SCOPE=ZohoInvoice%2Finvoiceapi>. Save the custom function.
2019-01-22 authtoken: 9b3ef4a273520987ce38aa44dbafb9b4= https://invoice.zoho.com/portal/billlyonenterprises Client Portal
=
= user defined field “AMT DUE NOW” is stored in: tmp_entity_cfvalue1
=
=
=
PROGRESS INVOICING custom function: (script)
invoiceID = invoice.get("invoice_id");
orgID = organization.get("organization_id");
estimateID = invoice.get("estimate_id").toLong();
if(estimateID.toString() != "")
{
estimate = zoho.invoice.getRecordById("Estimates",orgID,estimateID);
estimateMap = estimate.get("estimate");
if(estimateMap != null && !estimateMap.isEmpty())
{
invoicedAmount = 0.00;
balanceAmount = 0.00;
invoices = getUrl("https://invoice.zoho.com/api/v3/invoices?authtoken=XXXXX&estimate_id=" + estimateID + "&organization_id=" + orgID).toMap();
invoiceList = invoices.get("invoices").toList();
for each inv in invoiceList
{
inv = inv.toMap();
invoicedAmount = invoicedAmount + inv.get("total").toDecimal();
}
estimatetotal = estimateMap.get("total").toDecimal();
balanceAmount = estimatetotal - invoicedAmount;
customfields = List();
customfield1 = Map();
customfield1.put("label","Total Invoiced");
customfield1.put("value",invoicedAmount);
customfield2 = Map();
customfield2.put("label","Balance Due");
customfield2.put("value",balanceAmount);
customfields.add(customfield1);
customfields.add(customfield2);
json = Map();
json.put("custom_fields",customfields);
result = zoho.invoice.update("Estimates",orgID,estimateID,json);
info result.toMap().get("message");
customfields = List();
customfield1 = Map();
customfield1.put("label","Total Due");
customfield1.put("value",estimatetotal);
customfield2 = Map();
customfield2.put("label","Balance Pending");
customfield2.put("value",balanceAmount);
customfields.add(customfield1);
customfields.add(customfield2);
json = Map();
json.put("custom_fields",customfields);
result = zoho.invoice.update("invoices",orgID,invoiceID,json);
}
else
{
info "estimate ID is invalid";
}
}
else
{
info "Estimte ID is Null";
}
=========== END =========== -
Kyle Crone commented
Has partial billing been implemented yet? Quickbooks has it and it’s very simple. You invoice from an estimate and it asks what % you would like to invoice. You enter for example 30% and then it creates an invoice for 30%. It also remembers what % has been billed from the estimate previously. You can do this by each individual item or the total amount. The option to just bill the remainder is their as well.
Really surprised that Zoho does not have this as we are making the switch here soon and work in construction on projects that can take months to even years. We do progress / partial Billings for everything.
Please implement a solution for this.
-
Anonymous commented
I just tested 6 different invoicing providers. None of them do progress billing on a percentage per item. I do not understand why this has to be so difficult?!
A lot of these providers offer the same. Estimates, Standard Invoicing, Projects...
How hard can it be? And if all these others don't have it, why isn't ZOHO interested in implementing a feature that obviously others are unable to offer?? -
Brian commented
My patience has been exhausted waiting for this, and a few other features. I'm about done.
-
Bill Lyon commented
Brian, I've sent my last ZOHO invoice. I have been waiting for them to add Progress Billing for three years, to no avail. Using ZOHO I have to keep separate notes on each client's balance.
I'm going back to PayPal's free service...they are NOT going to listen!
-
Brian commented
As a sub-contractor, my primary contractors insist on this, as they have to report % completion info to the architect /PM for payment scheduling. I must insist on it! Or I will be forced to use a competitor program that does.
-
Nicolas Giuristante commented
This is somewhat implanted with retainer invoices but is kinda sketchy right now. A better workflow would be to create/associate retainer invoices on the fly in an invoice of choice. That being said, there is a way to create partial payment for your customers the right way. Remember people, an invoice is considered FINAL. Partial payments are another story as they must have scheduled payments:
- Simply create an estimate
- DO NOT convert it to an invoice yet, mark it as accepted instead
- Create a project and link the estimate to the project
- Create a retainer invoice for this project, write down in the description the percentage of the total amount
There can be an unlimited amount of retainer invoices except for the final payment, where you finally convert that estimate to an invoice. Remember, an invoice is final. Apply the retainers made for this project so the total of the invoice will subtract past payements. Therefore all that is left is the final payment which have a due date on the invoice.Hope it helps some people.
-
Nicholas Frangulis commented
+infinity on this one - It would great to bill a percentage of each line item. And on the next invoice have it show the client what's been billed, what's been invoiced previously and how much is being charged in the current invoice per line item.
Not sure if Line items are the best way, not everything is based on hours Zoho.
This is very important as it provides clarity for the client to see what the total is going to be for the project, and how it is broken down by item/task and to be able to track the current billing, and what has been previously billed. This is important so you don't double charge, and you can simply track the progress of a job and its financials.
-
Stephane Bolduc commented
It's a dam hassle if you need to bill a percentage of a job. "Still have not understood how to associate an invoice with another".
Progressive Billing is a must.
-
Admin commented
Along with progressive invoice, partial payment recording in retainer invoice is also must
-
Anonymous commented
Progressive Billing feature is must!!!!
-
Anonymous commented
This is a MUST for ZOHO Invoice. IT is a mess invoicing WITHOUT this feature!!!!!!!
-
Anonymous commented
This billing solution is excellent but it is so unfortunate that it does not allow partial billing. The proposed solution for installment invoices is not satisfactory because the (parallel) numbering is not related to that of the normal invoices and in addition to the normal invoices as well as the down payment invoices, These are not attached to quotes ... This is extremely damaging for the use of the app
-
pierre cousin commented
progressive billing is key for me, not just when a percentage of a project is considered as completed but also when a phase of a project is completed, which is similar.
-
Anonymous commented
It would great to bill a percentage of each line item. And on the next invoice have it show the client what's been billed, what's been paid and how much is left to pay per line item.
-
Ryan Ghere commented
Super important for me!!!! This would make my business SING!!!
-
Srinivasa Rao Vanka commented
Progressive Billing feature is must
-
iPaint commented
This along with deposit amounts would seal the deal for me. Hesitating because other programs do this and it's a must for me as well.
-
Brad White commented
I work around this by using decimal quantities in my current invoices (i.e. 0.3 for 30%) but the projects section does not track this well, and I have to remember to check all of the previous invoices to make sure that I have the correct quantity. I use ZOHO to invoice for my consulting engineering business. I rarely need to invoice based on hours, but frequently need to invoice a project over the course of four months up to a year. Percentage based invoicing, with integrated percentage progress tracking for the project, would be awesome for me.