Below are the two different approaches that could be used to create new Contract:
1. New Contract – Blank Contract: Browse to Contracts (Zap PSA Contracts) and click “New”
2. New Contract – From Template: Browse to Contracts (Zap PSA Contracts) and click “New  + From Template”. This could be useful for creating contracts in BULK.

Contract form has below tabs:

General: This has section for Contract Details & Contract Period details.
Contract Details: Here we define the contract details like Customer, Contract Type, Start & End Dates etc.
Contract Period: Each Contract consists of 1 or more Contract periods. Here we define the settings based on which Contract periods would be created.
Periodic History: These consists of sub-grid which displays the contract periods.
Staff: Here you can add the staff and their hourly rates.
Time Entries: All time-entries linked to this contract will show-up here.
Cases: All cases linked to this contract will show up here.
Invoicing: These consists of invoices sub-grid as well as all invoice related settings.

Explanation of form fields:

Tab: General
Section: Contract Details

Name: This is contract name and can be auto-generated too.
Auto-Generate Name: If this checkbox is checked then the name will be auto-generated (Format: Customer – Contract Type – Partial Contract Name)
Contract Type: Select the contract type.
Partial Contract Name: The auto-generated name of contract is combination of “Account Name”, “Contract Type” & “Partial Contract Name”.
Below are sample partial contract names (highlighted in bold):
XYZ Company – T&M – Website Support
XYZ Company – Block Hours – IT Support – 20 Hrs/Month
Customer: Select Customer (Account/Contact)
Bill To Customer: This is the account against which the invoice will be generated. This gets auto-populated from “Customer” field.
Price-list: Select the price-list.
Currency: Select the customer currency.
Billing Contact 1 & Billing Contact 2: Here select the billing contact for this contract.
Start Date & End Date: Here select the start and end date for the contract term. If you do not mention the end date then the contract will keep on running until you change the status to cancel.
End Date Type: Number of Periods / End Date / No End Date
Default Contract: You could have multiple contracts with this customer for multiple projects. You could select a particular contract to be the default one. When you select the Customer field in Case… then automatically a default contract would be selected.
Have Billable checked by default: /////
Auto-Approve Time Entries: //////

Section: Contract Periods & Allowances
Each contract is made of one or more contract periods. Below are the fields:
Period  Duration: Fixed / Unlimited
Length per period: 1
Billing Frequency: Weekly / Monthly / Quarterly / Yearly
If Contract Type is: T&M
Period Budget
:
If Contract Type is: Block Hours:
Pre-Paid Price:
Included Pre-Paid Hours & Included Pre-Paid Minutes
Roll-over Unused:
Roll-over Excess:
Auto-Renew Period:
Renew period X days before latest period expires:

Section: Labor Rates
Billing Method: We can automatically calculate the “Extended Price” for time-entries. Below billing methods are supported:
Contract Rate / Contract Staff Rate / Global Charge Type / Contract Charge Type
Regular Contract Rate: If selected billing method is “Contract Rate” then this value would be used to calculate the “Extended Price” for the time-entry.
Excess Contract Rate: For “Block Hours” contract… the billing for any excess time could use this hourly rate.

Tab: Periodic History
This displays a sub-grid of contract periods.

Tab: Staff
Here we can add the Staff as well as Staff Hourly Rate.

Tab: Time Entries
This tab shows the time-entries that have been logged against this contract.

Tab: Cases
This tab shows the cases that have been logged against this contract.