Symptom
You are unable to set a reason for rejection for line item XX in a Sales Order document due to the following error: (Where XX refers to the line item):
"Item XX: Gross amount must not be negative"
Environment
SAP Business ByDesign
Reproducing the Issue
- Go to Sales Order work center
- Select Sales Order view
- Search for Sales Order ABC (Where ABC refers to the sales order document)
- Click on Edit and View All
- Go to Items tab and select line item XX
- Set a reason for rejection
The following error occurs:
Item XX: Gross amount must not be negative.
Cause
The overall discount on sales order ABC is too high and by setting a reason for rejection of line item XX, the total gross amount becomes negative.
Negative gross amount in a Sales Order is not yet available for ByD as the system logic prevents the value from being negative. To proceed with the business flow, the gross amount must be equal or higher than 0.
See the following example:
For Sales Order ABC, the total item gross value is 10.76. This is calculated after summing up all item gross prices. Since 2 line items are cancelled, they are not considered in the total and all other item prices sum up to 10.76.
Total = Total Item gross value - Discount (if any)
In this case:
Total = 10.76 - 8.15 = 2.61.
When you try to cancel line item XX, the total item gross value calculation happens again. This time it will ignore the item XX price since it was cancelled.
New total item gross value = 10.76 - 2.79 => 7.97.
New Total = new Total item gross value - discount
New total = 7.97 - 8.15 => -0.18
Due to the cancellation of the last item, the manually added discount amount turns out to be more than the sum. Hence the errors are being thrown.
This is the system behavior as we cannot have negative prices in sales order.
Resolution
This is the current system behaviour.
Keywords
KBA , AP-SLO-SO , Sales Order , Problem