Put more calculation logic into the model
Let the data service migrate it's data itself
Don't do calculation in $scope

This way, the $scope variables don't change that often and maybe the view doesn't have to be refreshed.
Separate costs and payments