Сверка счёта, заказа и приёмки
Сверяет три независимых свидетельства одной поставки и выдаёт список расхождений. Ничего не согласовывает и не оплачивает: решение принимает человек.
Когда применять
Применяйте, когда перед оплатой нужно убедиться, что поставщик выставил счёт ровно на то, что было заказано и фактически принято.
Не применяйте, если документов меньше трёх: сверка двух документов даёт ложное спокойствие, потому что именно третий документ ловит недопоставку. В этом случае скажите об этом прямо и остановитесь.
Что нужно на входе
- Счёт поставщика: номер, дата, поставщик, строки с позициями (код, наименование, количество, цена, сумма), итог.
- Заказ на закупку: номер, поставщик, строки с позициями, согласованные цены, допустимое отклонение по количеству.
- Акт приёмки: номер, дата, ссылка на заказ, фактически принятые количества, отметки о браке.
Формат любой машиночитаемый: CSV, XLSX, JSON, выгрузка из учётной системы. Если пользователь дал только пути к файлам, прочитайте их. Если какого-то из трёх документов нет, не начинайте сверку: сообщите, какого документа не хватает, и попросите его.
Как сопоставлять
Ключ сопоставления по умолчанию: номер заказа + код позиции. Если в счёте нет кода позиции, сопоставляйте по номеру заказа и наименованию, приведённому к нижнему регистру без двойных пробелов, и пометьте такие строки как сопоставленные по названию: это менее надёжно.
Частичные поставки — норма. Одному заказу могут соответствовать несколько приёмок и несколько счетов, поэтому сравнивайте накопленные итоги по позиции, а не отдельные строки.
Округление: расхождение суммы до 1 рубля включительно считайте округлением и не выносите в отчёт. Порог задаётся пользователем и по умолчанию равен 1.
Шаги
- Прочитайте три документа и приведите их к таблицам: заказ, приёмка, счёт.
- Проверьте, что все три относятся к одному поставщику и одному заказу. Если нет, остановитесь и сообщите.
- Постройте объединённую таблицу по ключу сопоставления: заказано, принято, выставлено.
- Для каждой позиции вычислите три разницы: принято минус заказано, выставлено минус принято, сумма по счёту минус сумма по цене заказа.
- Отнесите каждое расхождение к одному из типов ниже.
- Отсортируйте расхождения по сумме влияния, от большей к меньшей.
- Соберите отчёт в формате из раздела «Результат» и покажите его пользователю.
Какие расхождения искать
| Тип | Признак | Кому адресовать |
|---|---|---|
| Счёт без приёмки | Позиция есть в счёте, но не принята | Снабжение: подтвердить получение |
| Недопоставка | Принято меньше заказанного | Снабжение: требование к поставщику |
| Перепоставка | Принято больше заказанного сверх допуска | Склад: решение о возврате |
| Цена выше заказа | Цена в счёте больше согласованной | Закупки: пересогласование или отказ |
| Дубль счёта | Тот же номер и поставщик уже встречался | Бухгалтерия: риск двойной оплаты |
| Брак в приёмке | Есть отметка о браке, но счёт выставлен полностью | Снабжение: удержание |
Если что-то пошло не так
- Файл не читается или пустой: назовите файл и остановитесь, не додумывайте содержимое.
- Ключ не совпал ни по одной строке: скорее всего это документы от разных поставок. Сообщите и попросите проверить, те ли файлы.
- В документах разные валюты: остановитесь, конвертацию не выполняйте.
- Данных за период нет: скажите об этом прямо, пустой отчёт не выдавайте за успешную сверку.
Результат
Готово, когда выдана таблица расхождений и сводка. Формат:
СВЕРКА: заказ 4512 · поставщик «Металлсервис» · 2026-09-11
Расхождений: 3 на сумму 84 200 ₽
| Позиция | Заказано | Принято | В счёте | Тип | Влияние, ₽ |
|----------------|----------|---------|---------|--------------------|-----------|
| Лист 3мм 1250 | 40 | 36 | 40 | Счёт без приёмки | 72 000 |
| Уголок 50х50 | 100 | 100 | 100 | Цена выше заказа | 11 400 |
| Круг 12 | 20 | 22 | 20 | Перепоставка | 800 |
Сопоставлено позиций: 14 из 14. По названию, не по коду: 1.
К оплате без вопросов: 11 позиций на 512 300 ₽.
Если расхождений нет, так и напишите: «Расхождений нет, сопоставлено 14 позиций из 14», и покажите итоговую сумму. Пустой ответ недопустим.
Чего этот скилл не делает
Не согласовывает счёт, не отправляет его в оплату, не пишет поставщику и не меняет данные в учётной системе. Все перечисленные действия необратимы и остаются за человеком.