[13.x] Fix receipt totals and balance #1388
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes receipt totals when a balance is applied.
Here's an example with the current Cashier receipt:
And here's the Stripe invoice:
As you can see these numbers do not match. There's no reason the total customer balance should be displayed and the final total invoice amount isn't correct (should be €12.10).
With this PR it gets fixed to:
So it's the same as the Stripe one. I've added new methods to the Invoice object to accommodate for these changes.
There's one note I'd like to make: the current behavior of the Invoice's
total
method is actually incorrect. I've added a newrealTotal
method to temporarily accommodate for the true value. I did not want to break backwards compatibility which is why I opted for a new method. In Cashier v14, I strongly want to urge to change the behavior of thetotal
method and remove therealTotal
method again.