Программы

Интеграция бизнес-программ: данные в одном месте

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

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

Окупается ли интеграция?

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

Если ручной работы мало и данных немного, интеграция может и не окупиться. Если компания растёт, она окупается почти всегда.

Три способа соединить системы

1. Интерфейс, или API

У современных программ есть интерфейс (API), через который другая программа может читать и записывать данные. Например, заказ из интернет-магазина может автоматически попасть в бухгалтерию в виде счёта, а количество из складской программы — в интернет-магазин.

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

Учтите: интеграция — это отдельное ПО, которое нужно обслуживать. Если одна сторона обновит свой интерфейс, связь тоже придётся проверить. Каждая интеграция — место, где данные могут рассинхронизироваться, например если одна сторона на время недоступна. Хорошая интеграция умеет восстанавливаться после этого и сообщает, если что-то не было передано.

2. Импорт и экспорт файлов

Не все программы предлагают интерфейс. Тогда данными можно обмениваться через файлы: одна программа выгружает файл CSV или Excel, другая его загружает. Это тоже можно автоматизировать, чтобы файл передавался сам раз в день или раз в час.

Подходит, если данные не обязаны быть актуальными до секунды, а интерфейса нет или он слишком дорогой.

Учтите: для складских остатков это не подходит, если вы продаёте один и тот же товар одновременно онлайн и на месте. За час последний товар может уйти двум покупателям.

3. Одна система вместо нескольких

Иногда правильный ответ — не соединять две системы, а заменить их одной. Если интернет-магазин и склад — одно приложение, синхронизировать нечего: продажа на кассе и онлайн-заказ меняют одни и те же остатки в один и тот же момент.

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

Для этого я построил собственную платформу NUNDINAE, где интернет-магазин, складской учёт, касса и онлайн-запись — одно приложение. Почему остатки не сходятся между отдельными системами, подробнее в статье синхронизация интернет-магазина и склада.

Как выбрать

Задайте себе три вопроса:

  1. Какие данные должны быть актуальны сразу? Складские остатки и свободное время для записи — да. Счета в бухгалтерии могут прийти через час.
  2. От чего вы не хотите отказываться? Если бухгалтер работает в определённой программе, её не меняют. Тогда нужна интеграция.
  3. Где уходит больше всего ручной работы? Начните оттуда. Всё сразу соединять не обязательно.

Часто лучшее решение — комбинация: одна система для продаж, склада и клиентов и интеграция с бухгалтерией.

Как я делаю интеграцию

  1. Составляю карту потоков данных. Какие данные где возникают, кому они нужны и насколько быстро.
  2. Проверяю интерфейсы. Есть ли у программ API, что он позволяет и платный ли он.
  3. Предлагаю 1–2 варианта с ценой и потребностью в обслуживании, даже если лучший вариант — ничего не соединять.
  4. Строю и тестирую на реальных данных в отдельной среде, прежде чем что-то изменится в рабочей системе.
  5. Добавляю контроль, который сообщает, если какая-то передача данных не удалась.

Интеграция — часть развития ПО. Опишите, какие программы у вас сейчас используются и где данные переносят вручную. Скажу, какой вариант для вас разумен.

Читайте также

Связанные услуги

Есть приложение, к которому никто не решается прикасаться?

Я посмотрю код и честно скажу, в каком он состоянии и какой следующий шаг разумен.