diff --git a/prompts/call_quality_score/v3.md b/prompts/call_quality_score/v3.md new file mode 100644 index 0000000..5dc26f9 --- /dev/null +++ b/prompts/call_quality_score/v3.md @@ -0,0 +1,31 @@ +Ты старший методолог 1С и руководитель группы поддержки. + +Версия: v3_empathy_escalation. +Цель: оценить не только правильность ответа, но и работу с напряжением клиента. + +Проанализируй транскрипт и верни строго валидный JSON: +{ + "quality_score": 1, + "empathy_score": 1, + "diagnostic_score": 1, + "accounting_accuracy_score": 1, + "next_step_clarity": 1, + "customer_sentiment": "calm", + "escalation_needed": false, + "issue_type": "reconciliation_act", + "answer": { + "summary": "", + "what_went_well": [], + "what_was_missing": [], + "recommended_follow_up": "" + } +} + +Правила: +- customer_sentiment выбери из calm, concerned, frustrated. +- escalation_needed ставь true, если нужен методолог, бухгалтер или разработчик интеграции. +- Отдельно снижай оценку, если специалист не признал срочность или раздражение клиента. +- Не придумывай номера документов, суммы, договоры или персональные данные. + +Транскрипт: +{{transcript}} diff --git a/prompts/call_quality_score/v4.md b/prompts/call_quality_score/v4.md new file mode 100644 index 0000000..4083cac --- /dev/null +++ b/prompts/call_quality_score/v4.md @@ -0,0 +1,30 @@ +Ты методолог 1С, который проверяет безопасность консультации для бухгалтерского и налогового учета. + +Версия: v4_accounting_safety. +Цель: выявить налоговые, учетные и процессные риски в ответе специалиста. + +Верни только JSON: +{ + "quality_score": 1, + "accounting_safety": 1, + "tax_risk_level": "low", + "diagnostic_score": 1, + "next_step_clarity": 1, + "issue_type": "month_close", + "risk_flags": [], + "missing_checks": [], + "safe_next_steps": [], + "unsafe_advice_detected": false, + "summary": "" +} + +Правила безопасности: +- tax_risk_level: low, medium или high. +- Не одобряй искусственное изменение дат ради отчетности. +- Для НДС проверяй дату получения счета-фактуры, книгу покупок, счет 19 и анализ учета по НДС. +- Для актов сверки проверяй период, договор, дату оплаты, счет 60/62 и настройки отчета. +- Для закрытия месяца проверяй регламентную операцию, первичный документ, счет затрат и перепроведение. +- Если специалист предлагает обход без проверки основания, добавь risk_flags. + +Транскрипт: +{{transcript}} diff --git a/tests/transcripts/sample_004_month_close_depreciation.txt b/tests/transcripts/sample_004_month_close_depreciation.txt new file mode 100644 index 0000000..0f51a02 --- /dev/null +++ b/tests/transcripts/sample_004_month_close_depreciation.txt @@ -0,0 +1,18 @@ +Call ID: demo-month-close-depreciation-004 +Scenario: Customer has an error during month-end closing related to fixed asset depreciation. +Synthetic data notice: All names, company names, amounts, and document numbers are fictional. + +Specialist: Здравствуйте, поддержка 1С Бухгалтерии. Меня зовут Марина. +Customer: Здравствуйте. Закрытие месяца за февраль не проходит. Пишет, что не рассчитана амортизация по основному средству "Станок упаковочный УП-15". +Specialist: Поняла. Ошибка появляется на операции "Амортизация и износ основных средств"? +Customer: Да, именно там. +Specialist: Откройте карточку основного средства. Какая дата принятия к учету и указан ли способ отражения расходов по амортизации? +Customer: Принят к учету 15 февраля 2026 года. Способ отражения пустой. +Specialist: Вот причина. Программа не знает, на какой счет и аналитику отнести амортизацию. Нужно заполнить способ отражения, например счет 20 или 26, подразделение и статью затрат, если они используются. +Customer: У нас это производство, значит счет 20 и подразделение "Цех 1". +Specialist: Да, если так настроен учет. После заполнения перепроведите документ принятия к учету и снова запустите закрытие февраля. +Customer: А амортизация за февраль вообще должна начислиться, если приняли 15 февраля? +Specialist: В бухгалтерском учете обычно начисление начинается с месяца, следующего за месяцем принятия к учету. Но программа все равно проверяет настройки уже сейчас, чтобы март закрывался корректно. +Customer: Заполнила способ, перепровела, закрытие прошло без ошибки. +Specialist: Отлично. Рекомендую открыть справку-расчет амортизации и сохранить ее к регламентным документам месяца. +Customer: Спасибо, вопрос закрыт. diff --git a/tests/transcripts/sample_005_reconciliation_tense_customer.txt b/tests/transcripts/sample_005_reconciliation_tense_customer.txt new file mode 100644 index 0000000..1c44716 --- /dev/null +++ b/tests/transcripts/sample_005_reconciliation_tense_customer.txt @@ -0,0 +1,19 @@ +Call ID: demo-reconciliation-tense-005 +Scenario: Customer is frustrated because a reconciliation act was sent to a counterparty with an incorrect balance. +Synthetic data notice: All names, company names, amounts, and document numbers are fictional. + +Specialist: Добрый день, поддержка 1С Бухгалтерии, Сергей. +Customer: Добрый день. У нас неприятная ситуация: отправили клиенту акт сверки, а там лишняя задолженность 72 300 рублей. Клиент уже написал директору, что мы не умеем вести учет. +Specialist: Понимаю, ситуация неприятная. Давайте быстро найдем источник суммы и подготовим корректный акт. +Customer: Мне нужно не "давайте", а прямо сейчас понять, что сломалось. +Specialist: Согласен, начнем с конкретной суммы. Откройте карточку счета 62 по этому клиенту за период акта и найдите оборот или остаток на 72 300 рублей. Видите документ с такой суммой? +Customer: Да, реализация от 12 февраля на 72 300. +Specialist: Есть ли по ней корректировка, возврат или оплата, которые должны закрывать долг? +Customer: Была корректировка реализации от 20 февраля, но она помечена на удаление. +Specialist: Тогда акт сверки показывает исходную реализацию без корректировки. Если корректировка верная, снимите пометку удаления, проверьте основание и перепроведите документы за февраль. +Customer: А если корректировку удалили случайно? +Specialist: Тогда восстановите ее из журнала удаленных или создайте новую корректировку на основании реализации. После этого сформируйте акт заново и приложите клиенту короткий комментарий: "Направляем уточненный акт после восстановления корректировки реализации". +Customer: Хорошо. Я восстановила корректировку, сумма ушла. +Specialist: Отлично. Перед отправкой проверьте, что дата акта и период совпадают с прежним письмом, чтобы клиент видел только исправление остатка. +Customer: Спасибо. В начале я была резкая, просто очень нервный день. +Specialist: Ничего страшного, понимаю. Главное, что нашли причину и можно отправить корректный акт. diff --git a/tests/transcripts/sample_006_month_close_vat_advance.txt b/tests/transcripts/sample_006_month_close_vat_advance.txt new file mode 100644 index 0000000..f186515 --- /dev/null +++ b/tests/transcripts/sample_006_month_close_vat_advance.txt @@ -0,0 +1,18 @@ +Call ID: demo-month-close-vat-advance-006 +Scenario: Customer asks why month-end closing generated VAT on advances and how to verify it. +Synthetic data notice: All names, company names, amounts, and document numbers are fictional. + +Specialist: Добрый вечер, поддержка 1С Бухгалтерии, Ольга слушает. +Customer: Здравствуйте. После закрытия месяца появились проводки по НДС с авансов. Мы не ожидали, сумма 96 000 рублей. Это ошибка? +Specialist: Не обязательно. Если покупатель перечислил предоплату, а реализация еще не была отражена, программа начисляет НДС с аванса. Давайте проверим документ-основание. +Customer: В отчете ссылка на платеж от клиента "Гамма-Трейд" от 25 марта на 576 000 рублей. +Specialist: Реализация по этому авансу была в марте или уже в апреле? +Customer: Отгрузка 2 апреля. +Specialist: Тогда начисление НДС с аванса в марте ожидаемо. После апрельской реализации программа должна принять этот НДС к вычету при зачете аванса. +Customer: А как убедиться, что он потом зачтется? +Specialist: Откройте "Анализ учета по НДС" за апрель и проверьте блок авансов полученных. Еще можно открыть документ реализации и посмотреть зачет аванса в расчетах с покупателем. +Customer: Если аванс зачтен не полностью? +Specialist: Тогда вычет НДС будет только по зачтенной части, а остаток останется до будущей реализации или возврата. Это нормальное поведение. +Customer: Поняла. Значит для марта проводка корректная, а проверять нужно апрельский зачет. +Specialist: Да. Для контроля сохраните расшифровку регламентной операции "Начисление НДС с авансов" и сверку по счету 62.02. +Customer: Спасибо, теперь могу объяснить главбуху. diff --git a/tests/transcripts/sample_007_payroll_report.txt b/tests/transcripts/sample_007_payroll_report.txt new file mode 100644 index 0000000..fe939ba --- /dev/null +++ b/tests/transcripts/sample_007_payroll_report.txt @@ -0,0 +1,15 @@ +Call ID: demo-payroll-report-007 +Scenario: Customer cannot reconcile payroll tax report totals with accounting registers. +Synthetic data notice: All names, companies, amounts, and document references are fictional. + +Specialist: Добрый день, поддержка 1С Бухгалтерии, Павел. +Customer: Здравствуйте. В отчете по зарплатным налогам сумма страховых взносов 318 240 рублей, а в оборотке по 69 счету другая сумма. Главбух просит объяснение сегодня. +Specialist: Понимаю, давайте разделим начисление зарплаты и отражение взносов в учете. За какой месяц сверяете? +Customer: За март 2026. +Specialist: Проверьте, все ли документы "Начисление зарплаты" за март проведены и нет ли помеченных на удаление документов по отдельным сотрудникам. +Customer: Один документ по подразделению "Сервис" был не проведен. +Specialist: Это может объяснить расхождение. После проведения сформируйте "Анализ зарплаты по сотрудникам" и оборотно-сальдовую ведомость по счету 69 с тем же периодом. +Customer: А если отчет по налогам уже отправлен? +Specialist: Не меняйте вручную суммы в регистре. Сначала восстановите корректные документы, перепроведите март и сравните расшифровку. Если отчет уже отправлен и сумма меняется, решение об уточненке принимает бухгалтер после проверки оснований. +Customer: Провела документ, сумма стала совпадать. Спасибо, теперь есть что показать главбуху. +Specialist: Отлично. Сохраните расшифровку до и после проведения, чтобы было видно источник расхождения.