Files
state-corp-backend/ТЕХНИЧЕСКОЕ_ОПИСАНИЕ.md
Aleksandr Meshchriakov 8ed3e1175c
Some checks failed
CI/CD Pipeline / Code Quality Checks (push) Failing after 5m5s
CI/CD Pipeline / Run Tests (push) Failing after 5m5s
CI/CD Pipeline / Build Docker Images (push) Has been skipped
CI/CD Pipeline / Push to Gitea Registry (push) Has been skipped
CI/CD Pipeline / Deploy to Server (push) Has been skipped
Add initial implementations for forms and organization apps with serializers, factories, and admin configurations
2026-02-17 09:26:08 +01:00

137 KiB
Raw Permalink Blame History

ТЕХНИЧЕСКОЕ ОПИСАНИЕ ПРОГРАММНОГО КОМПЛЕКСА УЧЁТА И ОБРАБОТКИ ОТЧЁТНЫХ ФОРМ ГОСКОРПОРАЦИЙ (STATE CORP BACKEND)

Версия документа: 1.0
Статус: Утверждённая редакция
Дата разработки: 09.02.2026

Настоящее техническое описание устанавливает назначение, состав, структуру, программно‑технологические решения и правила эксплуатации программного комплекса State Corp Backend, а также требования к форматам входных данных. Документ предназначен для заказчика, эксплуатирующих подразделений и команд сопровождения.


СОДЕРЖАНИЕ

  1. Общие сведения о программном обеспечении
  2. Описание программной реализации моделей информационного обмена и сбора данных
  3. Программно-технологические решения по систематизации и обработке данных
  4. Структура базы данных
  5. Архитектура программного интерфейса (API)
  6. Механизмы обеспечения надёжности и отказоустойчивости
  7. Порядок развёртывания и испытаний
  8. Заключение
  9. Приложение А (обязательное). Форматы входных Excel-шаблонов
  10. Приложение Б (рекомендуемое). Примеры входных файлов
  11. Приложение В (справочное). Справочник показателей

1. ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММНОМ ОБЕСПЕЧЕНИИ

1.1. Назначение системы

Программный комплекс State Corp Backend предназначен для централизованного приёма, валидации, систематизации и хранения отчётных данных, предоставляемых предприятиями в рамках форм Ф1…Ф6. Система обеспечивает полный цикл работы с данными: от загрузки исходных файлов Excel до предоставления унифицированного API для дальнейшей аналитики и интеграции с внешними контурами.

Ключевая особенность решения — ориентация на достоверность и воспроизводимость результата. Каждый пакет данных получает идентификатор загрузки (load_batch), что позволяет однозначно прослеживать происхождение и последовательность изменений, формировать регистры контроля, проводить сверку и повторные выгрузки при необходимости.

Система рассчитана на эксплуатацию в корпоративном и ведомственном контуре. Реализованы стандартизированные механизмы журналирования, фоновой обработки, контроля целостности и унифицированной выдачи ошибок, а также предусмотрены инструменты мониторинга (healthcheck, readiness/liveness probes), необходимые для промышленной эксплуатации и оркестрации.

1.2. Используемый технологический стек

Разработка выполнена на базе устойчивого и зрелого стека, обеспечивающего надёжность, масштабируемость и соответствие требованиям безопасности и сопровождения:

Компонент Версия Назначение
Операционная система Astra Linux 1.8 / Linux x86_64 Целевой контур эксплуатации и сопровождения
Язык программирования Python 3.11.2 Основной язык серверной логики
Веб-фреймворк Django 3.2.25 ORM, маршрутизация, управление приложением
REST API Django REST Framework 3.14.0 Реализация REST интерфейса
СУБД PostgreSQL 15.10 Реляционное хранение и транзакционность
Очередь задач Celery 5.3.6 Асинхронная обработка больших загрузок
Брокер / кэш Redis 7.x Хранилище задач и кеширование
Веб-сервер Apache 2.4.57 Обслуживание HTTP/HTTPS трафика
WSGI Gunicorn 21.2.0 Исполнение Pythonприложения
Документация API drf-yasg 1.21.10 Swagger/OpenAPI спецификация
Excelпарсинг openpyxl 3.1.5 Потоковое чтение Excel (.xlsx)

Выбор компонентов обусловлен их стабильностью, широким использованием в промышленной эксплуатации и высокой готовностью к сопровождению в корпоративных контурах.

1.3. Библиотеки для обработки и валидации данных

Библиотека / модуль Версия Назначение
openpyxl 3.1.5 Потоковый парсинг Excel, чтение больших файлов
pandas 2.0.3 Аналитические преобразования (по необходимости)
django-filter 23.5 Стандартизованная фильтрация в API
djangorestframework-simplejwt 5.3.1 JWTаутентификация
django-redis 5.4.0 Кэш и синхронизация фоновых задач
celery / django-celery-results 5.3.6 / 2.5.1 Управление задачами и хранение результатов
drf-yasg 1.21.10 Генерация OpenAPI и Swagger UI

1.4. Термины и сокращения

Термин Определение
Форма Ф1…Ф6 Утверждённые отчётные формы предприятий
load_batch Идентификатор пакета загрузки данных
Парсер Программный модуль обработки Excelфайла
TrackedTask Базовый класс Celeryзадач с отслеживанием прогресса
BackgroundJob Модель статусов фоновых задач

2. ОПИСАНИЕ ПРОГРАММНОЙ РЕАЛИЗАЦИИ МОДЕЛЕЙ ИНФОРМАЦИОННОГО ОБМЕНА И СБОРА ДАННЫХ

2.1. Архитектура подсистемы загрузки и парсинга

Подсистема загрузки данных построена по модульному принципу. Для каждой формы отчётности предусмотрен отдельный парсер, использующий общий базовый механизм BaseExcelParser. Такой подход обеспечивает единый стандарт обработки данных, снижает стоимость сопровождения и позволяет расширять систему новыми формами без пересмотра архитектуры.

Общий поток обработки:

  1. Пользователь загружает Excelфайл через API.
  2. Для небольших файлов выполняется синхронная обработка, для крупных файлов — постановка задачи в очередь Celery.
  3. Базовый парсер читает Excel в потоковом режиме (read_only=True).
  4. Выполняется построчная валидация и нормализация полей (ИНН, ОГРН, КПП, ОКПО).
  5. Создаются или обновляются справочные записи организаций.
  6. Формируется набор записей формы с привязкой к load_batch.

Фрагмент базового парсера, демонстрирующий ключевую механику обработки:

class BaseExcelParser(ABC, Generic[T]):
    def parse(self, file: UploadedFile | BytesIO) -> ParseResult:
        batch_id = self.get_next_batch_id()
        result = ParseResult(batch_id=batch_id)

        try:
            self._load_workbook(file)
            self._column_mappings = self.get_column_mappings()

            for row_num in range(self.DATA_START_ROW, self._sheet.max_row + 1):
                row_data = self._parse_row(row_num)

                if row_data is None:
                    continue

                errors = self._validate_row(row_data)
                if errors:
                    result.errors.append(
                        RowValidationError(
                            row=row_num,
                            inn=row_data.inn,
                            kpp=row_data.kpp,
                            organization_name=row_data.organization_name,
                            errors=errors,
                        )
                    )
                    result.skipped_count += 1
                    continue

                try:
                    self.create_record(row_data, batch_id)
                    result.loaded_count += 1
                except Exception as e:
                    logger.exception(f"Ошибка создания записи для строки {row_num}")
                    result.errors.append(
                        RowValidationError(
                            row=row_num,
                            inn=row_data.inn,
                            kpp=row_data.kpp,
                            organization_name=row_data.organization_name,
                            errors=[FieldError(field="__all__", message=str(e))],
                        )
                    )
                    result.skipped_count += 1
        finally:
            if self._workbook:
                self._workbook.close()

        return result

2.2. Алгоритмы загрузки данных по ключевым формам

2.2.1. Форма Ф1 (выпуск продукции)

Форма Ф1 содержит производственные показатели: объёмы военной и гражданской продукции, НИОКР, кадровые показатели. Маппинг колонок задаётся декларативно и соответствует утверждённому шаблону Excel.

class FormF1Parser(BaseExcelParser[FormF1Record]):
    def get_column_mappings(self) -> list[ColumnMapping]:
        return [
            ColumnMapping(4, "Выпуск военной продукции (факт.)", "military_output_actual", field_type="decimal"),
            ColumnMapping(5, "Военная на внутренний рынок (факт.)", "military_domestic_actual", field_type="decimal"),
            ColumnMapping(6, "Военная на экспорт (факт.)", "military_export_actual", field_type="decimal"),
            ColumnMapping(7, "Выпуск гражданской продукции (факт.)", "civilian_output_actual", field_type="decimal"),
            ColumnMapping(8, "Гражданская на внутренний рынок (факт.)", "civilian_domestic_actual", field_type="decimal"),
            ColumnMapping(9, "Гражданская на экспорт (факт.)", "civilian_export_actual", field_type="decimal"),
            ColumnMapping(10, "Высокотехнологичная продукция (факт.)", "hightech_output_actual", field_type="decimal"),
            ColumnMapping(11, "Высокотехнологичная на внутренний рынок (факт.)", "hightech_domestic_actual", field_type="decimal"),
            ColumnMapping(12, "Высокотехнологичная на экспорт (факт.)", "hightech_export_actual", field_type="decimal"),
            ColumnMapping(13, "Объём НИОКР (факт.)", "rd_volume_actual", field_type="decimal"),
            ColumnMapping(14, "НИОКР в интересах обороны (факт.)", "rd_defense_actual", field_type="decimal"),
        ]

2.2.2. Форма Ф2 (бухгалтерский баланс)

Форма Ф2 — наиболее объёмная по структуре. Для крупных файлов применяется фоновая обработка, исключающая тайм‑ауты на стороне клиента.

@shared_task(bind=True, base=TrackedTask)
def process_form_f2_file(self, file_content: bytes, file_name: str) -> dict:
    from io import BytesIO

    file_io = BytesIO(file_content)
    parser = FormF2Parser()
    result = parser.parse(file_io)

    return result.to_dict()

2.2.3. Формы Ф5 и Ф6 (оборудование)

Формы Ф5 и Ф6 ориентированы на детальную и агрегированную инвентаризацию оборудования. В системе предусмотрены типы полей bool, date, decimal, что обеспечивает корректную интерпретацию признаков и дат ввода в эксплуатацию.

2.3. Механизмы контроля качества и безопасной загрузки

2.3.1. Валидация ключевых идентификаторов

Стандартные проверки реализованы на уровне базового парсера и исключают попадание некорректных идентификаторов в БД:

def validate_inn(value: str | None) -> tuple[bool, str]:
    if not value:
        return False, "ИНН обязателен"

    cleaned = re.sub(r"\D", "", str(value))

    if len(cleaned) not in (10, 12):
        return False, f"ИНН должен содержать 10 или 12 цифр, получено {len(cleaned)}"

    return True, ""

2.3.2. Идентификация пакетов и прослеживаемость

Каждая загрузка формирует уникальный load_batch. Это позволяет вести историю, сравнивать данные по периодам, быстро изолировать ошибочный пакет и выполнять повторную обработку.

2.3.3. Фоновая обработка и контроль прогресса

Для тяжёлых файлов используется TrackedTask, автоматически создающий записи BackgroundJob и позволяющий пользователю получать прогресс в API:

class TrackedTask(TimedTask):
    def before_start(self, task_id, args, kwargs):
        super().before_start(task_id, args, kwargs)
        from apps.core.services import BackgroundJobService

        user_id = kwargs.get("user_id")
        BackgroundJobService.create_job(
            task_id=task_id,
            task_name=self.name,
            user_id=user_id,
            meta={"args": str(args)[:500], "kwargs": str(kwargs)[:500]},
        )

        job = BackgroundJobService.get_by_task_id(task_id)
        job.mark_started()

3. ПРОГРАММНО-ТЕХНОЛОГИЧЕСКИЕ РЕШЕНИЯ ПО СИСТЕМАТИЗАЦИИ И ОБРАБОТКЕ ДАННЫХ

3.1. Слой хранения данных (База данных)

3.1.1. СУБД PostgreSQL

В качестве центра хранения используется PostgreSQL 15.10. Выбор обусловлен следующими факторами:

  1. поддержка ACIDтранзакций и строгой целостности данных;
  2. эффективная индексация и масштабируемость при росте объёма отчётных записей;
  3. возможности резервного копирования и репликации;
  4. подтверждённая стабильность в промышленной эксплуатации.

3.1.2. Проектирование моделей данных и миксины

Слой моделей построен вокруг набора типовых миксинов (apps.core.mixins), которые стандартизируют общие поля и поведение. Это обеспечивает единый формат аудита и упрощает поддержку.

class TimestampMixin(models.Model):
    created_at = models.DateTimeField(
        _("создано"),
        auto_now_add=True,
        db_index=True,
        help_text=_("Дата и время создания записи"),
    )
    updated_at = models.DateTimeField(
        _("обновлено"),
        auto_now=True,
        help_text=_("Дата и время последнего обновления"),
    )

    class Meta:
        abstract = True

3.2. Сервисный слой и бизнес-логика

Сервисный слой реализует унифицированный интерфейс CRUD и массовых операций. Это позволяет централизовать бизнес‑правила и переиспользовать их в API и фоновых задачах.

class BaseService(Generic[M]):
    model: type[M]

    @classmethod
    def get_queryset(cls) -> QuerySet[M]:
        return cls.model.objects.all()

    @classmethod
    @transaction.atomic
    def create(cls, **kwargs: Any) -> M:
        return cls.model.objects.create(**kwargs)

    @classmethod
    @transaction.atomic
    def update(cls, instance: M, **kwargs: Any) -> M:
        for field, value in kwargs.items():
            setattr(instance, field, value)
        update_fields = set(kwargs.keys())
        if hasattr(instance, "updated_at"):
            update_fields.add("updated_at")
        instance.save(update_fields=list(update_fields))
        return instance

Дополнительно реализован миксин массовых операций для оптимизации загрузки больших массивов данных:

class BulkOperationsMixin:
    @classmethod
    @transaction.atomic
    def bulk_create_chunked(
        cls,
        instances: list,
        *,
        chunk_size: int = 500,
        ignore_conflicts: bool = False,
        update_conflicts: bool = False,
        update_fields: list[str] | None = None,
        unique_fields: list[str] | None = None,
    ) -> int:
        total_created = 0
        for i in range(0, len(instances), chunk_size):
            chunk = instances[i : i + chunk_size]
            created = cls.model.objects.bulk_create(chunk, ignore_conflicts=ignore_conflicts)
            total_created += len(created)
        return total_created

4. СТРУКТУРА БАЗЫ ДАННЫХ

4.1. Общие сведения о схеме данных

База данных формируется по нормализованной схеме, где справочник организаций вынесен в отдельную сущность, а все формы отчётности используют внешнюю связь. Такая структура обеспечивает консистентность, минимизирует дублирование и упрощает ведение справочной информации.

4.1.1. Перечень таблиц базы данных

Имя таблицы Назначение Источник данных Примерный объём
1 organization_organization Справочник организаций Все формы десятки тысяч
2 form_1_formf1record Ф1: выпуск продукции Excelформы десятки тысяч
3 form_2_formf2record Ф2: бухгалтерский баланс Excelформы десятки тысяч
4 form_3_formf3record Ф3: кадры и оборудование Excelформы десятки тысяч
5 form_4_formf4record Ф4: сводные финансы Excelформы десятки тысяч
6 form_5_formf5record Ф5: инвентаризация оборудования Excelформы сотни тысяч
7 form_6_formf6record Ф6: возрастная структура Excelформы десятки тысяч
8 core_backgroundjob Статусы фоновых задач Системные тысячи
9 users Учётные записи пользователей Системные сотни
10 profiles Профили пользователей Системные сотни

4.1.2. Общие правила именования

Элемент Конвенция Пример
Таблицы {app_label}_{model} form_2_formf2record
Первичные ключи id типа UUID id UUID PRIMARY KEY
Внешние ключи {entity}_id organization_id
Временные метки created_at, updated_at created_at TIMESTAMP WITH TIME ZONE
Индексы {table}_{fields}_idx form_1_form_organiz_f99cbd_idx

4.1.3. Типовые поля

Поле Тип Описание
id UUID Уникальный идентификатор записи
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления
load_batch INTEGER Идентификатор пакета загрузки
organization_id UUID Ссылка на организацию

4.2. Таблица organization_organization

Назначение: централизованный справочник организаций. Используется всеми формами отчётности и исключает дублирование данных.

Источник данных: формы Ф1…Ф6 (автоматическое создание/обновление по ИНН).

4.2.1. Полный перечень полей

Поле Тип Ограничения Описание
id UUID PK Уникальный идентификатор
name VARCHAR(500) NOT NULL, INDEX Наименование организации
inn VARCHAR(12) UNIQUE, INDEX ИНН
ogrn VARCHAR(15) INDEX ОГРН
kpp VARCHAR(9) КПП
okpo VARCHAR(20) ОКПО
created_at TIMESTAMP INDEX Дата создания
updated_at TIMESTAMP Дата обновления

4.2.2. Модель (фрагмент кода)

class Organization(TimestampMixin, models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=500, db_index=True)
    inn = models.CharField(max_length=12, unique=True, db_index=True)
    ogrn = models.CharField(max_length=15, db_index=True, blank=True, default="")
    kpp = models.CharField(max_length=9, blank=True, default="")
    okpo = models.CharField(max_length=20, blank=True, default="")

4.3. Таблица form_1_formf1record

Назначение: хранение показателей формы Ф1 (выпуск продукции, НИОКР, кадры).

4.3.1. Полный перечень полей

Поле Тип Описание
id UUID Уникальный идентификатор записи
organization_id UUID (FK) Организация
load_batch INTEGER Пакет загрузки
military_output_actual DECIMAL(20,2) Выпуск военной продукции (факт. цены)
military_domestic_actual DECIMAL(20,2) Военная продукция на внутренний рынок (факт.)
military_export_actual DECIMAL(20,2) Военная продукция на экспорт (факт.)
civilian_output_actual DECIMAL(20,2) Выпуск гражданской продукции (факт. цены)
civilian_domestic_actual DECIMAL(20,2) Гражданская продукция на внутренний рынок (факт.)
civilian_export_actual DECIMAL(20,2) Гражданская продукция на экспорт (факт.)
hightech_output_actual DECIMAL(20,2) Высокотехнологичная продукция (факт. цены)
hightech_domestic_actual DECIMAL(20,2) Высокотехнологичная продукция на внутренний рынок (факт.)
hightech_export_actual DECIMAL(20,2) Высокотехнологичная продукция на экспорт (факт.)
rd_volume_actual DECIMAL(20,2) Объём НИОКР (факт. цены)
rd_defense_actual DECIMAL(20,2) НИОКР в интересах обороны (факт.)
military_output_fixed DECIMAL(20,2) Выпуск военной продукции (фикс. цены)
military_domestic_fixed DECIMAL(20,2) Военная продукция на внутренний рынок (фикс.)
military_export_fixed DECIMAL(20,2) Военная продукция на экспорт (фикс.)
civilian_output_fixed DECIMAL(20,2) Выпуск гражданской продукции (фикс. цены)
civilian_domestic_fixed DECIMAL(20,2) Гражданская продукция на внутренний рынок (фикс.)
civilian_export_fixed DECIMAL(20,2) Гражданская продукция на экспорт (фикс.)
hightech_output_fixed DECIMAL(20,2) Высокотехнологичная продукция (фикс. цены)
hightech_domestic_fixed DECIMAL(20,2) Высокотехнологичная продукция на внутренний рынок (фикс.)
hightech_export_fixed DECIMAL(20,2) Высокотехнологичная продукция на экспорт (фикс.)
rd_volume_fixed DECIMAL(20,2) Объём НИОКР (фикс. цены)
rd_defense_fixed DECIMAL(20,2) НИОКР в интересах обороны (фикс.)
avg_employees DECIMAL(12,2) Средняя численность работников
avg_payroll_employees DECIMAL(12,2) Среднесписочная численность работников
payroll_fund DECIMAL(20,2) Фонд начисленной заработной платы
salary_arrears DECIMAL(20,2) Просроченная задолженность по зарплате
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.4. Таблица form_2_formf2record

Назначение: бухгалтерский баланс, финансовые результаты и производные показатели.

4.4.1. Полный перечень полей

Поле Тип Описание
id UUID Уникальный идентификатор записи
organization_id UUID (FK) Организация
load_batch INTEGER Пакет загрузки
intangible_assets DECIMAL(20,2) Нематериальные активы
rd_results DECIMAL(20,2) Результаты исследований и разработок
intangible_search_assets DECIMAL(20,2) Нематериальные поисковые активы
tangible_search_assets DECIMAL(20,2) Материальные поисковые активы
fixed_assets DECIMAL(20,2) Основные средства
profitable_investments DECIMAL(20,2) Доходные вложения в материальные ценности
financial_investments_non_current DECIMAL(20,2) Финансовые вложения (внеоборотные)
deferred_tax_assets DECIMAL(20,2) Отложенные налоговые активы
other_non_current_assets DECIMAL(20,2) Прочие внеоборотные активы
total_non_current_assets DECIMAL(20,2) Итого внеоборотные активы
inventories DECIMAL(20,2) Запасы
vat_on_acquired_assets DECIMAL(20,2) НДС по приобретённым ценностям
receivables DECIMAL(20,2) Дебиторская задолженность
financial_investments_current DECIMAL(20,2) Финансовые вложения (оборотные)
cash_and_equivalents DECIMAL(20,2) Денежные средства и эквиваленты
other_current_assets DECIMAL(20,2) Прочие оборотные активы
total_current_assets DECIMAL(20,2) Итого оборотные активы
total_assets DECIMAL(20,2) Баланс (актив)
authorized_capital DECIMAL(20,2) Уставный капитал
own_shares_bought_back DECIMAL(20,2) Собственные акции, выкупленные у акционеров
revaluation_of_non_current_assets DECIMAL(20,2) Переоценка внеоборотных активов
additional_capital DECIMAL(20,2) Добавочный капитал
reserve_capital DECIMAL(20,2) Резервный капитал
retained_earnings DECIMAL(20,2) Нераспределённая прибыль
total_equity DECIMAL(20,2) Итого капитал и резервы
borrowings_non_current DECIMAL(20,2) Заёмные средства (долгосрочные)
deferred_tax_liabilities DECIMAL(20,2) Отложенные налоговые обязательства
estimated_liabilities_non_current DECIMAL(20,2) Оценочные обязательства (долгосрочные)
other_liabilities_non_current DECIMAL(20,2) Прочие обязательства (долгосрочные)
total_non_current_liabilities DECIMAL(20,2) Итого долгосрочные обязательства
borrowings_current DECIMAL(20,2) Заёмные средства (краткосрочные)
payables DECIMAL(20,2) Кредиторская задолженность
deferred_income DECIMAL(20,2) Доходы будущих периодов
estimated_liabilities_current DECIMAL(20,2) Оценочные обязательства (краткосрочные)
other_liabilities_current DECIMAL(20,2) Прочие обязательства (краткосрочные)
total_current_liabilities DECIMAL(20,2) Итого краткосрочные обязательства
total_liabilities DECIMAL(20,2) Баланс (пассив)
revenue DECIMAL(20,2) Выручка
cost_of_sales DECIMAL(20,2) Себестоимость продаж
gross_profit DECIMAL(20,2) Валовая прибыль
selling_expenses DECIMAL(20,2) Коммерческие расходы
administrative_expenses DECIMAL(20,2) Управленческие расходы
profit_from_sales DECIMAL(20,2) Прибыль от продаж
interest_receivable DECIMAL(20,2) Проценты к получению
interest_payable DECIMAL(20,2) Проценты к уплате
other_income DECIMAL(20,2) Прочие доходы
other_expenses DECIMAL(20,2) Прочие расходы
profit_before_tax DECIMAL(20,2) Прибыль до налогообложения
income_tax DECIMAL(20,2) Текущий налог на прибыль
net_profit DECIMAL(20,2) Чистая прибыль
ebitda DECIMAL(20,2) EBITDA
depreciation DECIMAL(20,2) Амортизация
working_capital DECIMAL(20,2) Оборотный капитал
net_debt DECIMAL(20,2) Чистый долг
total_assets_prev DECIMAL(20,2) Баланс (актив) — прошлый период
total_liabilities_prev DECIMAL(20,2) Баланс (пассив) — прошлый период
revenue_prev DECIMAL(20,2) Выручка — прошлый период
net_profit_prev DECIMAL(20,2) Чистая прибыль — прошлый период
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.5. Таблица form_3_formf3record

Назначение: кадровые показатели и оборудование по категориям.

4.5.1. Полный перечень полей

Поле Тип Описание
id UUID Уникальный идентификатор записи
organization_id UUID (FK) Организация
load_batch INTEGER Пакет загрузки
avg_employees DECIMAL(12,2) Средняя численность работников
production_workers DECIMAL(12,2) Производственный персонал
engineering_workers DECIMAL(12,2) Инженерно‑технические работники
administrative_workers DECIMAL(12,2) Административный персонал
total_equipment INTEGER Всего оборудования
domestic_equipment INTEGER Отечественное оборудование
imported_equipment INTEGER Импортное оборудование
equipment_age_under_5 INTEGER Оборудование до 5 лет
equipment_age_5_10 INTEGER Оборудование 510 лет
equipment_age_10_15 INTEGER Оборудование 1015 лет
equipment_age_15_20 INTEGER Оборудование 1520 лет
equipment_age_over_20 INTEGER Оборудование свыше 20 лет
physical_wear_percent DECIMAL(5,2) Физический износ, %
utilization_rate DECIMAL(5,2) Коэффициент загрузки
avg_shift_work DECIMAL(5,2) Средняя сменность работы
equipment_needed INTEGER Потребность в оборудовании
workers_needed INTEGER Потребность в кадрах
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.6. Таблица form_4_formf4record

Назначение: агрегированные финансовые показатели (РСБУ/МСФО, EBITDA, долговая нагрузка).

4.6.1. Полный перечень полей

Поле Тип Описание
id UUID Уникальный идентификатор записи
organization_id UUID (FK) Организация
load_batch INTEGER Пакет загрузки
revenue_rsbu DECIMAL(20,2) Выручка (РСБУ)
revenue_ifrs DECIMAL(20,2) Выручка (МСФО)
revenue_prev_rsbu DECIMAL(20,2) Выручка прошлого года (РСБУ)
revenue_prev_ifrs DECIMAL(20,2) Выручка прошлого года (МСФО)
net_profit_rsbu DECIMAL(20,2) Чистая прибыль (РСБУ)
net_profit_ifrs DECIMAL(20,2) Чистая прибыль (МСФО)
gross_profit_rsbu DECIMAL(20,2) Валовая прибыль (РСБУ)
operating_profit_rsbu DECIMAL(20,2) Операционная прибыль (РСБУ)
ebitda_rsbu DECIMAL(20,2) EBITDA (РСБУ)
ebitda_ifrs DECIMAL(20,2) EBITDA (МСФО)
loans_rsbu DECIMAL(20,2) Кредиты и займы (РСБУ)
loans_ifrs DECIMAL(20,2) Кредиты и займы (МСФО)
net_debt_rsbu DECIMAL(20,2) Чистый долг (РСБУ)
net_debt_ifrs DECIMAL(20,2) Чистый долг (МСФО)
debt_to_ebitda DECIMAL(10,2) Долг/EBITDA
total_assets_rsbu DECIMAL(20,2) Активы (РСБУ)
total_assets_ifrs DECIMAL(20,2) Активы (МСФО)
equity_rsbu DECIMAL(20,2) Собственный капитал (РСБУ)
equity_ifrs DECIMAL(20,2) Собственный капитал (МСФО)
roe DECIMAL(10,2) Рентабельность собственного капитала (ROE)
roa DECIMAL(10,2) Рентабельность активов (ROA)
ros DECIMAL(10,2) Рентабельность продаж (ROS)
capex DECIMAL(20,2) Капитальные затраты (CAPEX)
rd_expenses DECIMAL(20,2) Затраты на НИОКР
dividends_paid DECIMAL(20,2) Выплаченные дивиденды
dividend_yield DECIMAL(10,2) Дивидендная доходность
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.7. Таблица form_5_formf5record

Назначение: детальная инвентаризация оборудования по каждой единице.

4.7.1. Полный перечень полей

Поле Тип Описание
id UUID Уникальный идентификатор записи
organization_id UUID (FK) Организация
load_batch INTEGER Пакет загрузки
equipment_id VARCHAR(50) Идентификационный код
inventory_number VARCHAR(50) Инвентарный номер
name VARCHAR(500) Наименование оборудования
model VARCHAR(200) Модель
manufacturer VARCHAR(300) Производитель
country_origin VARCHAR(100) Страна происхождения
is_domestic BOOLEAN Отечественное производство
year_manufacture INTEGER Год выпуска
has_cnc BOOLEAN Наличие ЧПУ
equipment_type VARCHAR(200) Тип оборудования
equipment_category VARCHAR(200) Категория оборудования
commissioning_date DATE Дата ввода в эксплуатацию
location VARCHAR(300) Местонахождение
production_site VARCHAR(200) Производственный участок
utilization_rate DECIMAL(5,2) Коэффициент использования
physical_wear_percent DECIMAL(5,2) Фактический износ, %
is_operational BOOLEAN В рабочем состоянии
requires_repair BOOLEAN Требует ремонта
requires_replacement BOOLEAN Требует замены
initial_cost DECIMAL(20,2) Первоначальная стоимость
residual_value DECIMAL(20,2) Остаточная стоимость
notes TEXT Примечания
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.8. Таблица form_6_formf6record

Назначение: сводная возрастная структура оборудования по категориям.

4.8.1. Полный перечень полей

Поле Тип Описание
id UUID Уникальный идентификатор записи
organization_id UUID (FK) Организация
load_batch INTEGER Пакет загрузки
row_code VARCHAR(20) Код строки
category VARCHAR(200) Категория оборудования
total_equipment INTEGER Всего оборудования
domestic_equipment INTEGER Отечественное оборудование
imported_equipment INTEGER Импортное оборудование
age_under_5 INTEGER До 5 лет
age_5_10 INTEGER 510 лет
age_10_15 INTEGER 1015 лет
age_15_20 INTEGER 1520 лет
age_over_20 INTEGER Свыше 20 лет
cnc_total INTEGER С ЧПУ всего
cnc_under_5 INTEGER С ЧПУ до 5 лет
cnc_5_10 INTEGER С ЧПУ 510 лет
cnc_10_15 INTEGER С ЧПУ 1015 лет
cnc_15_20 INTEGER С ЧПУ 1520 лет
cnc_over_20 INTEGER С ЧПУ свыше 20 лет
avg_shift_work DECIMAL(5,2) Средняя сменность работы
utilization_rate DECIMAL(5,2) Коэффициент загрузки
physical_wear_percent DECIMAL(5,2) Физический износ, %
workplaces_without_equipment INTEGER Рабочие места без оборудования
equipment_to_replace INTEGER Оборудование к замене
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.9. Таблица core_backgroundjob

Назначение: контроль выполнения фоновых задач и прогресса обработки больших файлов.

4.9.1. Полный перечень полей

Поле Тип Описание
id UUID Уникальный идентификатор задачи
task_id VARCHAR(255) Идентификатор задачи Celery
task_name VARCHAR(255) Полное имя задачи
status VARCHAR(20) Статус выполнения
progress INTEGER Прогресс в процентах
progress_message VARCHAR(500) Сообщение о прогрессе
result JSON Результат выполнения
error TEXT Текст ошибки
traceback TEXT Traceback ошибки
started_at TIMESTAMP Время начала
completed_at TIMESTAMP Время завершения
user_id INTEGER Пользователь (опционально)
meta JSON Дополнительные метаданные
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.10. Таблица users

Назначение: учётные записи пользователей системы (аутентификация, авторизация, доступ в админ‑интерфейс и API).

4.10.1. Полный перечень полей

Поле Тип Описание
id BIGINT Уникальный идентификатор пользователя
password VARCHAR(128) Хэш пароля
last_login TIMESTAMP Дата и время последнего входа
is_superuser BOOLEAN Признак суперпользователя
username VARCHAR(150) Имя пользователя (логин)
is_staff BOOLEAN Доступ в админ‑интерфейс
is_active BOOLEAN Активность учётной записи
date_joined TIMESTAMP Дата регистрации
email VARCHAR(254) Email пользователя (уникальный)
phone VARCHAR(20) Телефон (международный формат)
is_verified BOOLEAN Признак подтверждения email
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

Примечание: связи с группами и разрешениями реализуются через промежуточные таблицы, автоматически создаваемые Django ORM.

4.11. Таблица profiles

Назначение: расширенные профильные данные пользователя (ФИО, био, аватар, дата рождения).

4.11.1. Полный перечень полей

Поле Тип Описание
id BIGINT Уникальный идентификатор профиля
user_id BIGINT (FK) Ссылка на пользователя
first_name VARCHAR(50) Имя
last_name VARCHAR(50) Фамилия
bio TEXT Описание / биография
avatar VARCHAR(100) Путь к файлу аватара
date_of_birth DATE Дата рождения
created_at TIMESTAMP Дата и время создания
updated_at TIMESTAMP Дата и время обновления

4.12. Диаграмма связей между таблицами

erDiagram
    ORGANIZATION ||--o{ FORM_F1_RECORD : "organization_id"
    ORGANIZATION ||--o{ FORM_F2_RECORD : "organization_id"
    ORGANIZATION ||--o{ FORM_F3_RECORD : "organization_id"
    ORGANIZATION ||--o{ FORM_F4_RECORD : "organization_id"
    ORGANIZATION ||--o{ FORM_F5_RECORD : "organization_id"
    ORGANIZATION ||--o{ FORM_F6_RECORD : "organization_id"
    USERS ||--|| PROFILES : "user_id"
    USERS ||..o{ CORE_BACKGROUNDJOB : "user_id (опц.)"

5. АРХИТЕКТУРА ПРОГРАММНОГО ИНТЕРФЕЙСА (API)

5.1. Общие сведения

API реализован на базе Django REST Framework и соответствует RESTподходу. Все запросы и ответы используют JSON, кодировка UTF8. Версионирование задано в URLпути.

Базовый URL: https://{hostname}/api/v1/
Документация: Swagger UI доступна на корневом URL (/).

5.1.1. Принципы взаимодействия

  1. ресурсы представлены как коллекции и отдельные сущности;
  2. используется стандартный набор HTTPметодов (GET/POST/PUT/PATCH/DELETE);
  3. ответы унифицированы, включая пагинацию и ошибки;
  4. все изменения данных фиксируются на уровне модели через поля created_at/updated_at.

5.1.2. Формат запросов

Обязательные заголовки:

Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json

Параметры пагинации (по умолчанию):

Параметр Тип По умолчанию Описание
page integer 1 Номер страницы
page_size integer 20 Количество записей (1100)

5.1.3. Формат ответов

Успешные ответы возвращаются в едином формате:

{
  "success": true,
  "data": [
    {"id": "...", "field": "value"}
  ],
  "errors": null,
  "meta": {
    "pagination": {
      "page": 1,
      "page_size": 20,
      "total_count": 100,
      "total_pages": 5,
      "has_next": true,
      "has_previous": false
    }
  }
}

5.2. Аутентификация и авторизация

Система использует JWT (SimpleJWT). Параметры безопасности:

  1. Access Token — 60 минут.
  2. Refresh Token — 7 дней.
  3. Ротация refreshтокена включена.
  4. Алгоритм подписи HS256.

Фрагмент модели пользователя:

class User(AbstractUser):
    first_name = None
    last_name = None

    email = models.EmailField(unique=True)
    phone = models.CharField(max_length=20, blank=True, null=True)
    is_verified = models.BooleanField(default=False)

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = ["username"]

Модель профиля:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile")
    first_name = models.CharField(max_length=50, blank=True, null=True)
    last_name = models.CharField(max_length=50, blank=True, null=True)
    bio = models.TextField(blank=True, null=True)
    avatar = models.ImageField(upload_to="avatars/", blank=True, null=True)

5.3. Структура API

Группа Базовый путь Назначение
Пользователи /api/v1/users/ регистрация, авторизация, профиль
Организации /api/v1/organizations/ справочник организаций
Формы /api/v1/forms/f1//api/v1/forms/f6/ отчётные формы
Задачи /api/v1/jobs/ мониторинг фоновых задач
Health /health/ мониторинг доступности

5.4. API пользователей и профилей

Регистрация: POST /api/v1/users/register/
Вход: POST /api/v1/users/login/
Обновление токена: POST /api/v1/users/token/refresh/
Профиль: GET /api/v1/users/profile/

5.5. API организаций

Список: GET /api/v1/organizations/
Детали: GET /api/v1/organizations/{id}/

Фильтры: name, inn, ogrn.

5.6. API формы Ф1

Загрузка: POST /api/v1/forms/f1/upload/
Список записей: GET /api/v1/forms/f1/records/
Детали: GET /api/v1/forms/f1/records/{id}/

Для крупных файлов выполняется фоновая обработка с возвратом task_id.

5.7. API формы Ф2

Загрузка: POST /api/v1/forms/f2/upload/
Список записей: GET /api/v1/forms/f2/records/
Детали: GET /api/v1/forms/f2/records/{id}/

Поддерживается фильтр batch_id для выборки по пакету загрузки.

5.8. API формы Ф3

Загрузка: POST /api/v1/forms/f3/upload/
Список записей: GET /api/v1/forms/f3/records/
Детали: GET /api/v1/forms/f3/records/{id}/

5.9. API формы Ф4

Загрузка: POST /api/v1/forms/f4/upload/
Список записей: GET /api/v1/forms/f4/records/
Детали: GET /api/v1/forms/f4/records/{id}/

5.10. API формы Ф5 и Ф6

Форма Ф5:

  1. POST /api/v1/forms/f5/upload/
  2. GET /api/v1/forms/f5/records/

Форма Ф6:

  1. POST /api/v1/forms/f6/upload/
  2. GET /api/v1/forms/f6/records/

5.11. Коды ответов HTTP и формат ошибок

Единый формат ошибок реализован через custom_exception_handler:

{
  "success": false,
  "data": null,
  "errors": [
    {
      "code": "validation_error",
      "message": "Validation failed",
      "details": {
        "fields": {
          "inn": ["ИНН обязателен"]
        }
      }
    }
  ],
  "meta": {
    "request_id": "3f6d4a3a-2c5f-4a0a-a0d6-4d3b78f7c60a"
  }
}

Типовые коды HTTP:

Код Описание
200 Успешный запрос
201 Ресурс создан
202 Задача принята в очередь
400 Ошибка валидации
401 Неавторизован
403 Недостаточно прав
404 Ресурс не найден
500 Внутренняя ошибка

6. МЕХАНИЗМЫ ОБЕСПЕЧЕНИЯ НАДЁЖНОСТИ И ОТКАЗОУСТОЙЧИВОСТИ

6.1. Система фоновых задач (BackgroundJobs)

Асинхронная обработка крупных файлов исключает блокировку API и повышает масштабируемость. Каждая задача регистрируется в таблице core_backgroundjob, что позволяет:

  1. получать статус в реальном времени;
  2. отображать прогресс и сообщения;
  3. фиксировать ошибки и трассировки;
  4. обеспечивать контроль исполнения на уровне пользователя.

6.2. Инкрементальная загрузка и идентификация пакетов

Механизм load_batch обеспечивает последовательную нумерацию пакетов загрузки. В результате:

  1. каждое обновление формы идентифицируется как самостоятельный пакет;
  2. возможна аналитика по временным срезам;
  3. упрощается повторная загрузка без потери предшествующих данных.

6.3. Валидация, дедупликация и целостность

  1. уникальность справочника организаций обеспечивается ограничением по ИНН;
  2. валидация ИНН/ОГРН/КПП/ОКПО выполняется на уровне парсера;
  3. все операции записи выполняются в транзакции;
  4. ошибочные строки не прерывают общий процесс, фиксируются в ParseResult.

6.4. Логирование, мониторинг и health-check

Система использует middleware RequestIDMiddleware для трассировки запросов, а также реализует endpoints мониторинга:

  1. GET /health/ — комплексная проверка;
  2. GET /health/live/ — liveness probe;
  3. GET /health/ready/ — readiness probe.

6.5. Требования к информационной безопасности

В целях обеспечения защиты данных и устойчивости работы системы должны соблюдаться организационные и технические меры безопасности, определяемые внутренними регламентами заказчика и действующим законодательством. На уровне программной реализации предусмотрены следующие базовые механизмы, обязательные к использованию при эксплуатации:

  1. доступ к защищённым ресурсам осуществляется по JWTтокену (заголовок Authorization: Bearer <token>), время жизни accessтокена — 60 минут, refreshтокена — 7 дней;
  2. разграничение доступа реализовано на уровне прав пользователя; доступ к административным функциям имеет только пользователь с is_staff=true, доступ к статусам задач — только владелец задачи или администратор;
  3. пароли пользователей хранятся исключительно в виде криптографических хэшей, что исключает хранение исходных паролей в базе данных;
  4. секреты и параметры подключения (SECRET_KEY, параметры БД/Redis) задаются через переменные окружения и должны храниться в защищённом конфигурационном контуре;
  5. список доверенных источников (CORS) задаётся параметром CORS_ALLOWED_ORIGINS и должен быть ограничен утверждёнными доменами;
  6. механизм ограничения частоты запросов включён на уровне DRF (анонимные запросы — 100/час, авторизованные — 1000/час) и при необходимости подлежит корректировке в соответствии с политиками эксплуатации;
  7. трассировка запросов осуществляется через X-Request-ID, что обеспечивает аудит и расследование инцидентов.

Дополнительно при эксплуатации рекомендуется обеспечить шифрование каналов передачи данных (TLS), сегментацию сети и ограничение административного доступа по IPспискам.

6.6. Эксплуатационные регламенты

Для обеспечения стабильной работы системы в промышленной эксплуатации рекомендуется утвердить следующие регламенты:

  1. резервное копирование базы данных — ежедневно, с хранением не менее 30 календарных дней;
  2. резервное копирование файловых каталогов (media/, input/) — ежедневно, синхронно с резервным копированием БД;
  3. проверка восстановления резервных копий — не реже 1 раза в месяц;
  4. плановая очистка устаревших записей фоновых задач — через периодический запуск BackgroundJobService.cleanup_old_jobs(days=30) (настройка через Celery Beat);
  5. контроль свободного дискового пространства и роста логов — по порогам эксплуатации (рекомендуется 20% свободного места как минимальный запас);
  6. обновление программных компонентов — по утверждённому окну сопровождения с обязательным выполнением миграций и smokeпроверок;
  7. контроль работоспособности — регулярные проверки /health/, /health/ready/ и мониторинг логов ошибок.

6.7. Сценарии отказов и реакции

Сценарий Признак Источник контроля Рекомендованная реакция
Недоступна БД health возвращает unhealthy, readiness = 503 /health/, /health/ready/, логи Django Проверить доступность PostgreSQL, сетевые правила, восстановить из резервной копии при необходимости
Недоступен Redis Статус degraded, ошибки кеша/очередей /health/, логи Redis Перезапуск Redis, проверка параметров подключения, повторная проверка задач
Нет активных Celery workers include_celery=true возвращает down /health/?include_celery=true, логи Celery Запустить/перезапустить воркеры, проверить очередь и брокер
Ошибка обработки файла BackgroundJob = failure, заполнены error/traceback /api/v1/jobs/{task_id}/ Исправить файл, повторить загрузку, при необходимости задать новый load_batch
Ошибки валидации строк ParseResult.errors содержит список ошибок Ответ API загрузки Исправить исходные строки и повторить загрузку
Ошибка аутентификации HTTP 401 Ответ API Обновить токен через refresh либо выполнить повторный вход
Превышение лимита запросов HTTP 429 Ответ API, логи DRF Снизить частоту запросов или скорректировать лимиты

7. ПОРЯДОК РАЗВЁРТЫВАНИЯ И ИСПЫТАНИЙ

7.1. Подготовка операционной среды

Минимальные системные зависимости:

  1. Python 3.11.
  2. PostgreSQL 15.
  3. Redis 7.
  4. Apache / Gunicorn.

Переменные окружения задаются в .env (PostgreSQL, Redis, SECRET_KEY, CORS и др.).

7.2. Развёртывание и запуск

Рекомендуемый вариант для разработки — Docker Compose:

docker-compose up -d

Для установки в продуктивном контуре предусмотрен скрипт deploy/scripts/deploy.sh, выполняющий:

  1. установку зависимостей;
  2. настройку базы данных;
  3. миграции и сбор статических файлов;
  4. запуск Gunicorn и Celery сервисов.

7.3. Проверка качества и тестирование

В проекте предусмотрены автоматические тесты на уровне моделей, сервисов и API:

make test
# или
python run_tests.py

8. ЗАКЛЮЧЕНИЕ

Программный комплекс State Corp Backend реализует надёжную и масштабируемую архитектуру обработки отчётных данных. Он обеспечивает:

  1. стандартизированный приём и валидацию форм Ф1…Ф6;
  2. централизованное хранение и нормализацию данных организаций;
  3. прозрачный механизм фоновой обработки с контролем прогресса;
  4. удобный REST API с единой спецификацией и расширенной документацией;
  5. готовность к промышленной эксплуатации и мониторингу.

Таким образом, решение удовлетворяет требованиям заказчика к надёжности, трассируемости и полноте данных, обеспечивая долгосрочную устойчивость и возможность развития функциональности в дальнейшем.


ПРИЛОЖЕНИЕ А (ОБЯЗАТЕЛЬНОЕ). ФОРМАТЫ ВХОДНЫХ EXCEL-ШАБЛОНОВ

Настоящее приложение устанавливает требования к структуре входных Excelфайлов по формам Ф1…Ф6. Указанные требования являются обязательными для корректной загрузки.

А.1. Общие требования к Excelфайлам

  1. Формат файла: .xlsx.
  2. Используется первый лист рабочей книги (active sheet).
  3. Строка заголовков — 1.
  4. Данные начинаются со строки 2.
  5. Заголовки должны строго соответствовать перечню ниже.
  6. Порядок колонок является фиксированным.
  7. Пустые строки допускаются и игнорируются.
  8. Типы данных:
Тип Требование
str Текстовое значение
int Целое число (без дробной части)
decimal Дробные числа, допускаются запятая и пробел как разделитель
bool Значения: «да», «yes», «1», «true», «+» (регистр не важен)
date Ячейка должна иметь тип даты Excel

А.2. Шаблон формы Ф1 (Выпуск продукции)

Стандартные колонки организации:

Заголовок Поле модели Тип
0 Наименование организации organization_name str
1 ОКПО okpo str
2 ОГРН ogrn str
3 ИНН inn str

Поля формы:

Заголовок Поле модели Тип
4 Выпуск военной продукции (факт.) military_output_actual decimal
5 Военная на внутренний рынок (факт.) military_domestic_actual decimal
6 Военная на экспорт (факт.) military_export_actual decimal
7 Выпуск гражданской продукции (факт.) civilian_output_actual decimal
8 Гражданская на внутренний рынок (факт.) civilian_domestic_actual decimal
9 Гражданская на экспорт (факт.) civilian_export_actual decimal
10 Высокотехнологичная продукция (факт.) hightech_output_actual decimal
11 Высокотехнологичная на внутренний рынок (факт.) hightech_domestic_actual decimal
12 Высокотехнологичная на экспорт (факт.) hightech_export_actual decimal
13 Объём НИОКР (факт.) rd_volume_actual decimal
14 НИОКР в интересах обороны (факт.) rd_defense_actual decimal
15 Выпуск военной продукции (фикс.) military_output_fixed decimal
16 Военная на внутренний рынок (фикс.) military_domestic_fixed decimal
17 Военная на экспорт (фикс.) military_export_fixed decimal
18 Выпуск гражданской продукции (фикс.) civilian_output_fixed decimal
19 Гражданская на внутренний рынок (фикс.) civilian_domestic_fixed decimal
20 Гражданская на экспорт (фикс.) civilian_export_fixed decimal
21 Высокотехнологичная продукция (фикс.) hightech_output_fixed decimal
22 Высокотехнологичная на внутренний рынок (фикс.) hightech_domestic_fixed decimal
23 Высокотехнологичная на экспорт (фикс.) hightech_export_fixed decimal
24 Объём НИОКР (фикс.) rd_volume_fixed decimal
25 НИОКР в интересах обороны (фикс.) rd_defense_fixed decimal
26 Средняя численность работников avg_employees decimal
27 Среднесписочная численность avg_payroll_employees decimal
28 Фонд начисленной зарплаты payroll_fund decimal
29 Просроченная задолженность по ЗП salary_arrears decimal

А.3. Шаблон формы Ф2 (Бухгалтерский баланс)

Стандартные колонки организации:

Заголовок Поле модели Тип
0 Наименование организации organization_name str
1 ОКПО okpo str
2 ОГРН ogrn str
3 ИНН inn str

Поля формы:

Заголовок Поле модели Тип
4 Нематериальные активы intangible_assets decimal
5 Результаты исследований и разработок rd_results decimal
6 Нематериальные поисковые активы intangible_search_assets decimal
7 Материальные поисковые активы tangible_search_assets decimal
8 Основные средства fixed_assets decimal
9 Доходные вложения в материальные ценности profitable_investments decimal
10 Финансовые вложения (внеоборотные) financial_investments_non_current decimal
11 Отложенные налоговые активы deferred_tax_assets decimal
12 Прочие внеоборотные активы other_non_current_assets decimal
13 Итого внеоборотные активы total_non_current_assets decimal
14 Запасы inventories decimal
15 НДС по приобретённым ценностям vat_on_acquired_assets decimal
16 Дебиторская задолженность receivables decimal
17 Финансовые вложения (оборотные) financial_investments_current decimal
18 Денежные средства и эквиваленты cash_and_equivalents decimal
19 Прочие оборотные активы other_current_assets decimal
20 Итого оборотные активы total_current_assets decimal
21 Баланс (актив) total_assets decimal
22 Уставный капитал authorized_capital decimal
23 Собственные акции, выкупленные у акционеров own_shares_bought_back decimal
24 Переоценка внеоборотных активов revaluation_of_non_current_assets decimal
25 Добавочный капитал additional_capital decimal
26 Резервный капитал reserve_capital decimal
27 Нераспределённая прибыль retained_earnings decimal
28 Итого капитал и резервы total_equity decimal
29 Заёмные средства (долгосрочные) borrowings_non_current decimal
30 Отложенные налоговые обязательства deferred_tax_liabilities decimal
31 Оценочные обязательства (долгосрочные) estimated_liabilities_non_current decimal
32 Прочие обязательства (долгосрочные) other_liabilities_non_current decimal
33 Итого долгосрочные обязательства total_non_current_liabilities decimal
34 Заёмные средства (краткосрочные) borrowings_current decimal
35 Кредиторская задолженность payables decimal
36 Доходы будущих периодов deferred_income decimal
37 Оценочные обязательства (краткосрочные) estimated_liabilities_current decimal
38 Прочие обязательства (краткосрочные) other_liabilities_current decimal
39 Итого краткосрочные обязательства total_current_liabilities decimal
40 Баланс (пассив) total_liabilities decimal
41 Выручка revenue decimal
42 Себестоимость продаж cost_of_sales decimal
43 Валовая прибыль gross_profit decimal
44 Коммерческие расходы selling_expenses decimal
45 Управленческие расходы administrative_expenses decimal
46 Прибыль от продаж profit_from_sales decimal
47 Проценты к получению interest_receivable decimal
48 Проценты к уплате interest_payable decimal
49 Прочие доходы other_income decimal
50 Прочие расходы other_expenses decimal
51 Прибыль до налогообложения profit_before_tax decimal
52 Текущий налог на прибыль income_tax decimal
53 Чистая прибыль net_profit decimal
54 EBITDA ebitda decimal
55 Амортизация depreciation decimal
56 Оборотный капитал working_capital decimal
57 Чистый долг net_debt decimal
58 Баланс (актив) - прошлый период total_assets_prev decimal
59 Баланс (пассив) - прошлый период total_liabilities_prev decimal
60 Выручка - прошлый период revenue_prev decimal
61 Чистая прибыль - прошлый период net_profit_prev decimal

А.4. Шаблон формы Ф3 (Кадры и оборудование)

Стандартные колонки организации:

Заголовок Поле модели Тип
0 Наименование организации organization_name str
1 ОКПО okpo str
2 ОГРН ogrn str
3 ИНН inn str

Поля формы:

Заголовок Поле модели Тип
4 Средняя численность работников avg_employees decimal
5 Производственный персонал production_workers decimal
6 Инженерно‑технические работники engineering_workers decimal
7 Административный персонал administrative_workers decimal
8 Всего оборудования total_equipment int
9 Отечественное оборудование domestic_equipment int
10 Импортное оборудование imported_equipment int
11 Оборудование до 5 лет equipment_age_under_5 int
12 Оборудование 510 лет equipment_age_5_10 int
13 Оборудование 1015 лет equipment_age_10_15 int
14 Оборудование 1520 лет equipment_age_15_20 int
15 Оборудование свыше 20 лет equipment_age_over_20 int
16 Физический износ, % physical_wear_percent decimal
17 Коэффициент загрузки utilization_rate decimal
18 Средняя сменность работы avg_shift_work decimal
19 Потребность в оборудовании equipment_needed int
20 Потребность в кадрах workers_needed int

А.5. Шаблон формы Ф4 (Сводные финансовые данные)

Стандартные колонки организации:

Заголовок Поле модели Тип
0 Наименование организации organization_name str
1 ОКПО okpo str
2 ОГРН ogrn str
3 ИНН inn str

Поля формы:

Заголовок Поле модели Тип
4 Выручка (РСБУ) revenue_rsbu decimal
5 Выручка (МСФО) revenue_ifrs decimal
6 Выручка прошлого года (РСБУ) revenue_prev_rsbu decimal
7 Выручка прошлого года (МСФО) revenue_prev_ifrs decimal
8 Чистая прибыль (РСБУ) net_profit_rsbu decimal
9 Чистая прибыль (МСФО) net_profit_ifrs decimal
10 Валовая прибыль (РСБУ) gross_profit_rsbu decimal
11 Операционная прибыль (РСБУ) operating_profit_rsbu decimal
12 EBITDA (РСБУ) ebitda_rsbu decimal
13 EBITDA (МСФО) ebitda_ifrs decimal
14 Кредиты и займы (РСБУ) loans_rsbu decimal
15 Кредиты и займы (МСФО) loans_ifrs decimal
16 Чистый долг (РСБУ) net_debt_rsbu decimal
17 Чистый долг (МСФО) net_debt_ifrs decimal
18 Долг/EBITDA debt_to_ebitda decimal
19 Активы (РСБУ) total_assets_rsbu decimal
20 Активы (МСФО) total_assets_ifrs decimal
21 Собственный капитал (РСБУ) equity_rsbu decimal
22 Собственный капитал (МСФО) equity_ifrs decimal
23 ROE roe decimal
24 ROA roa decimal
25 ROS ros decimal
26 CAPEX capex decimal
27 Затраты на НИОКР rd_expenses decimal
28 Выплаченные дивиденды dividends_paid decimal
29 Дивидендная доходность dividend_yield decimal

А.6. Шаблон формы Ф5 (Инвентаризация оборудования)

Стандартные колонки организации:

Заголовок Поле модели Тип
0 Наименование организации organization_name str
1 ОКПО okpo str
2 ОГРН ogrn str
3 ИНН inn str

Поля формы:

Заголовок Поле модели Тип
4 Идентификационный код equipment_id str
5 Инвентарный номер inventory_number str
6 Наименование оборудования name str
7 Модель model str
8 Производитель manufacturer str
9 Страна происхождения country_origin str
10 Отечественное производство is_domestic bool
11 Год выпуска year_manufacture int
12 Наличие ЧПУ has_cnc bool
13 Тип оборудования equipment_type str
14 Категория оборудования equipment_category str
15 Дата ввода в эксплуатацию commissioning_date date
16 Местонахождение location str
17 Производственный участок production_site str
18 Коэффициент использования utilization_rate decimal
19 Фактический износ, % physical_wear_percent decimal
20 В рабочем состоянии is_operational bool
21 Требует ремонта requires_repair bool
22 Требует замены requires_replacement bool
23 Первоначальная стоимость initial_cost decimal
24 Остаточная стоимость residual_value decimal
25 Примечания notes str

А.7. Шаблон формы Ф6 (Возрастная структура оборудования)

Стандартные колонки организации:

Заголовок Поле модели Тип
0 Наименование организации organization_name str
1 ОКПО okpo str
2 ОГРН ogrn str
3 ИНН inn str

Поля формы:

Заголовок Поле модели Тип
4 Код строки row_code str
5 Категория оборудования category str
6 Всего оборудования total_equipment int
7 Отечественное оборудование domestic_equipment int
8 Импортное оборудование imported_equipment int
9 До 5 лет age_under_5 int
10 510 лет age_5_10 int
11 1015 лет age_10_15 int
12 1520 лет age_15_20 int
13 Свыше 20 лет age_over_20 int
14 С ЧПУ всего cnc_total int
15 С ЧПУ до 5 лет cnc_under_5 int
16 С ЧПУ 510 лет cnc_5_10 int
17 С ЧПУ 1015 лет cnc_10_15 int
18 С ЧПУ 1520 лет cnc_15_20 int
19 С ЧПУ свыше 20 лет cnc_over_20 int
20 Средняя сменность работы avg_shift_work decimal
21 Коэффициент загрузки utilization_rate decimal
22 Физический износ, % physical_wear_percent decimal
23 Рабочие места без оборудования workplaces_without_equipment int
24 Оборудование к замене equipment_to_replace int

ПРИЛОЖЕНИЕ Б (РЕКОМЕНДУЕМОЕ). ПРИМЕРЫ ВХОДНЫХ ФАЙЛОВ

Б.1. Общие указания к примерам

Примеры приведены для ориентира. Значения условные и должны соответствовать фактическим данным отчётности. Порядок колонок обязателен и соответствует приложению А.

Б.2. Пример заполнения формы Ф-1 (Выпуск продукции)

Заголовок Тип Пример значения
0 Наименование организации str АО "Пример"
1 ОКПО str 12345678
2 ОГРН str 1027700132195
3 ИНН str 7701234567
4 Выпуск военной продукции (факт.) decimal 1000.00
5 Военная на внутренний рынок (факт.) decimal 1000.00
6 Военная на экспорт (факт.) decimal 1000.00
7 Выпуск гражданской продукции (факт.) decimal 1000.00
8 Гражданская на внутренний рынок (факт.) decimal 1000.00
9 Гражданская на экспорт (факт.) decimal 1000.00
10 Высокотехнологичная продукция (факт.) decimal 1000.00
11 Высокотехнологичная на внутренний рынок (факт.) decimal 1000.00
12 Высокотехнологичная на экспорт (факт.) decimal 1000.00
13 Объём НИОКР (факт.) decimal 1000.00
14 НИОКР в интересах обороны (факт.) decimal 1000.00
15 Выпуск военной продукции (фикс.) decimal 1000.00
16 Военная на внутренний рынок (фикс.) decimal 1000.00
17 Военная на экспорт (фикс.) decimal 1000.00
18 Выпуск гражданской продукции (фикс.) decimal 1000.00
19 Гражданская на внутренний рынок (фикс.) decimal 1000.00
20 Гражданская на экспорт (фикс.) decimal 1000.00
21 Высокотехнологичная продукция (фикс.) decimal 1000.00
22 Высокотехнологичная на внутренний рынок (фикс.) decimal 1000.00
23 Высокотехнологичная на экспорт (фикс.) decimal 1000.00
24 Объём НИОКР (фикс.) decimal 1000.00
25 НИОКР в интересах обороны (фикс.) decimal 1000.00
26 Средняя численность работников decimal 1000.00
27 Среднесписочная численность decimal 1000.00
28 Фонд начисленной зарплаты decimal 1000.00
29 Просроченная задолженность по ЗП decimal 1000.00

Б.3. Пример заполнения формы Ф-2 (Бухгалтерский баланс)

Заголовок Тип Пример значения
0 Наименование организации str АО "Пример"
1 ОКПО str 12345678
2 ОГРН str 1027700132195
3 ИНН str 7701234567
4 Нематериальные активы decimal 1000.00
5 Результаты исследований и разработок decimal 1000.00
6 Нематериальные поисковые активы decimal 1000.00
7 Материальные поисковые активы decimal 1000.00
8 Основные средства decimal 1000.00
9 Доходные вложения в материальные ценности decimal 1000.00
10 Финансовые вложения (внеоборотные) decimal 1000.00
11 Отложенные налоговые активы decimal 1000.00
12 Прочие внеоборотные активы decimal 1000.00
13 Итого внеоборотные активы decimal 1000.00
14 Запасы decimal 1000.00
15 НДС по приобретённым ценностям decimal 1000.00
16 Дебиторская задолженность decimal 1000.00
17 Финансовые вложения (оборотные) decimal 1000.00
18 Денежные средства и эквиваленты decimal 1000.00
19 Прочие оборотные активы decimal 1000.00
20 Итого оборотные активы decimal 1000.00
21 Баланс (актив) decimal 1000.00
22 Уставный капитал decimal 1000.00
23 Собственные акции, выкупленные у акционеров decimal 1000.00
24 Переоценка внеоборотных активов decimal 1000.00
25 Добавочный капитал decimal 1000.00
26 Резервный капитал decimal 1000.00
27 Нераспределённая прибыль decimal 1000.00
28 Итого капитал и резервы decimal 1000.00
29 Заёмные средства (долгосрочные) decimal 1000.00
30 Отложенные налоговые обязательства decimal 1000.00
31 Оценочные обязательства (долгосрочные) decimal 1000.00
32 Прочие обязательства (долгосрочные) decimal 1000.00
33 Итого долгосрочные обязательства decimal 1000.00
34 Заёмные средства (краткосрочные) decimal 1000.00
35 Кредиторская задолженность decimal 1000.00
36 Доходы будущих периодов decimal 1000.00
37 Оценочные обязательства (краткосрочные) decimal 1000.00
38 Прочие обязательства (краткосрочные) decimal 1000.00
39 Итого краткосрочные обязательства decimal 1000.00
40 Баланс (пассив) decimal 1000.00
41 Выручка decimal 1000.00
42 Себестоимость продаж decimal 1000.00
43 Валовая прибыль decimal 1000.00
44 Коммерческие расходы decimal 1000.00
45 Управленческие расходы decimal 1000.00
46 Прибыль от продаж decimal 1000.00
47 Проценты к получению decimal 1000.00
48 Проценты к уплате decimal 1000.00
49 Прочие доходы decimal 1000.00
50 Прочие расходы decimal 1000.00
51 Прибыль до налогообложения decimal 1000.00
52 Текущий налог на прибыль decimal 1000.00
53 Чистая прибыль decimal 1000.00
54 EBITDA decimal 1000.00
55 Амортизация decimal 1000.00
56 Оборотный капитал decimal 1000.00
57 Чистый долг decimal 1000.00
58 Баланс (актив) - прошлый период decimal 1000.00
59 Баланс (пассив) - прошлый период decimal 1000.00
60 Выручка - прошлый период decimal 1000.00
61 Чистая прибыль - прошлый период decimal 1000.00

Б.4. Пример заполнения формы Ф-3 (Кадры и оборудование)

Заголовок Тип Пример значения
0 Наименование организации str АО "Пример"
1 ОКПО str 12345678
2 ОГРН str 1027700132195
3 ИНН str 7701234567
4 Средняя численность работников decimal 1000.00
5 Производственный персонал decimal 1000.00
6 Инженерно-технические работники decimal 1000.00
7 Административный персонал decimal 1000.00
8 Всего оборудования int 120
9 Отечественное оборудование int 90
10 Импортное оборудование int 30
11 Оборудование до 5 лет int 25
12 Оборудование 5-10 лет int 40
13 Оборудование 10-15 лет int 30
14 Оборудование 15-20 лет int 15
15 Оборудование свыше 20 лет int 10
16 Физический износ, % decimal 0.85
17 Коэффициент загрузки decimal 0.85
18 Средняя сменность работы decimal 0.85
19 Потребность в оборудовании int 10
20 Потребность в кадрах int 10

Б.5. Пример заполнения формы Ф-4 (Сводные финансовые данные)

Заголовок Тип Пример значения
0 Наименование организации str АО "Пример"
1 ОКПО str 12345678
2 ОГРН str 1027700132195
3 ИНН str 7701234567
4 Выручка (РСБУ) decimal 1000.00
5 Выручка (МСФО) decimal 1000.00
6 Выручка прошлого года (РСБУ) decimal 1000.00
7 Выручка прошлого года (МСФО) decimal 1000.00
8 Чистая прибыль (РСБУ) decimal 1000.00
9 Чистая прибыль (МСФО) decimal 1000.00
10 Валовая прибыль (РСБУ) decimal 1000.00
11 Операционная прибыль (РСБУ) decimal 1000.00
12 EBITDA (РСБУ) decimal 1000.00
13 EBITDA (МСФО) decimal 1000.00
14 Кредиты и займы (РСБУ) decimal 1000.00
15 Кредиты и займы (МСФО) decimal 1000.00
16 Чистый долг (РСБУ) decimal 1000.00
17 Чистый долг (МСФО) decimal 1000.00
18 Долг/EBITDA decimal 1000.00
19 Активы (РСБУ) decimal 1000.00
20 Активы (МСФО) decimal 1000.00
21 Собственный капитал (РСБУ) decimal 1000.00
22 Собственный капитал (МСФО) decimal 1000.00
23 ROE decimal 1000.00
24 ROA decimal 1000.00
25 ROS decimal 1000.00
26 CAPEX decimal 1000.00
27 Затраты на НИОКР decimal 1000.00
28 Выплаченные дивиденды decimal 1000.00
29 Дивидендная доходность decimal 1000.00

Б.6. Пример заполнения формы Ф-5 (Инвентаризация оборудования)

Заголовок Тип Пример значения
0 Наименование организации str АО "Пример"
1 ОКПО str 12345678
2 ОГРН str 1027700132195
3 ИНН str 7701234567
4 Идентификационный код str Пример
5 Инвентарный номер str Пример
6 Наименование оборудования str Станок токарный
7 Модель str СТ-16К20
8 Производитель str АО "Машзавод"
9 Страна происхождения str Россия
10 Отечественное производство bool да
11 Год выпуска int 2018
12 Наличие ЧПУ bool да
13 Тип оборудования str Токарное
14 Категория оборудования str Металлообработка
15 Дата ввода в эксплуатацию date 2020-06-01
16 Местонахождение str Цех №1
17 Производственный участок str Участок обработки
18 Коэффициент использования decimal 0.85
19 Фактический износ, % decimal 1000.00
20 В рабочем состоянии bool да
21 Требует ремонта bool да
22 Требует замены bool да
23 Первоначальная стоимость decimal 1000.00
24 Остаточная стоимость decimal 1000.00
25 Примечания str Без замечаний

Б.7. Пример заполнения формы Ф-6 (Возрастная структура оборудования)

Заголовок Тип Пример значения
0 Наименование организации str АО "Пример"
1 ОКПО str 12345678
2 ОГРН str 1027700132195
3 ИНН str 7701234567
4 Код строки str 010
5 Категория оборудования str Металлообработка
6 Всего оборудования int 120
7 Отечественное оборудование int 90
8 Импортное оборудование int 30
9 До 5 лет int 25
10 5-10 лет int 40
11 10-15 лет int 30
12 15-20 лет int 15
13 Свыше 20 лет int 10
14 С ЧПУ всего int 60
15 С ЧПУ до 5 лет int 15
16 С ЧПУ 5-10 лет int 20
17 С ЧПУ 10-15 лет int 15
18 С ЧПУ 15-20 лет int 7
19 С ЧПУ свыше 20 лет int 3
20 Средняя сменность работы decimal 0.85
21 Коэффициент загрузки decimal 0.85
22 Физический износ, % decimal 0.85
23 Рабочие места без оборудования int 10
24 Оборудование к замене int 10

ПРИЛОЖЕНИЕ В (СПРАВОЧНОЕ). СПРАВОЧНИК ПОКАЗАТЕЛЕЙ

В.1. Общие положения

Справочник показателей предназначен для унифицированной интерпретации полей базы данных и отчётных колонок. Для каждого показателя приведено наименование и краткое пояснение.

В.2. Показатели формы Ф-1 (Выпуск продукции)

Поле модели Показатель Пояснение
organization_name Наименование организации Полное наименование организации в соответствии с отчётной формой.
okpo ОКПО Код организации по ОКПО, используется для идентификации в отчётности.
ogrn ОГРН Основной государственный регистрационный номер организации.
inn ИНН Идентификационный номер налогоплательщика организации.
military_output_actual Выпуск военной продукции (факт.) Значение показателя «Выпуск военной продукции (факт.)», передаваемое в форме Ф-1.
military_domestic_actual Военная на внутренний рынок (факт.) Значение показателя «Военная на внутренний рынок (факт.)», передаваемое в форме Ф-1.
military_export_actual Военная на экспорт (факт.) Значение показателя «Военная на экспорт (факт.)», передаваемое в форме Ф-1.
civilian_output_actual Выпуск гражданской продукции (факт.) Значение показателя «Выпуск гражданской продукции (факт.)», передаваемое в форме Ф-1.
civilian_domestic_actual Гражданская на внутренний рынок (факт.) Значение показателя «Гражданская на внутренний рынок (факт.)», передаваемое в форме Ф-1.
civilian_export_actual Гражданская на экспорт (факт.) Значение показателя «Гражданская на экспорт (факт.)», передаваемое в форме Ф-1.
hightech_output_actual Высокотехнологичная продукция (факт.) Значение показателя «Высокотехнологичная продукция (факт.)», передаваемое в форме Ф-1.
hightech_domestic_actual Высокотехнологичная на внутренний рынок (факт.) Значение показателя «Высокотехнологичная на внутренний рынок (факт.)», передаваемое в форме Ф-1.
hightech_export_actual Высокотехнологичная на экспорт (факт.) Значение показателя «Высокотехнологичная на экспорт (факт.)», передаваемое в форме Ф-1.
rd_volume_actual Объём НИОКР (факт.) Значение показателя «Объём НИОКР (факт.)», передаваемое в форме Ф-1.
rd_defense_actual НИОКР в интересах обороны (факт.) Значение показателя «НИОКР в интересах обороны (факт.)», передаваемое в форме Ф-1.
military_output_fixed Выпуск военной продукции (фикс.) Значение показателя «Выпуск военной продукции (фикс.)», передаваемое в форме Ф-1.
military_domestic_fixed Военная на внутренний рынок (фикс.) Значение показателя «Военная на внутренний рынок (фикс.)», передаваемое в форме Ф-1.
military_export_fixed Военная на экспорт (фикс.) Значение показателя «Военная на экспорт (фикс.)», передаваемое в форме Ф-1.
civilian_output_fixed Выпуск гражданской продукции (фикс.) Значение показателя «Выпуск гражданской продукции (фикс.)», передаваемое в форме Ф-1.
civilian_domestic_fixed Гражданская на внутренний рынок (фикс.) Значение показателя «Гражданская на внутренний рынок (фикс.)», передаваемое в форме Ф-1.
civilian_export_fixed Гражданская на экспорт (фикс.) Значение показателя «Гражданская на экспорт (фикс.)», передаваемое в форме Ф-1.
hightech_output_fixed Высокотехнологичная продукция (фикс.) Значение показателя «Высокотехнологичная продукция (фикс.)», передаваемое в форме Ф-1.
hightech_domestic_fixed Высокотехнологичная на внутренний рынок (фикс.) Значение показателя «Высокотехнологичная на внутренний рынок (фикс.)», передаваемое в форме Ф-1.
hightech_export_fixed Высокотехнологичная на экспорт (фикс.) Значение показателя «Высокотехнологичная на экспорт (фикс.)», передаваемое в форме Ф-1.
rd_volume_fixed Объём НИОКР (фикс.) Значение показателя «Объём НИОКР (фикс.)», передаваемое в форме Ф-1.
rd_defense_fixed НИОКР в интересах обороны (фикс.) Значение показателя «НИОКР в интересах обороны (фикс.)», передаваемое в форме Ф-1.
avg_employees Средняя численность работников Значение показателя «Средняя численность работников», передаваемое в форме Ф-1.
avg_payroll_employees Среднесписочная численность Значение показателя «Среднесписочная численность», передаваемое в форме Ф-1.
payroll_fund Фонд начисленной зарплаты Значение показателя «Фонд начисленной зарплаты», передаваемое в форме Ф-1.
salary_arrears Просроченная задолженность по ЗП Значение показателя «Просроченная задолженность по ЗП», передаваемое в форме Ф-1.

В.3. Показатели формы Ф-2 (Бухгалтерский баланс)

Поле модели Показатель Пояснение
organization_name Наименование организации Полное наименование организации в соответствии с отчётной формой.
okpo ОКПО Код организации по ОКПО, используется для идентификации в отчётности.
ogrn ОГРН Основной государственный регистрационный номер организации.
inn ИНН Идентификационный номер налогоплательщика организации.
intangible_assets Нематериальные активы Значение показателя «Нематериальные активы», передаваемое в форме Ф-2.
rd_results Результаты исследований и разработок Значение показателя «Результаты исследований и разработок», передаваемое в форме Ф-2.
intangible_search_assets Нематериальные поисковые активы Значение показателя «Нематериальные поисковые активы», передаваемое в форме Ф-2.
tangible_search_assets Материальные поисковые активы Значение показателя «Материальные поисковые активы», передаваемое в форме Ф-2.
fixed_assets Основные средства Значение показателя «Основные средства», передаваемое в форме Ф-2.
profitable_investments Доходные вложения в материальные ценности Значение показателя «Доходные вложения в материальные ценности», передаваемое в форме Ф-2.
financial_investments_non_current Финансовые вложения (внеоборотные) Значение показателя «Финансовые вложения (внеоборотные)», передаваемое в форме Ф-2.
deferred_tax_assets Отложенные налоговые активы Значение показателя «Отложенные налоговые активы», передаваемое в форме Ф-2.
other_non_current_assets Прочие внеоборотные активы Значение показателя «Прочие внеоборотные активы», передаваемое в форме Ф-2.
total_non_current_assets Итого внеоборотные активы Значение показателя «Итого внеоборотные активы», передаваемое в форме Ф-2.
inventories Запасы Значение показателя «Запасы», передаваемое в форме Ф-2.
vat_on_acquired_assets НДС по приобретённым ценностям Значение показателя «НДС по приобретённым ценностям», передаваемое в форме Ф-2.
receivables Дебиторская задолженность Значение показателя «Дебиторская задолженность», передаваемое в форме Ф-2.
financial_investments_current Финансовые вложения (оборотные) Значение показателя «Финансовые вложения (оборотные)», передаваемое в форме Ф-2.
cash_and_equivalents Денежные средства и эквиваленты Значение показателя «Денежные средства и эквиваленты», передаваемое в форме Ф-2.
other_current_assets Прочие оборотные активы Значение показателя «Прочие оборотные активы», передаваемое в форме Ф-2.
total_current_assets Итого оборотные активы Значение показателя «Итого оборотные активы», передаваемое в форме Ф-2.
total_assets Баланс (актив) Значение показателя «Баланс (актив)», передаваемое в форме Ф-2.
authorized_capital Уставный капитал Значение показателя «Уставный капитал», передаваемое в форме Ф-2.
own_shares_bought_back Собственные акции, выкупленные у акционеров Значение показателя «Собственные акции, выкупленные у акционеров», передаваемое в форме Ф-2.
revaluation_of_non_current_assets Переоценка внеоборотных активов Значение показателя «Переоценка внеоборотных активов», передаваемое в форме Ф-2.
additional_capital Добавочный капитал Значение показателя «Добавочный капитал», передаваемое в форме Ф-2.
reserve_capital Резервный капитал Значение показателя «Резервный капитал», передаваемое в форме Ф-2.
retained_earnings Нераспределённая прибыль Значение показателя «Нераспределённая прибыль», передаваемое в форме Ф-2.
total_equity Итого капитал и резервы Значение показателя «Итого капитал и резервы», передаваемое в форме Ф-2.
borrowings_non_current Заёмные средства (долгосрочные) Значение показателя «Заёмные средства (долгосрочные)», передаваемое в форме Ф-2.
deferred_tax_liabilities Отложенные налоговые обязательства Значение показателя «Отложенные налоговые обязательства», передаваемое в форме Ф-2.
estimated_liabilities_non_current Оценочные обязательства (долгосрочные) Значение показателя «Оценочные обязательства (долгосрочные)», передаваемое в форме Ф-2.
other_liabilities_non_current Прочие обязательства (долгосрочные) Значение показателя «Прочие обязательства (долгосрочные)», передаваемое в форме Ф-2.
total_non_current_liabilities Итого долгосрочные обязательства Значение показателя «Итого долгосрочные обязательства», передаваемое в форме Ф-2.
borrowings_current Заёмные средства (краткосрочные) Значение показателя «Заёмные средства (краткосрочные)», передаваемое в форме Ф-2.
payables Кредиторская задолженность Значение показателя «Кредиторская задолженность», передаваемое в форме Ф-2.
deferred_income Доходы будущих периодов Значение показателя «Доходы будущих периодов», передаваемое в форме Ф-2.
estimated_liabilities_current Оценочные обязательства (краткосрочные) Значение показателя «Оценочные обязательства (краткосрочные)», передаваемое в форме Ф-2.
other_liabilities_current Прочие обязательства (краткосрочные) Значение показателя «Прочие обязательства (краткосрочные)», передаваемое в форме Ф-2.
total_current_liabilities Итого краткосрочные обязательства Значение показателя «Итого краткосрочные обязательства», передаваемое в форме Ф-2.
total_liabilities Баланс (пассив) Значение показателя «Баланс (пассив)», передаваемое в форме Ф-2.
revenue Выручка Значение показателя «Выручка», передаваемое в форме Ф-2.
cost_of_sales Себестоимость продаж Значение показателя «Себестоимость продаж», передаваемое в форме Ф-2.
gross_profit Валовая прибыль Значение показателя «Валовая прибыль», передаваемое в форме Ф-2.
selling_expenses Коммерческие расходы Значение показателя «Коммерческие расходы», передаваемое в форме Ф-2.
administrative_expenses Управленческие расходы Значение показателя «Управленческие расходы», передаваемое в форме Ф-2.
profit_from_sales Прибыль от продаж Значение показателя «Прибыль от продаж», передаваемое в форме Ф-2.
interest_receivable Проценты к получению Значение показателя «Проценты к получению», передаваемое в форме Ф-2.
interest_payable Проценты к уплате Значение показателя «Проценты к уплате», передаваемое в форме Ф-2.
other_income Прочие доходы Значение показателя «Прочие доходы», передаваемое в форме Ф-2.
other_expenses Прочие расходы Значение показателя «Прочие расходы», передаваемое в форме Ф-2.
profit_before_tax Прибыль до налогообложения Значение показателя «Прибыль до налогообложения», передаваемое в форме Ф-2.
income_tax Текущий налог на прибыль Значение показателя «Текущий налог на прибыль», передаваемое в форме Ф-2.
net_profit Чистая прибыль Значение показателя «Чистая прибыль», передаваемое в форме Ф-2.
ebitda EBITDA Значение показателя «EBITDA», передаваемое в форме Ф-2.
depreciation Амортизация Значение показателя «Амортизация», передаваемое в форме Ф-2.
working_capital Оборотный капитал Значение показателя «Оборотный капитал», передаваемое в форме Ф-2.
net_debt Чистый долг Значение показателя «Чистый долг», передаваемое в форме Ф-2.
total_assets_prev Баланс (актив) - прошлый период Значение показателя «Баланс (актив) - прошлый период», передаваемое в форме Ф-2.
total_liabilities_prev Баланс (пассив) - прошлый период Значение показателя «Баланс (пассив) - прошлый период», передаваемое в форме Ф-2.
revenue_prev Выручка - прошлый период Значение показателя «Выручка - прошлый период», передаваемое в форме Ф-2.
net_profit_prev Чистая прибыль - прошлый период Значение показателя «Чистая прибыль - прошлый период», передаваемое в форме Ф-2.

В.4. Показатели формы Ф-3 (Кадры и оборудование)

Поле модели Показатель Пояснение
organization_name Наименование организации Полное наименование организации в соответствии с отчётной формой.
okpo ОКПО Код организации по ОКПО, используется для идентификации в отчётности.
ogrn ОГРН Основной государственный регистрационный номер организации.
inn ИНН Идентификационный номер налогоплательщика организации.
avg_employees Средняя численность работников Значение показателя «Средняя численность работников», передаваемое в форме Ф-3.
production_workers Производственный персонал Значение показателя «Производственный персонал», передаваемое в форме Ф-3.
engineering_workers Инженерно-технические работники Значение показателя «Инженерно-технические работники», передаваемое в форме Ф-3.
administrative_workers Административный персонал Значение показателя «Административный персонал», передаваемое в форме Ф-3.
total_equipment Всего оборудования Значение показателя «Всего оборудования», передаваемое в форме Ф-3.
domestic_equipment Отечественное оборудование Значение показателя «Отечественное оборудование», передаваемое в форме Ф-3.
imported_equipment Импортное оборудование Значение показателя «Импортное оборудование», передаваемое в форме Ф-3.
equipment_age_under_5 Оборудование до 5 лет Значение показателя «Оборудование до 5 лет», передаваемое в форме Ф-3.
equipment_age_5_10 Оборудование 5-10 лет Значение показателя «Оборудование 5-10 лет», передаваемое в форме Ф-3.
equipment_age_10_15 Оборудование 10-15 лет Значение показателя «Оборудование 10-15 лет», передаваемое в форме Ф-3.
equipment_age_15_20 Оборудование 15-20 лет Значение показателя «Оборудование 15-20 лет», передаваемое в форме Ф-3.
equipment_age_over_20 Оборудование свыше 20 лет Значение показателя «Оборудование свыше 20 лет», передаваемое в форме Ф-3.
physical_wear_percent Физический износ, % Значение показателя «Физический износ, %», передаваемое в форме Ф-3.
utilization_rate Коэффициент загрузки Значение показателя «Коэффициент загрузки», передаваемое в форме Ф-3.
avg_shift_work Средняя сменность работы Значение показателя «Средняя сменность работы», передаваемое в форме Ф-3.
equipment_needed Потребность в оборудовании Значение показателя «Потребность в оборудовании», передаваемое в форме Ф-3.
workers_needed Потребность в кадрах Значение показателя «Потребность в кадрах», передаваемое в форме Ф-3.

В.5. Показатели формы Ф-4 (Сводные финансовые данные)

Поле модели Показатель Пояснение
organization_name Наименование организации Полное наименование организации в соответствии с отчётной формой.
okpo ОКПО Код организации по ОКПО, используется для идентификации в отчётности.
ogrn ОГРН Основной государственный регистрационный номер организации.
inn ИНН Идентификационный номер налогоплательщика организации.
revenue_rsbu Выручка (РСБУ) Значение показателя «Выручка (РСБУ)», передаваемое в форме Ф-4.
revenue_ifrs Выручка (МСФО) Значение показателя «Выручка (МСФО)», передаваемое в форме Ф-4.
revenue_prev_rsbu Выручка прошлого года (РСБУ) Значение показателя «Выручка прошлого года (РСБУ)», передаваемое в форме Ф-4.
revenue_prev_ifrs Выручка прошлого года (МСФО) Значение показателя «Выручка прошлого года (МСФО)», передаваемое в форме Ф-4.
net_profit_rsbu Чистая прибыль (РСБУ) Значение показателя «Чистая прибыль (РСБУ)», передаваемое в форме Ф-4.
net_profit_ifrs Чистая прибыль (МСФО) Значение показателя «Чистая прибыль (МСФО)», передаваемое в форме Ф-4.
gross_profit_rsbu Валовая прибыль (РСБУ) Значение показателя «Валовая прибыль (РСБУ)», передаваемое в форме Ф-4.
operating_profit_rsbu Операционная прибыль (РСБУ) Значение показателя «Операционная прибыль (РСБУ)», передаваемое в форме Ф-4.
ebitda_rsbu EBITDA (РСБУ) Значение показателя «EBITDA (РСБУ)», передаваемое в форме Ф-4.
ebitda_ifrs EBITDA (МСФО) Значение показателя «EBITDA (МСФО)», передаваемое в форме Ф-4.
loans_rsbu Кредиты и займы (РСБУ) Значение показателя «Кредиты и займы (РСБУ)», передаваемое в форме Ф-4.
loans_ifrs Кредиты и займы (МСФО) Значение показателя «Кредиты и займы (МСФО)», передаваемое в форме Ф-4.
net_debt_rsbu Чистый долг (РСБУ) Значение показателя «Чистый долг (РСБУ)», передаваемое в форме Ф-4.
net_debt_ifrs Чистый долг (МСФО) Значение показателя «Чистый долг (МСФО)», передаваемое в форме Ф-4.
debt_to_ebitda Долг/EBITDA Значение показателя «Долг/EBITDA», передаваемое в форме Ф-4.
total_assets_rsbu Активы (РСБУ) Значение показателя «Активы (РСБУ)», передаваемое в форме Ф-4.
total_assets_ifrs Активы (МСФО) Значение показателя «Активы (МСФО)», передаваемое в форме Ф-4.
equity_rsbu Собственный капитал (РСБУ) Значение показателя «Собственный капитал (РСБУ)», передаваемое в форме Ф-4.
equity_ifrs Собственный капитал (МСФО) Значение показателя «Собственный капитал (МСФО)», передаваемое в форме Ф-4.
roe ROE Значение показателя «ROE», передаваемое в форме Ф-4.
roa ROA Значение показателя «ROA», передаваемое в форме Ф-4.
ros ROS Значение показателя «ROS», передаваемое в форме Ф-4.
capex CAPEX Значение показателя «CAPEX», передаваемое в форме Ф-4.
rd_expenses Затраты на НИОКР Значение показателя «Затраты на НИОКР», передаваемое в форме Ф-4.
dividends_paid Выплаченные дивиденды Значение показателя «Выплаченные дивиденды», передаваемое в форме Ф-4.
dividend_yield Дивидендная доходность Значение показателя «Дивидендная доходность», передаваемое в форме Ф-4.

В.6. Показатели формы Ф-5 (Инвентаризация оборудования)

Поле модели Показатель Пояснение
organization_name Наименование организации Полное наименование организации в соответствии с отчётной формой.
okpo ОКПО Код организации по ОКПО, используется для идентификации в отчётности.
ogrn ОГРН Основной государственный регистрационный номер организации.
inn ИНН Идентификационный номер налогоплательщика организации.
equipment_id Идентификационный код Значение показателя «Идентификационный код», передаваемое в форме Ф-5.
inventory_number Инвентарный номер Значение показателя «Инвентарный номер», передаваемое в форме Ф-5.
name Наименование оборудования Значение показателя «Наименование оборудования», передаваемое в форме Ф-5.
model Модель Значение показателя «Модель», передаваемое в форме Ф-5.
manufacturer Производитель Значение показателя «Производитель», передаваемое в форме Ф-5.
country_origin Страна происхождения Значение показателя «Страна происхождения», передаваемое в форме Ф-5.
is_domestic Отечественное производство Значение показателя «Отечественное производство», передаваемое в форме Ф-5.
year_manufacture Год выпуска Значение показателя «Год выпуска», передаваемое в форме Ф-5.
has_cnc Наличие ЧПУ Значение показателя «Наличие ЧПУ», передаваемое в форме Ф-5.
equipment_type Тип оборудования Значение показателя «Тип оборудования», передаваемое в форме Ф-5.
equipment_category Категория оборудования Значение показателя «Категория оборудования», передаваемое в форме Ф-5.
commissioning_date Дата ввода в эксплуатацию Значение показателя «Дата ввода в эксплуатацию», передаваемое в форме Ф-5.
location Местонахождение Значение показателя «Местонахождение», передаваемое в форме Ф-5.
production_site Производственный участок Значение показателя «Производственный участок», передаваемое в форме Ф-5.
utilization_rate Коэффициент использования Значение показателя «Коэффициент использования», передаваемое в форме Ф-5.
physical_wear_percent Фактический износ, % Значение показателя «Фактический износ, %», передаваемое в форме Ф-5.
is_operational В рабочем состоянии Значение показателя «В рабочем состоянии», передаваемое в форме Ф-5.
requires_repair Требует ремонта Значение показателя «Требует ремонта», передаваемое в форме Ф-5.
requires_replacement Требует замены Значение показателя «Требует замены», передаваемое в форме Ф-5.
initial_cost Первоначальная стоимость Значение показателя «Первоначальная стоимость», передаваемое в форме Ф-5.
residual_value Остаточная стоимость Значение показателя «Остаточная стоимость», передаваемое в форме Ф-5.
notes Примечания Значение показателя «Примечания», передаваемое в форме Ф-5.

В.7. Показатели формы Ф-6 (Возрастная структура оборудования)

Поле модели Показатель Пояснение
organization_name Наименование организации Полное наименование организации в соответствии с отчётной формой.
okpo ОКПО Код организации по ОКПО, используется для идентификации в отчётности.
ogrn ОГРН Основной государственный регистрационный номер организации.
inn ИНН Идентификационный номер налогоплательщика организации.
row_code Код строки Значение показателя «Код строки», передаваемое в форме Ф-6.
category Категория оборудования Значение показателя «Категория оборудования», передаваемое в форме Ф-6.
total_equipment Всего оборудования Значение показателя «Всего оборудования», передаваемое в форме Ф-6.
domestic_equipment Отечественное оборудование Значение показателя «Отечественное оборудование», передаваемое в форме Ф-6.
imported_equipment Импортное оборудование Значение показателя «Импортное оборудование», передаваемое в форме Ф-6.
age_under_5 До 5 лет Значение показателя «До 5 лет», передаваемое в форме Ф-6.
age_5_10 5-10 лет Значение показателя «5-10 лет», передаваемое в форме Ф-6.
age_10_15 10-15 лет Значение показателя «10-15 лет», передаваемое в форме Ф-6.
age_15_20 15-20 лет Значение показателя «15-20 лет», передаваемое в форме Ф-6.
age_over_20 Свыше 20 лет Значение показателя «Свыше 20 лет», передаваемое в форме Ф-6.
cnc_total С ЧПУ всего Значение показателя «С ЧПУ всего», передаваемое в форме Ф-6.
cnc_under_5 С ЧПУ до 5 лет Значение показателя «С ЧПУ до 5 лет», передаваемое в форме Ф-6.
cnc_5_10 С ЧПУ 5-10 лет Значение показателя «С ЧПУ 5-10 лет», передаваемое в форме Ф-6.
cnc_10_15 С ЧПУ 10-15 лет Значение показателя «С ЧПУ 10-15 лет», передаваемое в форме Ф-6.
cnc_15_20 С ЧПУ 15-20 лет Значение показателя «С ЧПУ 15-20 лет», передаваемое в форме Ф-6.
cnc_over_20 С ЧПУ свыше 20 лет Значение показателя «С ЧПУ свыше 20 лет», передаваемое в форме Ф-6.
avg_shift_work Средняя сменность работы Значение показателя «Средняя сменность работы», передаваемое в форме Ф-6.
utilization_rate Коэффициент загрузки Значение показателя «Коэффициент загрузки», передаваемое в форме Ф-6.
physical_wear_percent Физический износ, % Значение показателя «Физический износ, %», передаваемое в форме Ф-6.
workplaces_without_equipment Рабочие места без оборудования Значение показателя «Рабочие места без оборудования», передаваемое в форме Ф-6.
equipment_to_replace Оборудование к замене Значение показателя «Оборудование к замене», передаваемое в форме Ф-6.