Friday, December 27, 2019

I fixed yet another side effect caused by #3430. Not only VAT declarations but also payment orders and bank statements were affected by the problem that lino_xl.lib.ledger.Voucher.register_voucher() is now called after having saved the voucher. To fix these problems, get_wanted_movements() and get_payable_sums_dict() now will save the voucher again. This is a side effect, i.e. not very nice style. But it works, and I don’t currently see a better implementation.

I did some code cleanup : removed the DECLARED_IN constant because I no longer believe that we will ever want it back.

The button_text for the ToggleState action was “Õ” (rather accidentally). Now it is “⏼” (23FC “Toggle power”).

The field lino_xl.lib.ledger.Account.vat_column is now declared in lino_xl.lib.ledger instead of being injected by lino_xl.lib.vat. The difference is rather philosophic: I think it’s more natural to say that ledger be aware of vat, i.e. it defines those fields, knowing that they become dummy fields if vat isn’t installed. The inject approach is more accurate when you have some rather extravagant plugin that is not used often.

I discovered and fixed another bug in the Estonian VAT declaration: a sales intracom invoice must not generate a debit and credit with a VAT amount.