ТакПростоТакПросто.ai
ЦеныДля бизнесаОбразованиеДля инвесторов
ВойтиНачать

Продукт

ЦеныДля бизнесаДля инвесторов

Ресурсы

Связаться с намиПоддержкаОбразованиеБлог

Правовая информация

Политика конфиденциальностиУсловия использованияБезопасностьПолитика допустимого использованияСообщить о нарушении
ТакПросто.ai

© 2026 ТакПросто.ai. Все права защищены.

Главная›Блог›Веб-приложение для приемки товара по QR: расхождения и акты
16 янв. 2026 г.·5 мин

Веб-приложение для приемки товара по QR: расхождения и акты

Разберем, как спроектировать веб-приложение для приемки товара по QR: поток «поставка → позиции → расхождения», сканирование и формирование акта.

Веб-приложение для приемки товара по QR: расхождения и акты

Что именно автоматизировать в приемке

Приемка по QR обычно ломается не на сканировании, а на фиксации факта: что именно приехало, что вы реально увидели на паллете и как быстро оформить расхождения. Хорошее приложение убирает ручные записи, снижает ошибки и делает процесс прозрачным для склада, снабжения и бухгалтерии.

Расхождение - это не только «не доложили». В реальной приемке чаще всего встречаются четыре ситуации: недостача (приехало меньше), пересорт (приехал не тот товар), излишек (товар есть, но в документах его нет) и брак (приехал, но не принимается в остатки). Ключевое требование: расхождение фиксируется сразу, в момент обнаружения, пока коробка еще в руках, а не «потом в конце смены».

Процесс лучше держать линейным: сначала выбираете поставку, затем работаете с ее позициями, и только после этого оформляете расхождения. Если эти шаги смешать, люди начинают сканировать «в никуда», появляются дубли, а разбор превращается в поиск по чатам и звонкам.

На выходе обычно нужны два результата: акт расхождений по поставке (для поставщика и учета) и история действий (кто сканировал, что подтвердил, когда и почему).

Пример: приехали 20 коробок, по QR нашли 2 пересорта и 1 недостачу. Система должна показать итог по каждой позиции и сформировать акт без ручного переписывания.

Минимальная модель данных: поставка, позиции, расхождения

Чтобы приложение для приемки по QR не превратилось в «комбайн», начните с трех сущностей: поставка, позиции поставки и расхождения. Этого хватает, чтобы сканировать, фиксировать факт и выпускать акт.

Поставка - это «контейнер» приемки. Обычно достаточно номера (как в накладной), поставщика, даты и статуса. Статусы держите простыми: черновик (создали и загрузили позиции), в приемке (идет сканирование), закрыта (все подтверждено, акт сформирован).

Позиции поставки - это ожидаемая ведомость: SKU (или внутренний код), наименование, ожидаемое количество и единица измерения (шт, кг, уп). Важно разделять «ожидаемое» и «фактическое», даже если чаще всего они совпадают.

Расхождение хранит факт и причину. Практичный минимум: фактическое количество, разница (или непринятое количество), тип расхождения (недостача, пересорт, излишек, брак), комментарий и кто подтвердил. Для пересорта полезно хранить связку «ожидали SKU A, фактически пришло SKU B».

Чтобы потом не спорить «кто нажал», заведите журнал событий (аудит). Это отдельный лог, который пишет записи при каждом скане, отмене, подтверждении и правке.

Для акта тоже не усложняйте структуру: заголовок (поставка, поставщик, дата), таблица расхождений, комментарии и подписи (ФИО или роль, время). Например: по поставке 4512 нашли недостачу 2 шт по SKU 1007 и пересорт, где вместо SKU 2001 пришел SKU 2003.

Роли и правила: кто что видит и кто подтверждает

Чтобы приемка не превращалась в спор «кто виноват», роли и права лучше задать сразу. Тогда у каждого будет понятный экран и набор действий, а цифры по поставке будут сходиться без ручных правок.

Чаще всего хватает трех ролей:

  • Кладовщик открывает активные поставки и работает в режиме сканирования. Он фиксирует факт и добавляет короткий комментарий. Фото - только если это действительно предусмотрено вашим процессом.
  • Старший смены видит очередь спорных строк (пересорт, подозрительные дубли, нестандартные случаи), подтверждает решения и закрывает поставку.
  • Бухгалтерия или закупки не участвуют в сканировании. Им нужен итог: акт, финальные количества и прозрачная история подтверждений.

Важно разделить «ввод факта» и «утверждение». Например, кладовщик может указать недостачу 2 шт., но официальным расхождением это станет только после подтверждения старшим смены. Такой подход снижает конфликты: данные появляются сразу, но не считаются финальными, пока их не утвердили.

Правки после закрытия

Без правил правок любой акт быстро теряет доверие.

После закрытия поставки не меняйте количества «в строке». Вместо этого создавайте корректировку отдельным действием, обязательно фиксируйте причину и автора, а в журнал событий добавляйте запись «кто, что изменил, когда и почему». Если акт нужно пересобрать, выпускайте новую версию (например, «Акт v2») и храните, кто и зачем его пересоздал.

Интерфейс: как должен выглядеть экран сканирования

Интерфейс приемки должен помогать делать одно действие за раз. На складе шумно, руки заняты, времени мало, поэтому лучше ограничиться двумя основными экранами и одной вкладкой контроля.

1) Выбор поставки. Пользователь находит поставку по номеру, дате или поставщику, видит краткое резюме (сколько позиций и плановое количество) и нажимает одну кнопку «Начать приемку». Это снижает риск, что сканирование уйдет не в ту поставку.

2) Экран сканирования. Камера открывается сразу. В центре - крупный статус: «Сканируйте QR», «Код распознан», «Код не найден», «Позиция не в этой поставке». Под ним - короткая подсказка: поднести ближе, включить свет, протереть этикетку, перейти на ручной ввод.

После каждого скана показывайте карточку позиции: название, артикул, ожидаемое количество и уже принятое. Для скорости добавьте быстрые действия (+1, +5) и ручной ввод, если принимаете коробами.

Кнопки для фиксации расхождений лучше держать всегда на виду и сделать одинаковыми для любой позиции: недостача, пересорт, излишек, брак и короткий комментарий.

3) Вкладка «Расхождения». Список всех проблем, фильтр по типу и быстрый переход в нужную позицию. Кладовщик отмечает проблему на месте, а старший смены позже быстро проходит список и подтверждает решения.

Поток «поставка -> позиции -> расхождения» без лишних шагов

Сильная приемка по QR держится на простом потоке: сначала фиксируете, что должно приехать, затем накапливаете факт сканами, и только при проблемах уходите в расхождения. Если постоянно прыгать по экранам или пытаться «разбирать ошибки» до накопления факта, люди начнут обходить систему.

Рабочий поток выглядит так:

  • Создаете поставку и загружаете ожидаемые позиции (из файла или вручную).
  • Открываете поставку в режиме приемки: скан находит позицию и увеличивает принятое количество (на 1 или на шаг, если QR кодирует упаковку).
  • Если скан не совпал с ожиданием, фиксируете расхождение прямо на месте и продолжаете приемку.
  • Сверяете итоги: по каждой позиции видно ожидаемое, принятое и разницу, а по поставке - общий статус и список проблемных строк.
  • Закрываете поставку: ключевые поля блокируются, чтобы после подтверждения ничего не поменялось.

Пример: поставка на 120 единиц. На 37-й минуте сканируете товар, который относится к другой позиции. Одним действием создаете пересорт с причиной «в коробке другой артикул» и идете дальше. В конце у поставки 3 проблемные строки, и сразу понятно, готов ли акт.

Правила сканирования и обработка проблемных случаев

Пилот на живых поставках
Проверьте на складе поток поставка-позиции-расхождения без долгой разработки.
Запустить пилот

Сканирование должно быть предсказуемым: один QR - одна понятная реакция. Заранее договоритесь, что именно зашито в коде, иначе будет много «не распознано» и ручной работы.

Что должен содержать QR

Минимум, который спасает приемку от путаницы: SKU или внутренний код позиции (лучше не название). Дальше по необходимости добавляют номер партии и срок годности. Если часто принимаете коробами, полезен коэффициент или единица учета.

Если QR не читается (грязь, блики, камера без фокуса), нужен быстрый запасной путь: ручной поиск по SKU, штрихкоду или названию, но только в рамках текущей поставки. Хорошее правило: ручной режим не должен занимать больше 10-15 секунд на позицию.

Антидубли обязательны. Частый сбой: сотрудник держит камеру над кодом, и система успевает прибавить +1 несколько раз. Защита обычно включает блокировку повторного скана того же значения на 1-2 секунды, явный счетчик на экране и идемпотентность на сервере (одно событие скана имеет свой идентификатор).

Если пропала связь, приемка не должна останавливаться. Сохраняйте действия в очередь на устройстве (скан, ручное добавление, отмена), а при восстановлении сети отправляйте пачкой и показывайте статус: «в очереди», «отправлено», «конфликт».

Чтобы быстро понимать, что ломается, ведите логи: ошибки камеры и прав доступа, невалидный формат QR, конфликты дублей, сетевые ошибки и повторы отправки, а также кто и когда делал ручные правки.

Генерация акта расхождений: что в него включить

Акт расхождений нужен не ради «бумажки», а чтобы зафиксировать факт и дальше спокойно разрулить пересорт и недостачу: принять, оформить претензию, сделать возврат или корректировку остатков. Если акт формируется автоматически, важнее всего, чтобы он был понятным и одинаковым каждый раз.

В акте обычно три блока:

  • Реквизиты поставки: номер и дата, поставщик, склад, ответственное лицо, номер накладной (если есть), время начала и окончания приемки.
  • Таблица расхождений: только позиции с отклонением. Для каждой строки: код/артикул, наименование, ожидалось, факт, разница, тип (недостача, излишек, пересорт, брак) и причина/комментарий.
  • Итоги и подписи: сколько строк с расхождениями, общая недостача и излишек в штуках (и в сумме, если учет по цене), поля «Сдал» и «Принял».

Логика заполнения простая: ожидалось берется из документа поставки, факт - из сканирований и подтвержденных корректировок. «Чистые» позиции без отклонений в акт не попадают.

Чтобы повторно сформированный акт не путал людей, добавьте номер и версию: «Акт N 17, версия 2, пересоздан 21.01.2026 14:35», и храните, кто и почему пересоздал.

По выводу чаще всего хватает печатной формы и PDF. Иногда нужна выгрузка в файл для бухгалтерии. В любом случае оставьте поля для согласования: комментарий, ответственный, дата и статус подтверждения.

Как сформулировать задачу для AI, чтобы он собрал приложение под ваш процесс

Экран сканирования для одной руки
Сделайте экран сканирования с быстрыми действиями, антидублями и подсказками для кладовщика.
Собрать приложение

AI дает лучший результат, когда вы описываете процесс как для исполнителя: какие экраны нужны, какие статусы меняются и кто имеет право нажимать «Подтвердить».

Начните со «скелета»:

  • Экраны: список поставок, карточка поставки (позиции), сканирование QR, расхождения, предпросмотр и печать акта.
  • Поля: поставка (номер, дата, поставщик), позиция (SKU, название, ожидалось), сканирование (факт), расхождение (тип, комментарий, фото опционально).
  • Статусы: черновик, в приемке, на подтверждении, закрыта, акт сформирован.
  • Роли: кладовщик сканирует, старший смены подтверждает, бухгалтер видит акты; после закрытия - запрет редактирования, только корректировки.
  • Поток данных: «поставка -> позиции -> расхождения».

Отдельно проговорите экран сканирования «для одной руки»: крупные кнопки, минимум текста, автофокус, простые сообщения при ошибках (неизвестный QR, дубль, скан не в ту поставку).

Затем задайте шаблон акта: шапка, таблица расхождений, правила (что считать пересортом), и один пример на тестовых данных.

И сразу зафиксируйте критерии готовности. Например: 3 тестовые поставки с ожидаемыми результатами, возможность сканировать 10 позиций за минуту без лишних кликов, расхождение создается за 2 действия и попадает в акт, после закрытия данные не меняются, акт одинаково формируется для пересорта и недостачи.

Частые ошибки и как их избежать

Самая частая причина хаоса не в QR, а в том, что люди по-разному понимают, что считать ошибкой. Термины лучше закрепить в интерфейсе и данных.

Смешивание уровней расхождений. Расхождение по позиции (SKU) - одно, по коробке/партии/палете - другое. Фиксируйте на том уровне, который влияет на учет и акт. Если важны партии, добавьте поле «партия/серия» и не позволяйте закрыть строку без него.

Нет статусов и запретов. Если поставку можно править после «Закрыто», ошибки становятся невидимыми. Держите понятные статусы и жесткое правило: после закрытия только корректировка с причиной, автором и записью в журнал.

Слишком много ручного ввода. На складе никто не будет печатать длинные комментарии. Помогают быстрые причины (пересорт, недостача, повреждение, нет маркировки) и минимум полей на экране.

Расхождения разбросаны по разным местам. Нужен единый список «Проблемные позиции» со счетчиком и фильтрами.

Акт строится из «текущего состояния». Если кто-то поправил данные после печати, вы не докажете, что было в момент формирования. Акт должен иметь версию, дату и время, автора и снимок данных на момент выпуска.

Быстрый чеклист перед запуском на складе

Перед запуском прогоните тест в условиях, похожих на реальную смену: тот же свет, те же телефоны, тот же интернет.

Проверьте:

  • Есть тестовая поставка на 5-10 позиций, и вы заранее знаете, где будет недостача, пересорт или излишек.
  • Скан срабатывает стабильно за 1-2 секунды, а сообщение об ошибке говорит простыми словами, что произошло и что делать.
  • После скана сразу видно: ожидалось, принято, остаток и статус позиции.
  • Расхождения открываются отдельным списком, из него можно в один клик перейти в позицию.
  • Акт формируется в один клик и содержит только нужные поля: поставка, дата, позиции, ожидалось/факт/разница, тип, комментарий и подписи.

Если какой-то пункт не проходит, не усложняйте. Чаще всего помогает одно: меньше экранов и больше подсказок прямо в момент скана.

Пример сценария: одна поставка, несколько расхождений

Быстрый запуск и хостинг
Разверните веб-приложение и начните тестировать на реальных данных склада.
Развернуть

Представьте поставку с двумя позициями: товар А (100 шт.) и товар Б (50 шт.). Задача приложения - быстро собрать факт, показать расхождения и подготовить акт.

Кладовщик открывает поставку, переходит на сканирование и принимает товар А. По итогам выходит 97 шт. Он фиксирует недостачу и добавляет короткий комментарий: «не хватает 3 шт., пломба целая».

С товаром Б сложнее: часть QR указывает на другой SKU (похожая упаковка). Кладовщик фиксирует, что фактически пришло 45 шт товара Б и 5 шт другого SKU, отмечает пересорт и добавляет пояснение: «вместо Б пришел SKU B2, 5 шт.».

Итог по поставке:

  • Товар А: документ 100, факт 97, недостача -3
  • Товар Б: документ 50, факт 45, пересорт -5
  • SKU B2: документ 0, факт 5, пересорт +5

Старший смены открывает спорные строки, проверяет комментарии, при необходимости добавляет решение (например, «принять фактом, выставить претензию») и закрывает поставку. После подтверждения система формирует акт: реквизиты, строки «документ/факт/разница», причины, комментарии, итоги и подписи.

Следующие шаги: пилот и доработки

Начните с короткого пилота на живых поставках, где реально встречаются пересорт, недостача и спорные позиции. Подготовьте 10-20 QR-кодов, пару накладных и несколько типовых расхождений. На таком наборе сразу видно, занимает ли приемка секунды или превращается в ручной ввод.

Дальше согласуйте минимальный состав акта, который устраивает компанию: номер поставки, дата, контрагент, позиции, факт, тип расхождения, комментарий, подписи. Споры чаще возникают из-за отсутствующих полей, а не из-за интерфейса.

Если нужен быстрый прототип, TakProsto (takprosto.ai) позволяет собрать веб-приложение через чат и затем развивать его итерациями. Это удобно, когда вы хотите быстро проверить на складе поток «поставка -> позиции -> расхождения», не растягивая разработку на месяцы.

Содержание
Что именно автоматизировать в приемкеМинимальная модель данных: поставка, позиции, расхожденияРоли и правила: кто что видит и кто подтверждаетИнтерфейс: как должен выглядеть экран сканированияПоток «поставка -> позиции -> расхождения» без лишних шаговПравила сканирования и обработка проблемных случаевГенерация акта расхождений: что в него включитьКак сформулировать задачу для AI, чтобы он собрал приложение под ваш процессЧастые ошибки и как их избежатьБыстрый чеклист перед запуском на складеПример сценария: одна поставка, несколько расхожденийСледующие шаги: пилот и доработки
Поделиться
ТакПросто.ai
Создайте свое приложение с ТакПросто сегодня!

Лучший способ понять возможности ТакПросто — попробовать самому.

Начать бесплатноЗаказать демо