function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
OcoBriOcoBri 

Which object to store Employees in different sized organizations

Hello,
This is more of a poll than a straight question per se.
I'm developing an app for non-profits to use, and I'm not sure which object to use to store employees in a lookup field: Contact, User, or a custom object?
My non-profit has approx. 1500 employees, about half of them full-time, and about a third of them in office jobs with company email. Until recently, we only had about 30 Salesforce Users, so it made sense to store employee info as contacts.  We have now installed an HR system that runs on Salesforce, which included Platform licenses for all full-time employees, even those without company email addresses.  Therefore we now have a Contact, User, and Worker__c record for all full-time employees.  

In developing for other (perhaps smaller) non-profit organizations, however, I'm curious which would have broader appeal: User records, with added functionality such as email alerts, or Contacts, which are probably being used already and are free, or a Custom Object which would have more functionality than Contacts, but would require more ongoing maintenance (double data entry).  I'm even toying with the idea of having lookup fields to User and Contact, with instructions to the Administrator to hide whichever fields they won't be using.

Thanks for any input!
SonamSonam (Salesforce Developers) 
Be it a large org or a small one - If the non-profit Organzation employees are involving it contacting leads for fund raising/donations/ other services/mass emails to doners etc - it would be good to have these employees a Salesforce users as all their activity can be recorded/tracked in Salesforce be it:
1. creation of leads(Doners)
2.Donations(custom object you can create an track)
3.Email conversations with these doners(Activities object)
4.Notes for outgoing phone calls etc
 
Reporting on these employees will also be easy using the Administrative reports(users)

Keeping them as contacts in the system will not give them any flexibility to login(in case you are not using communities/customer portal) and record all the actiivities in salesforce.