ERPNext.com Frappe Cloud Support Partners Foundation Frappe School

Multiple invoices from a single sales order

our business process requires us to bill the customer in installments, I’ve read other post have done it via payment entry against single invoice, but for our case we have to issue invoice for each installments, please see below example

We issue the quotation to the customer totaling $1000

After customer purchase order we invoice the customer for 40% of $1000 which is $400

After we deliver the goods to customer, we invoice the customer for 40% which is $400

Then after the installation is complete we invoice the customer for the final 20% which is $200

So as you can see it’s important for us to create each invoice based on the percentage of the total amount, how do we achieve this with ERPnext?

3 Likes

Any answers?
I have the same situation!

The only “solution” I’ve found is to cancel the invoice, associate a payment with the sales order directly, and create a new invoice. That will pull the payment in. You can create a custom print which shows the outstanding amount. This is also helpful when adding shipping costs after the initial Sales Order. One downside is that you can’t cancel the invoice and edit it, as the payment is now also associated with the Invoice. So you would have to start the whole process over. Also it doesn’t save the original invoice. Obviously not ideal, but it works for us.

There are multiple ways to do this.

  1. You can use payment terms
  2. You can make partial invoice- you need to make item service type. Or unchecked maintain stock. Then manually create invoice of that amount.
1 Like

Same problem here.

Payment terms are not an option, as we need 1 invoice PER partial payment. With payment terms, there is a single invoice with the total amount, and a table showing the due dates for each partial payment. For accounting, we need to have an invoice for each partial payment so that it is accounted for in the correct month.

Service type item is not an option either. This will just be confusing for everyone. We just want to pay 50% of the price at order and 50% of the price at delivery. Many people are asking for this, and it is pretty standard in plenty of industries. Not sure why it’s not implemented in ERPnext yet!

Deleting the invoice after having sent it is not an option either, we need to keep track of what has been sent out to clients.

Did anyone find a suitable solution yet?

@ecollot I have the same case here and I have a workaround solution (this is called progress invoice).

Please see the sample:

Now to do this, you will have to create custom fields for your invoice item (Qty, original amount, and billing %).

Now you will have 2 columns for qty, you will have to make the original qty hidden and the custom one printable.

Then, you need to fraction the qty on the original field (which hidden to client) and now you have progress invoice.

Regards,
Yahya - CFO

2 Likes

@TetraComSA

Hi,

Thanks for this workaround!

I do have some questions for implementing this:

  1. Do you set this up in the Sales Order or in the Sales Invoice?
  2. In your example, I’m not sure how things have been divided. If we take LC-00001213, its original qty is 34, at 251 SAR unit price, for a total price of 8534 SAR.
    If you start by billing 70% of this item, you will bill 5973.80 SAR, which is what you do in Sr 1.
    When do you bill the other 30% of the item?
  3. How are you able to create 2 sales invoices, one for the 70% and one for the 30%?
  4. How do you “tell” ERPnext to use your custom fields instead of the standard ones?

Thanks for your help!

Hi,

dear @ecollot. I think those questions are quite difficult to answer and seeking professional advise would be the best solution.

But there is another workaround, which is simpler:

  1. For the first installments you just create invoices not associated with the sales order.
  2. For the last invoice of the project, you give a discount that amounts to the already paid invoices. Just use an appropriate wording for that in your invoice.

The only downside of this workaround is that you the first installments are not part of the sales order, which I do not think is necessary in most cases. (You always can link the invoices in comments or similar).

I hope, that helps.

@ecollot

  1. Do you set this up in the Sales Order or in the Sales Invoice?
    Sales invoice only
  2. In your example, I’m not sure how things have been divided. If we take LC-00001213, its original qty is 34, at 251 SAR unit price, for a total price of 8534 SAR.
    If you start by billing 70% of this item, you will bill 5973.80 SAR, which is what you do in Sr 1.
    When do you bill the other 30% of the item?
    This billing is linked to the agreed payment term which was:
    70% upon delivery (1st invoice)
    30% after handing over (2nd invoice)
  3. How are you able to create 2 sales invoices, one for the 70% and one for the 30%?
    The original qty (Not the custom one) is a hidden column where I made the qty fractioned for the 1st invoice (0.7)
    Next time, I will be able to retrieve the rest from the sales order which will be (0.3) automatically
  4. How do you “tell” ERPnext to use your custom fields instead of the standard ones?
    To make a custom field available on the level of invoice and on the level of items to apply the percent you would like to bill.

Regards,
Yahya

Hi, are there any workaround that user does not need to manually compute the value of the 70% or 30% from the value on the sales order? Since the user might make a mistake on doing manual computations.

Hi all, I have this same doubt, which is still unresolved to this day, in case any of us can solve it.

It is very basic to want to invoice the %50 for example before the delivery and the other %50 in the delivery.

It becomes more complex when the product unit cannot be divided, so it cannot be invoiced in part.

Thank you in advance.

1 Like

@federico_calvo I have a workaround for you

What I am doing is creating a sales order then make a delivery note against the amount which I want to invoice the customer then make a sales invoice.

I hope this will solve you proplem

Thanks for response.

I don’t fully understand how your case helps with partial billing.

First of all I would be making a delivery, which does not correspond until I actually receive or deliver the goods.

And secondly, you can still make an invoicing of 80%, without having to make manual calculations in each of the quantities.

I’ve been facing the same problem and I’m solving it as follows:

  • I added an item “Payment Term” which is a non-stock item and the cost and income account is an temporay account named “Down Payments”
  • I added an account in the chart of accounts under Liability with the name “Down Payments” type: Temporary

As an example let say I have a Sales Order with a total value of €20.000 with a payment condition of 50% at order and 50% after delivery.

  • I add the “Payment Term” item to the sales order with a value of “€0” (You could add a function to the print template to not show this item in the sales order printed document, that is if its a custom template)
  • From the Sales Order I make an Invoice which only contains the “Payment Term” item. I give this item an value of the invoiced part, in this case €10.000
  • After delivery I make the second invoice from the Sales Order and I add all items from the Sales Order and also add the “Payment Term” with a value negative value of all the down payments

To sum up:

  • Sales Order
    All sold items + “Payemend Term” item with a value of €0

  • Dow-payment invoice
    “Payment Term” item with a value of the down-payment amount( €10.000,- in this case) I give a description like “Down-payment of 50% as agreed on acc. our payment terms”

  • Final invoice (after delivery)
    All items (€20.00,00) + “Payment Term” item with a negative value of all the previous down-payment amounts ( -€10.000,- in this case) I give a description like “Already invoiced Dow-payment as part of the agreed payment terms”. This gives a payable amounbt of €20.000-€10.000=€10.000

This approach solves a couple of issues:

  • I can make multiple invoice against 1 Sales orders and these Invoices are linked from and to that Sales Order
  • I get correct VAT registration for the local tax authority for the down-payments
  • By using a temporary account that is not a cost or income account, the down-payment invoices are not counting for the Profit and Loss report. Only the final invoice is used for the Profit and Loss report

I hope this makes sense and might give you some ideas to work with.

2 Likes

The original post in this thread seemed to indicate there was installation component involved.
It would seem a job or job costing module would be suited to this circumstance.

It gets simpler, if you choose UOM as Percent. Do this right from the item creation stage. See below image