I am programming a custom module to apply a discount to sale orders (please avoid suggesting existing discount modules, I have tried several without success and also I want to learn how to do this stuff, thanks).
I have added the fields and modified _amount_all function and everything works fine, BUT I noted that it only works when you change something from the sale order item list. If you press update link in the subtotals and you did not change anything from the items the method _amount_all is not invoked at all. I added a "discount" field so if I modify later that discount value without modifying the items the user can not reflect the changes in the totals.
Now I am struggling to understand what triggers _amount_all and how can I force that updating a given field can trigger that function when user clicks on update link too.
Any help is really welcomed.