An account assignment policy usually gets written the same way: precedence rules on a whiteboard, distributed, done. Nobody checks the CRM for what is already true, which is that missing parent-child links, duplicate records, and weak data governance are the most cited root cause of account conflicts, not a policy gap. This pack starts from the other direction. It joins your account export against its own owner field first, so the overlaps and gaps in your own book become a count instead of a rumor two reps argue about.
Every account lands in one of three states, and the counts have to sum to the total or the join gets rerun. One owner is correct, and two or more is an overlap. Each overlap gets a named cause: a duplicate record merged with both owners kept, a subsidiary and parent assigned by two rules that never checked each other, or a reorg that never removed the old owner. Zero owners is a coverage gap, which carries real revenue risk even though nobody is fighting over it.
On a worked run for Corrigan Systems, a B2B software company, 600 named accounts turned up 34 overlaps and 18 unowned accounts before any policy existed. Nineteen of the overlaps were live conflicts, both owners holding an open opportunity, worth $890,000 in pipeline that a by-owner forecast roll-up was double-counting the whole time. The routing rules that assign a lead before it becomes an account and a speed-to-lead audit both feed the same register this pack builds.