Синтетика s40–s44 и golden: плоская форма ОСВ (tabular-parser#59) #29
175
golden/expected_osv_parse/synthetic/s40_flat_header_account.json
Normal file
175
golden/expected_osv_parse/synthetic/s40_flat_header_account.json
Normal file
@ -0,0 +1,175 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"service": {
|
||||
"name": "tabular-parser"
|
||||
},
|
||||
"status": "done",
|
||||
"metrics": {
|
||||
"rows": 3,
|
||||
"warnings": []
|
||||
},
|
||||
"documents": [
|
||||
{
|
||||
"document_type": "OSV",
|
||||
"locator": "sheet:Лист_1",
|
||||
"status": "done",
|
||||
"warnings": [
|
||||
{
|
||||
"code": "OSV_HIERARCHY_BY_HEADER_ACCOUNT",
|
||||
"severity": "info",
|
||||
"message": "иерархия строк — плоский список под счётом шапки (header_account)"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "тип выводимых данных (БУ/НУ/сумма) в шапке не найден"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "валюта в шапке не найдена"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "вид данных в шапке не указан — строки без метки приняты как БУ"
|
||||
}
|
||||
],
|
||||
"header": {
|
||||
"organization_name": "ООО \"Товарное хозяйство\"",
|
||||
"organization_inn": null,
|
||||
"account_code_raw": "76.Н.1",
|
||||
"period_text": "2025 г.",
|
||||
"period_year": 2025,
|
||||
"period_quarter": "Q4",
|
||||
"is_cumulative": true,
|
||||
"period_start": "2025-01-01",
|
||||
"period_end": "2025-12-31",
|
||||
"is_from_year_start": true,
|
||||
"data_type": null,
|
||||
"currency": null,
|
||||
"header_variant": 1
|
||||
},
|
||||
"group_schema": [
|
||||
{
|
||||
"type": "ACCOUNT",
|
||||
"name": "Субконто"
|
||||
},
|
||||
{
|
||||
"type": "COUNTERPARTY",
|
||||
"name": "Контрагенты"
|
||||
}
|
||||
],
|
||||
"columns": {
|
||||
"opening_debit": "B",
|
||||
"opening_credit": "C",
|
||||
"turnover_debit": "D",
|
||||
"turnover_credit": "E",
|
||||
"closing_debit": "F",
|
||||
"closing_credit": "G"
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"row_number": 11,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "Август - Агро ООО",
|
||||
"group_type": "COUNTERPARTY",
|
||||
"group_name": "Контрагенты",
|
||||
"account_code_raw": "76.Н.1",
|
||||
"counterparty_name": "Август - Агро ООО",
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": "1000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "500.00",
|
||||
"turnover_credit": "300.00",
|
||||
"closing_debit": "1200.00",
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 12,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "АВИС ООО",
|
||||
"group_type": "COUNTERPARTY",
|
||||
"group_name": "Контрагенты",
|
||||
"account_code_raw": "76.Н.1",
|
||||
"counterparty_name": "АВИС ООО",
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": "200.00",
|
||||
"turnover_debit": "100.00",
|
||||
"turnover_credit": "400.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": "500.00",
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 13,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "Агроаспект ООО",
|
||||
"group_type": "COUNTERPARTY",
|
||||
"group_name": "Контрагенты",
|
||||
"account_code_raw": "76.Н.1",
|
||||
"counterparty_name": "Агроаспект ООО",
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "50.00",
|
||||
"turnover_credit": "50.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 14,
|
||||
"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": "1000.00",
|
||||
"opening_credit": "200.00",
|
||||
"turnover_debit": null,
|
||||
"turnover_credit": null,
|
||||
"closing_debit": "1200.00",
|
||||
"closing_credit": "500.00",
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 15,
|
||||
"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": "800.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "650.00",
|
||||
"turnover_credit": "750.00",
|
||||
"closing_debit": "700.00",
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
}
|
||||
],
|
||||
"checks": {
|
||||
"total_row_matches_root": true,
|
||||
"balance_identity_violations": [],
|
||||
"parent_sum_violations": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,156 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"service": {
|
||||
"name": "tabular-parser"
|
||||
},
|
||||
"status": "done",
|
||||
"metrics": {
|
||||
"rows": 2,
|
||||
"warnings": []
|
||||
},
|
||||
"documents": [
|
||||
{
|
||||
"document_type": "OSV",
|
||||
"locator": "sheet:Лист_1",
|
||||
"status": "done",
|
||||
"warnings": [
|
||||
{
|
||||
"code": "OSV_HIERARCHY_BY_HEADER_ACCOUNT",
|
||||
"severity": "info",
|
||||
"message": "иерархия строк — плоский список под счётом шапки (header_account)"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "тип выводимых данных (БУ/НУ/сумма) в шапке не найден"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "валюта в шапке не найдена"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "вид данных в шапке не указан — строки без метки приняты как БУ"
|
||||
}
|
||||
],
|
||||
"header": {
|
||||
"organization_name": "ООО Хреновская Нива",
|
||||
"organization_inn": null,
|
||||
"account_code_raw": "60",
|
||||
"period_text": "2 Квартал 2026 г.",
|
||||
"period_year": 2026,
|
||||
"period_quarter": "Q2",
|
||||
"is_cumulative": false,
|
||||
"period_start": "2026-04-01",
|
||||
"period_end": "2026-06-30",
|
||||
"is_from_year_start": false,
|
||||
"data_type": null,
|
||||
"currency": null,
|
||||
"header_variant": 1
|
||||
},
|
||||
"group_schema": [
|
||||
{
|
||||
"type": "ACCOUNT",
|
||||
"name": "Субконто"
|
||||
},
|
||||
{
|
||||
"type": "COUNTERPARTY",
|
||||
"name": "Организации"
|
||||
}
|
||||
],
|
||||
"columns": {
|
||||
"opening_debit": "B",
|
||||
"opening_credit": "C",
|
||||
"turnover_debit": "D",
|
||||
"turnover_credit": "E",
|
||||
"closing_debit": "F",
|
||||
"closing_credit": "G"
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"row_number": 7,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "Автодор-Платные Дороги ООО",
|
||||
"group_type": "COUNTERPARTY",
|
||||
"group_name": "Организации",
|
||||
"account_code_raw": "60",
|
||||
"counterparty_name": "Автодор-Платные Дороги ООО",
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": "820.21",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "5000.00",
|
||||
"turnover_credit": "4991.00",
|
||||
"closing_debit": "829.21",
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 8,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "АГРОПРОФИ ООО",
|
||||
"group_type": "COUNTERPARTY",
|
||||
"group_name": "Организации",
|
||||
"account_code_raw": "60",
|
||||
"counterparty_name": "АГРОПРОФИ ООО",
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": "2763.79",
|
||||
"turnover_debit": null,
|
||||
"turnover_credit": null,
|
||||
"closing_debit": null,
|
||||
"closing_credit": "2763.79",
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 9,
|
||||
"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": "820.21",
|
||||
"opening_credit": "2763.79",
|
||||
"turnover_debit": null,
|
||||
"turnover_credit": null,
|
||||
"closing_debit": "829.21",
|
||||
"closing_credit": "2763.79",
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 10,
|
||||
"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": null,
|
||||
"opening_credit": "1943.58",
|
||||
"turnover_debit": "5000.00",
|
||||
"turnover_credit": "4991.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": "1934.58",
|
||||
"extra": null
|
||||
}
|
||||
],
|
||||
"checks": {
|
||||
"total_row_matches_root": true,
|
||||
"balance_identity_violations": [],
|
||||
"parent_sum_violations": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,190 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"service": {
|
||||
"name": "tabular-parser"
|
||||
},
|
||||
"status": "done",
|
||||
"metrics": {
|
||||
"rows": 4,
|
||||
"warnings": []
|
||||
},
|
||||
"documents": [
|
||||
{
|
||||
"document_type": "OSV",
|
||||
"locator": "sheet:Лист_1",
|
||||
"status": "done",
|
||||
"warnings": [
|
||||
{
|
||||
"code": "OSV_HIERARCHY_BY_ACCOUNT_PATTERN",
|
||||
"severity": "info",
|
||||
"message": "иерархия строк — по кодам счетов (account_pattern)"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "тип выводимых данных (БУ/НУ/сумма) в шапке не найден"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "валюта в шапке не найдена"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "вид данных в шапке не указан — строки без метки приняты как БУ"
|
||||
}
|
||||
],
|
||||
"header": {
|
||||
"organization_name": "ООО \"Товарное хозяйство\"",
|
||||
"organization_inn": null,
|
||||
"account_code_raw": "76",
|
||||
"period_text": "2025 г.",
|
||||
"period_year": 2025,
|
||||
"period_quarter": "Q4",
|
||||
"is_cumulative": true,
|
||||
"period_start": "2025-01-01",
|
||||
"period_end": "2025-12-31",
|
||||
"is_from_year_start": true,
|
||||
"data_type": null,
|
||||
"currency": null,
|
||||
"header_variant": 1
|
||||
},
|
||||
"group_schema": [
|
||||
{
|
||||
"type": "ACCOUNT",
|
||||
"name": "Субконто"
|
||||
}
|
||||
],
|
||||
"columns": {
|
||||
"opening_debit": "B",
|
||||
"opening_credit": "C",
|
||||
"turnover_debit": "D",
|
||||
"turnover_credit": "E",
|
||||
"closing_debit": "F",
|
||||
"closing_credit": "G"
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"row_number": 10,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "76.2",
|
||||
"group_type": "ACCOUNT",
|
||||
"group_name": "Субконто",
|
||||
"account_code_raw": "76.2",
|
||||
"counterparty_name": null,
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": "1000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": null,
|
||||
"turnover_credit": "1000.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 11,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "76.5",
|
||||
"group_type": "ACCOUNT",
|
||||
"group_name": "Субконто",
|
||||
"account_code_raw": "76.5",
|
||||
"counterparty_name": null,
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": "300.00",
|
||||
"turnover_debit": "700.00",
|
||||
"turnover_credit": "600.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": "200.00",
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 12,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "76.Н",
|
||||
"group_type": "ACCOUNT",
|
||||
"group_name": "Субконто",
|
||||
"account_code_raw": "76.Н",
|
||||
"counterparty_name": null,
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "5000.00",
|
||||
"turnover_credit": "5000.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 13,
|
||||
"level": 1,
|
||||
"parent_row_number": 12,
|
||||
"row_value": "76.Н.1",
|
||||
"group_type": "ACCOUNT",
|
||||
"group_name": "Субконто",
|
||||
"account_code_raw": "76.Н.1",
|
||||
"counterparty_name": null,
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "5000.00",
|
||||
"turnover_credit": "5000.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 14,
|
||||
"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": "1000.00",
|
||||
"opening_credit": "300.00",
|
||||
"turnover_debit": null,
|
||||
"turnover_credit": null,
|
||||
"closing_debit": null,
|
||||
"closing_credit": "200.00",
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 15,
|
||||
"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": "700.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "5700.00",
|
||||
"turnover_credit": "6600.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": "200.00",
|
||||
"extra": null
|
||||
}
|
||||
],
|
||||
"checks": {
|
||||
"total_row_matches_root": true,
|
||||
"balance_identity_violations": [],
|
||||
"parent_sum_violations": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
176
golden/expected_osv_parse/synthetic/s43_subkonto_unnamed_60.json
Normal file
176
golden/expected_osv_parse/synthetic/s43_subkonto_unnamed_60.json
Normal file
@ -0,0 +1,176 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"service": {
|
||||
"name": "tabular-parser"
|
||||
},
|
||||
"status": "done",
|
||||
"metrics": {
|
||||
"rows": 3,
|
||||
"warnings": []
|
||||
},
|
||||
"documents": [
|
||||
{
|
||||
"document_type": "OSV",
|
||||
"locator": "sheet:Лист_1",
|
||||
"status": "done",
|
||||
"warnings": [
|
||||
{
|
||||
"code": "OSV_HIERARCHY_BY_INDENT",
|
||||
"severity": "info",
|
||||
"message": "иерархия строк — по отступам (indent)"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "тип выводимых данных (БУ/НУ/сумма) в шапке не найден"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "валюта в шапке не найдена"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "вид данных в шапке не указан — строки без метки приняты как БУ"
|
||||
},
|
||||
{
|
||||
"code": "OSV_ROWS",
|
||||
"severity": "info",
|
||||
"message": "вид субконто в шапке не назван: строки аналитики счёта 60.01 приняты за контрагентов по плану счетов — проверьте"
|
||||
}
|
||||
],
|
||||
"header": {
|
||||
"organization_name": "ООО \"Октябрьское\"",
|
||||
"organization_inn": null,
|
||||
"account_code_raw": "60",
|
||||
"period_text": "9 месяцев 2024 г.",
|
||||
"period_year": 2024,
|
||||
"period_quarter": "Q3",
|
||||
"is_cumulative": true,
|
||||
"period_start": "2024-01-01",
|
||||
"period_end": "2024-09-30",
|
||||
"is_from_year_start": true,
|
||||
"data_type": null,
|
||||
"currency": null,
|
||||
"header_variant": 1
|
||||
},
|
||||
"group_schema": [
|
||||
{
|
||||
"type": "ACCOUNT",
|
||||
"name": "Субконто"
|
||||
}
|
||||
],
|
||||
"columns": {
|
||||
"opening_debit": "B",
|
||||
"opening_credit": "C",
|
||||
"turnover_debit": "D",
|
||||
"turnover_credit": "E",
|
||||
"closing_debit": "F",
|
||||
"closing_credit": "G"
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"row_number": 7,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"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": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "38854500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 8,
|
||||
"level": 1,
|
||||
"parent_row_number": 7,
|
||||
"row_value": "ИП Иванов А.А.",
|
||||
"group_type": "COUNTERPARTY",
|
||||
"group_name": null,
|
||||
"account_code_raw": "60.01",
|
||||
"counterparty_name": "ИП Иванов А.А.",
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": null,
|
||||
"turnover_credit": "34618000.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 9,
|
||||
"level": 1,
|
||||
"parent_row_number": 7,
|
||||
"row_value": "ООО \"ЭСТЕТ ОМСК\"",
|
||||
"group_type": "COUNTERPARTY",
|
||||
"group_name": null,
|
||||
"account_code_raw": "60.01",
|
||||
"counterparty_name": "ООО \"ЭСТЕТ ОМСК\"",
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "4236500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 10,
|
||||
"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": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "38854500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 11,
|
||||
"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": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "38854500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
}
|
||||
],
|
||||
"checks": {
|
||||
"total_row_matches_root": true,
|
||||
"balance_identity_violations": [],
|
||||
"parent_sum_violations": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
171
golden/expected_osv_parse/synthetic/s44_subkonto_unnamed_10.json
Normal file
171
golden/expected_osv_parse/synthetic/s44_subkonto_unnamed_10.json
Normal file
@ -0,0 +1,171 @@
|
||||
{
|
||||
"schema_version": "2.0",
|
||||
"service": {
|
||||
"name": "tabular-parser"
|
||||
},
|
||||
"status": "done",
|
||||
"metrics": {
|
||||
"rows": 3,
|
||||
"warnings": []
|
||||
},
|
||||
"documents": [
|
||||
{
|
||||
"document_type": "OSV",
|
||||
"locator": "sheet:Лист_1",
|
||||
"status": "done",
|
||||
"warnings": [
|
||||
{
|
||||
"code": "OSV_HIERARCHY_BY_INDENT",
|
||||
"severity": "info",
|
||||
"message": "иерархия строк — по отступам (indent)"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "тип выводимых данных (БУ/НУ/сумма) в шапке не найден"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "валюта в шапке не найдена"
|
||||
},
|
||||
{
|
||||
"code": "OSV_HEADER",
|
||||
"severity": "info",
|
||||
"message": "вид данных в шапке не указан — строки без метки приняты как БУ"
|
||||
}
|
||||
],
|
||||
"header": {
|
||||
"organization_name": "ООО \"Октябрьское\"",
|
||||
"organization_inn": null,
|
||||
"account_code_raw": "10",
|
||||
"period_text": "9 месяцев 2024 г.",
|
||||
"period_year": 2024,
|
||||
"period_quarter": "Q3",
|
||||
"is_cumulative": true,
|
||||
"period_start": "2024-01-01",
|
||||
"period_end": "2024-09-30",
|
||||
"is_from_year_start": true,
|
||||
"data_type": null,
|
||||
"currency": null,
|
||||
"header_variant": 1
|
||||
},
|
||||
"group_schema": [
|
||||
{
|
||||
"type": "ACCOUNT",
|
||||
"name": "Субконто"
|
||||
}
|
||||
],
|
||||
"columns": {
|
||||
"opening_debit": "B",
|
||||
"opening_credit": "C",
|
||||
"turnover_debit": "D",
|
||||
"turnover_credit": "E",
|
||||
"closing_debit": "F",
|
||||
"closing_credit": "G"
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"row_number": 7,
|
||||
"level": 0,
|
||||
"parent_row_number": null,
|
||||
"row_value": "10.01",
|
||||
"group_type": "ACCOUNT",
|
||||
"group_name": "Субконто",
|
||||
"account_code_raw": "10.01",
|
||||
"counterparty_name": null,
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "38854500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 8,
|
||||
"level": 1,
|
||||
"parent_row_number": 7,
|
||||
"row_value": "Мука пшеничная",
|
||||
"group_type": "OTHER",
|
||||
"group_name": null,
|
||||
"account_code_raw": "10.01",
|
||||
"counterparty_name": null,
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": null,
|
||||
"turnover_credit": "34618000.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 9,
|
||||
"level": 1,
|
||||
"parent_row_number": 7,
|
||||
"row_value": "Сахар-песок",
|
||||
"group_type": "OTHER",
|
||||
"group_name": null,
|
||||
"account_code_raw": "10.01",
|
||||
"counterparty_name": null,
|
||||
"counterparty_inn": null,
|
||||
"data_type": "BU",
|
||||
"opening_debit": null,
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "4236500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 10,
|
||||
"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": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "38854500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
},
|
||||
{
|
||||
"row_number": 11,
|
||||
"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": "34618000.00",
|
||||
"opening_credit": null,
|
||||
"turnover_debit": "4236500.00",
|
||||
"turnover_credit": "38854500.00",
|
||||
"closing_debit": null,
|
||||
"closing_credit": null,
|
||||
"extra": null
|
||||
}
|
||||
],
|
||||
"checks": {
|
||||
"total_row_matches_root": true,
|
||||
"balance_identity_violations": [],
|
||||
"parent_sum_violations": []
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -57,6 +57,11 @@ cd tabular-parser/api
|
||||
| `s30_val_kol_vo_materials.xlsx` | счёт 10 (вариант 2, номенклатура): материал «Вал» без точки, под материалами строки «Кол-во» (AURORA-1663) | «Вал» — обычная строка (`data_type` шапки, `OTHER`), «Кол-во» — `QUANTITY`, `done` |
|
||||
| `s31_rows_below_total.xlsx` | под «Итого» дописаны «Ответственный:», блок «ООО Альфа (ГК)» с числами и строка «Итого по ГК» (AURORA-1664) | таблица кончается на первой «Итого», хвост вне документа, предупреждение «ниже таблицы … есть числа», `done` |
|
||||
| `s32_total_with_suffix.xlsx` | итоговая строка подписана «Итого по счету 60», точного «Итого» нет (I-1: правило `total_row` — запасное после `total_row_exact`) | `TOTAL` — последняя строка, `done` |
|
||||
| `s40_flat_header_account.xlsx` | плоская форма 1С (#59, AURORA-1661): «по счету: 76.Н.1» с двоеточием, вид аналитики «Контрагенты» строкой между названием и периодом, организация ниже периода; строк-счетов нет, без outline и отступов; «Итого развернутое» перед «Итого» | `account_code_raw=76.Н.1`, `hierarchy=header_account`, строки `COUNTERPARTY`, «Итого развернутое» и «Итого» — `TOTAL`, `done` |
|
||||
| `s41_flat_chart_of_accounts.xlsx` | плоская форма: вид аналитики «Организации», период «за 2 Квартал 2026 г. План счетов ООО Хреновская Нива» одной строкой, «Итого развернутое» перед «Итого» | организация из хвоста «План счетов», `account_code_raw=60`, `Q2`/2026, `hierarchy=header_account`, строки `COUNTERPARTY` без предупреждения о виде субконто, `done` |
|
||||
| `s42_subaccounts_totals_reversed.xlsx` | под счётом 76 в шапке идут строки-субсчета «76.2», «76.5», «76.Н», «76.Н.1» (корня «76» нет), «Итого развернутое» перед «Итого» | `account_code_raw=76`, «Итого развернутое» — `TOTAL`, сверка по основной «Итого», `done` |
|
||||
| `s43_subkonto_unnamed_60.xlsx` | счёт 60: корень «60.01» и два элемента аналитики с отступом, вид субконто в шапке не назван; «Итого» перед «Итого развернутое» | `hierarchy=indent`, подстроки — `COUNTERPARTY` по плану счетов с предупреждением `OSV_ROWS`, `done` |
|
||||
| `s44_subkonto_unnamed_10.xlsx` | то же, что `s43`, но счёт 10 (материалы «Мука пшеничная», «Сахар-песок») | счёт 10 не расчётный: подстроки остаются `OTHER` без имени, предупреждения нет, `done` |
|
||||
|
||||
`s17`–`s19` — регрессия извлечения ИНН из текста (issue #9). `s14`–`s16` добавлены тестом покрытия словарей `tabular-parser` (`rules/*.yaml`, решение R-22): каждая запись словаря
|
||||
должна сработать на реальных или синтетических файлах; эти файлы закрывают записи, которых нет в реальных ОСВ.
|
||||
|
||||
BIN
osv/synthetic/s40_flat_header_account.xlsx
Normal file
BIN
osv/synthetic/s40_flat_header_account.xlsx
Normal file
Binary file not shown.
BIN
osv/synthetic/s41_flat_chart_of_accounts.xlsx
Normal file
BIN
osv/synthetic/s41_flat_chart_of_accounts.xlsx
Normal file
Binary file not shown.
BIN
osv/synthetic/s42_subaccounts_totals_reversed.xlsx
Normal file
BIN
osv/synthetic/s42_subaccounts_totals_reversed.xlsx
Normal file
Binary file not shown.
BIN
osv/synthetic/s43_subkonto_unnamed_60.xlsx
Normal file
BIN
osv/synthetic/s43_subkonto_unnamed_60.xlsx
Normal file
Binary file not shown.
BIN
osv/synthetic/s44_subkonto_unnamed_10.xlsx
Normal file
BIN
osv/synthetic/s44_subkonto_unnamed_10.xlsx
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user