Adding- autofill discount option in customer/supplier

First there has to be an option to define CATEGORY in each inventory/non-inventory items page

We can then have checkbox in customer/supplier page as AUTOFULL DISCOUNT, selecting which a box to enter discount percentage appears & also a drop down menu with label “Apply to” appears with three options- 1) ALL ITEMS 2) ITEM CATEGORY & 3) SINGLE ITEM

From the three options of above drop down

if we select 1) ALL ITEMS- it means that the discount defined here will be automatically applied /copied to all inline discount field if the same customer/supplier is selected in the edit form (THIS IS USEFUL IF WE WANT TO SET DIFFERENT DISCOUNT FOR DIFFERENT CUSTOMER/SUPPLIER ON PREDEFINED standard SELLING PRICE)

if we select 2) ITEM CATEGORY- another drop-down with all item categories name appears, select any one

  • it means that the discount defined here will be automatically applied /copied to all inline discount field where this customer/supplier is selected in the edit form & item falling under this category is also selected (THIS IS USEFUL IF WE WANT TO SET DIFFERENT DISCOUNT FOR CUSTOMER/SUPPLIER BASED ON TYPE/ CATEGORY OF ITEMS WE ARE SELLING OR BUYING)

if we select 3) SINGLE ITEM- another drop-down with all item name appears, select any one

  • it means that the discount defined here will be applied /copied to all inline discount field where this customer/supplier is selected in the edit form & same item as mentioned above is also selected (THIS IS USEFUL IF WE WANT TO SET DISCOUNT ONLY FOR SELECTED ITEM FOR THAT CUSTOMER/SUPPLIER)
    & there should be a method which prioritizes item name discount above category discount for when we select those items(in edit forms) which has discount defined for both its name & categories

This strikes me as needlessly complex. I think many users would be confused.

how can you say that is “needlessly” !
what is needless to you may be necessary for many
and i dont think it is so much complex. it is only selecting from two extra drop down, from 1st dropdown -selecting from two option: 2)ITEM CATEGORY OR 3) SINGLE ITEM , & from 2nd drop-down selecting from list of category name or item name in dropdown menu genereted by above mentioned action.

Please note that 2nd dropdown is activated only when 2nd or 3rd option is selected from out of three options ( 1- all items, 2- item category , 3- single item) available in 1st dropdown

In 1st dropdown option 1- “ALL ITEMS” can be kept default & if left that way without changing to 2nd or 3rd option, no need for new dropdown, & that will be only one extra dropdown compared with other fields like “Autofill — Sales Invoice — Due date” already available in customer edit screen.

I say needlessly complex because of the number of discount permutations and combinations it opens up. Your own explanation of how simple you think this would be is proof of the complexity: multiple categories, conditional options, hidden selections—all will confuse users, because it will be difficult to decode the program’s behavior.

@lubos what is your opinion on this matter? Do you also think this feature request to be too complex?
If this is too much complex in your opinion as well then, CATEGORY option can be kept aside for now with the possibility of implementation in future, everything else can be kept same or similar to my above request.
I am sure this will reduce the complexity largely on comparison to implementing category as well

Question not addressed to me and actually not discarding any request, but I do not understand what you try to achieve. Maybe a clear use example would help so that the steps you propose can be better understood.

I am also not sure if the recent introduction of copying item-lines already does not help to copy all information related to discounts to a next line-item?

I know that price lists are not considered for future development but they seem like a simpler and more popular solution.

I wonder how many user would actually take the time to learn how to properly set these discount rules.

1 Like

@romangarg The implementation proposal is too complex. But generally speaking, this would be something that could be solved by introducing pricing levels. You can create pricing levels. Then define prices on items for each level. And then perhaps set default pricing level on each customer/supplier so the correct pricing level prices are autofilled.

There is related feature request already in ideas that requires prices to be defined in multiple currencies. This is kind of “pricing level” concept where every foreign currency represents a pricing level. So let’s just wait until that is implemented and only then we can look further how it could be built upon.


@eko want to pre-define discount for items against each Customer/ Supplier & eliminate the need to manually add discount in each line item.
Especially when number of line items are too many.

But this idea only changes unit price i guess, what if the item has to follow standard pricing (especially wrt MRP)?
Also too much difference in unit price of same item when billing to different customer is not considered as good practice by tax officer in our country. Whereas without incurring loss, giving discount as much as possible is allowed.

But you would still need to setup each line-item. So why do you not as suggested use the newly introduced duplicate line to add an exact copy to the line including the discount and then change whatever content in that line such as item(as I did for second line in screenshot below) or indeed the discount (if new number as 3rd line in my screenshot below)?

@eko your suggestion is useful only when we want to offer same discount for all items.
If we want to offer different discount for different items the problem still remains

@romangarg you can change the discount per duplicated line item. I asked you when creating a sales invoice for a customer if you add each line in that sales invoice? The duplication simply replicates the content of that line in a new line and allows you still to alter anything in that new line (line 3 in my screenshot).

I did not say this is similar to the idea you post which is as mentioned by everyone as too complex, but it is at least something that will speed up your process as you have fewer things to change when adding lines.

The main idea behind me requesting above feature is reducing manual effort involved in entering discount when number of item is too many, & also eliminating the need for user to remember discount against item(which may be different for each item in inventory list) for a particular customer/supplier

Suppose an invoice has 40-50 items, & supplier has pre agreed to provide certain discount against each of those item which may be same or different for each item & customer.
Then is it feasible for user to remember discount of each item in that invoice for that particular customer?
Suppose 500 items are there in inventory list, and 50 customer are there
Is it possible for user to remember discount against all 500 items for each customer
Let alone 50 customer, it would be very difficult to remember discount for only 1(single) customer itself.

Is it feasible for a business to give each customer/item combination a different price?

Is that not similar to haggling in a market?

It might work for a business with a few customers or items but it is unworkable for a business with many customers/items. Imagine if your local shop priced tomatoes differently for each customer


I currently have around 20 customers with various discounts for different item categories. I only have 5 categories and 4 discounts (5%, 10%, 15%, and 20%) so I created a custom field to describe what kind of discount a customer has for reference.
Now I just copy previously created invoices of that customer and modify the items which works well for the most part just needs more caution.

I think it is hard to imagine your request not being complex. This could be a separate module called Custom Discounts or whatever without complicating inventory/non-inventory items and customers, etc.

1 Like

You definitely can, but you don’t have to.

I’m only describing what I have seen and what I have seen is usually this gets implemented more or less like so:

  • You have a limited number of pricelists (say, retail, corporate and export for example)
  • Each pricelist contains products
  • Each customer is assigned to a pricelist

Default prices set in products apply when:

  • The product is not in a pricelist, or
  • The customer isn’t assigned to a pricelist

The user can manually override the prices.

I have also seen some pricelists that give the option to set a discount as well – usually in promotional context – but I have not yet seen a discount per products per customer. It may well be the case in some industries but I haven’t seen any myself tbh.

Unfortunately, @romangarg, the main effect would be that the average user would lose track of where the pricing that appears automatically came from. The information would be scattered between Inventory Items and Customers and possibly Sales Invoices. While there is no question this price-setting process could be automated, there are many reasons to question whether it should be. The developer obviously is not persuaded it should. Nor are many of the most experienced forum members and moderators who have offered opinions in this thread, with years of Manager experience covering dozens of businesses.

My request have nothing to do with pricing, i am just requesting for autofill option of discount field in edit forms. Instead it would allow for Unit price to remain same preserving uniformity across different edit & view forms

“Autofill-due date -sales invoice” option when selected & filled in customer already autofills due date field in invoice edit screen when that same customer is selected

This means that the program is already searching through customer name from customer database before filling out due date box in edit screen with autofill due date value which we have already defined in customer page

Similarly why cannot program search through customer name first & then item name before autofilling discount field?

It could. But that is not what you are suggesting. You are suggesting decisions that must be made on every line item on sales invoices, purchase invoices, receipts, payments, credit notes, and debit notes depending on:

  • Customer name
  • Supplier name
  • Item name
  • Discount category
  • Item quantity

That implies a multi-dimensional array of prices that, to many users, will seem like rolling dice. The developer already told you in post #8 above that your proposal is too complex.

As i have already suggested in post #5 if it is too complex, implementation of category part can be can ignored for now… Which would limit the implementation involving just customer/supplier & item combination
And if it is still too much complex, “supplier” can also be ignored for now, keeping just customer & item combination for just sales related modules(sales quote,order, & invoice) only.

Firstly, i dont think i have ever said anything about discount depending on “item quantity”

Secondly, i have suggested how complexity could be reduced significantly in my reply above just before quoting you.

You keep talking about “prices” , but what i am requesting is only variation in discount, keeping the unit price same across all forms.
So about which part user will get confused?

And anyway, enabling "autofill discount’ option in customer would be optional, so the user who dont want to use this option will not activate it, & will continue using the program the way they have been using.
I dont see how user will be confused in any way…