This is happenig due to entered rate is different than Price List rate. System will calculate discounting amount from the difference of Price List rate and entered rate on Purchase Order or Purchase Receipts.
That is true. But the problem is, item rate is not modified manually. There are no script that change item rate, and the changes are random.
This is kinda frustrates me because purchase receipt user should not see item rate, and purchase invoice user have to check each item’s rate because changes are sometimes not obvious.