===================== Monday, June 15, 2015 ===================== I worked on :mod:`lino.modlib.vat` and :mod:`lino.modlib.vatless` to make them exemplarily well documented modules. Which raised the question whether these two plugins should be exclusive. My unconsious answer until now has been "yes", but now I realized that actually there is no reason to have them mutually exclusive. A vat-subjected company might also use some system of internal invoices for which there is no concept of VAT. So I added them *both* to :mod:`lino.projects.docs`. Which unveiled a a name clash: the model name "Invoice" was used in both :mod:`lino.modlib.vatless` and :mod:`lino.modlib.trading`. I might have solved this by defining an explicit `related_query_name `__ on each :attr:`voucher` definition, but actually it seems preferrable to have unique model names for invoices. So I did some model renames: ======= =============== ================= plugin old name new name ======= =============== ================= vat AccountInvoice VatAccountInvoice vatless Invoice AccountInvoice sales Invoice VatProductInvoice ======= =============== ================= Note that the names of the default tables remain `Invoices`, and the detail `InvoiceDetail` because there it is not necessary to use such long and difficult to remember model names. The requirement that the :attr:`voucher` foreign key for all voucher items must have a `related_name` named `'items'`.