Why Are Hard Deletes Not Propagated?
Suppose that we are synchronizing records from a SalesForce report. If a record is deleted within SFDC, this record won't be returned any more by your report. In other terms, deleting a record makes it "fall out" from the report.
Sales Cookie could decide to delete transactions for records which no longer appear in your report. This might be quite reasonable if a record was hard-deleted. However, other scenarios could also cause records to no longer appear in your report, in which case deleting transactions could be catastrophic.
Consider the following similar scenarios:
- By mistake, someone changed your report's definition (ex: added a filter). We would then delete transactions for records which no longer appear in your report.
- Your report had a filter such as "records updated within the last 30 days". After some time, older records will "drop off" the report. We would then delete transactions for records which no longer appear in your report.
- The report had a filter such as "status must be Closed Won". If a record is changed from "Closed Won" to "Closed Lost", it will drop off the report. We would then delete transactions for records which no longer appear in your report.
In summary, as we query the report, we could see fewer records for many different reasons. We don't know if records are gone because of a/ a hard delete, b/ a filter change, c/ they no longer match the filter. Deleting transactions for records which no longer appear in a report could spell disaster.
Instead of hard-deleting records, add a flag to indicate that those records should be ignored. Then, within plan logic, we can add a condition to ignore them.
For a related issue regarding excessive filtering, click here.
Related Articles
When I Delete A Record, Is It Completely Gone?
After you delete a record (note: this always requires a confirmation), it is marked as deleted, but remains in the database for a limited time. However, a background job hard-deletes such records shortly after their original deletion time. This ...
What Makes Sales Cookie Different?
Here are a few things which set us aside from other solutions. Flexible And Innovative More flexibility lets you better align sales goals with sales incentives Define goals based on revenue, profit, or even rule-based scoring Set targets using ...
How Can I Programmatically Add Or Remove Users From Teams?
This article explains how you can add or remove users from teams using simple API calls. To do this, you will either create or delete team member records which represent membership of users within teams. Create Or Delete Team Members To add or remove ...
Are Manual Adjustments Always Preserved On Re-Calculation?
There are many ways you can manually adjust commissions. When Are Adjustments Preserved? When you perform a quick re-run from Calculations > All Calculations, we always assume that you want to preserve manual adjustments. However, when you open a ...
How Secure Is Sales Cookie?
Many SaaS products claim they are secure simply because they use SSL. The reality is that a SaaS solution requires many measures to be truly secure. Here is an overview of advanced security measures we implement to deliver world-class security. Some ...