This FAQ gives general guidance on how to manage deleting records within OpenCRM.
There are circumstances when deleting a record in OpenCRM is the best option to maintain your data integrity, however there are other situations when leaving the record accessible in your system would be the right solution.
Why might I delete a record?
Certain record types do not really benefit from keeping them accessible if they are no longer required, the most obvious is where duplicate data exists particularly in the Leads, Companies and Contacts modules.
If you find duplicate data we would always suggest that you merge the duplicates together which maintains the links to related records and deletes your selected duplicate. Under these circumstances you do not normally need to retain visibility of the deleted record.
When might it be better to NOT DELETE and what do I do instead?
If you are working with other modules in OpenCRM you will generally not have the problem of duplicates, however you may find anomalies or errors that need correction.
A number of the modules in OpenCRM allow for unique numbering which in some circumstances is required to be sequential, the most obvious example is Invoices and Credit Notes, but this can equally apply to Sales Orders, Purchase Orders and Helpdesk Tickets as well.
Records within OpenCRM have a status field which can be used to mark the current status of a record which includes showing that a record is Cancelled or On Hold.
It is generally better that in most cases you mark a record such as an Invoice as Cancelled or Void rather than deleting it. The same is true of other modules also, here are some examples of what statuses you could use to track inactive records;
- Helpdesk - Closed - Pending
- Invoice - Cancelled or Void
- Project - Inactive or Completed
- Quotation - Rejected or Not Accepted
- Purchase Order - Cancelled or Void
- Event - Cancelled or Postponed
- Campaign - Cancelled or Postponed
- Activity - DONE or Cancelled
- Opportunity - Closed Postponed or Closed Lost
These are just examples to help understand the logic and how statuses can be used.
Note : Remember that you can always filter on this data to create reports of inactive or cancelled records, by leaving the records within the system and managing the statuses you are able to analyse and compare richer historic information.
Important : Some of the record types in OpenCRM have very specific functionality that depends on the entities status being set to Cancelled rather than the record being Deleted - one example of this is when using advanced stock control. Sales Orders and Purchase Orders should never be deleted but cancelled. Stock Items that have been allocated to these entities need to be tracked within the system and deleting these records can deliver unexpected results.
What if a delete a record and didn't mean to?
A system administrator can go to Settings->Recycle Bin and restore deleted items.