+ Start a Discussion

Using standard objects vs custom objects in Force.Com

We're building an application on the Force.Com Platform as a Service (i.e. we're an ISV) and are in debate as to whether the Contact object is worth using, or whether we should rely only on purely custom objects.
From my Data Modelling experience I say that if the Contact object is a superset of all the attributes of our 'Contractor' object, then we should use Contacts with a custom record type of Contractor .My development team say no, this is too bloated and it would be better for their web services calls to simply have a custom object instead. The same goes for our Company object in our logical data model.
What's the general opinion on this, does using the standard Contacts and Accounts objects have benefits over using completely custom objects ? Other than the limits on Custom Objects/Fields/Relationships why else would you re-use them  ?
There are a few things to consider when attempting to replicate the Contact object.

1 - will you ever allow the end user to import their own? Not certain this can be accomplished with a custom object.

2 - will you want to send emails to the "contact"? If so, you will have a much easier time using the Contact object as the only way to do this from a custom object is to do some unsupported URL trickery.

3 - will the Contact object be used elsewhere for any other reason? If not, why not use it?

I'm sure there are more things to consider but these are just a few things we have butted up against in the past.