diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-07-17 21:10:40 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-07-17 21:10:40 +0300 |
commit | d504305897382ce3d213a7319ced7ebb506ae865 (patch) | |
tree | ec19127d7f001b855ae36a7367b6e459394b5f52 | |
parent | 66b01eadb2dfe723a2e98ebf13a911ee4aebf450 (diff) | |
download | lasku-d504305897382ce3d213a7319ced7ebb506ae865.tar.gz |
Fix: count VAT totals correctly
-rwxr-xr-x | lasku.py | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -29,22 +29,23 @@ class Item: self.vat_cents = 0 if vatpc > 0: - total_cents_with_vat = int(unit_cents / (1.0 - vatpc)) - self.vat_cents = total_cents_with_vat - unit_cents + unit_cents_with_vat = int(unit_cents / (1.0 - vatpc)) + unit_vat_cents = unit_cents_with_vat - unit_cents debug('dict', self.dict) debug('total_cents', self.total_cents) debug('vatpc', vatpc) - debug('total_cents_with_vat', total_cents_with_vat) - debug('vat_cents', self.vat_cents) - debug('calc', int(vatpc * total_cents_with_vat)) - assert int(total_cents_with_vat * vatpc) == self.vat_cents - assert total_cents_with_vat == unit_cents + self.vat_cents + debug('unit_cents_with_vat', unit_cents_with_vat) + debug('unit_vat_cents', unit_vat_cents) + debug('calc', int(vatpc * unit_cents_with_vat)) + assert int(unit_cents_with_vat * vatpc) == unit_vat_cents + assert unit_cents_with_vat == unit_cents + unit_vat_cents + self.vat_cents = unit_vat_cents * count self.dict.update({ 'unit_euros': euros(unit_cents), 'total_cents': self.total_cents, 'total': euros(self.total_cents), - 'unitwithvat': euros(self.total_cents + self.vat_cents), + 'unitwithvat': euros(unit_cents + self.vat_cents), 'vat_cents': self.vat_cents, 'vat': euros(self.vat_cents), 'vatsum': euros(self.vat_cents * count), |