arm-ka-docs/source/tz/АРМ КА.Техническое задание - 06_7. Функциональные требования - 03_FNR03 Модуль работы с созданной записью.md

365 lines
55 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
code: DOC-221276
title: "FNR03 Модуль работы с созданной записью"
---
# FNR03 Модуль работы с созданной записью
Цель модуля и этапа: обеспечить пользователю функционал работы с новой созданной записью после выполнения всех условий описанных  в [FNR01 Модуль загрузки документов и создания записи](project/Document/DOC-037740)
и [FNR02 Модуль передачи PDF файлов в ИС Сканирование](project/Document/DOC-221275)
[100 тест 3 Свод ОСВ (континент - пример с консолидацией)\_корр.xlsx](_files/100%20%D1%82%D0%B5%D1%81%D1%82%203%20%D0%A1%D0%B2%D0%BE%D0%B4%20%D0%9E%D0%A1%D0%92%20%28%D0%BA%D0%BE)
[ПМП.xlsx](_files/%D0%9F%D0%9C%D0%9F.xlsx)
![attachment](/files/obj/CmfDocument/CmfDocument%3Aa82/CmfDocument%3Aa82d63a8-9d30-11f1-8878-5e0a7cdca547/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%20%D1%80%D0%B0%D1%81%D1%87%D0%B5%D1%82%D0%BE%D0%B2%20%D0%9E%D0%A4%D0%A0_%D1%87%D0%B0%D1%81%D1%82%D1%8C%201.xlsx.meta/thumbnail.jpg?version=1)
![](static/attach-file.png)
Модель расчетов ОФР\_часть 1.xlsx
27 мая 2026 г., 13:59
Пользовательский путь: [3. Пользовательский сценарий (Этап работы с новой записью консолидированной отчетности)](project/Document/DOC-037736)
1. При открытии записи пользователем система отрисовывает таблицы в сайдбаре с привязкой к организации и валидирует состав таблиц **F**
**in\_report\_rows и
fin\_report\_header:**
1. на наличие полей с значением confidence < установленного значения.  Если такое поле найдено то система производит цветовое фоновое выделение ячейки и добавляет запись в лог о требовании провалидировать (проверить пользователем) распарсенное значение
Пример
| | | | | | | | |
| --- | --- | --- | --- | --- | --- | --- | --- |
| | A | B | C | D | E | F | G |
| | Пояснения | Наименование показателя | Код | На 30.09.2025 | На 31.12.2024 | На 31.12.2023 | Примечания |
| 1 | | АКТИВ | | | | | |
| 2 | | I. ВНЕОБОРОТНЫЕ АКТИВЫ | | | | | |
| 3 | | Нематериальные активы | 1110 | 262 | 333 | — | |
| 4 | | в т.ч. готовые к использованию | 11101 | 262 | 333 | — | |
| 5 | | Основные средства | 1150 | 611 560 | 559 335 | 404 467 | |
| 6 | | в т.ч. пригодные к использованию | 11501 | 243 510 | 253 850 | 140 495 | |
| 7 | | Оборудование к установке | 11502 | 228 833 | 132 440 | 42 093 | |
| 8 | | Незавершенное строительство | 11503 | 6 449 | 2 295 | 784 | |
| 9 | | Отложенные налоговые активы | 1180 | 42 341 | 52 289 | 49 533 | |
| 10 | | Итого по разделу I | 1100 | 654 164 | 700 986 | 552 514 | |
| 11 | | II. ОБОРОТНЫЕ АКТИВЫ | | | | | |
| 12 | | Запасы | 1210 | 411 955 | 382 282 | 360 961 | |
| 13 | | в т.ч. сырье и материалы | 12101 | 260 136 | 258 670 | 259 037 | |
| 14 | | Готовая продукция | 12102 | 101 2 | | | |
В текущем значении ячеек C3, D7 и B13 уровень confidence ниже заданного значения: система выделила ячейки для пользователя. В логе ❓ создана запись:  ООО "Русский бисквит", форма 1 (Баланс) - требуется валидация пользователем
2. Производит контроль сумм на предмет соответствия расчетных и фактических значений по таблице ниже. Если значения не совпадают расчетным то в лог производится запись о нарушении контроля сумм:
Таблица контроля сумм
| | Формула (на основании фильтра кода строки row\_code) | Сообщение для отражения в логе | Комментарий |
| --- | --- | --- | --- |
| | 1700-1600=0 | Если false то выводим сообщение "Баланс за период  не равен нулю", иначе проверка пройдена (в лог не выводим) | Контроль сумм производится строго по столбцу. То есть в формуле участвуют ячейки одного столбца: Например value\_current (код строки 1700) - value\_current (код строки 1600)=0 Каждая проверка должна производиться для столбцов  value\_current, value\_prior\_year, value\_prior2\_year |
| | 1100= 1110+1150+1160+1170+1180+1190 | Если false то выводим сообщение "Группирующая строка {$row\_code} за период не равна сумме детальных строк", иначе проверка пройдена (в лог не выводим) |
| | 1200= 1210+ 1215+ 1220+ 1230+ 1240+ 1250+1260 |
| | 1300= 1310+ 1320 + 1340+ 1350+ 1360+ 1370 |
| | 1400 = 1410+ 1420+ 1430+ 1450 |
| | 1500 = 1510+ 1520+ 1540+ 1550 |
| | 2100=2110-2120 |
| | 2200= 2100-2210-2220 |
| | 2300 = 2200+ 2310+2320 2330+2340-2350 |
| | 2400 = 2300-2410+2420 |
| | 2400=1370(текущего периода)-1370(предыдущего периода) | Разность нераспределенного убытка (стр 1370) за текущий и предыдущий период не равная значению нераспределенной прибыли (непокрытого убытка) (стр 2400) | |
2. Пользователь выверяет значения и при необходимости редактирует их. После этого пользователь нажимает "Провалидировать и создать консолидированный отчет"
3. Система на основании данных создает новые формы:
1. Консолидированная финансовая отчетность (КФО ГСК) (таблица Consolidation\_template) 
Правила создания формы
Визуальная форма:
Форма представляет собой сводную единую таблицу с фиксированным набором строк по организациям участвующих в консолидации (все ячейки кроме наименований показателя и кодов строк доступны для редактирования):
| | | | | | | | | | | | | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| А | B | C | D | E | F | G | H | I | J | K | L | M | N |
| Финансовая отчетность, тыс.руб. | | | | | | | | | | | | | |
| **БАЛАНС** | **тыс.руб.** | **Русский бисквит** | | | | **Пекарня "Сливочная"** | | | | **ИТОГО консолидированно** | | | |
| **АКТИВ** | **Код строки** | **${consolidation\_package. period }01.10.2025** | **в том числе взаимные обязательства** | **Очищенные показатели** | **Доля в показателе по Группе** | **01.10.2025** | **в том числе взаимные обязательства** | **Очищенные показатели** | **Доля в показателе по Группе** | **01.10.2025** | **Консолидированная отчетность от клиента** | **Расхождения** | **Примечания** |
| **I. ВНЕОБОРОТНЫЕ АКТИВЫ** | | источник: Баланс (форма 01) | источник: матрица взаимных вычетов (см приложение) | | | | | | | | | | |
| Правило заполнения по столбцу: | | значение ячейки **value\_current** таблицы **F** **in\_report\_rows** где**consolidation\_template.row\_code** | Заполнение ячейки зависит от кода строки. См таблицу Приложение 1 ниже | разность колонок: C - D | E (очищенные показатели) / K (Итого) | аналогично колонкам C-F | | | | сумма значений колонок **Company\_data.clean** (  "Очищенные показатели) | // Пока не заполняем | Ручной ввод | Ручной ввод |
| ППА | -- | | | | | | | | | | | | |
| Нематериальные активы | 1110 | | | | | | | | | | | | |
| Нематериальные поисковые активы | 1130 | | | | | | | | | | | | |
| Материальные поисковые активы | 1140 | | | | | | | | | | | | |
| Основные средства | 1150 | | | | | | | | | | | | |
| Право пользования активами | --- | ---- | | - | - | - | - | | | | | | |
| Инвестиционная недвижимость | 1160 | | | | | | | | | | | | |
| Финансовые вложения | 1170 | | | | | | | | | | | | |
| втч Гудвилл (суммируется в фин вложения) | | | | | | | | | | | | | |
| Отложенные налоговые активы | 1180 | | | | | | | | | | | | |
| Прочие внеоборотные активы | 1190 | | | | | | | | | | | | |
| ИТОГО по разделу I | 1100 | | | | | | | | | | | | |
| II. ОБОРОТНЫЕ АКТИВЫ | | | | | | | | | | | | | |
| Запасы | 1210 | | | | | | | | | | | | |
| Налог на добавленную стоимость по приобретенным ценностям | 1220 | | | | | | | | | | | | |
| Дебиторская задолженность | 1230 | | | | | | | | | | | | |
| Финансовые вложения (за исключением денежных эквивалентов) | 1240 | | | | | | | | | | | | |
| Денежные средства и денежные эквиваленты | 1250 | | | | | | | | | | | | |
| Гудвил | --- | | | | | | | | | | | | |
| Прочие оборотные активы | 1260 | | | | | | | | | | | | |
| **ИТОГО по разделу II** | **1200** | | | | | | | | | | | | |
| **БАЛАНС** | **1600** | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| **ПАССИВ** | **Код строки** | **01.10.2025** | **в том числе взаимные обязательства** | **Очищенные показатели** | **Доля в показателе по Группе** | **01.10.2025** | **в том числе взаимные обязательства** | **Очищенные показатели** | **Доля в показателе по Группе** | **01.10.2025** | **Консолидированная отчетность от клиента** | **Расхождения** | **Примечания** |
| **III. КАПИТАЛ И РЕЗЕРВЫ** | | | | | | | | | | | | | |
| Уставный капитал (иной аналогичный показатель в зависимости от ОПФ организации) | 1310 | | | | | | | | | | | | |
| Собственные акции, принадлежащие обществу, задолженность акционеров по оплате акций (иной аналогичный показатель в зависимости от ОПФ организации) | 1320 | | | | | | | | | | | | |
| Накопленная дооценка внеоборотных активов | 1340 | | | | | | | | | | | | |
| Добавочный капитал (без накопленной дооценки) | 1350 | | | | | | | | | | | | |
| Резервный капитал | 1360 | | | | | | | | | | | | |
| Нераспределенная прибыль (непокрытый убыток) | 1370 | | | | | | | | | | | | |
| **ИТОГО по разделу III** | **1300** | | | | | | | | | | | | |
| **IV. ДОЛГОСРОЧНЫЕ ОБЯЗАТЕЛЬСТВА** | | | | | | | | | | | | | |
| Заемные средства | 1410 | | | | | | | | | | | | |
| Отложенные налоговые обязательства | 1420 | | | | | | | | | | | | |
| Оценочные обязательства | 1430 | | | | | | | | | | | | |
| Прочие долгосрочные обязательства | 1450 | | | | | | | | | | | | |
| **ИТОГО по разделу IV** | **1400** | | | | | | | | | | | | |
| **V. КРАТКОСРОЧНЫЕ ОБЯЗАТЕЛЬСТВА** | | | | | **-** | | | | **-** | | | | |
| Заемные средства | 1510 | | | | | | | | | | | | |
| Кредиторская задолженность | 1520 | | | | | | | | | | | | |
| Доходы будущих периодов | 1530 | | | | | | | | | | | | |
| Оценочные обязательства | 1540 | | | | | | | | | | | | |
| Прочие краткосрочные обязательства | 1550 | | | | | | | | | | | | |
| **ИТОГО по разделу V** | **1500** | | | | | | | | | | | | |
| **БАЛАНС** | **1700** | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| **Расхождение баланса по Активу и Пассиву** | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| **Отчет о финансовых результатах** | **тыс.руб.** | | | | | | | | | | | | |
| | | источник: ОФР (форма 2) | источник: матрица взаимных вычетов (см приложение) | | | | | | | | | | |
| **Наименования позиций\*** | **Код строки** | **01.10.2025** | **в том числе взаимные обороты** | **Очищенные показатели** | **Доля в показателе по Группе** | **01.10.2025** | **в том числе взаимные обороты** | **Очищенные показатели** | **Доля в показателе по Группе** | **01.10.2025** | **Консолидированная отчетность от клиента** | **Расхождения** | **Примечания** |
| Доходы и расходы по обычным видам деятельности | | | | | | | | | | | | | |
| Выpучка | 2110 | | | | | | | | | | | | |
| Себестоимость продаж | 2120 | | | | | | | | | | | | |
| Валовая прибыль (убыток) | 2100 | | | | | | | | | | | | |
| Коммерческие расходы | 2210 | | | | | | | | | | | | |
| Управленческие расходы | 2220 | | | | | | | | | | | | |
| Прибыль (убыток) от продаж | 2200 | | | | | | | | | | | | |
| Доходы от участия в других организациях | 2310 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| Проценты к получению | 2320 | | | | | | | | | | | | |
| Проценты к уплате | 2330 | | | | | | | | | | | | |
| Прочие доходы | 2340 | | | | | | | | | | | | |
| Прочие расходы | 2350 | | | | | | | | | | | | |
| Прибыль (убыток) от продолжающейся деятельности до налогообложения | 2300 | | | | | | | | | | | | |
| Текущий налог на прибыль, в т.ч.: | 2410 | | | | | | | | | | | | |
| текущий налог на прибыль организаций | 2411 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| отложенный налог на прибыль организаций | 2412 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| Прибыль (убыток) от прекращаемой деятельности (за вычетом относящегося к ней налога на прибыль организаций) | 2420 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| Прочее | 2460 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| Чистая прибыль (убыток) | 2400 | | | | | | | | | | | | |
| Износ | | | | | | | | | | | | | |
| Износ основных средств (cумма начисленной амортизации) | - | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| Форма 0710002 с.2 | тыс.руб. | 0 | | | | 0 | | | | | | | |
| | | источник: ОФР (форма 2) | источник: матрица взаимных вычетов (см приложение) | | | | | | | | | | |
| Наименование показателя | Код строки | 01.10.2025 | в том числе взаимные обороты | Очищенные показатели | Доля в показателе по Группе | 01.10.2025 | в том числе взаимные обороты | Очищенные показатели | Доля в показателе по Группе | 01.10.2025 | Консолидированная отчетность от клиента | Расхождения | Примечания |
| СПРАВОЧНО Результат от переоценки внеоборотных активов, не включаемый в чистую прибыль (убыток) | 2510 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| Результат от прочих операций, не включаемый в чистую прибыль (убыток) | 2520 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| Налог на прибыль от операций, результат которых не включается в чистую прибыль (убыток) | 2530 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | | |
| Совокупный финансовый результат периода | 2500 | | | | | | | | | | | | |
| Базовая прибыль (убыток) на акцию | 2900 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| Разводненная прибыль (убыток) на акцию | 2910 | 0 | | 0 | 0,00% | 0 | | 0 | - | 0 | | - | |
| | | | | | | | | | | | | | |
| Дополнительная информация | тыс.руб. | 0 | | | | 0 | | | | | | | |
| Из расшифровок, представленных участником сделки | | | | | | | | | | | | | |
**Приложение 1: Правила заполнения колонки "Очищенные показатели"  : смотри правила формирования таблицы корректировки данных и правила формирования формы ниже**
**Внимание**
В таблице указаны только те строки, для которых предполагается заполнение. Если код строки в таблице не указан то не заполняем (значение 0 для корректного арифметического расчета для остальных колонок)
2. Таблицу корректировки данных и "шахматку"
Правила создания формы
1) "Шахматка"
Визуальная форма:
Форма представляет собой таблицу взаимных пересечений финансовых обязательств организаций участвующих в консолидации
| | Русский Бисквит | Пекарня | Организация 3 | Организация 4 | Организация N | Итого |
| --- | --- | --- | --- | --- | --- | --- |
| Русский Бисквит | | 5000,00 6000,00 (1000) | | | | |
| Пекарня | | | | | | |
| Организация 3 | | | | | | |
| Организация 4 | | | 20000 21000 (1000) | | | |
| Организация N | | | | | | |
где данные из примера:
"5000,00" - дебиторская задолженность из ОСВ компании "Русский бисквит" (поле **org\_a\_amount**
)
"6000,00" - кредиторская задолженность из ОСВ компании Пекарня (поле **org\_b\_amount**
)
"1000.00" - разность сумм
На выходе в визуальном представлении ожидается три таблицы:
* По парам счетов 58.03 (для дебета) и 67.03+66.03 (для кредита)
* По парам счетов 62+60+76 (за исключением субсчетов 76.7.5 и 76.7.9) и  62+60+76 (за исключением субсчета 76.7.1)
* По всем счетам всех ОСВ организации
Маппинг данных  в поля **org\_a\_amount/org\_b\_amount**
идентичен маппингу таблицы описанной ниже
2) Таблица корректировки данных
Визуальная форма:
Форма представляет собой сводную парную таблицу (**Intercompany\_reconciliation**
)
заполняемой из сводной ОСВ
| Наименование организации А | счет | сумма | Наименование организации B | счет | сумма | Сумма расхождений | Процент расхождений | Комментарий |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Русский бисквит | 60.1 | 5000,00 | Пекарня | 62 | 6000,00 | разность значений org\_a\_amount и org\_b\_amount пример: 1110.00 | 6% | Пример: "Изменил с 5000 на 6000 потому что:" |
| .... | | | | | | | | |
| Итого: | --- | --- | --- | --- | ---- | сумма всех строк по колонке | --- | |
Маппинг данных в таблицу :
| Поле формы | Поле | Обязательность | Правило заполнения | Пример | Комментарий |
| --- | --- | --- | --- | --- | --- |
| - | reconciliation\_id | + | инкримент | | |
| - | package\_id | + | значением Consolidation\_package.package\_id | | |
| - | row\_code | + | значением org\_a\_account | 1100 | |
| - | org\_pair\_hash | + | Хэш-ключ пары: min(org\_id)|max(org\_id)|account | | |
| Наименование организации А | org\_a\_id | + | Organizations.org\_id | | |
| Счет | org\_a\_account | + | Osv\_report\_rows. account\_code | 62.01 | |
| Сумма | org\_a\_amount | + | Osv\_report\_rows. closing\_debit | | |
| - | org\_b\_counterparty\_name | + | значением  Organizations.full\_name организации B найденной в детальной строке ОСВ принцип поиска: * если в ОСВ есть ИНН то ищем по ключу ИНН в справочнике организаций * если в ОСВ нет ИНН то производим поиск по маске имени в таблицах Organizations и   Organization\_aliases | Пекарня "Счастливочная" | |
| | org\_a\_osv\_row\_id | + | Osv\_report\_rows.row\_id | | |
| | org\_a\_osv\_header\_id | + | Osv\_report\_header.report\_id | | |
| | org\_b\_id | + | Organizations.org\_id | | |
| | org\_b\_account | + | Osv\_report\_rows. account\_code | | |
| | org\_b\_amount | + | Osv\_report\_rows. closing\_credit | | |
| | | | | | |
| | | | | | |
| | | | | | |
Правила формирования формы:
Система берет в левую часть таблицы ОСВ со определенным счетом организации А, ищет упоминание контрагента в детализированной строке, по имени контрагента (орагнизации Б) находит ОСВ определенного счета, ищет по имени контрагента в детализированной строке упоминание Организации А и сопоставляет суммы. В зависимости от номера счета сопоставление строк организации А и организации Б может быть по приницпу как 1 к 1 так и 1 к многим. Если сумма не совпала (проверка не пройдена) то данная строка получает цветовое выделение) Ниже дано описание пар счетов требующих выверки пар сумм: Приложение 1
| Счет организации А | Код строки сводного отчета консолидации для маппинга полученного значения (row\_code) | Счет (счета) организации Б | Алгоритм: |
| --- | --- | --- | --- |
| 03 | | | |
| 60, 62, 76 (все подсчета кроме: 76.7.5, 76.7.9) | для: org\_a\_account = 1230 org\_b\_account=1520 | 60, 62, 76 (все подсчета кроме: 76.7.1) | * Система берет упоминание организации Б в счетах 60, 62, 76 (все подсчета кроме: 76.7.5, 76.7.9) организации А  (при нахождении более одной строки производим расчет суммы строк). Находит счета 60, 62, 76 (все подсчета кроме: 76.7.1) организации Б и ищет парную строку. * Найденные значения маппируем: | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | * Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б * Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **Company\_data** * Если расхождение 5% строка выделяется цветом, требуется анализ |
| 60, 62, 76 (все подсчета кроме: 76.7.5, 76.7.9) | для: org\_a\_account = 1230 org\_b\_account=1410 | 67 | * Система берет упоминание организации Б в счетах 60, 62, 76 (все подсчета кроме: 76.7.5, 76.7.9) организации А  (при нахождении более одной строки производим расчет суммы строк). Находит счет 67 организации Б и ищет парную строку. * Найденные значения маппируем: | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | + Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б + Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **Company\_data** + Если расхождение 5% строка выделяется цветом, требуется анализ |
| 60, 62, 76 (все подсчета кроме: 76.7.5, 76.7.9) | для: org\_a\_account = 1230 org\_b\_account=1510 | 66 | * Система берет упоминание организации Б в счетах 60, 62, 76 (все подсчета кроме: 76.7.5, 76.7.9) организации А  (при нахождении более одной строки производим расчет суммы строк). Находит счет 66 организации Б и ищет парную строку. * Найденные значения маппируем: | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | + Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б + Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **Company\_data** + Если расхождение 5% строка выделяется цветом, требуется анализ |
| 03 | для: org\_a\_account = 1150 org\_b\_account=1450/1550 | 76.7.1 76.1.5 76.7.9 | **Если по организации А таблица с ОСВ счета 03 не пуста:** * Система берет упоминание организации Б в счете 03 организации А  (при нахождении более одной строки производим расчет суммы строк). Находит счет 76 организации Б и ищет парную строку в подсчетах 76.7.1, 76.1.5, 76.7.9.  Вычисляет разность значений сумм по строкам (76.7.1-76.7.5-76.7.9) * Найденные значения маппируем: | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | * Если значения совпали то система считает проверку пройденной * Если значения не совпали, система производит подсчет процента расхождений * Если процент расхождений = 5% то система берет наименьшее значение из пары сумм организации А и организации Б и маппирует данное значение в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б * Если процент расхождений 5% то система считает проверку не пройденной, ни одна сумма из найденной пары не маппируется в итоговый отчет консолидации, строка в таблице выделяется цветом Е**сли по организации А таблица с ОСВ счета 03 пуста (не была подгружена)** * Система находит счет 76 организации Б и ищет упоминание организации А в подсчетах 76.7.1, 76.1.5, 76.7.9.  Вычисляет разность значений сумм по строкам (76.7.1-76.7.5-76.7.9) * Результат маппируется в итоговый консолидированный отчет в строку ППА, колонка Итого |
| 58.01 | для: org\_a\_account = 1170 org\_b\_account= 1310 | 80/83 | **Если по организации Б таблица ОСВ со счетом 80 или 83 не пуста:** * Система берет упоминание организации Б в счете 58.01 (дебетовые сальдо на конец периода с уровня субконто Контрагенты по счету 58) * Ищет соответствующие записи по счету 80/83 организации Б * При нахождении более одной строки суммирует Найденные значения маппируем:   | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | * Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б * Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **Company\_data** * Если расхождение 5% строка выделяется цветом, требуется анализ **Если по организации Б таблица ОСВ со счетом 80 и 83  пуста (данные ОСВ не были подгружены):** * Система берет упоминание организации Б в счете 58.01 (дебетовые сальдо на конец периода с уровня субконто Контрагенты по счету 58) и маппирует найденное значение в сводный консолидированный отчет **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б в колонку **elimination** * Система берет значение **Company\_data.source** по фильтру org\_b\_account=1310 и вычитает из него сумму по счету 58.01 компании А. Если результат разности больше 0 то данный результат записывается в в таблицу **Company\_data (уточнить колонку) по фильтру row\_name=Гудвил** |
| 58.03 | для: org\_a\_account = 1170 org\_b\_account=1410 | 67.03 | * Система берет упоминание организации Б в счете 58.03 организации А * Ищет соответствующие записи по счету 67.03 организации Б * При нахождении более одной строки суммирует Найденные значения маппируем:   | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | * Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б * Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **Company\_data** * Если расхождение 5% строка выделяется цветом, требуется анализ |
| 58.03 | для: org\_a\_account = 1240 org\_b\_account=1510 | 66.03 | * + Система берет упоминание организации Б в счете 58.03 организации А + Ищет соответствующие записи по счету 66.03 организации Б + При нахождении более одной строки суммирует Найденные значения маппируем: | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | * Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б * Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **Company\_data** * Если расхождение 5% строка выделяется цветом, требуется анализ |
| ~~58~~ | ~~для:~~ ~~org\_a\_account = 1170~~ ~~org\_b\_account=1520~~ | ~~76~~ | * ~~Система берет упоминание организации Б в счете 58 (дебетовые сальдо на конец периода с уровня субконто Контрагенты по счету 58)~~ * ~~Ищет соответствующие записи по счету 76 организации Б~~ * ~~При нахождении более одной строки суммирует~~ ~~Найденные значения маппируем:~~ | ~~организация А~~ | | ~~организация Б~~ | | | --- | --- | --- | --- | | ~~источник~~ | ~~целевое поле~~ | ~~источник~~ | ~~целевое поле~~ | | ~~Osv\_report\_rows. closing\_debit~~ | ~~org\_a\_amount~~ | ~~Osv\_report\_rows. closing\_credit~~ | ~~org\_b\_amount~~ | * ~~Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **C onsolidation\_template** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б~~ * ~~Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **C onsolidation\_template**~~ * ~~Если расхождение 5% строка выделяется цветом, требуется анализ~~ |
| 76 | для: org\_a\_account = 1230 org\_b\_account=1510 | 66.04 67.04 | * Система берет упоминание организации Б в счете 76 (все субсчета) организации А * Ищет соответствующие записи по счетам 66.04 и 67.04 организации Б * При нахождении более одной строки суммирует Найденные значения маппируем:   | организация А | | организация Б | | | --- | --- | --- | --- | | источник | целевое поле | источник | целевое поле | | Osv\_report\_rows. closing\_debit | org\_a\_amount | Osv\_report\_rows. closing\_credit | org\_b\_amount | * Если значения совпали проверка пройдена, значение суммы маппируем  в таблицу **Company\_data** по ключу row\_code=org\_a\_account для организации А, и  row\_code=org\_b\_account для организации Б * Если расхождение 5% система маппирует наименьшее значение из пары в таблицу **Company\_data** * Если расхождение 5% строка выделяется цветом, требуется анализ |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
Правила формирования по данным ОФР:
| Счет организации А | Код строки сводного отчета консолидации для маппинга полученного значения (row\_code) | Счет (счета) организации Б | Алгоритм: |
| --- | --- | --- | --- |
| 90.01 (КТ, с НДС) - приоритет. При отсутствии ОСВ сч. 90.01 - 62.01, 62.21, 62.31 (ДБ, с НДС) | **2110** | 60.01, 60.21, 60.31 (КТ); 76 - все субсчета, кроме 76.07.\* и 76.03.\*; плюс 76.07.2 (КТ) | * Система берёт по организации А оборот с НДС по ВГО: КТ сч. 90.01 либо (при его отсутствии) ДБ сч. 62.01/62.21/62.31, в разрезе Контрагенты * Сопоставляет с КТ-оборотом организации Б по сч. 60.01/60.21/60.31 и сч. 76 (с исключениями) * Правило min значение не применяется: в ОФР проставляется значение, полученное по стороне организации А (90.01 либо 62) * Элиминируемая сумма без НДС = Оборот с НДС / (1 + СрВзСтавка НДС / 100). Результат записывается в столбец ВГО строки 2110 |
| 60.01, 60.21, 60.31 (КТ) | **2120** | 90.01 (КТ, с НДС) - приоритет; 62.01, 62.21, 62.31 (ДБ) - при отсутствии 90.01 | * Исключение внутригрупповых оборотов из себестоимости - в тех же суммах, что и по выручке, но в зеркальном отражении, уменьшенных на сумму НДС в составе оборота (по СрВзСтавке НДС) * Элиминируемая сумма = Себестоимость продаж (2120) - Выручка по ВГО (значение, полученное по строке 2110) |
| 76.03 (ДБ) | **2310** | 76.03 (КТ) | * Элиминируемая сумма - сопоставление ( ДБ-оборота по сч. 76.03 организации А; КТ-оборота по сч. 76.03 организации Б) * В ОФР проставляется значение, полученное по ДБ-оборота сч. 76.03 (организации А) - результат записывается в столбец ВГО строки 2310 * Сопоставление пар - для дополнительного анализа пользователем в таблице корректировки данных |
| 76.03, 76.05, 76.08, 76.09 (ДБ) | **2320** | 66.02, 66.04, 66.06, 66.22, 66.24, 66.26 (КТ); 67.02, 67.04, 67.06, 67.22, 67.24, 67.26 (КТ) | * Исключение выполняется на основании ДБ-оборотов в периоде с уровня субконто Контрагенты по сч. 76 * Однозначных правил отражения процентов на конкретных субсчетах нет: субсчета/контрагенты для исключения работник ПА определяет самостоятельно * Элиминируемая сумма = min ( ДБ-оборот 76\* организации А; КТ-оборот 66, 67 организации Б) |
| 66.02, 66.04, 66.06, 66.22, 66.24, 66.26 (КТ); 67.02, 67.04, 67.06, 67.22, 67.24, 67.26 (КТ); 76.07.5 (проценты по ППА), 76.08, 76.28, 76.38 (КТ) | **2330** | 76.03, 76.05, 76.08, 76.09 (ДБ) | * Исключение выполняется на основании КТ-оборотов по чётным субсчетам сч. 66, 67, 76 с уровня субконто Контрагенты * Элиминируемая сумма = min ( КТ-оборот 66, 67, 76 организации А; ДБ-оборот 76 организации Б) |
3. Заполнение поля Гудвил 
Правила создания формы
Визуальная форма:
| № п/п | Наименование  ДО | Доля владения | ФВ ГО по состоянию на | Доля участия ГО в УК ДО | УК | Гудвилл (+) (-) |
| --- | --- | --- | --- | --- | --- | --- |
| 30.09.2025 | 30.09.2025 | 30.09.2025 | 30.09.2025 |
| тыс. руб | тыс. руб | тыс. руб | тыс. руб |
| | | | Счет 58.01 ГО | УК \* Доля владения/100 | Счет 80 + счет 83 ДО **ИЛИ** строка 1310 Бух. отчетности ДО | ФВ ГО - Доля участия ГО в УК ДО |
| Агрохолдинг Просторы АО | | | | | | |
| 1 | ООО Дон Агро | 99,99% | 4 060 000,00 | 371 135,88 | 371 173,00 | 3 688 864,12 |
| 2 | АО Дон Агро | 99,99% | 260 012,00 | 119 988,00 | 120 000,00 | 140 024,00 |
| 3 | ООО Дон Мучнов | 90,00% | 130 000,00 | 9,00 | 10,00 | 129 991,00 |
| 4 | ООО Инвестком | 99,99% | 267 000,00 | 9,999 | 10,00 | 266 990,00 |
| | **Всего** | | **4 717 012,00** | **491 142,88** | **491 193,00** | **4 225 869,12** |
Заполнение таблицы Гудвил:
1. 1. Необходимо сгруппировать строки по головной организации - для каждой головной организации (ГО) нужно создать список её дочерних организаций (ДО) отдельными строками.
2. Поле **Наименование ДО**
: указать дочернюю организацию, в которой у ГО есть доля; источник - контрагенты в счете 58.01 головной организации.
3. Поле **Доля владения**
: проставить долю ГО в ДО значением от 0 до 100. Сейчас нет источника данного поля, поэтому проставляется вручную.
4. Поле **ФВ ГО**
: сумма финансовых вложений ГО в данную ДО - дебетовый остаток по счёту 58.01 головной организации.
5. Поле **УК**
: уставный капитал ДО - кредитовый остаток по счету 80 + счет 83. При отсутствии данных счетов, поле заполняется на основании поля 1310 (Уставной капитал) Бухгалтерского баланса дочерней организации.
6. Поле **Доля участия ГО в УК ДО**
: рассчитывается как УК умножить на Долю владения и деленное на 100 (**УК \* Доля владения/100**
).
7. Поле **Гудвил (+/-)**
: рассчитывается как ФВ ГО минус доля участия ГО в УК ДО (**ФВ ГО - Доля участия ГО в УК ДО**
).
8. Гудвил может быть как больше, так и меньше нуля.
9. По каждой ГО формируется строка **Всего**
: суммируется по группе значения ФВ ГО, Доли участия ГО в УК ДО, УК и Гудвил.
10. Результат **Гудвил (+/-)**
заносится в в консолидированный отчет - в отдельную строку Гудвил.
4. Форму 276-ОД 
Правила создания формы
4. Система производит валидацию сумм расхождений с суммами по строке 1300 и 1600 (колонка итого) созданного КФО ГСК в зависимости от условий. А именно:
1. Система сравнивает суммы колонок Итого по строкам 1300 и 1600 КФЩ ГСК. Если сумма по строке 1300 меньше чем сумма по строке 1600\*0.1 то:
1. Система сравнивает сумму расхождений из таблицы **Intercompany\_reconciliation**
по всем строкам где **row\_code**
в диапазоне **1100 -1700**
с суммой указанной в колонке Итого по строке 1600 созданного КФО ГСК
2. Если отклонение между суммами менее или равно 1% то проверка пройдена.
3. Иначе система записывает в лог сообщение Совокупный объем расхождений превышает установленную норму 1% от ВБ ГСК, строка 1600 КФО ГСК выделяется красным цветовым фоном
2. Иначе система сравнивает сумму расхождений 
из таблицы **Intercompany\_reconciliation**
по всем строкам где **row\_code**
в диапазоне **1100 -1700**
с суммой указанной в колонке Итого по строке 1300 созданного КФО ГСК
1. Если отклонение между суммами менее или равно 10% то проверка пройдена.
2. Иначе система записывает в лог сообщение Совокупный объем расхождений превышает установленную норму 10% от ЧА ГСК, строка 1300 КФО ГСК выделяется красным цветовым фоном
5. Система производит валидацию сумм расхождений с суммами по строке 2110 и 2200 (колонка итого) созданного ОФР КФО ГСК в зависимости от условий. А именно:
1. Система рассчитывает уровень рентабельности продаж как отношение суммы колонки Итого по строке 2200 к сумме колонки Итого по строке 2110 созданного ОФР КФО ГСК (2200 делим на 2110)
1. Если рентабельность продаж меньше 10% или имеет отрицательное значение то:
1. Система сравнивает сумму расхождений из таблицы
**Intercompany\_reconciliation**
по строкам **где **row\_code****
в диапазоне **2110-2910**
с суммой указанной в колонке Итого по строке 2110 созданного ОФР КФО ГСК
2. Если отклонение между суммами менее или равно 1% то проверка пройдена
3. Иначе система записывает в лог сообщение Совокупный объем расхождений превышает установленную норму 1% от Выручки ГСК, строка 2110 ОФР КФО ГСК выделяется красным цветовым фоном
2. Иначе система сравнивает сумму расхождений из таблицы
**Intercompany\_reconciliation**
по строкам
**где **row\_code****
в диапазоне
**2110-2910**
с суммой указанной в колонке Итого по строке 2200 созданного ОФР КФО ГСК
1. Если отклонение между суммами менее или равно 10% то проверка пройдена.
2. Иначе система записывает в лог сообщение Совокупный объем расхождений превышает установленную норму 10% от Прибыли от продаж ГСК, строка 2200 ОФР КФО ГСК выделяется красным цветовым фоном