...
The link with the Source and actor won’t be in a form a database foreign keys because those could be from different table.
invoices
( Nice to have: editable if not payed or validated)
field | type | comment | |||||
HistoryBusinessModel fields | |||||||
subject_type | str |
| |||||
subject_id | uuid/int ? | https://stackoverflow.com/questions/33528098/django-model-one-foreign-key-to-many-tables Picker based on drop down ? (multiple picker displayed based drop down ? ) | |||||
thirdparty_type | str |
| |||||
thirdparty_id | uuid/int ? | https://stackoverflow.com/questions/33528098/django-model-one-foreign-key-to-many-tables Picker based on drop down ? (multiple picker displayed based drop down ? ) | |||||
(nice to have)related_invoice_id | uuid | link to invoices | |||||
code | str | or reference for the insurance (editable) | |||||
code_tp | str | or reference for the recipient thirdparty (editable) | |||||
code_ext | str | if required for external system integration such as payment systems (editable) | |||||
date_due | date | date on which the payment is due (editable) | |||||
date_invoice | date | Date of the “invoice“ (date of today but editable) | |||||
*dateValidFrom | date | invoice covering service/item from (editable) | |||||
*dateValidTo | date | invoice covering service/item to (editable) | |||||
date_payed | date | Date on which the payment was actually documented as Done (editable) | |||||
amount_discount | float | total of the detail discount (calculated be) | |||||
amount_net | float | Total without tax (calculated be) | |||||
tax_analysis | json |
| |||||
amount_total | float | total net + tax total (calculated be) | |||||
status | int | ENUM: draft, validated, payed, cancelled, deleted (editable ), amended, suspended | |||||
currency_tp_code | str | currency of the recipient third_party (if different) (hidden) | |||||
currency_code | str | currency of insurance (calculated be) (hidden) | |||||
note | bigttext | (editable) | |||||
terms | bigttext | conditions (editable) | |||||
payment_reference | str |
...
field | type | comment | |||||
HistoryBusinessModel fields | |||||||
code | str | reference (editable) | |||||
line_type (displayed as a link/fe-contribution: List of Modules claims, Contract details, Policies) |
| ||||||
line_id | |||||||
invoiceId | UUID | reference to invoice (hidden) | |||||
description | str | (editable) | |||||
details (UI displayed or hoover above description tooltip) | json | depend of the type, TBD (editable as text) if not json wrap it in {'text':DATA} ← quote must be escaped | |||||
ledger_account | str | from specific payment module (editable) | |||||
quantity | float | (editable) | |||||
unit_price | type | (editable) | |||||
discount | float | percentage of discount | |||||
deduction | float | to document difference between the std price and the price to be paid, useful for relative pricing (editable) | |||||
tax tax_rate | Calculation uuid | Calculation to calculate the tax (picker, rule type: tax, subtype *) | |||||
tax_analysis(hoover above amount_total tooltip) | json |
| |||||
amount_total | float | net +tax (calculated be, updated fe after saving line) :calculated from service, based on invoiceitem | |||||
amount_net | qty * unitprice |
...
field | type | comment |
HistoryModel fields |
| |
Status | int | Accepted / Rejected/refunded/cancelled (editable) |
code_ext | str | payment reference (editable) |
label | str | label of the payment (editable) |
code_rcptp | str | Reference from the payment system / bank (editable) |
invoiceId | UUID | reference to invoice (hidden) |
code_receipt | str | receipt number (editable) |
amount_payed | float | Amount that need to be matched against business items (fees might be added if there were removed before reaching the system) (editable) |
fees | float | (editable) |
amount_received | float | Amount that is received (may include or not the fees) (editable) |
date_payment | date | (editable) |
payment_origin | String |
invoiceEvents
Read only for all but can add new message
...
Contribution plan calculation rule: Product modelinglegacy contribution
[out of scope]Claim Co-paiment:
...
search criteria
type for invoice
recipients third party(NTH: Ideally contribution from the specific payment module based on type)
code
date_invoice
amount_total
status
search result
type for invoice
recipients third party(NTH: display only the recipient attached )
code
date_invoice
amount_total
status
No add new button , All invoice MUST be generated using other module like “contract.createInvoice“ or BatchRun …
only delete button if status not payed and edit button (to open the invoice as double click)
card page
general information
...
subject_type / subject_id | Subjet |
thirdparty_type/ thirdparty_id | Recipient(invoice)/Sender(Bill) |
(nice to have)related_invoice_id | related invoice “Picker with code“ |
code | code |
code_tp | Code recipient (resp. sender) |
code_ext | Code external system |
date_due | date due |
date_invoice | date invoice |
*dateValidFrom | from |
*dateValidTo | to |
date_payed | date payed |
amount_discount | discount |
amount_net | net |
tax_analysis | tax (just show total) |
amount_total | Total |
status | status |
currency_tp_code | currency recipient (resp sender) |
currency_code | currency |
note | note |
terms | terms |
payment_reference | payment reference |
if not payed:
Delete button
if payed show no button but the
Should have Print as it is for the claim
tabs
invoiceLines
read only, All invoice MUST be generated using specific payment module
search filters on All bold schema fields but UUID
colunm to show All bold schema fields but UUID
invoicePayment
search filters on All bold schema fields but UUID
Add Payment button near the search (see add contract insuree)
colunm column to show All bold schema fields but UUID
on each line:
delete payment
edit payment (modal popup), all fields but UUID can be modified
...
must: message readonly once created: nice-to-have: user can change only his own message
colunm to show All bold schema fields but UUID
Account receivable, using the same structure as account receivable, when associated to the contract might also replace the “contribution/premium“
...