#125 [enh] Rework payments/invoices to be more flexible and automatic + be able to import CSV from bank

Closed
alexAubin wants to merge 0 commits from ARN/flexible-accounting into FFDN/master

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.
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.
alexAubin commented 7 years ago
Collaborator

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

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
alexAubin commented 7 years ago
Collaborator

Fixed the weird bug thanks to sleep and Jocelyn :D

Fixed the weird bug thanks to sleep and Jocelyn :D
jocelyn commented 7 years ago
Owner

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 !
jocelyn commented 7 years ago
Owner

(sorry for huge merging delay, btw)

(sorry for huge merging delay, btw)
Please reopen this pull request to perform merge operation.
Sign in to join this conversation.
No Milestone
No assignee
2 Participants
Loading...
Cancel
Save
There is no content yet.