Table: Engagement
Columns
Name | Type | Constraints | Description
engagement_KEY | int | NOT NULL | Assigned by COMMON_dp_Allocate_Unique_Identifiers. Database assigned primary key for this table
update__staff_KEY | int | NOT NULL |
client_KEY | int |  | When NULL the record is an Engagement Template, otherwise the record is an Engagement that belongs to a single Client record.
engagement_template_KEY | int | NOT NULL | Key to a Engagement Template record.
description | nvarchar (250) | NOT NULL | User defined description.
long_description | nvarchar (-1) | NOT NULL | Long user defined description
engagement_type_KEY | int |  | Key to a Engagement Type record.
engagement_status_KEY | int | NOT NULL | Key to a Engagement Status record.
office_KEY | int |  | Key to an Office record.
biller__staff_KEY | int |  | Key to a Staff record.
reviewer__staff_KEY | int |  | Key to a Staff record.
manager__staff_KEY | int |  | Key to a Staff record.
rate_type_KEY | int | NOT NULL | Key to a Rate Type record. (1=No Rate, 2=Staff Rate, 3=Fixed Rate)
billing_rate_type_KEY | int |  | Key to a Billing Rate Type record (required when rate_type_KEY=2).
fixed_rate | decimal (9, 2) | NOT NULL | Rate to use when rate_type_KEY=3
markup_factor | decimal (6, 4) | NOT NULL | Multiplied by the extension amount so work can be marked up or down.
tax_area_KEY | int |  | Key to a Tax Area record.
recurring_bill_KEY | int |  | Key to a Recurring Bill record.
recurring_bill_method_KEY | int |  | Key to a Recurring Bill Method record (required if and only if recurring_bill_KEY is not null).
recurring_bill_amount | decimal (9, 2) | NOT NULL | The user will need to enter an amount if the engagement is going to be setup for recurring billing.
recurring_bill__staff_KEY | int |  | Key to a Staff record to be used for progress method recurring bill (required if and only if recurring_bill_method_KEY=1).
recurring_bill__activity_KEY | int |  | Key to an Activity record to be used for a progress method recurring bill (required if and only if recurring_bill_method_KEY=1).
gl_account | nvarchar (60) | NOT NULL | Defines the GL Account to which this engagement will be exported.
engagement_surcharge_method_KEY | int | NOT NULL | Key to an Engagement Surcharge Method record. (1=No surcharge, 2=Based on Activity, 3=Flat amount)
surcharge_amount | decimal (9, 2) | NOT NULL | Rate to use when surcharge_type_KEY = 3
create__changeset_KEY | int | NOT NULL |
update__changeset_KEY | int | NOT NULL |

Primary key
Name | Columns | Description
PK_Engagement$engagement_KEY | engagement_KEY | CLUSTERED
Unique constraints
Name | Columns | Description
UK_Engagement$client_KEY$engagement_template_KEY | client_KEY, engagement_template_KEY |
UK_Engagement$engagement_KEY$client_KEY | engagement_KEY, client_KEY | This unique constraint supports the fact that if an Engagement is assigned to a Sheet Entry the Engagement must be for the same Client as the Client assigned to the Sheet Entry.
Indexes
Name | Columns | Description
IX_Engagement$biller__staff_KEY | biller__staff_KEY | Index supports foreign key FK_Engagement__Staff__biller__staff_KEY
IX_Engagement$billing_rate_type_KEY | billing_rate_type_KEY | Index supports foreign key FK_Engagement__Billing_Rate_Type__billing_rate_type_KEY
IX_Engagement$engagement_status_KEY | engagement_status_KEY | Index supports foreign key FK_Engagement__Engagement_Status__engagement_status_KEY
IX_Engagement$engagement_surcharge_method_KEY | engagement_surcharge_method_KEY | Index supports foreign key FK_Engagement__Engagement_Surcharge_Method__engagement_surcharge_method_KEY
IX_Engagement$engagement_template_KEY | engagement_template_KEY | Index supports foreign key FK_Engagement__Engagement_Template__engagement_template_KEY
IX_Engagement$engagement_type_KEY | engagement_type_KEY | Index supports foreign key FK_Engagement__Engagement_Type__engagement_type_KEY
IX_Engagement$manager__staff_KEY | manager__staff_KEY | Index supports foreign key FK_Engagement__Staff__manager__staff_KEY
IX_Engagement$office_KEY | office_KEY | Index supports foreign key FK_Engagement__Office__office_KEY
IX_Engagement$rate_type_KEY | rate_type_KEY | Index supports foreign key FK_Engagement__Rate_Type__rate_type_KEY
IX_Engagement$recurring_bill__activity_KEY | recurring_bill__activity_KEY | Index supports foreign key FK_Engagement__Activity__recurring_bill__activity_KEY
IX_Engagement$recurring_bill__staff_KEY | recurring_bill__staff_KEY | Modifying Staff checks Engagements by recurring_bill__staff_KEY
IX_Engagement$recurring_bill_KEY | recurring_bill_KEY | Index supports foreign key FK_Engagement__Recurring_Bill__recurring_bill_KEY
IX_Engagement$recurring_bill_method_KEY | recurring_bill_method_KEY | Index supports foreign key FK_Engagement__Recurring_Bill_Method__recurring_bill_method_KEY
IX_Engagement$reviewer__staff_KEY | reviewer__staff_KEY | Index supports foreign key FK_Engagement__Staff__reviewer__staff_KEY
IX_Engagement$tax_area_KEY | tax_area_KEY | Index supports foreign key FK_Engagement__Tax_Area__tax_area_KEY

Foreign keys
Name | Columns | Referenced table | Description
FK_Engagement__Activity__recurring_bill__activity_KEY | recurring_bill__activity_KEY | Activity |
FK_Engagement__Billing_Rate_Type__billing_rate_type_KEY | billing_rate_type_KEY | Billing_Rate_Type |
FK_Engagement__Client__client_KEY | client_KEY | Client |
FK_Engagement__Engagement_Template__engagement_template_KEY | engagement_template_KEY | Engagement_Template |
FK_Engagement__Engagement_Type__engagement_type_KEY | engagement_type_KEY | Engagement_Type |
FK_Engagement__Office__office_KEY | office_KEY | Office |
FK_Engagement__Recurring_Bill__recurring_bill_KEY | recurring_bill_KEY | Recurring_Bill |
FK_Engagement__Staff__biller__staff_KEY | biller__staff_KEY | Staff |
FK_Engagement__Staff__manager__staff_KEY | manager__staff_KEY | Staff |
FK_Engagement__Staff__recurring_bill__staff_KEY | recurring_bill__staff_KEY | Staff |
FK_Engagement__Staff__reviewer__staff_KEY | reviewer__staff_KEY | Staff |
FK_Engagement__Tax_Area__tax_area_KEY | tax_area_KEY | Tax_Area |

Incoming foreign keys
Name | Columns | Referencing table | Description
FK_Firm__Engagement__engagement_KEY | engagement_KEY | Firm |
FK_Schedule_Item__Engagement__engagement_KEY | engagement_KEY | Schedule_Item |
FK_Sheet_Entry__Engagement__engagement_KEY | engagement_KEY | Sheet_Entry |