Thursday, June 9, 2016¶
RelatedObjectDoesNotExist Enrolment has no pupil. in request POST /api/courses/EnrolmentsByCourse lino_voga/lib/courses/models.py in pupil_info txt = self.pupil.get_full_name(nominative=True) AttributeError 'BankStatementItem' object has no attribute 'match_changed' in request PUT /api/finan/ItemsByBankStatement/1554 lino_cosi/lib/finan/mixins.py, in guess_amount, line 286
Handling partial payments¶
Alexa and I discovered yet another series of optimizations for Lino Voga. Mostly about handling partial payments.
lino_xl.lib.sales.models.DueInvoices. I started
to write content for The lino_voga.lib.sales plugin.
New virtual fields
New parameter field
They want a new voucher state
lino_xl.lib.finan.fixtures.demo_bookings now generates a more
realistic situation. Until now it was rather utopic: all customers
paid their invoices as suggested and in time. where not all most
payments are arriving as suggested, i.e. the customer pays the full
ammount. But there are exceptions: 5% discount taken at payment,
partly payments, not paying at all, or (very accidentally) paying 2%