I am trying to utilize the Contracts objects for contracts and agreements my company signs. However, there are lookups which I do not want to use, for example - Account Name - I created a custom object named Counter Party to keep the counter party name and information and would rather use that than the Accounts object.

Is there a way to either:

  1. remove fields and relationships from a standard object
  2. remove the requirement that the field be complete
  3. completely remove a standard object

If none of those are options, would it make better sense to create an "Agreements" object and use that instead of the Contracts object?

  • 2
    If using Contract OOTB object, there are strong reasons to stick with the imposed conventions - notably appexchange ecosystem products that will assume you are adhering to conventions. Establish a convention - Contract.Account is the counterparty your company engages in business with and perhaps Contract.Corporate_Legal_Entity__c is a lookup to one of the legal entities (also Accounts) that reflect a business unit in your enterprise that can enter into contracts
    – cropredy
    Commented Dec 27, 2017 at 2:46

1 Answer 1


You are unable to remove any standard fields from a standard object. Aside from some light customization (help text, labels), most standard fields are not modifiable either. You are also unable to remove standard objects from your org.

Long story short, you're stuck with this object & its configuration. Trying to create a Contract without an AccountId gets you this error:

System.DmlException: Insert failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Required fields are missing: [AccountId]: [AccountId]

You could set the account for all contracts via a trigger to some preset account, but frankly that feels fragile at best, and short sighted. It would let you use a second lookup for your custom object on a standard object.

If you want full control over the objects in your org, you'll need to create custom objects for your data. You will end up rewriting standard functionality at some point, but the ability to tweak the settings as you need to is well worth it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .