Ящик отдела закупок — это хранилище данных, которое никто не считает системой. В нём лежат актуальные цены, обещанные сроки, номера отгрузок и признанные претензии, и всё это существует только в виде писем. Пока писем сотня в неделю, с этим справляется один человек и папка «Поставщики». На двухстах письмах в неделю разбор ящика превращается в 13,6 часа рутины и в единственную точку, где знание о закупках хранится и теряется.
Ниже — разбор почтового конвейера как инженерной задачи: из чего состоит поток, сколько стоит его ручной разбор, как устроен конвейер с точками контроля, где он ломается на практике и с какого объёма писем его вообще имеет смысл ставить. Все расчёты модельные, арифметика открытая — подставьте свои числа.
Сразу о границе. Конвейер не отвечает за вас на письма и не ведёт переговоры. Он делает механическую часть: понимает, что за письмо пришло, достаёт вложение, распознаёт документ, находит для него заказ и ставит задачу человеку. Смысловой ответ поставщику остаётся человеческим, и это не временное ограничение, а сознательное проектное решение.
Что на самом деле лежит в ящике закупщика
Поток неоднороден: пять типов писем требуют разных действий и стоят разного времени. В модельной компании — 200 писем в неделю, около 860 в месяц. Колонка «минут после» показывает, сколько остаётся человеку, когда механическую часть делает конвейер.
| Тип письма | В неделю | Минут сейчас | Минут после | Что остаётся человеку |
|---|---|---|---|---|
| Прайс и обновление цен | 34 | 6 | 1 | Проверить карточку, если поставщик прислал новый формат файла |
| Счёт, УПД, акт | 58 | 4 | 1,2 | Подтвердить сопоставление с заказом, когда суммы разошлись |
| Уведомление об отгрузке, накладная, трек | 41 | 3 | 0,3 | Ничего, если дата совпала с заказом |
| Претензия, брак, недопоставка | 12 | 12 | 5 | Весь разбор: конвейер только собирает факты в карточку |
| Переписка по договорам и заявкам | 55 | 2 | 0,8 | Ответ по существу |
| Итого за неделю | 200 | 813 мин | 220 мин | Освобождается 9,9 часа в неделю |
Самая дорогая строка — не самая заметная. Претензий всего 12 в неделю, 6 % потока, но они съедают 144 минуты: поднять поставку, найти акт приёмки, собрать фотографии, вспомнить, что отвечал поставщик в прошлый раз. Конвейер не решает претензию, но собирает всё это в одну карточку заранее — и 12 минут превращаются в 5.
Есть и вторая, менее очевидная проблема этого потока. Половина строк таблицы — прайсы, уведомления об отгрузке и переписка по заявкам — содержит сведения, которые больше нигде не хранятся: обещанная цена до подписания протокола, перенос отгрузки на четыре дня, устное согласие на замену позиции. Пока закупщик на месте, это знание работает. Когда он уходит в отпуск или увольняется, вместе с ним уходит и ящик: новый сотрудник получает 40 000 писем без структуры и полгода восстанавливает договорённости по обрывкам. Конвейер решает и эту задачу — не потому, что умный, а потому, что кладёт каждое письмо в связь с конкретным заказом или поставщиком.
Парная горизонтальная диаграмма. Левая шкала — число писем в неделю: прайсы 34, счета 58, отгрузки 41, претензии 12, переписка 55. Правая шкала — минуты в неделю на тот же тип: 204, 232, 123, 144, 110. Полосы одного типа стоят напротив друг друга, чтобы был виден разрыв у претензий (мало писем — много минут). Внизу итог «813 минут в неделю — 13,6 часа». Оси подписаны, все подписи по-русски.
Сколько стоит разбор почты руками
Полная стоимость часа закупщика в модельном расчёте — 1 000 ₽: оклад с налогами и взносами, рабочее место, доля общих расходов. Возьмите свою, но именно полную: считать по голому окладу — значит занижать потери примерно вдвое.
Время — единственная статья, которую мы считаем, и это сознательное решение. Вторая статья потерь существует, но плохо измеряется до внедрения: письма, которые зависли. В модельной компании 2,4 % писем не доходят до действия — счёт не ушёл в оплату, уведомление о переносе отгрузки не попало в заказ, обновление прайса не заметили. Это 21 письмо в месяц, и цена каждого разная: от нуля до сорванной отгрузки. Оценивать эту статью «в среднем по рынку» бессмысленно, поэтому в расчёт она не входит и работает как запас прочности, а не как аргумент.
514 000 ₽ станут деньгами только в двух случаях: если 9,9 часа в неделю уходят на работу, которая приносит результат — сравнение предложений, переговоры, разбор брака, — или если поток растёт и вы не нанимаете второго закупщика. Если освободившееся время просто рассосётся, вы получите более спокойного сотрудника и никакой экономии. Это нормальный исход, но его надо назвать до проекта, а не после.
Конвейер с точками контроля
Конвейер состоит из пяти шагов. Между ними стоят точки контроля — места, где обработка останавливается и зовёт человека. Без них конвейер тихо делает неверные вещи, и это хуже, чем ручной разбор.
- 11. Отбор письма
Три независимых признака: отправитель есть в реестре контрагентов, или в письме либо вложении встречается ИНН из реестра, или модель уверенно относит письмо к одной из пяти категорий. Не прошло ни по одному — не в мусор, а в карантин с ежедневным разбором. Точка контроля: журнал карантина, который кто-то обязан открывать.
- 22. Извлечение вложений
Архивы распаковываются до глубины три, файлы .eml и .msg разбираются как отдельные письма, файлы тяжелее 25 МБ уходят человеку задачей. Каждое вложение получает отпечаток содержимого, чтобы один и тот же счёт из трёх пересылок не обработался трижды.
- 33. Распознавание
Счёт, УПД и акт разбираются по полям — механика описана в решении «Распознавание счетов и актов». Прайс приводится к единой таблице, это отдельная задача со своей ценой. Письмо без вложения разбирается по тексту. Точка контроля: поля с низкой уверенностью подсвечиваются, а не подставляются молча.
- 44. Сопоставление
Счёт привязывается к заказу по номеру заказа, ИНН и сумме; уведомление об отгрузке — к строке заказа; претензия — к конкретной поставке. При неоднозначности конвейер не угадывает, а показывает оператору двух кандидатов. Точка контроля: расхождение суммы больше 1 % останавливает автоматическое проведение.
- 55. Задача и след
Каждое письмо заканчивается либо записью в учётной системе, либо задачей ответственному со сроком. Статус «обработано, ничего не создано» — тоже результат, и он должен быть виден в журнале: именно в нём потом находят потерянные счета.
Фраза «с 15 сентября цена 1 240 ₽ вместо 1 180 ₽» в теле письма — это изменение прайса без документа. Извлечь её несложно, но подставлять такую цену в систему автоматически нельзя: тогда цена в учёте меняется письмом менеджера. Правильная реакция — создать предложение об изменении цены и отдать его закупщику на подтверждение одним нажатием.
Схема слева направо из пяти блоков: «Отбор письма», «Извлечение вложений», «Распознавание», «Сопоставление с заказом», «Задача ответственному». Под первым блоком боковая ветка вниз в блок «Карантин: разбор раз в день». Над блоками три флажка-точки контроля с подписями: «журнал карантина», «поля с низкой уверенностью подсвечены», «расхождение суммы больше 1 % — стоп». Справа от последнего блока два выхода: «запись в учётной системе» и «задача со сроком». Чертёжный стиль, подписи по-русски.
Три места, где контур ломается
Эти три сценария встречаются в каждом втором проекте. Они не экзотика, и закладывать их надо сразу, а не чинить после жалобы закупщика.
- 1Письмо с нового домена. У поставщика сменился менеджер, и он пишет с личного ящика или с домена дочернего юрлица. Белый список адресов такое письмо не пропускает, и счёт зависает. Лечится тем, что отбор строится не на адресе: письмо ловится по ИНН во вложении или по классификации содержимого, а спорное уходит в карантин
- 2Длинная пересланная цепочка. Внизу письма лежит переписка за три месяца, и в ней три разные цены на одну позицию. Модель, читающая всё письмо целиком, вытащит не ту. Лечится обрезкой цитирования по разделителям и приоритетом верхнего блока; если в цепочке нашлось несколько разных значений одного поля — это флаг для человека, а не повод выбрать последнее
- 3Архив внутри архива и защищённые файлы. Поставщик кладёт .zip, внутри .rar, внутри — .msg с вложением. Или архив с паролем, а пароль в теле письма. Лечится ограничением глубины распаковки и явным отказом: конвейер обязан поставить задачу «не смог открыть», а не промолчать
Общий принцип у всех трёх один: молчаливый пропуск хуже честного отказа. Письмо, которое конвейер не понял и отправил в карантин, будет обработано за сутки. Письмо, которое он посчитал обработанным и выбросил, не найдут никогда — а это может быть счёт на 400 000 ₽ или уведомление о переносе отгрузки.
Таблица-сравнение из трёх строк и трёх колонок. Колонки: «Ситуация», «Что делает наивный контур», «Что должен делать конвейер». Строки: «Письмо с нового домена» — «не проходит белый список, теряется» — «ловится по ИНН из вложения, иначе карантин»; «Пересланная цепочка с тремя ценами» — «берёт цену из нижнего старого письма» — «читает верхний блок, при конфликте ставит флаг»; «Архив внутри архива» — «молча пропускает» — «глубина 3, дальше задача „не смог открыть“». Колонка «наивный контур» помечена как ошибочная. Чертёжный стиль, подписи по-русски.
152-ФЗ: где лежит копия письма и кто её видит
В подписях писем поставщиков лежат ФИО, должности и мобильные телефоны конкретных людей, а в претензиях встречаются данные водителей вплоть до паспортных. Это персональные данные, и обработка почты попадает под 152-ФЗ независимо от того, что письма деловые.
- Копия письма и вложений хранится на сервере в России, срок хранения зафиксирован и соблюдается автоматически, а не «пока не кончится место»
- Доступ к ящику — по принципу минимальных прав: отдельная служебная учётная запись только на чтение нужной папки, а не личный ящик закупщика с его перепиской
- Если разбор идёт языковой моделью, важно, где она физически. Российские модели вроде GigaChat или YandexGPT 5 и локальная модель на своём сервере снимают вопрос трансграничной передачи; зарубежные API через рублёвые прокси — это риск, а не решение
- С подрядчиком оформляется поручение обработки персональных данных: оператором остаётесь вы, даже если инфраструктуру ведёт он
- Журнал: кто и когда открывал копию письма. Без него вы не сможете ответить на вопрос об утечке, а отвечать придётся за 24 и 72 часа
Ничего экзотического здесь нет — это тот же периметр, который мы описываем на странице о безопасности. Важно только не оставлять его на потом: перенести уже работающий конвейер с зарубежной модели на российскую стоит дороже, чем сразу выбрать российскую.
Когда почтовый конвейер не нужен
Экономия конвейера — примерно 2,97 минуты на письмо. Чтобы она покрыла 216 000 ₽ эксплуатации в год и внедрение, разнесённое на три года, нужно около 349 минут экономии в неделю — это примерно 120 писем в неделю. Ниже этого порога проект убыточен, и вот четыре ситуации, где к нему не стоит подходить.
- Меньше 120 писем в неделю. При 50 письмах экономия составляет около 148 минут в неделю — 128 000 ₽ в год, что не покрывает даже эксплуатацию
- Поставщиков мало и все шлют один и тот же формат. Дешевле один раз договориться о выгрузке по ссылке или обмене файлом по расписанию, чем строить разбор писем
- Нет учётной системы, с которой сопоставлять. Если заказы живут в общей таблице, шаг 4 конвейера сопоставлять не с чем, и половина смысла исчезает
- Ящик один и он же личный ящик закупщика. Сначала заведите общий ящик закупок с правилами пересылки — это бесплатно, занимает день и само по себе снимает часть боли
И последнее. Почтовый конвейер решает задачу «письмо превратилось в запись или в задачу». Он не приводит прайсы к сопоставимому виду и не сравнивает предложения — это две отдельные задачи со своей ценой, они разобраны в статьях про сведение прайсов поставщиков и про автоматическое сравнение коммерческих предложений. Ставить все три сразу можно, но начинать разумно с почты: она дешевле остальных и даёт данные, на которых работают обе следующие.
