Claude for Excel: как бухгалтер находит расхождения во взаиморасчётах без единой строчки VBA
Каждый месяц бухгалтер моих клиентов открывает акт сверки от контрагента, свою выгрузку из 1С и полчаса водит взглядом между двумя таблицами в поисках расхождения на 1 копейку. Раньше выход был один — звать программиста и просить макрос на VBA. Сейчас я показываю клиентам другой путь: Claude for Excel, официальный add-in Anthropic для Microsoft Excel, и Claude API поверх openpyxl/pandas для того, что должно работать по расписанию, а не по клику. Ниже — как это устроено технически, что add-in умеет и чего не умеет по конструкции, и как мы внедряем это у клиентов до 50 рабочих мест.
Почему сверка в Excel — это не про Excel, а про человека
Формально задача «сверить взаиморасчёты» решается одной функцией ВПР или XLOOKUP за пять минут. На практике она решается часами, потому что реальные данные грязные: у поставщика номер документа записан как «Акт №145 от 03.07», у нас в 1С — как «АКТ-000145»; суммы расходятся на НДС, округления или курсовую разницу; одна и та же поставка разбита у контрагента на две строки, а у нас — на одну. Формула сравнения по точному совпадению текста тут не работает, а писать нормализацию через СЖПРОБЕЛЫ+ПСТР+ЕСЛИ бухгалтер физически не будет — это работа программиста.
Второй пласт боли — своды. Расчётный лист по зарплате, банковская выписка, три склада с разными шаблонами выгрузки — всё это нужно привести к одной структуре, прежде чем сравнивать. Раньше единственным способом дать бухгалтеру самостоятельность был макрос VBA: кто-то один раз пишет код, остальные жмут кнопку. Риск — макрос ломается при любом изменении формата исходного файла, а разбираться в чужом VBA-коде спустя два года не хочет никто, включая автора.
Идея, которую я продаю клиентам с 2026 года: заменить макрос на диалог с моделью, которая понимает исходные данные в естественном виде и сама решает, какую формулу или операцию применить — не один раз зашитую, а каждый раз заново, под конкретный файл.
Что физически умеет Claude for Excel
Claude for Excel — официальный add-in Anthropic, доступный из Microsoft Marketplace. Он не эмулирует Excel и не подменяет его: это надстройка, которая через Office JS API читает открытую книгу, предлагает и вносит правки, а рядом в панели ведёт диалог на естественном языке. По состоянию на дату публикации add-in доступен на тарифах Pro, Max, Team и Enterprise (на Free — недоступен), работает с файлами .xlsx и .xlsm, а внутри самого add-in можно переключаться между быстрой моделью линейки Sonnet и более медленной, но сильной в рассуждениях моделью линейки Opus — выбор имеет значение на сложных сверках с многошаговой логикой.
Технически важна не только модель, но и платформа: add-in требует конкретных сборок Excel, и часть клиентов на «вечных» лицензиях Office 2016/2019 просто не смогут его поставить.
| Платформа | Минимальные требования | Что это значит на практике |
|---|---|---|
| Excel в браузере (Microsoft 365) | любой современный браузер | работает без установки, годится для теста без согласования с IT |
| Excel Windows (M365) | сборка не ниже 16.0.13127.20296 | нужна подписочная версия Microsoft 365, автообновляемая |
| Excel Mac | версия 16.46 (сборка 21011600) и новее | актуальный Mac-клиент M365, не старый Office 2019 for Mac |
| Excel iPad | версия 2.51 и новее | можно проверять расхождения прямо с планшета на встрече с контрагентом |
| Excel 2016/2019 (перманентная лицензия) | не поддерживается | типичный корпоративный «коробочный» Office — придётся переходить на подписку или использовать веб-версию |
| Excel Android | не поддерживается | мобильный сценарий закрыт полностью |
Из операций внутри книги add-in умеет: сортировать и фильтровать данные, редактировать сводные таблицы и диаграммы, применять условное форматирование, настраивать выпадающие списки валидации данных, готовить лист к печати (области печати, сетка), а главное — писать и объяснять формулы, подсвечивая изменённые ячейки и давая кликабельные ссылки-цитаты на исходные данные, из которых получен результат. Чего он не делает принципиально — это таблицы данных (Data Tables) Excel и, что важнее всего для темы этой статьи, не пишет и не запускает макросы VBA. Это не временное ограничение бета-версии, а архитектурное решение: add-in работает через прикладной интерфейс Office, а не через модель выполнения кода VBA, и специально не получает разрешений на запись исполняемого кода в книгу — из соображений безопасности такой канал закрыт по умолчанию.
Кейс: сверка взаиморасчётов без единой строчки VBA
Раз макросы недоступны по конструкции, всё, что предлагает add-in — это то, что бухгалтер может открыть и понять сам: формулы XLOOKUP/СУММЕСЛИМН, вспомогательные столбцы, условное форматирование. И в этом ограничении есть плюс: результат работы Claude for Excel — это обычная, читаемая формула в ячейке, а не чёрный ящик кода, который через год некому будет поддерживать.
Сценарий, который мы отрабатываем у клиентов на закрытии месяца: в одной книге два листа — «Наш_1С» (выгрузка оборотов по контрагенту) и «Акт_сверки» (файл, присланный контрагентом). Бухгалтер открывает панель Claude for Excel и формулирует задачу так, как сформулировал бы коллеге: сопоставить строки по номеру документа и сумме, с учётом того, что номера у контрагента и в 1С оформлены по-разному, и вывести на новый лист только расхождения с пояснением причины (по сумме, по дате, документ есть только с одной стороны).
Add-in не выполняет это как чёрный ящик: он последовательно строит вспомогательный столбец нормализации номера документа, применяет XLOOKUP или комбинацию ИНДЕКС/ПОИСКПОЗ с приближённым сравнением, подсвечивает изменённые и добавленные ячейки цветом и рядом с каждой формулой даёт короткое объяснение с кликабельной ссылкой на исходную ячейку — то есть бухгалтер в любой момент может кликнуть на цифру в объяснении и провалиться в ячейку-источник, а не верить модели на слово. Это и есть замена «доверенному макросу от программиста»: не код, который никто не читает, а прозрачная цепочка формул с указанием, откуда взялось каждое число.
Важная практическая деталь: по последним обновлениям add-in избегает перезаписи уже существующих ячеек — правки вносятся в новые столбцы или явно согласованные диапазоны, а не поверх исходных данных, что снижает риск случайно испортить исходную выгрузку из 1С, которую потом придётся перекачивать заново.
Свод из нескольких файлов: склад, банк, три подрядчика
Вторая по частоте задача — не сверка «один к одному», а свод N файлов в один. Классический пример у клиентов на 30-50 рабочих мест: три склада присылают остатки в трёх разных шаблонах Excel, и нужно получить единую таблицу с итогом по SKU. Add-in принимает несколько файлов сразу через drag-and-drop прямо в панель диалога, распознаёт, что колонки называются по-разному («Кол-во», «Остаток, шт», «QTY»), сопоставляет их по смыслу и строит единый свод на новом листе, оставляя пользователю формулы СУММЕСЛИМН по итоговому диапазону, а не статичные цифры — это принципиально, потому что при обновлении исходных листов свод пересчитается сам.
Для длинных сессий — например, когда сверка идёт не по одному контрагенту, а по всем 40 сразу, с уточнениями и правками в диалоге — add-in использует автоматическое сжатие истории диалога, чтобы не упираться в лимит контекста модели посреди работы. Для бухгалтера это выглядит просто как «сессия не обрывается», хотя за этим стоит управление токенами на стороне Anthropic.
Ограничение, о котором я предупреждаю клиентов сразу: add-in — это интерактивный инструмент с человеком в контуре. Он прекрасно закрывает разовую или ежемесячную сверку, где итог оценивает бухгалтер. Но он не предназначен для того, чтобы сам, ночью, без человека, забирал файл с FTP, сверял и слал результат — для этого класса задач нужен другой инструмент, о котором ниже.
Когда add-in не подходит: Claude API поверх openpyxl и pandas
У части наших клиентов сверка не разовая, а конвейерная: каждую ночь на сервер падает выгрузка из банк-клиента и выгрузка из учётной системы, и к 9 утра бухгалтеру нужен готовый файл расхождений, а не сессия диалога, которую надо открывать вручную. Здесь add-in не подходит по определению — он живёт внутри открытого Excel на конкретном компьютере. Правильный инструмент — Claude API, вызываемый из обычного Python-скрипта на cron, где всю механическую работу по чтению и сравнению файлов делает не модель, а библиотеки pandas и openpyxl, а модель подключается только там, где нужно понимание смысла: разобрать нестандартное написание номера документа, объяснить расхождение бухгалтеру человеческим языком, отсортировать находки по важности.
Логика разделения ответственности такая: механическое сравнение (join, group by, поиск дублей) — это pandas, это быстро, детерминированно и не стоит токенов; интерпретация неоднозначных случаев и генерация читаемого резюме — это вызов модели. Ниже — минимальный скелет такого скрипта, который мы разворачиваем клиентам как ночной раннер.
import pandas as pd
from anthropic import Anthropic
# 1. механическая часть — pandas, без единого токена
our = pd.read_excel("1c_vzaimoraschety.xlsx", sheet_name="Обороты")
their = pd.read_excel("act_sverki_contractor.xlsx", sheet_name="Акт")
merged = our.merge(
their, on=["doc_number", "amount"], how="outer", indicator=True
)
mismatches = merged[merged["_merge"] != "both"]
# 2. смысловая часть — модель объясняет находки бухгалтеру
client = Anthropic()
resp = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{
"role": "user",
"content": (
"Ты бухгалтер-ревизор. Вот таблица несовпадений CSV, "
"объясни каждую строку одной фразой и предположи причину "
"расхождения (округление, НДС, отсутствующий документ):\n"
+ mismatches.to_csv(index=False)
),
}],
)
print(resp.content[0].text)Модель здесь — claude-sonnet-4-6: для задачи «объяснить уже найденное расхождение» переплачивать за старшую модель линейки Opus не имеет смысла, она нужна там, где логика сопоставления многошаговая и неочевидная. Если объём хвостов большой и сверка идёт не в реальном времени, а пакетно раз в сутки, тот же запрос имеет смысл гнать через Batch API — это тот же вызов, но асинхронный и по официально сниженной вдвое цене за счёт того, что задача не требует немедленного ответа.
MCP: подключаем Excel-файлы к живым источникам, а не только к диалогу
Отдельный слой — Model Context Protocol (MCP), открытый протокол Anthropic, который даёт модели структурированный доступ к внешним инструментам вместо того, чтобы вставлять целые файлы в диалог текстом. Для регулярных сверок это удобно там, где Claude должен не просто прочитать файл один раз, а обращаться к книге как к источнику данных многократно в рамках одной задачи — читать конкретные листы, диапазоны, метаданные формул, не перезагружая весь файл в контекст.
Практическая связка, которую мы поднимаем клиентам поверх Claude Code или Claude Desktop: локальный MCP-сервер-обёртка над openpyxl, который экспонирует операции чтения/записи книги как инструменты, вызываемые моделью напрямую.
{
"mcpServers": {
"excel": {
"command": "uvx",
"args": ["openpyxl-mcp-server"]
}
}
}Это не замена Claude for Excel — это инструмент для другого слоя: когда автоматизация сверки встроена в более широкий агентный процесс (например, тот же ночной раннер должен ещё и создать задачу в Планфиксе на бухгалтера, если расхождение превышает порог, и отправить письмо с приложением) . В такой конфигурации Excel — просто один из подключённых источников данных наравне с CRM и почтой, а не отдельное окно, которое кто-то должен держать открытым.
Claude for Excel против Copilot in Excel и против макроса на VBA
Клиенты почти всегда спрашивают: у нас уже есть Microsoft 365 с Copilot, зачем ещё один инструмент. Ответ зависит от того, что требуется чаще — работа внутри одной книги по подсказке или построение процесса, который бухгалтер не обязан вручную инициировать каждый раз.
| Критерий | Claude for Excel (add-in) | Claude API + pandas/openpyxl | Классический макрос VBA |
|---|---|---|---|
| Кто пишет логику сравнения | модель, по диалогу, каждый раз заново под файл | разработчик один раз пишет скрипт, модель — только интерпретация | разработчик пишет один раз, дальше код не меняется |
| Порог входа для бухгалтера | формулировка задачи словами, без кода | нулевой — бухгалтер просто получает готовый файл | нулевой при использовании, но при поломке нужен программист |
| Пригодность для расписания/cron | нет — интерактивная сессия внутри открытого Excel | да, штатный сценарий | да, через Task Scheduler и headless Excel |
| Прозрачность результата | высокая — цитаты на ячейки, обычные формулы, а не код | средняя — зависит от того, насколько подробно логируется объяснение | низкая — надо читать VBA-код, чтобы понять логику |
| Работа с новым форматом файла контрагента | адаптируется в диалоге на лету | требует правки скрипта разработчиком | требует правки макроса разработчиком |
| Риск при смене формата исходных данных | низкий — модель сама подстраивается под новую структуру | средний — надо поддерживать маппинг колонок | высокий — макрос падает или считает неверно молча |
Мой практический вывод для клиентов до 50 рабочих мест: Claude for Excel закрывает разовые и ежемесячные ручные сверки без найма программиста; Claude API — для конвейеров, которые должны идти по расписанию без участия человека; VBA как категория для новых задач у нас в 2026 году фактически не используется — он остаётся только там, где уже есть старый макрос, который дешевле не трогать, чем переписывать.
Риски, комплаенс и как мы это внедряем у клиентов
Три вещи, которые я проговариваю с директором и главбухом до включения add-in, а не после инцидента.
- Prompt injection через файл контрагента. Если акт сверки прислал внешний контрагент, а не сформировала ваша 1С, в файле теоретически может быть скрытый текст (белым шрифтом, в комментарии к ячейке, в имени листа), который читается моделью как инструкция. Официальная рекомендация Anthropic — не открывать в add-in непроверенные файлы из внешних источников без предварительного просмотра содержимого. Мы решаем это просто: входящий файл контрагента сначала копируется на «чистый» лист без формул и объектов, только значения, и только после этого подключается диалог.
- Хранение и удаление данных. По официальной документации входные и выходные данные автоматически удаляются на бэкенде в течение 30 дней; история переписки хранится локально в браузере (IndexedDB), а не на серверах Anthropic; в add-in есть отдельная вкладка Claude Log, фиксирующая, какие действия были выполнены в книге. Для Enterprise-плана телеметрию аудита можно направить в собственный OTEL-коллектор и завести в SIEM — на тарифах Free/Pro/Max/Team этой глубины наблюдаемости нет.
- 152-ФЗ и персональные данные. Если в акте сверки фигурируют физлица (например, расчёты с самозанятыми или подотчётными лицами), я рекомендую клиентам обезличивать ФИО/паспортные данные до загрузки в облачный сервис — как в add-in, так и при работе через API — и держать саму сверку персональных данных на локальном скрипте pandas без выхода наружу.
Итоговые расчёты, которые идут на подпись или в отчётность, у нас всегда проходят через человека: официальная позиция Anthropic и наша внутренняя практика совпадают — модель ускоряет поиск расхождений, но не заменяет проверку перед отправкой контрагенту или в налоговую. Отдельно фиксируем это правилом в регламенте клиента, а не держим в устной договорённости: без подписи ответственного сотрудника результат сверки не считается окончательным, каким бы убедительным ни выглядело объяснение модели.
Как внедрить за две недели: план для директора и бухгалтера
Порядок, который мы проходим с клиентом от первого разговора до рабочего процесса на регулярной основе.
- Неделя 1, день 1-2. Проверяем тариф Microsoft 365 и сборку Excel у бухгалтера — без подписочной версии (не «коробочный» 2016/2019) add-in не встанет; при необходимости переводим одно рабочее место на подписку.
- Неделя 1, день 2-3. Оформляем/проверяем подписку Claude уровня Pro и выше на бухгалтера, ставим add-in через Microsoft Marketplace, авторизуемся.
- Неделя 1, день 3-5. Прогоняем один реальный, но уже закрытый акт сверки за прошлый месяц как тестовый кейс — сравниваем результат add-in с тем, что бухгалтер нашёл вручную, замеряем время.
- Неделя 2, день 1-2. Если у клиента есть регулярный конвейер (банк + учётная система, несколько складов) — разворачиваем скрипт на Python с pandas/openpyxl и Claude API на нашем сервере, настраиваем cron и уведомление в почту/Telegram при расхождении выше заданного порога.
- Неделя 2, день 3-5. Фиксируем регламент: какие файлы обезличивать перед загрузкой, кто проверяет итоговую сверку перед отправкой контрагенту, куда складывается лог действий (Claude Log в add-in либо наш собственный лог раннера).
После этого бухгалтер продолжает работать сам — без обращения к нам за каждой новой сверкой, потому что логика больше не зашита в один хрупкий макрос, а формулируется заново каждый раз словами. На практике у клиентов до 50 рабочих мест обе недели укладываются в 4-6 часов реальной занятости IT-специалиста плюс тестовые прогоны бухгалтера — основное время уходит не на настройку сервисов, а на согласование регламента доступа к данным контрагентов.
Частые вопросы
- Нужно ли платить отдельно за Claude for Excel сверх подписки Claude?
- Нет, отдельного платежа за сам add-in не требуется — он включён в тарифы Pro, Max, Team и Enterprise. На тарифе Free add-in недоступен. Стоимость подписки при этом зависит от лимитов на количество сообщений и выбора модели внутри диалога.
- Может ли Claude for Excel вместо меня написать макрос VBA для повторяющейся сверки?
- Нет — это не временное ограничение, а сознательное архитектурное решение Anthropic: add-in работает через прикладной интерфейс Office и не получает разрешений на запись и выполнение кода VBA. Он предлагает только формулы и штатные операции листа (сортировка, сводные таблицы, условное форматирование), которые бухгалтер может прочитать и проверить сам.
- Что будет, если загрузить в Claude for Excel файл от контрагента, который я не проверял?
- Официальная рекомендация — не открывать в add-in файлы из непроверенных источников: в них теоретически может быть скрытый текст, интерпретируемый моделью как инструкция (prompt injection). Мы советуем клиентам сначала скопировать значения входящего файла на чистый лист без формул и объектов, и только потом подключать диалог.
- Чем это отличается от Copilot in Excel, если у нас уже есть подписка Microsoft 365?
- Инструменты решают частично разные задачи и в наших внедрениях часто сосуществуют: Copilot глубже интегрирован в саму экосистему Microsoft 365, а Claude for Excel в наших тестах у клиентов лучше держит длинные многошаговые рассуждения при сопоставлении неоднородных данных и даёт кликабельные цитаты на исходные ячейки для каждого вывода. Финальный выбор мы делаем по факту сравнения на вашей реальной сверке, а не по маркетинговым обещаниям любого из вендоров.
- Как автоматизировать сверку, если она должна запускаться по расписанию, а не по клику бухгалтера?
- Для расписания add-in не подходит по конструкции — это интерактивный инструмент внутри открытого Excel. Мы разворачиваем отдельный Python-скрипт на сервере: механическое сравнение делают pandas/openpyxl, а Claude API (модель claude-sonnet-4-6, при большом объёме — через Batch API за половину стоимости) подключается только для объяснения находок бухгалтеру человеческим языком, и весь процесс идёт по cron без участия человека до момента, когда нужно проверить итог.