Overview:
When saving a new Contract, the following error displays: "Attempt to de-reference a null object"
Root Cause:
The error occurs because the related records Contract_Line_vod and Contract_Partner_vod do not have the same Record Type defined to match the Contract.
Solution:
When creating custom contract types, you must create corresponding record types for all three objects using matching API names.
For example, to create a Pilot Program custom contract type, you must create a record type named Pilot Program for the Contract_vod, Contract_Line_vod, and Contract_Partner_vod objects.
Additionally, users must be granted Record Type access to the corresponding Record Type on all three objects.
Related Documentation:
CRM Help Documentation: Contract Architecture