Hi,
You should never delete the user!
You should never give the same login to another employee!
Once the user is created any activity is kept in the history which is associated with the user ID. If Joe Doe was hired as an employee and was given access to epesi then he should be listed under Contact of the Main Company (which makes him an employee) and has a login and a password. Anything he does from now on is tracked in epesi in many different places.
When this employee is terminated all you need to do is to make his login inactive. There is no option to delete the user as this will break the referential integrity of the database. Besides - if Joe Doe (employee) created or updated a record (a contact, note, whatever...), then epesi keeps in the history both the user ID and the date/time stamp. The fact that this employee is no longer with your company does not change the fact that it was him who performed these operations.
Consider the following scenario:
Your employee Mr. Joe Doe created a record for a company ABC on January 1, 2010. No changes were made to this record. Now you have a new employee - Jan Kowalski - who is replacing Mr. Joe Doe. Does it mean that this was Jan Kowalski who created the company ABC on January 1, 2010? Of course not. It was still Joe Doe and epesi will provide factual information. Any other user of epesi would like to know as well that this was Mr. Doe and not Mr. Kowalski who created a record for company ABC and that this record is from January 1, 2010.
There is no need to merge anything. Keep things simple and representing what is really happening. If Joe Doe worked as a driver and has a driver license issued in his name does it mean that when Jan Kowalski takes his place he will be still using a driver license of Joe Doe? Will you ask a police department to change the name on the driver license to Jan Kowalski? Of course not. This document was issued to Mr. Joe Doe and it proves his identity. The same way epesi user ID can be associated with one and only one person.
Here is an outline of what to do when terminating an employee:
- First - open your main company record and create a clone of this company. If your company is named: XYZ then just change the name to XYZ OLD in the company name leaving all other fields the same. Now you have company XYZ - holding contacts of your epmloyees, and company XYZ OLD - which will hold contacts of your ex-employees.
- Go to User Administration and disable the account for that user.
- Now go to Perspective and change it to that of the terminated employee (Joe Doe).
- Inspect all modules you have installed - like Tasks, Phone Calls, Calendar, Companies if you are using Account Manager module, and reassign all records to a new employee who will be taking over his responsibilities. Once done switch the Perspective to My Records.
- Finally open the contact of the old employee (Joe Doe) - and change the company field from XYZ (Main Company) to XYZ OLD.
You need to reassign records only in modules that are role based. For example Contacts module is not role based (with exception of a private contact). The rule of thumb is: if the module has a field in which you can select an employee (be it a select or multiselect) - this is the module you should check. An example is Tasks module - if there was a task assigned to Mr. Joe Doe and only him then you don't want this task to be left unattended. Therefore you need to modify the task and assign another employee removing Mr. Joe Doe, or at least add another employee. The record history will show all changes made and anyone can retrace what was happening:
- Task X was created by Joe Doe and assigned to himself.
- On some date this task was reassigned to Jan Kowalski by you for example.
- If someone will inspect the record of Joe Doe he/she will see that he was reassigned from main company XZY to XYZ OLD on or around that date and things are obvious why that happened.
I hope you will find this explanation helpful and that the process is clear enough.