Сверка двух таблиц или выписки с учётом: скрипт находит расхождения за минуты
Ручная сверка двух таблиц — часы работы и пропущенные ошибки. Разбираю, как скрипт сопоставляет записи, по какому ключу и что обычно находится при первой сверке.
Коротко (TL;DR)
- Сверку двух списков руками делают часами: оплаты банка и счета, отгрузки и оплаты, остатки двух систем, два прайса. Скрипт делает её за минуты и не устаёт на тысячной строке.
- Главное в сверке — ключ сопоставления. Номер счёта, ИНН, артикул или связка суммы и даты. Там, где ключ записан по-разному, помогает нечёткое совпадение.
- Итог сверки — несколько понятных списков: совпало, есть только в первом файле, есть только во втором, есть в обоих, но с разной суммой. Разбирать нужно только расхождения.
В конце месяца бухгалтер или менеджер садится с двумя файлами. Слева выписка, справа счета из учёта. Или остатки со склада и остатки на маркетплейсе. Он ищет каждую строку глазами, ставит галочки, красит ячейки. К вечеру устаёт и пропускает пару расхождений. Я пишу скрипты, которые делают такую сверку за минуты. Расскажу, как это устроено и что нужно, чтобы результат был надёжным.
Что обычно сверяют
Самая частая задача — оплаты из банка против выставленных счетов. Нужно понять, какие счета оплачены, какие нет и откуда пришли деньги без счёта.
Вторая — отгрузки против оплат. Товар уехал, а деньги не пришли. Или пришли, но меньше. Третья — остатки двух систем. Например, склад в 1С и остатки на площадке, где вы продаёте. Четвёртая — два прайса: ваш старый и новый от поставщика, или ваш и конкурента.
Во всех случаях задача одна и та же. Есть два списка, их надо сопоставить построчно и показать, где они не сходятся.
Ключ сопоставления: по чему находим пару
Чтобы найти пару строке из одного файла, нужен признак, который есть в обоих. Это и есть ключ. Для счетов это номер счёта в назначении платежа. Для контрагентов — ИНН. Для товаров — артикул или штрихкод.
Бывает, что единого ключа нет. Тогда сопоставляю по нескольким признакам сразу: ИНН плюс сумма, или сумма плюс дата в пределах нескольких дней. Так ловятся оплаты, где номер счёта никто не указал.
Ключ выбираем вместе с вами на старте. Вы лучше знаете, как у вас пишут назначение платежа и где хранится артикул.
| Что сверяем | По какому ключу | Что обычно находится |
|---|---|---|
| Оплаты банка и счета | Номер счёта в назначении, ИНН и сумма | Неоплаченные счета, оплаты без счёта, частичные оплаты |
| Отгрузки и оплаты | Номер документа, ИНН, сумма | Отгрузки без оплаты, переплаты, долги по отдельным клиентам |
| Остатки двух систем | Артикул или штрихкод | Товар есть в одной системе и нет в другой, разное количество |
| Два прайса | Артикул, иногда название | Новые позиции, выбывшие позиции, изменение цены |
| Акт сверки с контрагентом | Дата, номер документа, сумма | Документы, которые одна сторона провела, а другая нет |
Когда ключ записан по-разному
В реальных файлах ключ редко совпадает буква в букву. В выписке номер счёта написан как «сч. 125», а в учёте как «125». Артикул в одном файле с дефисом, в другом без. Название компании то с кавычками, то без формы собственности.
Скрипт сначала приводит ключи к одному виду. Убирает пробелы, лишние знаки, приводит регистр. Потом ищет точные совпадения. Для оставшихся строк включается нечёткое совпадение: скрипт ищет похожие варианты и помечает их как вероятную пару.
Вероятные пары я не сливаю молча. Они идут в отдельный список, где видно, почему скрипт так решил. Человек смотрит и подтверждает. Так сверка остаётся честной, а не угадывает за вас.
Итог: несколько списков вместо одной простыни
Результат сверки — файл или таблица с листами. На первом листе строки, которые совпали полностью. На них можно не смотреть. На втором — строки, которые есть только в первом файле. На третьем — только во втором. На четвёртом — пары, где ключ совпал, а сумма или количество разные.
Вверху короткая сводка: сколько строк в каждом списке и на какую сумму. Сразу видно масштаб проблемы. Разбирать руками нужно только расхождения, а это обычно малая часть всех строк.
Если сверка нужна регулярно, её удобно запускать прямо из таблицы. Про такие скрипты я писал в статье скрипт для Google Таблиц.
Как это выглядит, когда настроено
Первое число месяца. Бухгалтер выгружает выписку за прошлый месяц и список счетов из учёта. Кладёт оба файла в папку или загружает в таблицу и нажимает кнопку.
Через пару минут готов отчёт. В сводке видно: большая часть оплат нашла свои счета. Несколько счетов висят без оплаты. Пара платежей пришла без номера счёта, и скрипт предлагает для них вероятные пары по ИНН и сумме. Ещё один счёт оплачен не полностью.
Бухгалтер проверяет вероятные пары, подтверждает их и отправляет менеджерам список должников. Вся сверка занимает меньше часа вместо дня. Если хочется, чтобы оплаты вообще сами разносились в учёте, об этом статья оплаты сами разносятся в 1С.
Как заказать такую задачу
Пришлите пример двух файлов, которые вы сверяете. Можно обезличить: заменить названия и суммы, главное сохранить структуру. Если файлов нет под рукой, подойдёт скриншот. Опишите, как сверка делается руками сейчас и сколько времени она занимает.
Я смотрю файлы и предлагаю ключ сопоставления. Называю оценку по срокам. Пишу скрипт и прогоняю его на ваших реальных данных за прошлый период. Сравниваем результат с тем, что вы нашли руками. Потом передаю скрипт, инструкцию, как его запускать, и доступы, если он работает на сервере или в таблице. После сдачи есть гарантийный срок на исправление ошибок в моей работе.
Если формат файлов стабилен, это разовая задача. Если форматы часто меняются или нужны новые виды сверок, удобнее абонентка. Подробнее о формате на странице разовые задачи: скрипты, парсеры, выгрузки.
Частые вопросы
Нужен ли доступ к нашему банку или учёту?
Нет, если вы сами выгружаете файлы. Скрипт работает с выгрузками. Прямую связь можно настроить отдельно, если это удобнее.
Файлы в разных форматах: один Excel, другой CSV. Это проблема?
Нет. Скрипт читает оба формата и приводит их к одному виду перед сверкой.
Что если в одном файле тысячи строк?
Для скрипта это немного. Сверка большого файла занимает минуты.
Может ли скрипт ошибиться с парой?
При точном ключе почти нет. Вероятные пары он не сливает сам, а выносит на проверку человеку.
Можно ли использовать результат сверки в отчётности?
Результат помогает найти расхождения. Как их отражать в учёте, лучше уточнить у вашего бухгалтера.
Коротко о главном
Сверка двух списков — механическая работа, которую скрипт делает быстрее и аккуратнее человека. Оплаты и счета, отгрузки и оплаты, остатки и прайсы сверяются по одной схеме.
Надёжность зависит от ключа сопоставления и от того, как скрипт обращается с похожими, но не одинаковыми записями. Точные пары сходятся сами, спорные идут на проверку, а итог раскладывается на понятные списки.
Если у вас кто-то регулярно сидит над двумя файлами с маркером, пришлите пример этих файлов. Скажу, как их сверять автоматически. Напишите в Telegram, MAX или VK.
Небольшие задачи без большого проекта
- Парсеры, сверки и выгрузки в таблицы
- Скрипты, генераторы документов, обработка файлов
- Простые боты и напоминания в мессенджер
- Абонентка: мониторинг, поддержка, отчёты
Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»
12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.
Готовы обсудить вашу задачу?
Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.
Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.


