frappe / erpnext

Free and Open Source Enterprise Resource Planning (ERP)
https://erpnext.com
GNU General Public License v3.0
17.57k stars 6.71k forks source link

Progressive Invoicing #3821

Open bharatepillars opened 8 years ago

bharatepillars commented 8 years ago

Can we have the functionality of progressive invoicing, like invoicing customer as the project progress. Like 10% work completed, we could invoice certain part, and say 60% then some part.

Kindly Suggest, we are open for the Paid Development too.

jmatsushita commented 8 years ago

+1 for this feature!

rmehta commented 8 years ago

This requirement is pretty vague. Will be great if someone can come up with a more specific design (with mock-ups etc)

chibuzoro commented 8 years ago

Any update on the status of the Progressive invoicing or in-progress? @rmehta the idea is quite straight forward. I'd give a use case. A customer requires the service of a web developer and isn't willing to pay upfront for the full work due to fear of project failure and other risk.(e.g he is totally unsure of what he wants at first and can't predict or value the end result ). WebdevA gets the customer's requirements and proposes a list of feasible milestones that the customer agrees with. For each milestone is a percentage of work done, lets say, Interface design is 30% of the entire project work. Now in order to get paid, the WebdevA needs to issue an invoice detailing the following:

  1. Total Outstanding Balance Due
  2. Milestone
  3. % work completed
  4. Balance paid to date
  5. Current Outstanding balance due
  6. Updated Contract amount (if there was a change in scope in project, this is where the cost will be shown)
  7. reason for updated contract amount.(optional, but great way to keep scope info within the same document).

The idea is to have a non-posting transaction holder that can allow an invoice to be generated against it based on percentage of the total quote or on a per list item basis.

How other accounting tools approached this: Quickbooks implements progress invoicing using their own "Estimate Transaction" functionality. http://www.wikihow.com/Use-Progress-Invoicing-in-Quickbooks

tinito commented 6 years ago

Up! This is a mandatory function for our business as well (electronics design + development), as we always have split payments like 20% on order confirmation, 30% at delivery of milestone 1, 30% at milestone 2, 20% after delivery of documentation.

We could do this with payment terms, but we also need to produce an invoice for each payment to track VAT.

@rmehta , I would like to contribute developing this feature if some hint from lead developers would be available.

tinito commented 6 years ago

@rmehta may as you for a feedback on this? I think is a feature many users / customers really need (at least in the service / engineering industries, where you don't sell items but time), and if we can't implement it we definitively have to look into other ERP projects.

I would like to implement this but I need some hints, i.e.: 1) it is trivial or not? I mean, there is some design choice which makes the progressive invoice implementation complex? 2) were should I look in the source code? Some hint would be better than reversing the codebase..

tundebabzy commented 6 years ago

You can already do this by using Quotation or Sales Order. Create a line item for each milestone. When it's time to invoice, create a new sales invoice and use the "get items from" button to get all the line items from the quotation and remove as needed.

adfluidics commented 4 years ago

Up ! What is currently available is not enough.

E.g. I have an order, dated January 2019, with: 25x item A due June 2019 30x item B due January 2020

I invoice 50% at the order and 50% at delivery, so :

So in total, I need 4 different invoices in this case.

It is currently possible to add Payment Terms to an invoice, but nothing is done with them. The table is just printed on the total invoice, which is completely useless....

Ponyooooo commented 3 years ago

I hope ERPnext can implement this. Since the subscription document will not satisfy this progress invoicing. Also, the work around of editing manually the qty of an item is not possible because for each invoice you need to show the exact qty you are requesting for payment which at the same time you need to encode the unit price captured from the sales order.

letsfkccp commented 3 months ago

I hope ERPnext can implement this. Since the subscription document will not satisfy this progress invoicing. Also, the work around of editing manually the qty of an item is not possible because for each invoice you need to show the exact qty you are requesting for payment which at the same time you need to encode the unit price captured from the sales order.

Have you discovered a method for processing an invoice? Thank you.