# Словарь заголовков ОСВ: чем помечены лист, блоки сумм, колонки и служебные строки (05-domain-rules.md §1.0–§1.2). # # Правила записи (проверяет загрузчик): # - паттерн — регулярное выражение Python, ищется (`search`) в НОРМАЛИЗОВАННОМ тексте ячейки и применяется без учёта # регистра. Нормализация: нижний регистр, «ё» -> «е», дефисы/тире/неразрывные пробелы/переносы строк -> пробел, # пробелы схлопываются. Поэтому в паттернах нет «ё», дефисов и диапазонов [а-я]: пишите «оборотно сальдовая # ведомость», «д т», `\w` вместо диапазона; # - новый синоним = новая строка в нужном списке, без правки кода. # Лист содержит ОСВ: любая ячейка (первые строки листа) матчит один из паттернов sheet_markers: - 'оборотно\s*сальдовая\s+ведомость' # Листы форм ББ/ОФР (Срез 2b): ОСВ-парсер их пропускает с предупреждением statement_markers: - 'бухгалтерский\s+баланс' - '0710001' - 'отчет\s+о\s+финансовых\s+результатах' - '0710002' # Три группы сумм в заголовке таблицы. «Оборотно сальдовая» (название ведомости) не должно матчить turnover: # отсюда границы слова `\bоборот(ы)?\b`. groups: opening: - 'сальдо\s+на\s+начало' - '\bнач(альн\w*)?\.?\s*сальдо' - 'входящ\w*\s+сальдо' turnover: - '\bоборот(ы)?\b' closing: - 'сальдо\s+на\s+конец' - '\bкон(ечн\w*)?\.?\s*сальдо' - 'исходящ\w*\s+сальдо' # Подзаголовки сумм под группой («Дебет»/«Кредит», «Дт»/«Кт», «Д-т»/«К-т»): ячейка начинается с синонима debit: - '^(дебет|дт|д т)\b' credit: - '^(кредит|кт|к т)\b' # Служебные колонки таблицы по тексту заголовка. Код знает только колонку ИНН; прочие колонки таблицы (КПП, код, # количество, валюта и т. п.) попадают в `rows[].extra` под текстом своего заголовка и словаря не требуют. # (Записи kpp/code/quantity/currency удалены: код их не читал, тест покрытия словарей R-22 их не находил.) service_columns: inn: - '\bинн\b' # Итоговая строка таблицы (начало текста первой колонки) total_row: - '^итого\b' # Метки шапки документа (область выше заголовка таблицы); ключи фиксированы header_markers: # «по счету 60 за …»: код счёта — сразу после совпадения account: - '\bпо\s+счету\b' # вариант 1: «… за 1 квартал 2025 г.», вариант 2: отдельная строка «Период: 1 квартал 2026 г.» period: - '\bза\s+' - '^период\s*:\s*' # «Выводимые данные: БУ (данные бухгалтерского учета)» data_type: - 'выводимые\s+данные' # «Валюта БУ, НУ: RUB» currency: - '\bвалюта\b' # «Параметры:» — блок над таблицей org_params: - '^параметры\b' # вариант 2: «Детализация по субсчетам, субконто: Контрагенты, Договоры»; в первой колонке заголовка — «Субконто» subkonto: - '\bсубконто\b' - '\bдетализация\b'