Аудит таблицы и модели
Проверяет формулы и финансовую модель на ошибки: баланс, денежные потоки, зашитые числа и непоследовательные формулы.
- Что делает
- Проверяет формулы и финансовую модель на ошибки: баланс, денежные потоки, зашитые числа и непоследовательные формулы.
- Когда брать
- Перед отправкой модели клиенту или комитету, когда баланс не сходится или в таблице подозрительные формулы.
- Когда не брать
- Если нужно сразу исправить таблицу: сначала скилл составляет отчёт, а правки вносит только по просьбе.
- Пример запроса
- Проверь эту модель DCF на ошибки: баланс не сходится.
- Нужно подключить
- таблица или модель в Excel
Входит в плагин earnings-reviewer. В Cowork и Claude Code можно поставить плагин целиком.
Как включить
- Нажмите «Скачать на русском» и сохраните архив.
- В Claude откройте Настройки → Capabilities → Skills → Upload skill и выберите архив.
- Включите скилл переключателем.
Для терминала
Распакуйте архив и положите папку audit-xls в ~/.claude/skills/. Файл SKILL.md должен лежать внутри этой папки.
Текст
---
name: audit-xls
description: Проверяет таблицу на точность формул, ошибки и типичные промахи. Работает на выбранном диапазоне, на одном листе или на всей модели (включая проверки целостности финансовой модели: баланс, сходимость денежных средств, здравый смысл логики). Срабатывает на фразы «проверь этот лист», «проверь мои формулы», «найди ошибки в формулах», «сделай QA таблицы», «проверь на здравый смысл», «отладь модель», «проверка модели», «модель не сходится по балансу», «что-то не так в модели», «разбор модели».
---
Аудит таблицы
Проверь формулы и данные на точность и ошибки. Глубина проверки зависит от охвата: от быстрой проверки формул в выделенном диапазоне до полного аудита целостности финансовой модели.
Шаг 1: Определи охват
Если пользователь уже указал охват, используй его. Если нет, спроси:
Какой охват проверки тебе нужен? - selection — только выделенный сейчас диапазон - sheet — только текущий активный лист - model — вся книга, включая проверки целостности финансовой модели (баланс, сходимость денежных средств, сверка остатков по периодам, здравый смысл логики)
Охват model — самый глубокий. Используй его для DCF, LBO, трёхотчётных моделей, моделей слияний, сравнительных таблиц компаний (comps) и любой другой связанной финансовой модели перед отправкой клиенту или инвестиционному комитету.
Шаг 2: Проверки на уровне формул (ВСЕ охваты)
Выполняй их при любом охвате:
| Проверка | На что смотреть |
|---|---|
| Ошибки в формулах | #REF!, #VALUE!, #N/A, #DIV/0!, #NAME? |
| Зашитые числа внутри формул | =A1*1.05 — число 1.05 должно быть ссылкой на ячейку |
| Непоследовательные формулы | Формула, которая выбивается из ряда соседних в строке или столбце |
| Сдвиг диапазона на единицу | SUM/AVERAGE, которые пропускают первую или последнюю строку |
| Формулы, затёртые значением | Ячейка выглядит как формула, но на деле в ней записано число |
| Циклические ссылки | Намеренные или случайные |
| Сломанные ссылки между листами | Ссылки на ячейки, которые переместили или удалили |
| Несовпадение единиц и масштаба | Тысячи смешаны с миллионами, проценты хранятся как целые числа |
| Скрытые строки и вкладки | Могут содержать ручные подстановки или устаревшие расчёты |
Шаг 3: Проверки целостности модели (только охват MODEL)
Если охват — model, определи тип модели (DCF / LBO / три отчёта / слияние / comps / своя) и выполни подходящие проверки целостности из списка ниже.
3a. Структурная проверка
| Проверка | На что смотреть |
|---|---|
| Разделение вводных и формул | Чётко ли вводные данные отделены от расчётов? |
| Цветовые соглашения | Синий — вводные, чёрный — формулы, зелёный — ссылки (или иная схема модели), и применяется ли она последовательно? |
| Порядок вкладок | Логичен ли (Допущения → отчёт о прибылях и убытках → баланс → отчёт о движении денежных средств → оценка)? |
| Заголовки с датами | Одинаковы ли на всех вкладках? |
| Единицы | Едины ли (тысячи, миллионы или точные значения)? |
3b. Баланс
| Проверка | Тест |
|---|---|
| Баланс сходится | Всего активов = Всего обязательств + Капитал (в каждом периоде) |
| Сверка нераспределённой прибыли | Нераспределённая прибыль на начало + Чистая прибыль − Дивиденды = Нераспределённая прибыль на конец |
| Гудвилл и нематериальные активы | Вытекают из допущений по приобретению (если есть M&A) |
Если баланс не сходится, посчитай разрыв по каждому периоду и найди, где он возникает: пока это не исправлено, остальное не имеет значения.
3c. Отчёт о движении денежных средств
| Проверка | Тест |
|---|---|
| Сходимость денежных средств | Остаток денежных средств в отчёте о движении = денежные средства в балансе (в каждом периоде) |
| Суммы потоков | Операционный + инвестиционный + финансовый потоки = Δ денежных средств |
| Совпадение амортизации | Амортизация в отчёте о движении = амортизация в отчёте о прибылях и убытках |
| Совпадение капвложений | Капвложения в отчёте о движении совпадают со сверкой основных средств в балансе |
| Изменения оборотного капитала | Знаки совпадают с движениями в балансе (Δ дебиторской задолженности, Δ кредиторской задолженности, Δ запасов) |
3d. Отчёт о прибылях и убытках
| Проверка | Тест |
|---|---|
| Построение выручки | Сходится с детализацией по сегментам и продуктам |
| Налог | Налоговый расход = Прибыль до налогообложения × ставка налога (с учётом поправки на отложенный налог) |
| Количество акций | Сходится с графиком разводнения (опционы, конвертируемые бумаги, обратный выкуп) |
3e. Циклические ссылки
- Процент → остаток долга → денежные средства → процент — типичная намеренная циклическая ссылка в моделях LBO и трёхотчётных моделях
- Если она намеренная: убедись, что переключатель итераций есть и работает
- Если случайная: проследи цикл и отметь, как его разорвать
3f. Логика и разумность
| Проверка | Отметь, если |
|---|---|
| Темпы роста | Рост выручки больше 100% без объяснения |
| Маржинальность | Выходит за отраслевые нормы |
| Доминирование терминальной стоимости | Терминальная стоимость больше ~75% стоимости предприятия (EV) в DCF (жёлтый сигнал) |
| «Хоккейная клюшка» | Прогноз нереалистично взлетает в дальних годах |
| Накопление эффекта | EBITDA за счёт сложного роста к 10-му году превращается в абсурдные суммы |
| Крайние случаи | Модель ломается при нулевом или отрицательном росте, отрицательной EBITDA, уходе долговой нагрузки в минус |
3g. Ошибки, характерные для типа модели
DCF:
- Ставка дисконтирования применена не к тому периоду (середина года или конец года)
- Терминальная стоимость не дисконтирована к текущему моменту
- WACC считается по балансовым, а не рыночным стоимостям
- Свободный денежный поток включает процентные расходы (должен быть без учёта долга)
- Налоговый щит посчитан дважды
LBO:
- Погашение долга не соответствует механике направления избыточных денег на погашение (cash sweep)
- Проценты PIK не прибавляются к основному долгу
- Реинвестирование менеджмента не учтено в доходности
- Множитель выхода применён не к той EBITDA (за последние 12 месяцев или за следующие 12 месяцев)
- Комиссии и расходы не вычтены из капитала в первый день
Слияние:
- Accretion/dilution считается на неверном количестве акций (до сделки или после)
- Синергия не распределена по этапам
- Распределение цены покупки не сходится
- Не учтены упущенные проценты на денежные средства
- Транзакционные комиссии не включены в источники и использование средств
Три отчёта:
- У изменений оборотного капитала неверный знак
- Амортизация не соответствует графику основных средств
- График погашения долга не соответствует платежам по основному долгу
- Дивиденды превышают чистую прибыль без объяснения
Шаг 4: Отчёт
Выведи таблицу замечаний:
| № | Лист | Ячейка/диапазон | Серьёзность | Категория | Проблема | Предлагаемое исправление |
|---|
Серьёзность:
- Critical — неверный результат (баланс не сходится, формула сломана, денежные средства не сходятся)
- Warning — рискованно (зашитые числа, непоследовательные формулы, сбои в крайних случаях)
- Info — стиль и лучшие практики (цвета, оформление, названия)
Для охвата model добавь в начало итоговую строку:
Тип модели: [DCF/LBO/три отчёта/...] — Общая оценка: [Чисто / Мелкие замечания / Серьёзные замечания] — критических: [N], предупреждений: [N], информационных: [N]
Ничего не меняй без спроса: сначала отчёт, исправления по просьбе.
Примечания
- Сначала баланс: если он не сходится, под сомнением всё, что идёт дальше
- Зашитые ручные подстановки — главный источник скрытых ошибок: ищи их тщательно
- Ошибки в знаках (плюс или минус для оттока денег) встречаются крайне часто
- Если модель использует макросы VBA, отметь расчёты, которые идут через макросы и которые нельзя проверить только по формулам
Перевод: iiuniversitet. Оригинал: https://github.com/anthropics/financial-services/tree/main/plugins/agent-plugins/earnings-reviewer/skills/audit-xls, лицензия Apache-2.0. Изменения: перевод на русский язык.
Оригинал на английском
--- name: audit-xls description: Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on "audit this sheet", "check my formulas", "find formula errors", "QA this spreadsheet", "sanity check this", "debug model", "model check", "model won't balance", "something's off in my model", "model review". --- # Audit Spreadsheet Audit formulas and data for accuracy and mistakes. Scope determines depth — from quick formula checks on a selection up to full financial-model integrity audits. ## Step 1: Determine scope If the user already gave a scope, use it. Otherwise **ask them**: > What scope do you want me to audit? > - **selection** — just the currently selected range > - **sheet** — the current active sheet only > - **model** — the whole workbook, including financial-model integrity checks (BS balance, cash tie-out, roll-forwards, logic sanity) The **model** scope is the deepest — use it for DCF, LBO, 3-statement, merger, comps, or any integrated financial model before sending to a client or IC. --- ## Step 2: Formula-level checks (ALL scopes) Run these regardless of scope: | Check | What to look for | |---|---| | Formula errors | `#REF!`, `#VALUE!`, `#N/A`, `#DIV/0!`, `#NAME?` | | Hardcodes inside formulas | `=A1*1.05` — the `1.05` should be a cell reference | | Inconsistent formulas | A formula that breaks the pattern of its neighbors in a row/column | | Off-by-one ranges | `SUM`/`AVERAGE` that misses the first or last row | | Pasted-over formulas | Cell that looks like a formula but is actually a hardcoded value | | Circular references | Intentional or accidental | | Broken cross-sheet links | References to cells that moved or were deleted | | Unit/scale mismatches | Thousands mixed with millions, % stored as whole numbers | | Hidden rows/tabs | Could contain overrides or stale calculations | --- ## Step 3: Model-integrity checks (MODEL scope only) If scope is **model**, identify the model type (DCF / LBO / 3-statement / merger / comps / custom) and run the appropriate integrity checks below. ### 3a. Structural review | Check | What to look for | |---|---| | Input/formula separation | Are inputs clearly separated from calculations? | | Color convention | Blue=input, black=formula, green=link — or whatever the model uses, applied consistently? | | Tab flow | Logical order (Assumptions → IS → BS → CF → Valuation)? | | Date headers | Consistent across all tabs? | | Units | Consistent (thousands vs millions vs actuals)? | ### 3b. Balance Sheet | Check | Test | |---|---| | BS balances | Total Assets = Total Liabilities + Equity (every period) | | RE rollforward | Prior RE + Net Income − Dividends = Current RE | | Goodwill/intangibles | Flow from acquisition assumptions (if M&A) | If BS doesn't balance, **quantify the gap per period and trace where it breaks** — nothing else matters until this is fixed. ### 3c. Cash Flow Statement | Check | Test | |---|---| | Cash tie-out | CF Ending Cash = BS Cash (every period) | | CF sums | CFO + CFI + CFF = Δ Cash | | D&A match | D&A on CF = D&A on IS | | CapEx match | CapEx on CF matches PP&E rollforward on BS | | WC changes | Signs match BS movements (ΔAR, ΔAP, ΔInventory) | ### 3d. Income Statement | Check | Test | |---|---| | Revenue build | Ties to segment/product detail | | Tax | Tax expense = Pre-tax income × tax rate (allow for deferred tax adj) | | Share count | Ties to dilution schedule (options, converts, buybacks) | ### 3e. Circular references - Interest → debt balance → cash → interest is a common intentional circ in LBO/3-stmt models - If intentional: verify iteration toggle exists and works - If unintentional: trace the loop and flag how to break it ### 3f. Logic & reasonableness | Check | Flag if | |---|---| | Growth rates | >100% revenue growth without explanation | | Margins | Outside industry norms | | Terminal value dominance | TV > ~75% of DCF EV (yellow flag) | | Hockey-stick | Projections ramp unrealistically in out-years | | Compounding | EBITDA compounds to absurd $ by Year 10 | | Edge cases | Model breaks at 0% or negative growth, negative EBITDA, leverage goes negative | ### 3g. Model-type-specific bugs **DCF:** - Discount rate applied to wrong period (mid-year vs end-of-year) - Terminal value not discounted back - WACC uses book values instead of market values - FCF includes interest expense (should be unlevered) - Tax shield double-counted **LBO:** - Debt paydown doesn't match cash sweep mechanics - PIK interest not accruing to principal - Management rollover not reflected in returns - Exit multiple applied to wrong EBITDA (LTM vs NTM) - Fees/expenses not deducted from Day 1 equity **Merger:** - Accretion/dilution uses wrong share count (pre- vs post-deal) - Synergies not phased in - Purchase price allocation doesn't balance - Foregone interest on cash not included - Transaction fees not in sources & uses **3-statement:** - Working capital changes have wrong sign - Depreciation doesn't match PP&E schedule - Debt maturity schedule doesn't match principal payments - Dividends exceed net income without explanation --- ## Step 4: Report Output a findings table: | # | Sheet | Cell/Range | Severity | Category | Issue | Suggested Fix | |---|---|---|---|---|---|---| **Severity:** - **Critical** — wrong output (BS doesn't balance, formula broken, cash doesn't tie) - **Warning** — risky (hardcodes, inconsistent formulas, edge-case failures) - **Info** — style/best-practice (color coding, layout, naming) For **model** scope, prepend a summary line: > Model type: [DCF/LBO/3-stmt/...] — Overall: [Clean / Minor Issues / Major Issues] — [N] critical, [N] warnings, [N] info **Don't change anything without asking** — report first, fix on request. --- ## Notes - **BS balance first** — if it doesn't balance, everything downstream is suspect - **Hardcoded overrides are the #1 source of silent bugs** — search aggressively - **Sign convention errors** (positive vs negative for cash outflows) are extremely common - If the model uses VBA macros, note any macro-driven calculations that can't be audited from formulas alone
Источник: anthropics/financial-services / earnings-reviewer / audit-xls ↗. Ссылка проверена 2026-10-10.
Тот же скилл есть в: anthropics/financial-services / gl-reconciler / audit-xls; anthropics/financial-services / model-builder / audit-xls; anthropics/financial-services / month-end-closer / audit-xls; anthropics/financial-services / pitch-agent / audit-xls; anthropics/financial-services / statement-auditor / audit-xls; anthropics/financial-services / financial-analysis / audit-xls.