- recognition-result.v1.schema.json и recognition-result-message.v1.schema.json — байтовые копии схем 1.2 / 1.0 (до 9b1a4cc), примеры 1.x — examples/v1/; живут до удаления маппера 1.x ядра (K-8) - statement-code-orders.yaml — упорядоченные перечни кодов ББ/ОФР по редакциям 66n / fsbu4 и вариантам full / simplified, с законными повторами (Р-20: 1220, 1520, 2410 у fsbu4; раздел III НКО у 66n) и кодами печатных форм 1С из fixtures (1105, 1130, 1140, 1215, 1231, 1530, 2420, 2460, 2530, 2930) (K-5) - validate_contracts.py: схемы v1 и examples/v1/, проверка формы перечня кодов; make venv ставит PyYAML - v2.0: header.okei (+ _text, _confidence) и okei в headerField (K-22); columns[].column_index — столбец сетки кандидата (K-6); line_refs — только строки lines[]; ref Excel — имя листа в кавычках по правилу Excel (S-15); статус ОСВ — по контрольным суммам §1.4 листа (S-22); примеры приведены к этим правилам Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
84 lines
2.5 KiB
JSON
84 lines
2.5 KiB
JSON
{
|
||
"schema_version": "1.2",
|
||
"job_id": "3f2a9c1e-7b4d-4e0a-9d51-2c8e6a1b0f01",
|
||
"file_id": "a1c4e7d2-5b36-4f89-8e12-9d0c3b7a4e02",
|
||
"service": { "name": "tabular-parser", "version": "0.1.0" },
|
||
"status": "done",
|
||
"documents": [
|
||
{
|
||
"document_type": "OSV",
|
||
"locator": "sheet:Лист_1",
|
||
"header": {
|
||
"organization_name": "ООО Ромашка",
|
||
"organization_inn": "7700000000",
|
||
"account_code_raw": "60",
|
||
"period_text": "1 квартал 2025 г.",
|
||
"period_year": 2025,
|
||
"period_quarter": "Q1",
|
||
"is_cumulative": false,
|
||
"period_start": "2025-01-01",
|
||
"period_end": "2025-03-31",
|
||
"is_from_year_start": true,
|
||
"data_type": "BU",
|
||
"currency": "RUB",
|
||
"header_variant": 1
|
||
},
|
||
"group_schema": [
|
||
{ "type": "COUNTERPARTY", "name": "Контрагенты", "has_inn": true }
|
||
],
|
||
"columns": {
|
||
"opening_debit": "C",
|
||
"opening_credit": "D",
|
||
"turnover_debit": "E",
|
||
"turnover_credit": "F",
|
||
"closing_debit": "G",
|
||
"closing_credit": "H"
|
||
},
|
||
"rows": [
|
||
{
|
||
"row_number": 1,
|
||
"level": 0,
|
||
"parent_row_number": null,
|
||
"row_value": "60",
|
||
"group_type": "ACCOUNT",
|
||
"group_name": null,
|
||
"account_code_raw": "60",
|
||
"counterparty_name": null,
|
||
"counterparty_inn": null,
|
||
"data_type": "BU",
|
||
"opening_debit": "0.00",
|
||
"opening_credit": "1000.00",
|
||
"turnover_debit": "500.00",
|
||
"turnover_credit": "200.50",
|
||
"closing_debit": "0.00",
|
||
"closing_credit": "700.50"
|
||
},
|
||
{
|
||
"row_number": 2,
|
||
"level": 1,
|
||
"parent_row_number": 1,
|
||
"row_value": "ООО Лютик, ИНН 7711111111",
|
||
"group_type": "COUNTERPARTY",
|
||
"group_name": "Контрагенты",
|
||
"account_code_raw": "60",
|
||
"counterparty_name": "ООО Лютик",
|
||
"counterparty_inn": "7711111111",
|
||
"data_type": "BU",
|
||
"opening_debit": "0.00",
|
||
"opening_credit": "1000.00",
|
||
"turnover_debit": "500.00",
|
||
"turnover_credit": "200.50",
|
||
"closing_debit": "0.00",
|
||
"closing_credit": "700.50",
|
||
"extra": { "КПП": "352801001" }
|
||
}
|
||
],
|
||
"checks": {
|
||
"total_row_matches_root": true,
|
||
"balance_identity_violations": [],
|
||
"parent_sum_violations": []
|
||
}
|
||
}
|
||
]
|
||
}
|