<h1>Master data/data model</h1>
<p>A contract contains a range of master data required for ongoing processing. During contract initiation, these values are filled in gradually and updated again later on. This data should be considered a reference and can be extended to include specific fields for project-related business.</p>
<p>The master data of a contract can generally be divided into different categories:</p>
<table><thead><tr><td><span
style='font-weight:bold'>Category</span></td><td><span
style='font-weight:bold'>Description</span></td></tr></thead><tbody><tr><td>General</td><td>Technically relevant data such as contract type and contractual relationship</td></tr><tr><td>Company</td><td>Information related to the first contract partner being managed</td></tr><tr><td>Contract data</td><td>Data relevant to administration such as contract number, manager, and department</td></tr><tr><td>Accounting</td><td>Information on the cost center and cost object</td></tr><tr><td>Project</td><td>Contracts can be assigned to projects</td></tr><tr><td>Duration</td><td>Information on the contract duration, as well as termination deadlines and reminder dates</td></tr><tr><td>Contract partner</td><td>Company and contact data for the second contract partner (customer/supplier)</td></tr><tr><td>Cash flow</td><td>Breakdown of all payments associated with the contract over the duration of the contract</td></tr></tbody></table>

<p>In Business Solution Contract, the data model and form structure were designed based on this model. Some of this data is mandatory. The basic function of Contract is based on fields from the categories &quot;General,&quot; &quot;Contract data,&quot; &quot;Duration,&quot; and &quot;Contract partner.&quot; Other values, however, are optional. This includes the categories &quot;Company,&quot; &quot;Project,&quot; and &quot;Cash flow.&quot; If specific parts are not required, a default can be set and the corresponding form component can be removed.</p>
<h2>Data model</h2>
<h3>General</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Name</td><td>CONTRACT_NAME</td><td>Index field</td><td></td></tr><tr><td>Category</td><td>CONTRACT_CATEGORY</td><td>Index field</td><td></td></tr><tr><td>Type</td><td>CONTRACT_TYPE</td><td>Index field</td><td></td></tr><tr><td>Relation</td><td>CONTRACT_RELATION</td><td>Index field</td><td>sol.contract.ix.localizedKwl.Relation</td></tr><tr><td>Risk classification</td><td>CONTRACT_RISK_CLASSIFICATION</td><td>Index field</td><td>sol.contract.ix.localizedKwl.RiskClassification</td></tr><tr><td>Status</td><td>CONTRACT_STATUS</td><td>Index field</td><td>sol.contract.ix.localizedKwl.Status</td></tr><tr><td>Filing location</td><td>CONTRACT_FILING_LOCATION</td><td>Index field</td><td>Existing entries</td></tr></tbody></table>

<h3>Company</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Company code</td><td>COMPANY_CODE</td><td>Index field</td><td>sol.contract.ix.dynkwl.Company</td></tr><tr><td>Company</td><td>COMPANY_NAME</td><td>Index field</td><td>sol.contract.ix.dynkwl.Company</td></tr></tbody></table>

<h3>Contract data</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Contract number</td><td>CONTRACT_NO</td><td>Index field</td><td></td></tr><tr><td>External contract number</td><td>EXTERNAL_CONTRACT_NO</td><td>Index field</td><td></td></tr><tr><td>Employee responsible</td><td>CONTRACT_RESPONSIBLE</td><td>Index field</td><td>ELO user names</td></tr><tr><td>Department</td><td>CONTRACT_DEPARTMENT</td><td>Index field</td><td>ELO user names</td></tr><tr><td>Procurement</td><td>CONTRACT_PROCUREMENT</td><td>Index field</td><td>ELO user names</td></tr><tr><td>Contract conclusion</td><td>CONTRACT_DATE</td><td>Index field</td><td>#DATE#</td></tr></tbody></table>

<h3>Accounting</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Cost center no.</td><td>COST_CENTER_NO</td><td>Index field</td><td>sol.contract.ix.dynkwl.CostCenter</td></tr><tr><td>Cost center name</td><td>COST_CENTER_NAME</td><td>Map field</td><td></td></tr><tr><td>Cost object no.</td><td>COST_OBJECT_NO</td><td>Index field</td><td>sol.contract.ix.dynkwl.CostObject</td></tr><tr><td>Cost object name</td><td>COST_OBJECT_NAME</td><td>Map field</td><td></td></tr></tbody></table>

<h3>Project</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Number</td><td>PROJECT_NO</td><td>Index field</td><td>sol.contract.ix.dynkwl.Project</td></tr><tr><td>Name</td><td>PROJECT_NAME</td><td>Index field</td><td>sol.contract.ix.dynkwl.Project</td></tr></tbody></table>

<h3>Duration</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Contract start</td><td>CONTRACT_START</td><td>Index field</td><td>#DATE#</td></tr><tr><td>Duration value</td><td>CONTRACT_DURATION</td><td>Map field</td><td></td></tr><tr><td>Duration unit</td><td>CONTRACT_DURATION_UNIT</td><td>Map field</td><td>sol.contract.ix.localizedKwl.CalendarUnit</td></tr><tr><td>Extension period value</td><td>EXTENSION_INTERVAL</td><td>Map field</td><td></td></tr><tr><td>Extension period unit</td><td>EXTENSION_INTERVAL_UNIT</td><td>Map field</td><td>sol.contract.ix.localizedKwl.CalendarUnit</td></tr><tr><td>Contract end</td><td>CONTRACT_END</td><td>Index field</td><td>#DATE#</td></tr><tr><td>Automatic extension</td><td>AUTOMATIC_EXTENSION</td><td>Map field</td><td></td></tr><tr><td>Notice period value</td><td>NOTICE_PERIOD</td><td>Map field</td><td></td></tr><tr><td>Notice period unit</td><td>NOTICE_PERIOD_UNIT</td><td>Map field</td><td>sol.contract.ix.localizedKwl.CalendarUnit</td></tr><tr><td>Termination on</td><td>TERMINATION_POINT</td><td>Map field</td><td>sol.contract.ix.localizedKwl.TerminationPoint</td></tr><tr><td>Next possible termination</td><td>NEXT_POSSIBLE_TERMINATION</td><td>Index field</td><td>#DATE#</td></tr><tr><td>Terminated on</td><td>TERMINATION_DATE</td><td>Index field</td><td>#DATE#</td></tr><tr><td>Reminder period value</td><td>REMINDER_PERIOD</td><td>Map field</td><td></td></tr><tr><td>Reminder period value</td><td>REMINDER_PERIOD_UNIT</td><td>Map field</td><td>sol.contract.ix.localizedKwl.CalendarUnit</td></tr><tr><td>Next reminder date</td><td>NEXT_REMINDER_DATE</td><td>Index field</td><td>#DATE#</td></tr></tbody></table>

<h3>Contract partner</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Company ID</td><td>PARTNER_NO</td><td>Index field</td><td>sol.contract.ix.dynkwl.ContractPartner</td></tr><tr><td>Company name</td><td>PARTNER_NAME</td><td>Index field</td><td>sol.contract.ix.dynkwl.ContractPartner</td></tr><tr><td>Contact ID</td><td>CONTRACT_CONTACT_REFERENCE</td><td>Map field</td><td>sol.contract.ix.dynkwl.ContractPartnerContact</td></tr><tr><td>First name</td><td>CONTACT_FIRSTNAME</td><td>Index field</td><td>sol.contract.ix.dynkwl.ContractPartnerContact</td></tr><tr><td>Last name</td><td>CONTACT_LASTNAME</td><td>Index field</td><td>sol.contract.ix.dynkwl.ContractPartnerContact</td></tr><tr><td>Tel.</td><td>PARTNER_PHONE</td><td>Map field</td><td></td></tr><tr><td>E-mail</td><td>PARTNER_EMAIL</td><td>Map field</td><td></td></tr><tr><td>Street</td><td>ADDRESS_STREET</td><td>Map field</td><td></td></tr><tr><td>Additional address information</td><td>ADDRESS_ADDITION</td><td>Map field</td><td></td></tr><tr><td>Postal code</td><td>ADDRESS_ZIP_CODE</td><td>Map field</td><td></td></tr><tr><td>City</td><td>ADDRESS_CITY</td><td>Map field</td><td></td></tr><tr><td>State</td><td>ADDRESS_STATE</td><td>Map field</td><td></td></tr><tr><td>Country</td><td>ADDRESS_COUNTRY</td><td>Map field</td><td>sol.contact.ix.localizedKwl.Countries</td></tr><tr><td>Create new contacts</td><td>CONTRACT_CREATE_PARTNER</td><td>Map field</td><td></td></tr><tr><td>Contact list</td><td>CONTRACT_CONTACTLIST_REFERENCE</td><td>Map field</td><td>sol.contract.ix.dynkwl.ContactList</td></tr></tbody></table>

<h3>Cash flow</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Description</td><td>CONTRACT_CASHFLOW_DESC{i}</td><td>Map field</td><td></td></tr><tr><td>Date</td><td>CONTRACT_CASHFLOW_DATE{i}</td><td>Map field</td><td>#DATE#</td></tr><tr><td>Period</td><td>CONTRACT_CASHFLOW_RECURRING_UNIT{i}</td><td>Map field</td><td>sol.contract.ix.localizedKwl.CashflowRecurring</td></tr><tr><td>To</td><td>CONTRACT_CASHFLOW_TO{i}</td><td>Map field</td><td>#DATE#</td></tr><tr><td>Amount</td><td>CONTRACT_CASHFLOW_SINGLE{i}</td><td>Map field</td><td></td></tr><tr><td>Sum</td><td>CONTRACT_CASHFLOW_AMOUNT{i}</td><td>Map field</td><td></td></tr><tr><td>Total</td><td>CONTRACT_CASHFLOW_SUM</td><td>Index field</td><td></td></tr><tr><td>Currency</td><td>CONTRACT_CURRENCY_CODE</td><td>Index field</td><td>sol.contract.ix.dynkwl.Currency</td></tr><tr><td>Exchange rate</td><td>CONTRACT_FX_RATE</td><td>Map field</td><td></td></tr><tr><td>Sum in local currency</td><td>CONTRACT_CASHFLOW_SUM_LOCAL_CURR</td><td>Index field</td><td></td></tr></tbody></table>

<h3>Approval process</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Initiator comment</td><td>APP_INITIATOR_COMMENT</td><td>WF map field</td><td></td></tr><tr><td>Approver comment</td><td>APP_APPROVER_COMMENT</td><td>WF map field</td><td></td></tr></tbody></table>

<h3>Contract conclusion</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Comment</td><td>CONCLUSION_COMMENT</td><td>WF map field</td><td></td></tr></tbody></table>

<h3>Termination process</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Initiator comment</td><td>TERM_INITIATOR_COMMENT</td><td>WF map field</td><td></td></tr><tr><td>Approver comment</td><td>TERM_APPROVER_COMMENT</td><td>WF map field</td><td></td></tr></tbody></table>

<h3>Approval processes</h3>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>User/group name</td><td>USER{i}</td><td>WF map field</td><td>sol.common.ix.dynkwl.UserNames</td></tr><tr><td>User ID</td><td>USER_ID{i}</td><td>WF map field</td><td></td></tr><tr><td>Mandatory</td><td>USER_MANDATORY{i}</td><td>WF map field</td><td></td></tr></tbody></table>

<h3>Technical fields</h3>
<p>For the object type, the value <code>CONTRACT</code> must be set as the default keywording form for contracts. This is necessary to uniquely identify contracts as such.</p>
<table><thead><tr><td><span
style='font-weight:bold'>Name</span></td><td><span
style='font-weight:bold'>Field name</span></td><td><span
style='font-weight:bold'>Type</span></td><td><span
style='font-weight:bold'>Keyword list</span></td></tr></thead><tbody><tr><td>Object type</td><td>SOL_TYPE</td><td>Index field</td><td></td></tr><tr><td>Default workflow</td><td>DEFAULT_WORKFLOW</td><td>Index field</td><td></td></tr><tr><td>Contract number generator</td><td>CONTRACT_NO_GEN</td><td>Index field</td><td>sol.contract.ix.dynkwl.generators.ContractNo</td></tr><tr><td>Contract name generator</td><td>CONTRACT_SHORT_DESC_GEN</td><td>Index field</td><td>sol.contract.ix.dynkwl.generators.ContractShortDescription</td></tr></tbody></table>
