All projects
1C automation · Real project

Sanctions Screening

Daily screening of clients, counterparties, and staff against national watchlists.

9accounting databases screened
≈7,000counterparties consolidated
1,283unique individuals produced
Sanctions screening interface
01

Challenge

AML screening had been done by hand since 2019: download the new watchlist revision, visually check clients, their counterparties and employees, then file a report. A mistake here is not a typo — it is a regulatory breach.

02

Solution

A pipeline: fetch watchlist revisions over a GOST-encrypted channel → parse XML → export subjects from nine accounting databases → match → produce a Word report carrying both parties' details plus the exact entry and page in the watchlist document. We wrote our own matcher: commercial sanctions datasets are paid, while the official watchlists were already available in the client's regulator portal.

Calibration was a project of its own. Eyeballing name similarity does not hold up — names arrive with typos, reordered parts, and inconsistent transliteration. We assembled 25 classes of name distortion, measured recall on each, and picked the threshold from measurement rather than intuition. On top of that sits a control battery that catches the case where the test generator and the criterion under test fail in the same direction.

03

Outcome

169 automated tests. Nine accounting databases, roughly 7,000 counterparties reduced to 1,283 unique individuals. A third screening trigger was added — onboarding a new counterparty: it was missing from the original brief, and without it an uncovered window remained between watchlist publications.

Have a similar challenge?

Discuss it on Telegram