Discuss a project

QQDEV · KYRGYZSTAN · REMOTE

A record disappeared from the export. Should the other system delete it?

Agree archiving and deletion rules: distinguish an explicit command from missing data, preserve relationships and check consequences.

Published

3 min18

Illustrative example: accounting software exports active customers only. The integration concludes that all others were deleted and tries to remove their CRM records. The filter worked correctly; the conclusion did not.

Before connecting programs, define what a missing record means. It may indicate an archive state, restricted permissions, an incomplete list page or a genuine deletion request. A single “not found” response does not explain the object's history.

Separate three different actions

Archiving generally means a record is no longer used in current work. Deletion is a separate action with consequences. Absence from an export may change nothing in the source system.

Document the states each program supports. Do not assume every product has the same recycle bin or undo option. If a state is unavailable, agree another approach, such as stopping further updates after an owner's review.

For a company in Kyrgyzstan, retention periods and permissible deletion are determined under applicable requirements and internal rules with an appropriate specialist. An integration must not invent those decisions.

Identify the source of the instruction

Decide who can mark an object inactive and whether that state should be transmitted. One-way exchange does not inherently require deletion in both directions.

Link records using stable identifiers rather than company names. Names change and different customers can have similar ones. Log the requested action, approval and actual outcome.

If an export suddenly becomes small or empty, check filters, pagination, permissions and connection state first. Mass removal based on that result needs a stop and review, not an especially obedient robot.

Check related information

A record may be linked to orders, correspondence, files and other people. Consequences depend on the system, entity and method used.

For example, Bitrix24 deal deletion documentation warns about related objects and distinguishes removing an object from removing a relationship. It also points to the replacement for the older method. This calls for checking the specific implementation rather than copying a universal command from an old example.

Before enabling deletion, establish what must remain, who will see the result and how mistakes are detected. Having an export is not the same as tested recovery.

Use safe examples

Create a training pair of records with linked history. Test archiving, deletion and absence from a filtered export separately.

Then restrict read access and simulate an incomplete list. The integration must not treat either as proof of mass deletion. Test repeated events and delayed updates to avoid accidentally recreating a disabled object.

Do not run this experiment on live data. Irreversible actions need an agreed review and stop procedure beforehand.

Start with the rule

If the current CRM suits the team, replacing it for this rule is unnecessary. Describe states and consequences in both programs, then check their APIs—the programmatic exchange interfaces.

Discuss REST API integration changes with QQDev: bring an anonymised missing-record example and the expected behaviour. Check the other system's capabilities before promising implementation. A sound deletion rule starts with a clear reason, not an empty list.

← All blog posts