Интеграция бизнес-программ: данные в одном месте
В небольшой компании программы обычно появляются стихийно. Сначала интернет-магазин, потом бухгалтерская программа, потом Excel для складских остатков, потом календарь записи и, наконец, рассылка. Каждая решает свою задачу, но между собой они не общаются.
Результат знаком: заказы вручную переносят в бухгалтерию, остатки не сходятся с интернет-магазином, один и тот же клиент записан в пяти местах с разными данными, а кто-то каждую неделю тратит часы на перепечатывание данных. Ошибки возникают именно там, где человеку приходится переносить данные из одного окна в другое.
Окупается ли интеграция?
Простой расчёт: сколько часов в неделю уходит на ручной перенос данных и исправление связанных с ним ошибок? Если это два часа в неделю, получается больше ста часов в год. Добавьте к этому упущенные продажи, когда клиент купил товар, которого уже не было, и путаницу, когда данные одного клиента в разных местах разные.
Если ручной работы мало и данных немного, интеграция может и не окупиться. Если компания растёт, она окупается почти всегда.
Три способа соединить системы
1. Интерфейс, или API
У современных программ есть интерфейс (API), через который другая программа может читать и записывать данные. Например, заказ из интернет-магазина может автоматически попасть в бухгалтерию в виде счёта, а количество из складской программы — в интернет-магазин.
Подходит, если обе программы хорошие, вы не хотите от них отказываться и у обеих есть рабочий интерфейс.
Учтите: интеграция — это отдельное ПО, которое нужно обслуживать. Если одна сторона обновит свой интерфейс, связь тоже придётся проверить. Каждая интеграция — место, где данные могут рассинхронизироваться, например если одна сторона на время недоступна. Хорошая интеграция умеет восстанавливаться после этого и сообщает, если что-то не было передано.
2. Импорт и экспорт файлов
Не все программы предлагают интерфейс. Тогда данными можно обмениваться через файлы: одна программа выгружает файл CSV или Excel, другая его загружает. Это тоже можно автоматизировать, чтобы файл передавался сам раз в день или раз в час.
Подходит, если данные не обязаны быть актуальными до секунды, а интерфейса нет или он слишком дорогой.
Учтите: для складских остатков это не подходит, если вы продаёте один и тот же товар одновременно онлайн и на месте. За час последний товар может уйти двум покупателям.
3. Одна система вместо нескольких
Иногда правильный ответ — не соединять две системы, а заменить их одной. Если интернет-магазин и склад — одно приложение, синхронизировать нечего: продажа на кассе и онлайн-заказ меняют одни и те же остатки в один и тот же момент.
Подходит, если отдельные программы во многом делают одну и ту же работу (товары, клиенты, количества) и большая часть усилий по интеграции уходит на то, чтобы держать их согласованными.
Для этого я построил собственную платформу NUNDINAE, где интернет-магазин, складской учёт, касса и онлайн-запись — одно приложение. Почему остатки не сходятся между отдельными системами, подробнее в статье синхронизация интернет-магазина и склада.
Как выбрать
Задайте себе три вопроса:
- Какие данные должны быть актуальны сразу? Складские остатки и свободное время для записи — да. Счета в бухгалтерии могут прийти через час.
- От чего вы не хотите отказываться? Если бухгалтер работает в определённой программе, её не меняют. Тогда нужна интеграция.
- Где уходит больше всего ручной работы? Начните оттуда. Всё сразу соединять не обязательно.
Часто лучшее решение — комбинация: одна система для продаж, склада и клиентов и интеграция с бухгалтерией.
Как я делаю интеграцию
- Составляю карту потоков данных. Какие данные где возникают, кому они нужны и насколько быстро.
- Проверяю интерфейсы. Есть ли у программ API, что он позволяет и платный ли он.
- Предлагаю 1–2 варианта с ценой и потребностью в обслуживании, даже если лучший вариант — ничего не соединять.
- Строю и тестирую на реальных данных в отдельной среде, прежде чем что-то изменится в рабочей системе.
- Добавляю контроль, который сообщает, если какая-то передача данных не удалась.
Интеграция — часть развития ПО. Опишите, какие программы у вас сейчас используются и где данные переносят вручную. Скажу, какой вариант для вас разумен.
