Amendment and annex: data model and rules

The event table of contract amendments, their numbering and effect on the expiry date, plus the annex table, numbering, templates and the annex list placeholder.

An amendment is a row of type amendment in the contract_event table, recorded through contract/contract.amend (permission amend). Annexes live in the contract_annex table as the annex kind of contract/contractaction.

Amendment

Table names carry the installation's own prefix in the database.

  1. Required: date, effective date (valid dates), amendment text; optional new expiry, which cannot precede the contract start.
  2. Numbering per contract (nextAmendmentNo); fields: event_no, date_event, date_effective, old_date_to, new_date_to, body, doc_body, template_id, language_id, doc_id.
  3. With a new expiry the contract end, the brokerage rows running to the contract end and the data room access follow.
  4. Document: amendment template, document centre role amendment. After recording, the parameters cannot be changed, only the document text.

Annex

contract_annex: contract_id, annex_no (sequential per contract, assigned by the model), title (required), annex_type (annex, policy, other), template_id, language_id, body, note, doc_id, date_annex, status.

  • Two starter templates: contract_annex_generic_v1 (generic) and contract_annex_dataroom_policy_v1 (data protection and data room use policy), with Hungarian, English and German text.
  • The PDF name is in the document language; document centre role annex (visible to the parties, among the contract documents in the data room).
  • The contract template placeholder {annex_list} lists the contract's active annexes in the document language, with a heading and one numbered line each; an unedited annex created from a template appears with the template title of the target language.

Permissions

Amendment: contract/contract + amend, core modify permission and content scope. Annex: add / edit and the own generate key of contract/contractaction; the annex list (contract/contractaction.annexes) requires list on contract/contract and scope.