## Решение Суммы выбранных строк считаются один раз до упаковки внутри тройки `(rule_id, A, B)` как чистая функция. `elimination_amount` сохраняет ранее согласованное значение абсолютного расхождения; новое `eliminated_amount` содержит `min(ΣA, ΣB)` при пороге не более 5 %, иначе 0, и всегда 0 для `manual`. Нулевая меньшая сторона даёт `deviation_percent = null` и нулевую элиминацию. Упаковка не влияет на итог. Для обратной направленной пары клиент переставляет `company_a_id` и `company_b_id`. Эталонный Excel используется только для сверки точных встречных строк: он списывает полную сумму каждой стороны, поэтому его общий итог не равен системному правилу минимума.