Price adjustment downward - what's the ERPNext way?

There is something I must be missing… ERPNext allows adjusting upward the amount accounted in a sales invoice via a debit note with qty = 0. This allows us to correct the price of an item (or various items). But there is no symmetrical behaviour with credit notes.

A common and very simple use case in Spain is when the seller makes a mistake pricing an item. Let’s say they charge the client 100 € for an item, submit the sales invoice, then realize it should have been just 90 € for that particular item. What is the recommended approach in ERPNext?

In Spain, this is normally fixed by creating a rectificative invoice with:

  • One row with the original item at the original price (with negative qty/rate to cancel it)
  • Another row with the same item at the corrected price (positive values)

The net result is -10 €. Since the grand total is negative, this seems like a use case for a credit note, but in ERPNext, credit note row quantities must ALL be negative (each of them individually).

So what’s the erpnext-way of resolving this case?

1 Like

We always Cancel the whole invoice by creating a credit note for all positions and then just create a new correct invoice.

Thanks for your response, Grantler.

In Spain, there are two different legal concepts:

  • Invoice cancellation
  • Invoice rectification

Each has different legal implications. For example, you can’t cancel an invoice once it has been paid, but you can issue a rectificative invoice to correct it.

As far as I can see, invoice cancellation (in Spanish legal terms) is provided in ERPNext out of the box via the “Cancel” button. Invoice rectification could potentially be mapped to Debit Notes and Credit Notes with some adjustments, but I’m trying to understand why they are treated in a different manner in ERPNext.

1 Like

In Hungary we have a similar legal structure, with 2 different transaction types, so I agree that ERPNext should support it.

1 Like

Can you issue the Credit Note and uncheck Update Stock?

If you leave the item quantity as negative and change the rate to the difference amount of the price discrepancy, you’ll then be able to make a payment entry against the Credit Note to return funds to the customer.

One thing that confuses the heck out of me is this wording:

Update Outstanding for Self
Credit Note will update it's own outstanding amount, even if 'Return Against' is specified.

1 Like

Hi Volkswagner,

Yes, you’re right, but there are some important limitations to this approach.

Even with “Update Stock” unchecked, ERPNext still tracks the quantities that have been “returned” at the item level. Here’s a concrete example:

You invoice a client 100 € for an item, then realize it should be 90 €. You create a credit note with qty: -1 and rate: 10 €. So far, so good.

But if you later realize the correct price is actually 80 € (not 90 €), and try to issue another credit note against the same item with qty: -1 and rate: 10 €, ERPNext will block you with: “Cannot return more than 0.0 for Item ITEMNAME”.

ERPNext maintains item-level validations that limit the available operations, even when stock is not being updated.

Beyond this technical constraint, there’s also a conceptual issue: sometimes it’s more intuitive to think “the new price for this item should be X” rather than “apply a reduction of Y euros”. Ideally, you’d create a credit note with two rows:

  • One row: qty -1 at the original rate (reversal)
  • Another row: qty +1 at the new rate (recharge)

However, ERPNext’s row-level validations don’t allow positive quantities in credit notes.

Regarding “Update Outstanding for Self”: this field controls how payments against the original invoice are handled. In our example, if you uncheck it on the 10 € credit note, the original invoice will show as “Partially Paid” rather than reducing the outstanding amount.

Hope this clarifies the limitations.

Besides that, I’m still confused on why ERPNext treats Credit and Debit Notes in such a different way.

Another difference between Credit and Debit Notes is mentioned in this question, by the way.