CertExpiryTracker

Avoiding duplicate reminder addresses for one credential

Consolidate contact points per credential

For each credential record, keep a single "Primary contact" field that holds one email address or phone number. If the employee has multiple addresses on file, pick the one they use for work communications and note the others in a "Secondary contacts" note field — do not create duplicate reminder rows.

Prevent duplicate sends

Before generating the daily reminder batch, run a deduplication check: group by credential ID and primary contact. If the same credential appears twice with the same contact, keep the earliest scheduled send and drop the later one. Log the dropped entry with the reason "Duplicate contact".

Worked example — food handler card with two emails

Before: Kevin Tran – Food handler card – Expires in 7 days Contacts on file: kevin.tran@company.com (work), kevin.tran.personal@gmail.com (personal) Current reminder schedule shows two rows for the same credential, one per address. Action: - Set primary contact to kevin.tran@company.com. - Move kevin.tran.personal@gmail.com to Secondary contacts note. - Delete the duplicate reminder row scheduled for the personal address. - Log: "Dropped duplicate reminder for Kevin Tran Food handler card – personal email removed 2026-03-14." After: Only one reminder goes out on the 7‑day offset. The personal address remains recorded for reference if the work address bounces.

Exception — shared credential managed by two people

If a credential is jointly managed (e.g., a site‑wide permit held by both a supervisor and a safety officer), create two separate credential records, each with its own primary contact, rather than putting two addresses on one record.

Result: Each credential triggers exactly one reminder per offset, eliminating duplicate emails while preserving backup contact information.

Related: Cert Expiry Tracker features.