Merge pull request 'test(osv): синтетика s17–s19 и golden — ИНН из текста названия (arm-tabular-parser#9)' (#8) from feat/9-golden into main

Reviewed-on: #8
This commit is contained in:
aep 2026-10-06 13:00:57 +03:00
commit f6310bae06
17 changed files with 731 additions and 62 deletions

View File

@ -8,7 +8,7 @@
```
osv/{rb,schastl}/<ГГГГ-Qn | ГГГГ-FY>/ ОСВ по счетам, исходные имена файлов (разложены по шапке, не по имени)
osv/synthetic/ синтетика s01–s16 для форматов, которых нет в реальных данных (Срез 2a); генератор и описание — osv/synthetic/README.md
osv/synthetic/ синтетика s01–s19 для форматов, которых нет в реальных данных (Срез 2a); генератор и описание — osv/synthetic/README.md
osv-dkb/<org>/<период>/ ОСВ шести организаций из пакета ДКБ 06.10.2026 (Цимлянский, НКЗ, Новоросметалл, НПЗ, Приманыческий,
Агрокомплекс): многолистовые книги, needs_check, 50 тыс. строк — вне тестов osv/**, см. osv-dkb/README.md
analysis-reports/<org>/<период>/ отчёты 1С «Анализ счета» по контрагентам группы из того же пакета (не ОСВ), см. README

View File

@ -2998,8 +2998,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ДОРСЕРВИС ООО ИНН 3523022660",
"counterparty_inn": null,
"counterparty_name": "ДОРСЕРВИС ООО",
"counterparty_inn": "3523022660",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "214640.00",

View File

@ -1706,8 +1706,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ДОРСЕРВИС ООО ИНН 3523022660",
"counterparty_inn": null,
"counterparty_name": "ДОРСЕРВИС ООО",
"counterparty_inn": "3523022660",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "214640.00",

View File

@ -1630,8 +1630,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ДОРСЕРВИС ООО ИНН 3523022660",
"counterparty_inn": null,
"counterparty_name": "ДОРСЕРВИС ООО",
"counterparty_inn": "3523022660",
"data_type": "BU",
"opening_debit": null,
"opening_credit": null,

View File

@ -2067,8 +2067,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ДОРСЕРВИС ООО ИНН 3523022660",
"counterparty_inn": null,
"counterparty_name": "ДОРСЕРВИС ООО",
"counterparty_inn": "3523022660",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "116660.00",

View File

@ -1972,8 +1972,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ДОРСЕРВИС ООО ИНН 3523022660",
"counterparty_inn": null,
"counterparty_name": "ДОРСЕРВИС ООО",
"counterparty_inn": "3523022660",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "22240.00",

View File

@ -96,8 +96,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.04",
"counterparty_name": "Костыгова Наталья Валериевна, 352800390201",
"counterparty_inn": null,
"counterparty_name": "Костыгова Наталья Валериевна",
"counterparty_inn": "352800390201",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "100.00",
@ -153,8 +153,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.05",
"counterparty_name": "Межрегиональное операционное УФК (ФТС России), 7730176610",
"counterparty_inn": null,
"counterparty_name": "Межрегиональное операционное УФК (ФТС России)",
"counterparty_inn": "7730176610",
"data_type": "BU",
"opening_debit": "123189.16",
"opening_credit": null,
@ -210,8 +210,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.09",
"counterparty_name": "Полиграф, 3528315710",
"counterparty_inn": null,
"counterparty_name": "Полиграф",
"counterparty_inn": "3528315710",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "14852.50",
@ -286,8 +286,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990), 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990)",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "20039.22",
@ -305,8 +305,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000, 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": "35.99",
"opening_credit": null,
@ -343,8 +343,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.АВ",
"counterparty_name": "Русский бисквит, 3528052718",
"counterparty_inn": null,
"counterparty_name": "Русский бисквит",
"counterparty_inn": "3528052718",
"data_type": "BU",
"opening_debit": "4016666.70",
"opening_credit": null,

View File

@ -96,8 +96,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.04",
"counterparty_name": "Костыгова Наталья Валериевна, 352800390201",
"counterparty_inn": null,
"counterparty_name": "Костыгова Наталья Валериевна",
"counterparty_inn": "352800390201",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "100.00",
@ -153,8 +153,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.05",
"counterparty_name": "Межрегиональное операционное УФК (ФТС России), 7730176610",
"counterparty_inn": null,
"counterparty_name": "Межрегиональное операционное УФК (ФТС России)",
"counterparty_inn": "7730176610",
"data_type": "BU",
"opening_debit": "123189.16",
"opening_credit": null,
@ -210,8 +210,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.06",
"counterparty_name": "Русский бисквит, 3528052718",
"counterparty_inn": null,
"counterparty_name": "Русский бисквит",
"counterparty_inn": "3528052718",
"data_type": "BU",
"opening_debit": null,
"opening_credit": null,
@ -267,8 +267,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.09",
"counterparty_name": "Полиграф, 3528315710",
"counterparty_inn": null,
"counterparty_name": "Полиграф",
"counterparty_inn": "3528315710",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "11132.00",
@ -343,8 +343,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990), 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990)",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "23379.18",
@ -362,8 +362,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000, 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": "35.99",
"opening_credit": null,
@ -400,8 +400,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.АВ",
"counterparty_name": "Русский бисквит, 3528052718",
"counterparty_inn": null,
"counterparty_name": "Русский бисквит",
"counterparty_inn": "3528052718",
"data_type": "BU",
"opening_debit": "3466666.70",
"opening_credit": null,

View File

@ -96,8 +96,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.04",
"counterparty_name": "Костыгова Наталья Валериевна, 352800390201",
"counterparty_inn": null,
"counterparty_name": "Костыгова Наталья Валериевна",
"counterparty_inn": "352800390201",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "100.00",
@ -153,8 +153,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.05",
"counterparty_name": "Межрегиональное операционное УФК (ФТС России), 7730176610",
"counterparty_inn": null,
"counterparty_name": "Межрегиональное операционное УФК (ФТС России)",
"counterparty_inn": "7730176610",
"data_type": "BU",
"opening_debit": "123189.16",
"opening_credit": null,
@ -210,8 +210,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.06",
"counterparty_name": "Русский бисквит, 3528052718",
"counterparty_inn": null,
"counterparty_name": "Русский бисквит",
"counterparty_inn": "3528052718",
"data_type": "BU",
"opening_debit": "172131.15",
"opening_credit": null,
@ -267,8 +267,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.09",
"counterparty_name": "Полиграф, 3528315710",
"counterparty_inn": null,
"counterparty_name": "Полиграф",
"counterparty_inn": "3528315710",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "10070.00",
@ -324,8 +324,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990), 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990)",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "28053.36",
@ -343,8 +343,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000, 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "82314.78",
@ -381,8 +381,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.АВ",
"counterparty_name": "Русский бисквит, 3528052718",
"counterparty_inn": null,
"counterparty_name": "Русский бисквит",
"counterparty_inn": "3528052718",
"data_type": "BU",
"opening_debit": "2916666.69",
"opening_credit": null,

View File

@ -96,8 +96,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.04",
"counterparty_name": "Костыгова Наталья Валериевна, 352800390201",
"counterparty_inn": null,
"counterparty_name": "Костыгова Наталья Валериевна",
"counterparty_inn": "352800390201",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "100.00",
@ -153,8 +153,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.05",
"counterparty_name": "Межрегиональное операционное УФК (ФТС России), 7730176610",
"counterparty_inn": null,
"counterparty_name": "Межрегиональное операционное УФК (ФТС России)",
"counterparty_inn": "7730176610",
"data_type": "BU",
"opening_debit": "123189.16",
"opening_credit": null,
@ -210,8 +210,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990), 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №1 УФССП по Вологодской области л/с05301А53990)",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": "13.40",
"opening_credit": null,
@ -229,8 +229,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.41",
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000, 3525144985",
"counterparty_inn": null,
"counterparty_name": "УФК по Вологодской области (ОСП по г.Череповцу №2 УФССП России по Вологодской области л/с05301А54000",
"counterparty_inn": "3525144985",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "26801.29",
@ -267,8 +267,8 @@
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты, ИНН",
"account_code_raw": "76.АВ",
"counterparty_name": "РУССКИЙ БИСКВИТ АО, 3528052718",
"counterparty_inn": null,
"counterparty_name": "РУССКИЙ БИСКВИТ АО",
"counterparty_inn": "3528052718",
"data_type": "BU",
"opening_debit": "1816666.68",
"opening_credit": null,

View File

@ -0,0 +1,227 @@
{
"schema_version": "1.1",
"service": {
"name": "tabular-parser"
},
"status": "done",
"metrics": {
"rows": 8,
"warnings": [
"sheet=Лист_1 hierarchy=outline"
]
},
"documents": [
{
"document_type": "OSV",
"locator": "sheet:Лист_1",
"header": {
"organization_name": "ООО \"Тестовая организация\"",
"organization_inn": null,
"account_code_raw": "60",
"period_text": "1 квартал 2025 г.",
"period_year": 2025,
"period_quarter": "Q1",
"is_cumulative": true,
"data_type": "BU",
"currency": "RUB",
"header_variant": 1
},
"group_schema": [
{
"type": "ACCOUNT",
"name": "Счет"
},
{
"type": "COUNTERPARTY",
"name": "Контрагенты"
}
],
"columns": {
"opening_debit": "E",
"opening_credit": "F",
"turnover_debit": "G",
"turnover_credit": "H",
"closing_debit": "I",
"closing_credit": "J"
},
"rows": [
{
"row_number": 11,
"level": 0,
"parent_row_number": null,
"row_value": "60",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "135000.00",
"opening_credit": "254500.50",
"turnover_debit": "303000.25",
"turnover_credit": "560000.00",
"closing_debit": "115000.00",
"closing_credit": "491500.25",
"extra": null
},
{
"row_number": 12,
"level": 1,
"parent_row_number": 11,
"row_value": "60.01",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60.01",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "15000.00",
"opening_credit": "253000.50",
"turnover_debit": "273000.25",
"turnover_credit": "460000.00",
"closing_debit": "65000.00",
"closing_credit": "490000.25",
"extra": null
},
{
"row_number": 13,
"level": 2,
"parent_row_number": 12,
"row_value": "ООО Альфа, 7701234567",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ООО Альфа",
"counterparty_inn": "7701234567",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "250000.50",
"turnover_debit": "180000.25",
"turnover_credit": "420000.00",
"closing_debit": null,
"closing_credit": "490000.25",
"extra": null
},
{
"row_number": 14,
"level": 2,
"parent_row_number": 12,
"row_value": "ООО Бета (ИНН 7707654321)",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ООО Бета",
"counterparty_inn": "7707654321",
"data_type": "BU",
"opening_debit": "15000.00",
"opening_credit": null,
"turnover_debit": "90000.00",
"turnover_credit": "40000.00",
"closing_debit": "65000.00",
"closing_credit": null,
"extra": null
},
{
"row_number": 15,
"level": 2,
"parent_row_number": 12,
"row_value": "Иванов Иван",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "Иванов Иван",
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": null,
"opening_credit": "3000.00",
"turnover_debit": "3000.00",
"turnover_credit": null,
"closing_debit": null,
"closing_credit": null,
"extra": null
},
{
"row_number": 16,
"level": 1,
"parent_row_number": 11,
"row_value": "60.02",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60.02",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "120000.00",
"opening_credit": "1500.00",
"turnover_debit": "30000.00",
"turnover_credit": "100000.00",
"closing_debit": "50000.00",
"closing_credit": "1500.00",
"extra": null
},
{
"row_number": 17,
"level": 2,
"parent_row_number": 16,
"row_value": "ООО Гамма ИНН: 5001234567",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.02",
"counterparty_name": "ООО Гамма",
"counterparty_inn": "5001234567",
"data_type": "BU",
"opening_debit": "120000.00",
"opening_credit": null,
"turnover_debit": "30000.00",
"turnover_credit": "100000.00",
"closing_debit": "50000.00",
"closing_credit": null,
"extra": null
},
{
"row_number": 18,
"level": 2,
"parent_row_number": 16,
"row_value": "ИП Сидоров 500100732259",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.02",
"counterparty_name": "ИП Сидоров",
"counterparty_inn": "500100732259",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "1500.00",
"turnover_debit": null,
"turnover_credit": null,
"closing_debit": null,
"closing_credit": "1500.00",
"extra": null
},
{
"row_number": 19,
"level": 0,
"parent_row_number": null,
"row_value": "Итого",
"group_type": "TOTAL",
"group_name": null,
"account_code_raw": null,
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "135000.00",
"opening_credit": "254500.50",
"turnover_debit": "303000.25",
"turnover_credit": "560000.00",
"closing_debit": "115000.00",
"closing_credit": "491500.25",
"extra": null
}
],
"checks": {
"total_row_matches_root": true,
"balance_identity_violations": [],
"parent_sum_violations": []
}
}
]
}

View File

@ -0,0 +1,210 @@
{
"schema_version": "1.1",
"service": {
"name": "tabular-parser"
},
"status": "done",
"metrics": {
"rows": 7,
"warnings": [
"sheet=Лист_1 hierarchy=outline",
"строка 13: ИНН 7701234567 над строкой 14 отнесён к ней как к контрагенту",
"строка 18: ИНН 5001234567 над строкой 19 отнесён к ней как к контрагенту"
]
},
"documents": [
{
"document_type": "OSV",
"locator": "sheet:Лист_1",
"header": {
"organization_name": "ООО \"Тестовая организация\"",
"organization_inn": null,
"account_code_raw": "60",
"period_text": "2 квартал 2025 г.",
"period_year": 2025,
"period_quarter": "Q2",
"is_cumulative": false,
"data_type": "BU",
"currency": "RUB",
"header_variant": 1
},
"group_schema": [
{
"type": "ACCOUNT",
"name": "Счет"
},
{
"type": "COUNTERPARTY",
"name": "Контрагенты"
}
],
"columns": {
"opening_debit": "E",
"opening_credit": "F",
"turnover_debit": "G",
"turnover_credit": "H",
"closing_debit": "I",
"closing_credit": "J"
},
"rows": [
{
"row_number": 11,
"level": 0,
"parent_row_number": null,
"row_value": "60",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "135000.00",
"opening_credit": "253000.50",
"turnover_debit": "303000.25",
"turnover_credit": "560000.00",
"closing_debit": "115000.00",
"closing_credit": "490000.25",
"extra": null
},
{
"row_number": 12,
"level": 1,
"parent_row_number": 11,
"row_value": "60.01",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60.01",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "15000.00",
"opening_credit": "253000.50",
"turnover_debit": "273000.25",
"turnover_credit": "460000.00",
"closing_debit": "65000.00",
"closing_credit": "490000.25",
"extra": null
},
{
"row_number": 14,
"level": 2,
"parent_row_number": 12,
"row_value": "ООО Альфа",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ООО Альфа",
"counterparty_inn": "7701234567",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "250000.50",
"turnover_debit": "180000.25",
"turnover_credit": "420000.00",
"closing_debit": null,
"closing_credit": "490000.25",
"extra": null
},
{
"row_number": 15,
"level": 2,
"parent_row_number": 12,
"row_value": "ООО Бета",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ООО Бета",
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "15000.00",
"opening_credit": null,
"turnover_debit": "90000.00",
"turnover_credit": "40000.00",
"closing_debit": "65000.00",
"closing_credit": null,
"extra": null
},
{
"row_number": 16,
"level": 2,
"parent_row_number": 12,
"row_value": "Иванов Иван",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "Иванов Иван",
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": null,
"opening_credit": "3000.00",
"turnover_debit": "3000.00",
"turnover_credit": null,
"closing_debit": null,
"closing_credit": null,
"extra": null
},
{
"row_number": 17,
"level": 1,
"parent_row_number": 11,
"row_value": "60.02",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60.02",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "120000.00",
"opening_credit": null,
"turnover_debit": "30000.00",
"turnover_credit": "100000.00",
"closing_debit": "50000.00",
"closing_credit": null,
"extra": null
},
{
"row_number": 19,
"level": 2,
"parent_row_number": 17,
"row_value": "ООО Гамма",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.02",
"counterparty_name": "ООО Гамма",
"counterparty_inn": "5001234567",
"data_type": "BU",
"opening_debit": "120000.00",
"opening_credit": null,
"turnover_debit": "30000.00",
"turnover_credit": "100000.00",
"closing_debit": "50000.00",
"closing_credit": null,
"extra": null
},
{
"row_number": 20,
"level": 0,
"parent_row_number": null,
"row_value": "Итого",
"group_type": "TOTAL",
"group_name": null,
"account_code_raw": null,
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "135000.00",
"opening_credit": "253000.50",
"turnover_debit": "303000.25",
"turnover_credit": "560000.00",
"closing_debit": "115000.00",
"closing_credit": "490000.25",
"extra": null
}
],
"checks": {
"total_row_matches_root": true,
"balance_identity_violations": [],
"parent_sum_violations": []
}
}
]
}

View File

@ -0,0 +1,229 @@
{
"schema_version": "1.1",
"service": {
"name": "tabular-parser"
},
"status": "done",
"metrics": {
"rows": 8,
"warnings": [
"sheet=Лист_1 hierarchy=outline"
]
},
"documents": [
{
"document_type": "OSV",
"locator": "sheet:Лист_1",
"header": {
"organization_name": "ООО \"Тестовая организация\"",
"organization_inn": null,
"account_code_raw": "60",
"period_text": "3 квартал 2025 г.",
"period_year": 2025,
"period_quarter": "Q3",
"is_cumulative": false,
"data_type": "BU",
"currency": "RUB",
"header_variant": 1
},
"group_schema": [
{
"type": "ACCOUNT",
"name": "Счет"
},
{
"type": "COUNTERPARTY",
"name": "Контрагенты",
"has_inn": true
}
],
"columns": {
"opening_debit": "F",
"opening_credit": "G",
"turnover_debit": "H",
"turnover_credit": "I",
"closing_debit": "J",
"closing_credit": "K",
"inn": "E"
},
"rows": [
{
"row_number": 11,
"level": 0,
"parent_row_number": null,
"row_value": "60",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "135000.00",
"opening_credit": "261000.60",
"turnover_debit": "311000.35",
"turnover_credit": "572000.35",
"closing_debit": "115000.00",
"closing_credit": "502000.60",
"extra": null
},
{
"row_number": 12,
"level": 1,
"parent_row_number": 11,
"row_value": "60.01",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60.01",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "15000.00",
"opening_credit": "253000.50",
"turnover_debit": "273000.25",
"turnover_credit": "460000.00",
"closing_debit": "65000.00",
"closing_credit": "490000.25",
"extra": null
},
{
"row_number": 13,
"level": 2,
"parent_row_number": 12,
"row_value": "ООО Альфа",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ООО Альфа",
"counterparty_inn": "7701234567",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "250000.50",
"turnover_debit": "180000.25",
"turnover_credit": "420000.00",
"closing_debit": null,
"closing_credit": "490000.25",
"extra": null
},
{
"row_number": 14,
"level": 2,
"parent_row_number": 12,
"row_value": "ООО Бета",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "ООО Бета",
"counterparty_inn": "7707654321",
"data_type": "BU",
"opening_debit": "15000.00",
"opening_credit": null,
"turnover_debit": "90000.00",
"turnover_credit": "40000.00",
"closing_debit": "65000.00",
"closing_credit": null,
"extra": null
},
{
"row_number": 15,
"level": 2,
"parent_row_number": 12,
"row_value": "Иванов Иван",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.01",
"counterparty_name": "Иванов Иван",
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": null,
"opening_credit": "3000.00",
"turnover_debit": "3000.00",
"turnover_credit": null,
"closing_debit": null,
"closing_credit": null,
"extra": null
},
{
"row_number": 16,
"level": 1,
"parent_row_number": 11,
"row_value": "60.02",
"group_type": "ACCOUNT",
"group_name": "Счет",
"account_code_raw": "60.02",
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "120000.00",
"opening_credit": "8000.10",
"turnover_debit": "38000.10",
"turnover_credit": "112000.35",
"closing_debit": "50000.00",
"closing_credit": "12000.35",
"extra": null
},
{
"row_number": 17,
"level": 2,
"parent_row_number": 16,
"row_value": "ООО Гамма",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.02",
"counterparty_name": "ООО Гамма",
"counterparty_inn": "5001234567",
"data_type": "BU",
"opening_debit": "120000.00",
"opening_credit": null,
"turnover_debit": "30000.00",
"turnover_credit": "100000.00",
"closing_debit": "50000.00",
"closing_credit": null,
"extra": null
},
{
"row_number": 18,
"level": 2,
"parent_row_number": 16,
"row_value": "ООО Дельта",
"group_type": "COUNTERPARTY",
"group_name": "Контрагенты",
"account_code_raw": "60.02",
"counterparty_name": "ООО Дельта",
"counterparty_inn": "7812345678",
"data_type": "BU",
"opening_debit": null,
"opening_credit": "8000.10",
"turnover_debit": "8000.10",
"turnover_credit": "12000.35",
"closing_debit": null,
"closing_credit": "12000.35",
"extra": null
},
{
"row_number": 19,
"level": 0,
"parent_row_number": null,
"row_value": "Итого",
"group_type": "TOTAL",
"group_name": null,
"account_code_raw": null,
"counterparty_name": null,
"counterparty_inn": null,
"data_type": "BU",
"opening_debit": "135000.00",
"opening_credit": "261000.60",
"turnover_debit": "311000.35",
"turnover_credit": "572000.35",
"closing_debit": "115000.00",
"closing_credit": "502000.60",
"extra": null
}
],
"checks": {
"total_row_matches_root": true,
"balance_identity_violations": [],
"parent_sum_violations": []
}
}
]
}

View File

@ -41,8 +41,11 @@ cd tabular-parser/api
| `s14_statement_forms.xlsx` | три листа форм, каждый опознаётся одним признаком: «Форма по ОКУД 0710001», «Отчет о финансовых результатах», «Форма по ОКУД 0710002»; лист «ОСВ 60» | один документ, три предупреждения «skipped: statement» |
| `s15_group_title_synonyms.xlsx` | названия групп сумм: лист «ОСВ 60» — «Входящее сальдо»/«Конечное сальдо», лист «ОСВ 62» — «Начальное сальдо»/«Исходящее сальдо» | два документа, все шесть колонок сумм найдены, `done` |
| `s16_header_synonyms.xlsx` | лист «ОСВ 60»: нет названия организации, период «2024», валюта «RUB (код 643)», «Счет» и «Контрагенты» отдельными строками под «Дебет/Кредит»; лист «ОСВ 62» (вариант 2): «Детализация по субсчетам: Номенклатура, Статьи затрат, Нематериальные активы, Валюта» | `organization_name=""` + предупреждение, `Q4`/2024, `currency=RUB`, схема листа 62 — `ACCOUNT` + четыре `OTHER` |
| `s17_inn_in_name.xlsx` | колонки ИНН нет, ИНН записан в текст названия контрагента: «ООО Альфа, 7701234567», «ООО Бета (ИНН 7707654321)», «ООО Гамма ИНН: 5001234567», «ИП Сидоров 500100732259» (OQ-100) | `counterparty_inn` — цифры, `counterparty_name` — без ИНН и разделителя, `row_value` не меняется; физлицо без ИНН — `null`; `done` |
| `s18_inn_row_above.xlsx` | у «ООО Альфа» и «ООО Гамма» ИНН стоит отдельной строкой над названием (без сумм, тот же уровень), колонки ИНН нет (OQ-130) | строка с ИНН в `rows` не попадает и не уходит в `OTHER`; ИНН — у контрагента, предупреждение «ИНН … над строкой … отнесён к ней»; `done` |
| `s19_inn_kpp_cell.xlsx` | колонка «ИНН/КПП»: в ячейках склеенное «7701234567/770101001» (OQ-100) | `counterparty_inn` — только ИНН; колонка распознана как колонка ИНН; `done` |
`s14`–`s16` добавлены тестом покрытия словарей `tabular-parser` (`rules/*.yaml`, решение R-22): каждая запись словаря
`s17`–`s19` — регрессия извлечения ИНН из текста (issue #9). `s14`–`s16` добавлены тестом покрытия словарей `tabular-parser` (`rules/*.yaml`, решение R-22): каждая запись словаря
должна сработать на реальных или синтетических файлах; эти файлы закрывают записи, которых нет в реальных ОСВ.
## О файле xlsb

Binary file not shown.

Binary file not shown.

Binary file not shown.