На мой взгляд, нет ничего сложнее, чем использовать современные технологии в реальной жизни.
Любая программа, любой алгоритм в «чистом» виде в идеале достаточно прост. Непосредственное соединение таких алгоритмов, реализованных разными командами, оказывается немного сложнее (если это в принципе возможно).
Обработка данных, сгенерированных другими программами, еще сложнее.
Самое неприятное и сложное — заставить все это работать в реальном мире, с данными, порожденными непредсказуемыми и хаотичными процессами нашей реальности.
Потому что алгоритм и программа его реализации в любом случае представляют собой средство ПОРЯДОЧНОЙ обработки данных.
А наш мир, как сейчас считается, движется только в сторону нарастания беспорядка.
Автоматизация розничной торговли — задача из этой области: попытка упорядоченной обработки потоков данных, слабо поддающихся формализации и упорядочиванию.
Ну, или очень сильно сопротивляясь.
Хех, похоже, у них есть намерения.
В моем предыдущем статья (Как нужно и как не автоматизировать торговлю) Я довольно хаотично смешал множество вещей в одну кучу.
Я хвалил и ругал программное обеспечение для автоматизации продаж в торговой сети.
Уточним: в коммерческой аптечной сети.
И пообещал рассказать, как лучше провести инвентаризацию.
Сегодня я расскажу вам, как мы проводим инвентаризацию в аптеках, и какие айсберги ждут наш Титаник на пути.
На этот раз я постараюсь украсить статью картинками и написать предложения с меньшим количеством слов.
Если кому интересно, добро пожаловать под кат. Итак, инвентарь.
Для начала нужно понять, что это такое и почему это происходит. Инвентаризация – это мероприятие, в результате которого мы получаем обоснованное количественное сравнение фактического остатка каждой единицы товара с ожидаемым («бухгалтерским») остатком.
Учет ведется по результатам предыдущей инвентаризации путем суммирования входящих и исходящих данных по документам.
Откуда могут быть расхождения – это отдельный вопрос, но поверьте, они происходят от них.
Их масштаб зависит от дисциплины и честности персонала, удобства использования программного обеспечения, корректной работы оборудования и многого другого.
В большинстве аптек, автоматизированных под моим руководством, инвентаризация сейчас проводится с расхождениями в количестве товаров на 100-200 рублей.
Это при среднем обороте 1-1,5 миллиона рублей.
в месяц.
А сейчас инвентаризации проводим нечасто – примерно раз в год. В результатах инвентаризации отклонения как в плюс, так и в минус плохи – потому что это отклонение от данных системы автоматизации.
И эта система внедряется не только для того, чтобы быстрее «получать доход», но и предоставлять данные для принятия решений по развитию торговли, направлениям расширения или сужения ассортимента, а также отслеживать дефекты по наименованию, группам товаров, срокам годности и подделкам.
.
Здесь возникает принципиальный вопрос: можно ли доверять системе и тем данным, которые она производит? Итак, проводится инвентаризация, бухгалтерский баланс приводится в соответствие с фактическим, «невиновные награждаются, невиновные наказываются».
И снова торгуем до следующей инвентаризации, получаем постепенно расходящиеся фактические и бухгалтерские остатки.
И так, теоретически, до бесконечности.
Ну, или хотя бы до закрытия компании.
Но что является основной отправной точкой? Откуда взялся первый бухгалтерский баланс? Из первичного инвентаря.
Принципиально он ничем не отличается от всех остальных, просто в этот момент бухгалтерский баланс равен нулю.
Но технически это совсем другое.
Чтобы понять почему, нужно сначала понять, как осуществляется каждый второй – после него.
Регулярный инвентарь
Если кто-нибудь спросил , мы идентифицируем товары по нашему внутреннему штрих-коду (IBC).Это штрих-код стандарта EAN13 с ведущей цифрой 2. Такая однозначная идентификация позволяет нам вести учет товара вплоть до поставки (партии).
А информация о партии содержит ссылку на само наименование (точнее, на элемент классификатора продукции), серию, срок годности, данные о цене и многое другое.
И это важно – вести учет с точностью до партий, ведь никто не хочет получать просроченные лекарства, ведь, как правильно заметили в комментариях ранее, на кону «жизнь и здоровье» граждан.
А продавать просроченные лекарства незаконно.
Вот почему мы должны проводить инвентаризацию с точностью до партий.
А что, если бы на самом деле осталась просроченная аскорбиновая кислота, и ею отравился бы чей-то ребенок? Или закроет мозоль просроченным пластырем.
Внимательный хабраюзер наверняка самостоятельно пришел к выводу, что процесс регулярной инвентаризации предельно прост: достаточно посчитать внутренний код всех упаковок, поставив количество за единицу.
Затем сворачиваем эти данные, группируя по коду и суммируя по количеству – вуаля, фактический баланс готов.
Остается только сравнить идентификацию с помощью кода безопасности с учетными данными.
А потом вознаградить и наказать.
А теперь особенности.
Понятно, что процесс инвентаризации подразумевает, что аптека в это время закрыта.
Все сейчас видели ненавистное слово УЧЕТ на двери столь нужного магазина? Я ненавижу это слово.
Это как получить отказ от девушки: идешь, готовишься, предвкушаешь, а тебя отвергают. Заставляет чувствовать себя неудачником.
Ну в общем аптека в это время закрыта.
И мне бы хотелось, чтобы это ее состояние длилось как можно меньше.
Ну хотя бы потому, что в это время выручки нет, если никого не волнуют чувства отвергнутых клиентов.
Поэтому тех четырех (у нас самая популярная аптека) рабочих мест со сканерами штрих-кодов катастрофически недостаточно.
Поэтому мы используем так называемые терминалы сбора данных (ТСП).
В свое время мы имели в своем распоряжении Касио ДТ-930
Это очень интересная машина: в ее голове есть лазерный излучатель и поглотитель.
С поглотителем он считывает ШК, а с эмиттером – излучает. Ну, в некотором смысле, в его голову встроен считыватель штрих-кодов, который, помимо всего прочего, еще и поддерживает EAN13 (беспрецедентный случай).
Так что нам больше ничего не нужно! В комплекте идет набор стандартных конфигураций, которые направляют процесс сбора данных (в некоторых нужно вводить цену, в некоторых под ВК понимаются данные о весе товара, вариантов гораздо больше).
К нашему сожалению, простейшая комплектация, тупо собирающая ШК с указанием количества, не входит в число стандартных.
Но чтобы скопировать и (что еще важнее) зашить свою конфигурацию, нужна Стандартная лицензия.
Базовый пакет TSD включает Демо-лицензию; с его помощью вы не сможете загрузить свою конфигурацию.
Это подводный камень для тех, кто решит использовать эти ТСД.
Если вообще говорить о ТСД как о средстве сбора данных об инвентаризации, то большего, чем этот Casio, в принципе и не нужно.
Хотя если бы мы не были «скоплением бедняков», я бы с радостью воспользовался современными технологиями беспроводной передачи данных и подключил ТСД напрямую к учетной системе.
Но пока это только в мечтах.
Итак, сбор данных на этом автомате происходит практически так же, как описано выше: сканируется штрих-код. и вводится количество.
Это ошибка номер два при использовании TSD. Когда есть возможность указать количество, никого не заставишь посчитать сто якобы одинаковых ШК.
Например, в коробке со флаконами с нафтизином.
А проверка того, что они одинаковые, тем более.
И один и тот же препарат в разных партиях имеет разную цену и срок годности.
Поэтому инвентаризация не является панацеей от расхождений бухгалтерских и фактических остатков.
И это точно не защищает от так называемой переоценки.
Для неспециалистов поясню: регрейдинг - универсальное матерное слово, которое используется вместо слова п@#$ц при описании ситуаций с расхождениями бухгалтерских и фактических остатков.
Это может означать либо настоящую аттестацию (когда товар одного вида учитывается как товар другого вида - то есть, например, если вместо значащихся в реестре десяти упаковок Виагры на складе стоит десять эмалированных баночек).
полке), а также «неправильная сортировка» внутри одного и того же товара, но по партиям (то есть по серии, сроку годности и цене).
А в устах человека, недостаточно хорошо говорящего по-русски, это слово может означать именно то, что я покрыл нечитаемыми символами, прямо, то есть, например, общий дефицит (это когда товара не хватает) или излишек.
(это когда на самом деле товара слишком много, но мы помним, что всё равно плохо).
Возвращаясь к обычной инвентаризации, предположим, что данные по ТСД собраны достаточно точно.
Тогда при загрузке данных из него мы теперь получаем что-то вроде этого: 2001000291205;5;
2001000302925;6;
2001000242405;2;
2001000308515;1;
2001000245512;2;
2001000230228;1;
2001000312085;5;
2001000177349;5;
2001000017739;1;
Простой текстовый файл.
Эти данные легко загружаются в систему учета и добавляются к текущим данным инвентаризации.
М-Аптека Плюс может это сделать.
Когда мне дадут попробовать варианты 1С, я присмотрюсь и к их.
Но от инвентаризации на других системах я сознательно отказался: слишком уж это хлопотно, ведь я не готов сейчас тратить целый день на неродные аптеки.
Чуть не забыл: здесь есть еще один подводный камень.
Внимательный читатель заметит, что все коды здесь 13-значные.
И это правильно, это стандарт. Но в системе учета они могут храниться с отклонениями от норматива.
В частности, в «М-Аптеке+» они хранятся без последней контрольной цифры.
То есть 12-значный.
О каком совпадении здесь может идти речь?! Ну что, мне вас научить писать скрипт, обрезающий 13-й символ в этом файле?! Для интересующихся могу дать, у меня оно написано на javascript, выполняется на всех текстовых файлах того каталога, в котором находится.
Проверки того, что файл уже обработан (то есть коды уже 12-значные), нет, но это никогда не вызывало проблем, поэтому не вижу смысла встраивать такую проверку в скрипт внутреннего использования.
Другое дело, если бы я решил его продать.
Но тогда я бы, наверное, в первую очередь подумал о защите от копирования.
И тогда это сразу стоило бы не 2 копейки, а каких-то 20 долларов.
Ну а дальше всё просто: система суммирует фактические данные инвентаризации из всех источников, подсчитывает расхождения, а затем, используя эти расхождения, можно составить документ списания и оприходования, вывести отчеты и регламентированные печатные формы инвентаризации.
Первичный инвентарь
Итак, чем первичная инвентаризация отличается от обычной? Правильно, отсутствие систем внутренней безопасности.Изначально во всей аптеке нет единой системы внутреннего контроля безопасности.
Есть только заводские, но здесь все молчаливо согласились, что их использование практически невозможно.
Это означает, что перед нами стоит более сложная задача: нам необходимо пересчитать товар, который, учитывая все сказанное, здесь не очень хорошо идентифицируется.
Ну что поделаешь, значит, вам нужно будет идентифицировать его теми самыми способами, которые там и описано.
Для начала давайте формализуем задачу.
Как и в любой системе учета, деловое событие фиксируется объектом, называемым документом.
В документе хранится вся информация об этом событии.
В случае первичной инвентаризации это будет документ первичного поступления товаров.
В каждой системе он называется по-разному и выглядит по-разному, но смысл всех этих опций один: нужно перечислить все товары, которые есть в аптеке, по возможности с наибольшим количеством учетных параметров: количество, розничная цена.
, цена покупки, ставка НДС, срок годности, поставщик (что, если придется вернуть), серия партии, дата и номер счета-фактуры.
Итак, приходим в аптеку, начинаем инвентаризацию, начинаем вносить товар.
Сразу наступает ступор.
Товары — это элементы нашего классификатора товаров, которые необходимо либо выбирать вручную, либо использовать ускоренный ввод через некоторые идентификаторы с возможностью автоматического ввода.
Название на упаковках пишется совершенно иначе, чем в документах поставщиков (по крайней мере дозировка или количество в упаковке вообще может быть указано в инструкции, а название на упаковке может быть рекламным, а не реальным).
А сканер ШК не может читать буквы.
Вводить имена с клавиатуры? На реализацию уйдет даже не неделя, а месяц.
Попробовать использовать заводской ШК? Ну я первый раз попробовал.
Посылаю тебя на горькие слезы покаяния предыдущая статья .
И вот как это следует сделать правильно.
Прежде всего, не ходите в аптеку.
Вы правильно прочитали, в аптеке не начинается первичная инвентаризация.
Что нам нужно для инвентаризации? Внутренний ШК? Что ж, давайте их сделаем! Но не за тот товар, который сейчас есть в аптеке, чтобы не идентифицировать его и не тасовать целый месяц.
И тот, на который мы сможем их наклеить, не закрывая аптеку.
За месяц до инвентаризации в аптеке заставим работать завхоза и отдел приемки товаров.
Пусть заведующая регистрирует чеки, а тетя Таня на ресепшене в аптеке все это время клеит на товар наш ШК, как будто мы уже собираемся с его помощью продавать.
Результат поразит вас: через месяц 90% товаров в аптеке будут иметь нашу внутреннюю КК! Как это может быть? Это просто.
Ежемесячный оборот аптеки примерно равен ее среднему остатку.
Ну примерно в пределах 10-15% отклонения.
Это эмпирическая закономерность, которую я заметил в нашей сети аптек.
Если в других сетях по-другому, то это «другое» должно будет стать отправной точкой.
В фармацевтической торговле есть еще такая особенность: нельзя купить товар на годы вперед. Ведь большинство из них имеют ограниченный срок годности.
Обычно товар заказывается и доставляется примерно за 2-4 дня.
Это значит, что через месяц не будут продаваться только медленнотекущие и дорогие лекарства.
Их немного – всего 10 процентов.
Потому что аптеке невыгодно содержать товар, который плохо продается.
Отсюда и 10%.
Цифра, конечно, неточная и во многом зависит от способа закупок сети, от дисциплины персонала магазина и многого другого.
Номер ловушки не помню.
Для того чтобы все это сделать, аптеке нужно будет с самого начала «внедрить» систему автоматизации.
Но продавать там пока нельзя.
Но с кадровой точки зрения это выглядит бесполезной ношей, не имеющей под собой никаких оснований, и пустой тратой сил за ту же зарплату.
Это решается административно или по-человечески, путем долгих вечеров разговоров и объяснений.
Хотя, как показывает опыт, только административно.
Весь этот месяц с точки зрения системы учета мы ничего не продали - ну, скажем так, после инвентаризации все, чего нет на полках, будет СПИСАНО.
А 90% товаров пройдут инвентаризацию быстро и без проблем по «обычной» схеме инвентаризации.
Что делать с оставшимися 10%? Но здесь не обойтись без утомительной процедуры ручного внесения товаров на баланс счета.
Есть несколько вариантов.
- Вы можете задним числом импортировать в систему автоматизации все документы, по которым были получены эти 10% товара.
Путь труден, но при должном порядке в компании может стать «проездом».
Процедура гарантирует возможность найти эти документы и их электронные счета (ЭN, описанные там ) и работа менеджера сведется к обычной процедуре.
Вряд ли стоит доказывать, что подобный порядок в компании — явление крайне редкое, поэтому вероятность успешно провернуть этот трюк очень мала.
Но если это произойдет, то есть масса преимуществ.
Например, сохранение ссылочной целостности учета, что очень важно, например, при учете затрат (если кому интересно, пишите в комментариях)
- В течение этого же месяца на сайте можно «дежурить» специального человека, который как-то выследит плохо продаваемый товар и, опять же, добавит его к остатку вручную – путем долгого и утомительного поиска по названию в классификаторе.
Остальное, которое этот человек не отслеживает, необходимо внести точно так же, но в день инвентаризации.
- И, наконец, самый надежный способ — внести все эти 10% в день инвентаризации.
В этот момент обычно вводится капитализация, в которой указывается минимум информации: ссылка на товар, розничная цена (кто сейчас найдет цену доставки?), срок годности, серия (а иногда и они не вводятся) , некоторые другие важные данные бухгалтерского учета.
Путь, конечно, самый надежный, но далеко не самый быстрый и при плохой подготовке может привести к растягиванию процесса на два, три и любое количество дней.
Чтобы как можно меньше покупателей чувствовали себя проигравшими, и чтобы первоначальная инвентаризация не затянулась на неделю, что гарантированно произойдет, если в план действий не включен месяц подготовки.
В заключение остается только упомянуть об автоматизации аптеки, которая по скорости работы практически идеальна.
Это когда сам запас как таковой отсутствует и фактический остаток считается совпадающим с бухгалтерским балансом, а внутренние кассовые аппараты приклеиваются сразу ко всему товару.
Это происходит, если аптека только открывается и все товары закупаются или передаются из уже автоматизированных аптек этой сети.
Товар, передаваемый из другой аптеки, уже готов к реализации: на него наклеивается ШК и он включается в остаток передаточного документа.
А приобретаемый товар просто проходит обычный путь поступления через заказ, менеджера по закупкам, ценообразование и «штриховку», как если бы аптека работала несколько лет. Правда, объем этой закупки довольно большой, но эта проблема решается усилением наряда тети Тани на приеме к неделе реализации.
И напоследок, раз уж я обещал фотки.
Как взрывающийся вертолет:
Теги: #автоматизация торговли #аптечные сети #фармацевтика #ERP-системы
-
О Блоге Или «Всем Привет!»
19 Oct, 24 -
О Личных Качествах Программиста
19 Oct, 24 -
Притча О Программистах И Кодировщиках
19 Oct, 24 -
Развлекательный Веб-Квест. Узнать Весь Url
19 Oct, 24 -
Ист-Бюджет - Наша История В Госзакупках
19 Oct, 24