Sales Orders: A systematic approach to disable the trade conditions recalculation (v.26)

The Issue

There are many scenarios where we need to preserve trade conditions, such as prices, discounts, and bonus programs - as originally entered in sales orders, without triggering automatic recalculations.

A common example is a return sales order.

Since version 26, selecting a value in the "Return to Sale" field (Sales Order header) or the "Return for Sale Line" field (Lines) ensures that all level discounts are copied directly from the original sales order.

This is a significant improvement because it ensures that the return reflects the same discount structure as the original sale, maintaining consistency in pricing. After all, when processing a return, we want to match the amount originally charged.

However, there's an additional challenge: these discounts must remain unchanged and should not be recalculated based on current trade conditions. Instead, they should stay exactly as they were at the time of the original sale.

This made us realize that we need a new, more systematic approach - one that is both simple and functional while accommodating different business needs.

Considered Solution

Initially, we explored modifying the recalculation process to prevent it from triggering returns. However, this approach is unclear and difficult to scale. Instead, we opted for a more comprehensive solution that not only addresses this specific scenario but also lays the foundation for handling similar cases more effectively in the future.

The Implemented Solution

We are introducing new fields – the "Apply Trade Conditions" checkmarks in the Sales Order header and lines. These checkmarks will determine whether the system should calculate bonuses, discounts, and similar conditions for a given sales order line (or the entire document).

The system will automatically manipulate the check mark under certain conditions, such as when processing a return. The field is also editable and can be manually checked/unchecked when necessary or in more complex scenarios.

The triggering of the recalculations will look into the "Apply Trade Conditions" field's value and will not activate if it does not have a check mark.

Additional Use Cases

This systematic approach will be useful in all scenarios where prices and discounts should remain unchanged, such as:

  • Post-factum sales (e.g., import): When a sale is entered into the system after the fact and has already been made under specific conditions.

  • Rental module sales: When an item is rented under an agreed-upon price that should not change.

  • Any case where pricing is pre-determined elsewhere: Ensuring consistency and preventing unintended recalculations.

By implementing this approach, we ensure that returned items maintain their original trade conditions, providing accurate refunds while also supporting broader use cases where recalculations should be avoided. This solution enhances system flexibility and maintains pricing integrity across various business scenarios.

 

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk