4.6 KiB
Proposal
Why
Для AURORA-1543 нужна таблица гудвилла версии: реальные вложения между компаниями периметра, ручная доля владения и проверяемый расчёт. Существуют ORM и черновик контракта, но нет API и расчётного сервиса; PDF уточняет жизненный цикл и расходится с контрактом.
What Changes
- Срез 6: бэкенд таблицы, пакетное сохранение, переключатель версии и экспорт XLSX.
- ГО определяется по фактическим вложениям 58.01 и дочерних счетов в другие компании периметра;
is_head_entityне используется. - Найденные пары объединяются с сохранёнными
goodwill; исчезнувшие остаются с вычисляемымhas_investments=false, без участия в итогах. - Доля 0–100%, до двух знаков; нерассчитанные P/G допускают null. Пакет строк сохраняется одной транзакцией; итоги по ГО и УК отдаёт бэк.
- Расчёт по §8 domain-rules с уточнениями PDF §§3–10 и решениями пользователя: ASSUMPTION(OQ-10) — УК только из 1310 ББ, 1350 не входит; ASSUMPTION(OQ-37) — подготовленный вклад имеет технический код GOODWILL.
- Подготовка вклада в КФО и исключение ББ-2 — не в этом change, перенесено в AURORA-1546 (R-3).
- Уточнения PDF, отсутствующие в §8 (неактивные пары, выборка по дереву, итоги, исключение ББ-2), требуют отдельной синхронизации в docs; при реализации не подменять ими молча старую редакцию правил.
Capabilities
New Capabilities
goodwill-table: источники, расчёт, сохранение, доступ, экспорт и подготовка вклада в КФО.
Modified Capabilities
Нет: существующие API и требования к сводной ОСВ остаются прежними.
Impact
Репозиторий реализации — arm-core, только api. Документация общего домена и общий контракт — отдельный согласованный change в ../docs; текущий change не изменяет соседний репозиторий.
Читаются таблицы DBML v5.24: consolidation, consolidation_version, consolidation_member, consolidation_document, document, osv_entry, chart_of_account, financial_statement_meta/line/column/value, legal_entity, app_user, elimination_rule. Изменяются goodwill, consolidation_version.goodwill_enabled и audit_event. Для аудита использовать существующий GOODWILL_EDIT, для выгрузки EXPORT; новых enum и колонок нет. has_investments, предупреждения и вклад КФО — вычисляемые DTO.
Затрагиваются domain/, repositories/, schemas/, services/ и endpoints/consolidations; маршруты GET/PUT …/goodwill, PUT …/goodwill-settings, GET …/goodwill/export; контракт — ../docs/dev/api-contract-goodwill.md. Изменение чернового контракта: новые признаки состояния и nullable P/G, обновлённая семантика пар и итогов. Используются существующие guard, Decimal и openpyxl.
Non-goals
- Фронт AURORA-1544, пакетное сохранение и CSV.
- Построение и запись kfo_result, применение корректировок, экран отметки «Учтено в гудвилле».
- Механизм устаревания и фиксации снимка КФО: отдельный change; не добавлять несуществующий флаг БД.
- ОСВ 58.03 как замена 58.01; автоматический перенос разницы в 1370.
- Новая модель данных и окончательное решение методологов по источнику УК; XLSX пока предварительно согласован.