Кейсы автоматизации: Используйте API Shopify и Erply для автоматизации бизнес процессов

Компания «RACER WORLDWIDE» является международным интернет-магазином продаж одежды, обуви, ювелирных изделий, сумок и аксессуаров.

Локация – Таллин, Эстония.

Работа компании базируется на использовании 3 систем:
  • Shopify – осуществление заказов и продажи товаров;
  • Erply – организация работы в точках продаж и управления запасами товаров;
  • Erplybooks – бухгалтерский учет и отчетность, осуществление банковских операций.


Если вас интересует актуальная информация о других возможных интеграциях с Shopify или Erply, вы всегда можете запросить ее у нашей поддержки.

Ожидаемые результаты интеграции «Shopify – Erply»


  • Реализация интеграции «Shopify – Erply», обеспечение автоматизированной передачи данных между соответствующими системами, упорядочение и согласование их функционирования.
  • Достижение выполнения совместных процессов работы во избежание двойного ввода данных, обеспечение автоматических обновлений при внесении новых товаров, четкой обработки и оплаты заказов, в том числе проведение полных и частичных возвратов (отказов от заказа).
  • Основной системой для внесения данных должен быть Shopify, а подтверждать данные о заказах, обеспечивать процессы оплаты и доставку его клиенту должен Erply. Процессы оплаты и доставки обеспечивает Шопифай и интегрированый с ним сервис https://outvio.com Эрпли отвечает за склад и ведет учет себестоимости, закупки, остатки и прочее.
  • На основании данных из Shopify в дальнейшем должны генерироваться первичные документы продажи и оплаты, для последующей передачи в Erplybooks

Предпосылкой работы было техническое задание, которое предусматривало следующее:
1. Организация автоматизированной загрузки заказов в Erply.
Независимо от статуса оплаты заказ должен быть зарегистрирован в Erply, и товар на складе зарезервирован. Заказ должен менять два статуса заказа в Erply – статус платежа и статус выполнения. Соответственно, статусы должны правильно обновляться и функционировать при внесенных изменениях.
Обновление статусов заказа в интеграции Erply и Shopify

2. Оптимизация процесса по возмещению оплат за заказ в случае его полного или частичного возврата.
Базовая функциональность Credit Invoice в Erply не устраивала компанию. Товар возвращается на склад по кредитной накладной, которая не нужна компании. Кредитный счет-фактура является финансовым документом и не должен возвращать продукт на склад. Товары должны быть возвращены на склад с созданием отдельного document (waybill). Задача – урегулирование процессов интеграции Shopify с Erply в случаях возврата товара или частичного возврата и возмещения полной или частичной оплаты за заказ.

Получить консультацию

3. Изначально процесс переноса новых товаров подразумевал перенос товара в Shopify из Erply.
В процессе реализации первых этапов работ, направление синхронизации решено было заменить на обратное (при обсуждение удалось заменить этот процесс на обратный без изменения общей стоимости интеграции). Задачей стало обновление и создание новых продуктов в Shopify и автоматическая передача их в Erply по четко оговоренным данным: фотографии, описание товара, категория товара, тип продукта, вариации размеров, штрих-коды товара/вариации (EAN), товар/вариация SKU, розничная цена (с НДС), цена продукта/цена вариации, поставщик (бренд), страна производителя, вес товара/вариации, HS Code.
Страна товара Shopify


Риски интеграции «Shopify – Erply»


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

Этапы проведенной работы


Перенос данных о товарах.

Важнейшим и громоздким, в исполнении, этапом решения поставленных технических задач по настройке интеграции является обязательный перенос всех товаров из Shopify в Erply. Чтобы запустить загрузку заказов, необходимо выгрузить товары, или сопоставить по SKU (SS22-SW-ICE-HOODIE-XL). Поскольку основным источником данных согласно техническим задачам должен быть Shopify, где будут создаваться продукты и автоматически переноситься по такому же принципу в Erply, кроме показателя cost per item - значение стоимости за единицу товара, который в дальнейшем планируется изменяться компанией самостоятельно. Если статус товара меняется в Shopify, он также должен меняться и в Erply. В рабочей версии интеграции статус товаров должен быть обновлен. Обновление товаров должно распространяться на все пункты информации о товарах и их вариациях. Во избежание конфликтов первоначально работы были удалены предыдущие товары, созданные ранее. Ожидания заключались в том, что все товары будут иметь вариации, поэтому возникло непредсказуемое – продукты, не имевшие вариации (единичные) в Shopify перенеслись в Erply, как матричный продукт (имеющий варианты), с лишним вариантом которого в параметрах добавлено «Default Title» . У Erply есть разделение на «matrix products» и «regular products».
Вариации товаров Erply в интеграции


Единственный путь для исправления этой ситуации – загрузить товары заново. При запуске рабочей выгрузки товары с вариациями стали переноситься как матричные, а товары без вариаций – как единичные.

Задать вопрос по интеграции

Следующим этапом запущен процесс выгрузки и обновления заказов из Shopify. Важным вопросом, который возник при переносе данных – в чем разница между «EU» и «EU with VAT»? Обсуждение этого вопроса не было затронут при оценке интеграции. В случае поступления заказов из стран Евросоюза должен использоваться только вариант «with VAT», поскольку продажа товаров без налога у них отсутствует. Информация о налоге отображается в каждом заказе названием самого налога ["title"]=>string(6) «AT VAT» и его ставкой (например ["rate"]=> float(0.2)), то есть достаточно было лишь корректно перенести в заказы в Erply ["title"] и ["rate"] из заказов в Shopify. В тот же момент это момент влиял на общую стоимость реализуемой интеграции. Ее удалось компенсировать реорганизацией и упрощением бизнес процесса связанного с возвратами.
Европейский налог VAT на заказы в Shopify


Проблема подтверждения заказов


При более подробном изучении работы Erply возникла необходимость внести изменения в интеграцию «Shopify – Erply». Ключевым моментом чего, было подтверждение заказов у Shopify до начала передачи данных в Erply. Отложенной отправкой заказа из Shopify в Erply стало добавление к заказу специального тега . Также на этом этапе было реализовано обновление данных заказа и товаров в нем, в зависимости от изменений на стороне Shopify.
Обновление статусов заказа в интеграции Erply и Shopify


В ходе работ возникла необходимость в реализации дополнительного технического задания, а именно – изменить порядок создания документов в Erply:
1. Заказ выгружается в Erply после подтверждения создания специального тега .
2. Система "invoice-waybill" - в настоящее время создается "invoice" и отдельно "waybill" - создаются в Erply, когда статус заказа на Shopify меняется на "Выполнено".
3. Оплата передается в Erply только для подтвержденных (с тегом) заказов и может передаваться сразу с заказом или позже после отправки.

После добавления специального тега реализовали создание invoice-waybill, однако заказы и связанные с ними invoice оставались неоплаченными. Все заказы, которые синхронизировались по новому сценарию у Shopify оплачены, а у Erply – нет. В заказе «оплачено», а в invoice – «не оплачено». Логика API запросов Erply подразумевает автоматическое создание Payment документа, при передаче параметра, что заказ был оплачен. Но если заказ оплачен позднее, имеющаяся функциональность API не позволяла идентифицировать такой Payment документ, и возникла необходимость переделать ряд запросов, и регулировать создание и изменение Payment документа отдельными запросами.

Следующее тестирование показало, что расчетный платеж создавался с ошибкой. Это объяснялось тем, что первоначально была осуществлена привязка оплаты к документу заказа, поэтому изменена привязка оплат к invoice документам. В случаях, когда invoice не было сформировано, счет на оплату товара не создавался. Произведенные изменения заключались в следующем: наличие invoice – к нему прикреплялась оплата за товар, а при отсутствии – к самому заказу. Однако, payment может быть создан без invoice, поскольку invoice создается когда fullfilmment status=fulfilled, partial. Следовательно, оплата заказа может производиться на любом этапе после создания заказа, либо одновременно с заказом, то есть до создания invoice, либо после.

Привязка к локации выдачи товара


В процессе работы над решением интеграции Shopify и Erply возникла потребность в реализации еще одного дополнительного задания . Главным условием было – не сломать уже настроенные процессы в существующей системе. В Shopify возможна выдача товара из разных складов или магазинов https://help.shopify.com/en/manual/locations Например, в определенном заказе мы выдали товар по location «Paljasaare Warehouse» и передали это в заказ на Erply, для того чтобы товар был списан также со склада «Paljasaare Warehouse». Задача успешно решена – локации автоматически идентифицируют друг друг по наименованиям, это позволяет работать клиенту с новыми локациями без привлечения разработчиков. Проведено тестирование данной настройки свидетельствуют, что система заработала верно.

Решение других "аномалий" интеграции «Shopify – Erply»


Заказ и счет к заказу создавались без доставки.

Был реализован механизм автоматического сопоставления типа доставки с товарами заведенными в Erply в виде соответствующих доставок. Механизм автоматического сопоставления реализован по тому же принципу как и локации - по наименованиям.

В счете не удалялись вариации товаров при их удалении в заказе на стороне Shopify

Был оптимизирован механизм хранения ранее выгруженных товаров. Для этого была переработана структара таблиц базы данных, которой являются связкой Shopify и Erply. Эти таблицы хранят в себе информацию о происходящих изменениях в реализуемой интеграции

В ходе работ проходили не все изменения заказов на стороне Shopify
Дано объяснение заказчику о необходимости проведения любых изменений в заказе, чтобы менялось время изменения заказа, и заказ повторно шел в выборку на проверку изменений.

Неправильное определение налога заказа
Фактически проверка страны предварительно выполнена по «shipping_address». Для решения аномалии добавлена дополнительная проверка по «billing_address», в месте ее отсутствия – по «shipping_address».

Европейский налог VAT на заказы в Shopify


Все работы, проведенные с целью решения проблемы интеграции «Shopify – Erply» в компании международного интернет-магазина «RACER WORLDWIDE», считаются успешными, о чем свидетельствует ряд проведенных тестирований и наблюдений. Технические задачи, которые были поставлены с целью настройки ожидаемого функционирования систем, а также дополнительные технические задачи, возникающие в процессе настройки всей синхронизации программного обеспечения, успешно решены. Успешная реализация проекта – удовлетворенный заказчик, ведь работа его компании четкая, слаженная и автоматизированная!


CiFrame Contacts
Бесплатная консультация
Сделайте первый шаг

Не нашли нужной информации? Остались вопросы? Напишите нам. Ответим на ваши вопросы, оценим вашу интеграцию