domnmoraru.md
Молдавский интернет-магазин крафтовых уксусов и травяных чаёв: каталог, корзина, оформление заказа, оплата и доставка, двуязычный RU/RO. Постоянная поддержка.
Работаем удалённо, для клиентов в любой стране. Каталог видно всем — работа начинается за кнопкой «оплатить»: платежи, доставка, склад, учёт. Витрину и то, что за ней, здесь делает одна команда.
Мы делаем магазин под ключ и пишем его под вас, поэтому потолка, поставленного кем-то другим, у него нет: он развивается дальше и не упирается в технические барьеры.
Появился новый способ оплаты — подключаем. Открылся второй рынок со своей валютой и своей доставкой — добавляем. Понадобился обмен с учётной системой, о которой в начале никто не думал, — делаем.
Ни один из этих шагов не упирается в «так нельзя». Он упирается в часы — а часы вы видите заранее.
Магазин у нас ведут двое: Емилиан отвечает за витрину — каталог, карточку товара, оформление заказа, скорость на телефоне; Думитру — за то, что за ней: платежи, доставка, склад, обмен с учётной системой. Это одна команда и один счёт, а не подрядчик по вёрстке и подрядчик по бэкенду, которых вам придётся сводить между собой.
Магазин с одним способом оплаты и одной доставкой — от шести недель. С несколькими валютами, обменом со складом и учётом — от двенадцати.
Каталог и карточка товара. Фильтры, варианты, наличие — то, из-за чего покупатель или находит товар, или уходит. Плюс поиск, который работает по вашему ассортименту, а не по названию целиком.
Корзина и оформление заказа. Шаги, поля, доставка, ошибки ввода — всё, через что покупатель проходит между «хочу» и «оплатил». Здесь теряется больше всего заказов, поэтому здесь же больше всего работы.
Оплата. Карты и криптоплатежи в том числе — мы делали платежи в BTC, ETH, ERC-20, BCH и LTC. Отдельно пишется то, что происходит, когда оплата не прошла, прошла дважды или зависла.
Интеграции за заказом. Доставка, склад, учётная система — 1С или другая, — уведомления: всё, что должно узнать о заказе после того, как он оформлен. Подробнее об этой части — на странице API, интеграции и платежи.
Админка, в которой работают ваши люди. Товары, остатки, заказы, статусы — так, чтобы ежедневные действия делались за два клика, а не за восемь.
Код ваш. Репозиторий и доступы — с самого начала, а не по завершении. Домен и хостинг оформляются на вас.
Молдавский интернет-магазин крафтовых уксусов и травяных чаёв: каталог, корзина, оформление заказа, оплата и доставка, двуязычный RU/RO. Постоянная поддержка.
B2B-магазин дистрибьютора отделочных материалов, сросшийся с его ERP. У каждого партнёра свои договорные цены, группа скидок, сроки оплаты и менеджер — всё это уже жило в ERP, и магазин не должен был стать вторым источником правды. Партнёр входит и видит свою цену, заказ уходит обратно в ERP документом, статус поставки читается оттуда же. Та же витрина обслуживает и частных покупателей — с оплатой картой и рассрочкой.
Значительная часть наших работ закрыта NDA агентств. Примеры — по запросу.
Не считаем магазин по количеству страниц. Цену определяет не витрина, а то, что за ней: способы оплаты, доставка, остатки, состояния заказа.
Не называем цену до ТЗ. Сумма по описанию идеи — это не оценка, а число, которое потом всё равно поменяется. Мы предпочитаем менять его до того, как вы на него рассчитывали.
Буферное время попадает в оценку, но не в счёт: платите вы за отработанные часы. Работа заняла меньше — вы платите меньше. Подробнее о том, как считаются часы, — на главной.
Цена считается в часах, и их количество мы называем заранее, по техническому заданию. Без этого документа никакой цифры не даём: сумма «на глаз» по описанию идеи была бы гаданием.
С одним способом оплаты и одной доставкой — от шести недель. С несколькими валютами, обменом со складом и учётом — от двенадцати. Точный срок — по готовому ТЗ.
Да, и это частый выбор, когда магазину нужна привычная админка и стандартный набор возможностей. Тему при этом пишем свою, а не покупаем. Когда магазин выходит за рамки того, что WooCommerce умеет без переделок, честнее писать его отдельно — и об этом мы говорим до начала работы, а не в середине.
Карты почти всегда, криптовалюты, когда это ваш случай. Точный набор провайдеров зависит от страны, где работает магазин. Подробнее о платежах как таковых на странице API, интеграции и платежи.
Столько, сколько заложено в базу и поиск на этапе ТЗ. Каталог на сто позиций и каталог на сто тысяч требуют разных решений по базе и по поиску, и принимаются они до запуска, а не после, когда всё уже замедлилось. В B2B-магазине к этому добавляются свои цены и условия под каждого покупателя, и это тоже решается на базе, а не в витрине.
Делали. Но считать многовендорный магазин как обычный нельзя: продавец — это не строка в каталоге, а отдельная роль со своим ассортиментом, своими остатками, своей отчётностью и своими деньгами. К обычному магазину добавляется вторая админка — та, в которой сидит продавец, а не вы, — и правила, по которым между вами делятся заказ и оплата. Это заметно больше работы, и разбирается она на этапе ТЗ, а не после.
Да, если поставщик отдаёт выгрузку в каком-то виде — файлом или через API. Это обычная интеграция: договориться о формате, разобрать его, решить, что делать с товарами, которые в выгрузке пропали. Работа считается отдельно от самого магазина.
Да, если платформа из списка внизу страницы: начнётся перенос с чтения кода, как на странице о подхвате. Если платформа не наша, честнее сразу сказать, что это не к нам.
Мы же. Доставка, склад и учёт — это интеграции, то есть та же работа, что и платежи, и делает её тот же человек.
Вам. Мы работаем помесячно и выставляем счёт за уже сделанное, поэтому доступ к репозиторию можно отдать сразу, а не в конце проекта — держать код у себя до последнего платежа нам незачем.
Да. Значительная часть наших текущих работ и так под ним.
Работаем удалённо с клиентами откуда угодно, часовой пояс EET. Говорим и пишем на румынском, русском, английском и болгарском.
Приходите с техническим заданием. Мы переработаем его так, чтобы в нём не осталось вопросов, и уже по нему посчитаем часы.
Это точка входа. По магазинам отвечают двое: Емилиан за витрину, Думитру за то, что за ней.
Написать кому-то из нас напрямую — контакты на главной.
Если задача другая: веб-приложение или внутренняя система, API, интеграции и платежи, приложение для iOS и Android, сайт или лендинг, подхват чужого проекта, адаптация готового сайта под телефон.
Хотите сначала посмотреть, кто мы такие, — главная страница: трое, чем занимается каждый, как считаем часы и что уже сделали.
уровень 1 — платформа
Дистрибьютор продаёт через один и тот же магазин в двух режимах: партнёрским фирмам и частным покупателям. Трудной была именно B2B-часть — у каждого партнёра свои договорные цены, своя группа скидок, свои сроки оплаты и закреплённый менеджер, и всё это уже живёт в ERP компании. Магазину нельзя было стать вторым источником правды. Поэтому работа была не в том, чтобы открыть магазин, а в том, чтобы построить слой, который связывает магазин с ERP: цена, которую партнёр видит после входа, — это его цена из ERP, а заказ уходит обратно в ERP документом, без ручного перенабора. Делали как разработчики в составе команды Rinnovation.
Один магазин на два типа покупателей: категории клиентов с разной ценой, разным ходом заказа и разными способами оплаты. Частным лицам — полочные цены, оплата картой и покупка в рассрочку через партнёров по финансированию, в той же корзине. Уведомление, когда пропавший товар вернулся в наличие.
Партнёры приезжают из ERP, учётные записи в магазине создаются и обновляются сами. Синхронизируется номенклатор: категории, товары, изображения и соответствие атрибутов ERP полям магазина. Остатки обновляются, чтобы партнёр заказывал по реальному наличию, а не по статичному списку. Группы скидок, сроки оплаты и менеджеры подтягиваются и привязываются к партнёру. Синхронизации идут по расписанию, с журналом и отдельными инструментами диагностики, когда соответствие не сходится; есть сверка данных и чистка записей, оставшихся без пары.
Три уровня цены из ERP: общее предложение, согласованное лично с партнёром и действующие акции. После входа фирма видит только свои цены, с правильным приоритетом между общей ценой, своей и акцией. Предложения обрабатываются пакетами — комбинаций «партнёр — товар» много. Групповые скидки применяются в магазине так же, как в ERP.
Заказ из магазина автоматически выгружается в ERP документом — с партнёром, товарами, ценами и условиями. Состояние заказа читается обратно из ERP и показывается в кабинете, поэтому партнёр видит реальную стадию поставки. Сопутствующие документы доступны там же. Выгрузка учитывает категорию клиента: розничный заказ и заказ по договору попадают в систему с разными условиями.
Договорные цены видны только после входа, вместо немедленной оплаты — сроки, заказ на счёт, закреплённый менеджер. Фирма автоматически проверяется по фискальному коду в публичном реестре плательщиков НДС.