this is a relatively big PR (:/) which contains some rework of the billing and how payment/invoice works. This is mainly intended to :
be able "more flexible" about payment/invoice, e.g. an actual payment in real life can be related to several invoice, not just one.
have a 'balance' system for members and automatic allocation of the latest payment to the latest invoices. E.g. if you have 2 invoices ongoing, one with 10€, the other with 15€, adding a 20€ payment will complete the first invoice + allocate the remaining 10€ to the second invoice. The balance, invoice and payments are displayed in the user interface.
finally, be able to import a bank CSV. The import attempt to match the label of payments from the CSV with the member ID, username or familyname. When 'committing' the import, this automatically creates payment objects in Coin, thus automatically updating the balance of affected members. If no match was found, one can manually set the member in the interface and the member's balance will be updated accordingly.
Hellow,
this is a relatively big PR (:/) which contains some rework of the billing and how payment/invoice works. This is mainly intended to :
- be able "more flexible" about payment/invoice, e.g. an actual payment in real life can be related to several invoice, not just one.
- have a 'balance' system for members and automatic allocation of the latest payment to the latest invoices. E.g. if you have 2 invoices ongoing, one with 10€, the other with 15€, adding a 20€ payment will complete the first invoice + allocate the remaining 10€ to the second invoice. The balance, invoice and payments are displayed in the user interface.
- finally, be able to import a bank CSV. The import attempt to match the label of payments from the CSV with the member ID, username or familyname. When 'committing' the import, this automatically creates payment objects in Coin, thus automatically updating the balance of affected members. If no match was found, one can manually set the member in the interface and the member's balance will be updated accordingly.
In particular, it now keeps track of payment<->invoice allocations, which allows for instance to delete a payment due to a mistake when creating it while still keeping everything consitent.
Also ran the test and they all worked before rebase ;) ... Now there's a weird quantum bug I need to investigate at a better time than 6am :P
I implemented Jocelyn and daimrod's comments and [rebased the branch](http://static.boredpanda.com/blog/wp-content/uploads/2014/10/i-have-no-idea-what-im-doing-dog-bailey-9.jpg)
In particular, it now keeps track of payment<->invoice allocations, which allows for instance to delete a payment due to a mistake when creating it while still keeping everything consitent.
Also ran the test and they all worked before rebase ;) ... Now there's a weird quantum bug I need to investigate at a better time than 6am :P
Although gogs is too dumb to notice it, this almost 100-commits PR is merged, hurray :-).
Ideally, I would have liked to see it rebased to have a clean history… But there is a moment things have to be done sometime or never !
Although gogs is too dumb to notice it, this almost 100-commits PR is merged, hurray :-).
Ideally, I would have liked to see it rebased to have a clean history… But there is a moment things have to be done sometime or never !
Hellow,
this is a relatively big PR (:/) which contains some rework of the billing and how payment/invoice works. This is mainly intended to :
I implemented Jocelyn and daimrod's comments and rebased the branch
In particular, it now keeps track of payment<->invoice allocations, which allows for instance to delete a payment due to a mistake when creating it while still keeping everything consitent.
Also ran the test and they all worked before rebase ;) ... Now there's a weird quantum bug I need to investigate at a better time than 6am :P
Fixed the weird bug thanks to sleep and Jocelyn :D
Although gogs is too dumb to notice it, this almost 100-commits PR is merged, hurray :-).
Ideally, I would have liked to see it rebased to have a clean history… But there is a moment things have to be done sometime or never !
(sorry for huge merging delay, btw)