Как связать МойСклад и 1С:Бухгалтерию, чтобы документы попадали в учёт сами
Содержание
Синхронизировать 1С и МойСклад можно тремя способами: штатной онлайн-синхронизацией МоегоСклада с опубликованной базой 1С:Бухгалтерии 3.0, выгрузкой документов файлом с ручной загрузкой в 1С или собственной интеграцией через JSON API МоегоСклада. Для бухгалтерии на БП 3.0 почти всегда выбирают первый вариант, для УТ, КА и УНФ — третий.
Логика у всех способов одна. Оперативный учёт (продажи, приёмки, остатки, касса) ведут в МоемСкладе, а 1С получает готовые документы и считает налоги, проводки и отчётность. Ниже — как это настроить так, чтобы обмен не плодил дубли и не ломал закрытые периоды.
Какой способ интеграции 1С с МойСклад подходит вам
Сначала решите, кто «главный» по каждому справочнику и в какую сторону идут данные. От этого зависит способ.
| Способ | Когда подходит | Что нужно | Слабые места |
|---|---|---|---|
| 🌐 Онлайн-синхронизация с БП 3.0 | Бухгалтерия в 1С:Бухгалтерии 3.0, учёт товаров в МоемСкладе | База доступна из интернета: 1С:Фреш, облако партнёра или своя публикация на веб-сервере | Нужна внешняя публикация, данные идут в основном из МоегоСклада в 1С |
| 📁 Выгрузка файлом | Редкий обмен (раз в неделю, месяц), база без доступа из интернета | Ручной экспорт в МоемСкладе и загрузка обработкой в 1С | Человеческий фактор, легко загрузить один период дважды |
| ⚙️ Своя интеграция через JSON API | УТ 11, КА, УНФ, ERP, доработанные конфигурации, двусторонний обмен | Программист 1С, токен МоегоСклада | Стоимость доработки и её сопровождение при обновлениях |
| 🧩 Готовый модуль партнёра | Нужен двусторонний обмен без своей разработки | Подписка или разовая покупка модуля | Зависимость от разработчика модуля |
Готовые модули ориентировочно стоят от нескольких тысяч рублей в месяц по подписке или от 15–30 тыс. рублей разово. Своя интеграция через API под типовую УТ обычно обходится примерно в 40–150 тыс. рублей в зависимости от числа объектов и направлений обмена. Это ориентиры, точную цену называет исполнитель после разбора задачи.
Подготовка: версии, тариф и доступ к базе 1С
Прежде чем включать интеграцию 1С с МойСклад, проверьте три вещи.
1. Конфигурация и релиз 1С. Штатная синхронизация МоегоСклада рассчитана на 1С:Бухгалтерию предприятия ред. 3.0. Держите релиз актуальным: МойСклад поддерживает текущие релизы, и на устаревшей базе обмен может падать на загрузке. Номер релиза смотрите в главном меню 1С: Справка → О программе.
2. Доступ к базе из интернета. МойСклад — облачный сервис. Он не видит файловую базу на компьютере бухгалтера. Варианты:
- ☁️ база в 1С:Фреш или в облаке 1С-партнёра — публикация уже есть;
- 🖥️ своя публикация на веб-сервере (Apache или IIS) с доступом по HTTPS;
- 📁 нет публикации — остаётся только обмен файлом.
3. Отдельный пользователь 1С для обмена. Заведите пользователя, например MoySklad, с паролем и правами на создание документов и справочников. Не используйте учётную запись главного бухгалтера: при смене его пароля обмен остановится, а в истории изменений не будет видно, что документ пришёл из МоегоСклада.
Публикация базы на веб-сервере
Публикуют базу из Конфигуратора: Администрирование → Публикация на веб-сервере. Конфигуратор нужно запускать от имени администратора Windows, иначе он не сможет записать настройки веб-сервера.
В окне публикации:
- Задайте имя публикации латиницей, например
buh. - Включите публикацию HTTP-сервисов — через них внешние сервисы обращаются к базе.
- Нажмите «Опубликовать» и проверьте адрес вида
https://ваш-домен/buh/в браузере.
Публикация открывает базу в интернет. Обязательно включите HTTPS, задайте сложные пароли всем пользователям и закройте доступ к базе пользователям без пароля. Публикация по голому HTTP передаёт логин и пароль открытым текстом.
Настройка обмена на стороне МоегоСклада
Настройки обмена с 1С в МоемСкладе находятся в разделе обмена данными (меню пользователя или раздел настроек аккаунта — зависит от версии интерфейса). Там выбирают вариант обмена с 1С:Бухгалтерией: онлайн или файлом.
Для онлайн-синхронизации укажите:
- 🔗 адрес опубликованной базы (тот, что открывали в браузере);
- 👤 логин и пароль пользователя 1С, созданного для обмена;
- 🏢 юрлица МоегоСклада, документы которых передавать, и соответствующие им организации в 1С;
- 📅 дату начала обмена — с какого числа выгружать документы;
- 📄 типы документов: отгрузки, приёмки, возвраты, перемещения, входящие и исходящие платежи, приходные и расходные ордера, розничные смены.
Дату начала обмена ставьте после последнего закрытого периода в 1С. Если указать 1 января, а в 1С уже закрыт квартал, МойСклад попытается создать документы задним числом. В лучшем случае их не пустит дата запрета изменения, в худшем — поплывёт сданная отчётность.
Проверка юрлиц и реквизитов
Перед первым запуском сверьте реквизиты юрлиц в МоемСкладе с карточками организаций в 1С. ИНН и КПП должны совпадать до цифры. Расхождение в КПП (например, после смены адреса) — частая причина того, что документы не находят организацию в 1С.
Что настроить в 1С для приёма данных
В 1С:Бухгалтерии 3.0 программировать ничего не нужно, но несколько настроек проверить стоит.
- Учётная политика и налоговый режим. Если в МоемСкладе продажи идут с НДС, а в 1С у организации стоит УСН без НДС, документы загрузятся с неверными суммами налога. Сверьте режим в
Главное → Учётная политика. - Склады. В
Справочники → Складызаведите склады с теми же названиями, что в МоемСкладе, либо будьте готовы сопоставить их вручную (см. следующий раздел). - Дата запрета изменения. Она настраивается в разделе
Администрирование, в настройках пользователей и прав (блок «Даты запрета изменения»). Она защищает закрытые периоды от загрузки. - Права пользователя обмена. Пользователю
MoySkladназначьте профиль, который позволяет создавать и проводить документы продаж, покупок, банка и кассы. Полные права давать не нужно.
Перед первым обменом сделайте копию базы и проведите тестовую загрузку на копии. Это займёт час, зато вы увидите, какие справочники создадутся заново, ещё до того, как они попадут в рабочую базу.
Сопоставление справочников: товары, контрагенты, склады, НДС
Главная работа при синхронизации МойСклад и 1С — не кнопка «Синхронизировать», а сопоставление справочников. Если на этом этапе ошибиться, в 1С появятся двойники: «ООО Ромашка» и «Ромашка ООО», «Кабель ВВГ 3х2,5» и «Кабель ВВГнг 3*2.5».
По каким реквизитам ищутся совпадения
| Справочник | Надёжный ключ | Что проверить заранее |
|---|---|---|
| Контрагенты | ИНН + КПП | У физлиц и иностранцев ИНН может не быть — для них сопоставляйте вручную |
| Товары и услуги | Артикул или код | Пустые и повторяющиеся артикулы, разные единицы измерения |
| Склады | Наименование | Одинаковые названия у разных юрлиц |
| Ставки НДС | Значение ставки | Ставка «Без НДС» и 0% — это разные ставки |
| Договоры | Номер и дата | В МоемСкладе договоров может не быть — тогда 1С подставит основной |
Как навести порядок до обмена
- 🔎 Выгрузите из МоегоСклада список товаров в Excel и отсортируйте по артикулу. Пустые и повторяющиеся значения заполните до первого запуска.
- 🔎 В 1С откройте справочник номенклатуры, выведите колонку «Артикул» и сверьте с выгрузкой.
- 🔎 Проверьте единицы измерения. Если в МоемСкладе товар в метрах, а в 1С в бухтах, количество и цена разойдутся.
- 🔎 Контрагентов без ИНН (физлица, розница) сведите к одному-двум общим элементам, например «Розничный покупатель».
Не объединяйте дубли в 1С, пока обмен включён. Сначала остановите синхронизацию, затем объедините элементы, затем проверьте сопоставление в МоемСкладе и только после этого запускайте обмен снова.
Первый запуск синхронизации и контроль результата
Первый обмен делайте на коротком периоде — одна неделя или даже один день. Так ошибки видны сразу, а исправлять приходится десяток документов, а не тысячу.
- Установите дату начала обмена на понедельник текущей недели.
- Запустите синхронизацию вручную из настроек обмена в МоемСкладе.
- Дождитесь окончания и откройте журнал обмена: там видно, сколько документов передано и какие вернулись с ошибкой.
- В 1С откройте списки реализаций и поступлений, отберите по дате и сравните количество и сумму с МоимСкладом.
- Проверьте, что документы проведены и что новые контрагенты и номенклатура не задвоились.
- Если всё сходится, сдвиньте дату начала на нужное число и включите автоматическую синхронизацию.
Что сверять после каждого обмена
- 📊 Выручка за период: сумма отгрузок в МоемСкладе против оборотов по счёту 90.01 в 1С (оборотно-сальдовая ведомость по счёту).
- 📊 Взаиморасчёты: остатки по счетам 60 и 62 в разрезе контрагентов против долгов в МоемСкладе.
- 📊 Деньги: обороты по счетам 50 и 51 против платежей и кассы МоегоСклада.
Остатки товаров по количеству сходятся не всегда. МойСклад и 1С могут по-разному учитывать себестоимость и резервы, поэтому сверяйте количество, а суммы себестоимости — только после закрытия месяца в 1С.
Своя интеграция через JSON API для УТ, КА и УНФ
Если у вас не Бухгалтерия, а УТ 11, КА, УНФ или сильно доработанная конфигурация, штатная синхронизация не подойдёт. Тогда 1С сама забирает данные из МоегоСклада через его JSON API (версия 1.2) по адресу https://api.moysklad.ru/api/remap/1.2/.
Что понадобится:
- 🔑 токен доступа — его создаёт администратор аккаунта МоегоСклада в настройках доступа к API;
- 🧑💻 обработка или расширение конфигурации 1С, которое по расписанию запрашивает данные и создаёт документы;
- 🗂️ регистр или реквизит для хранения идентификатора объекта МоегоСклада (UUID), чтобы при повторном запросе не создавать дубль.
Пример запроса списка товаров из 1С (выполняется на сервере):
Соединение = Новый HTTPСоединение("api.moysklad.ru", 443, , , , 60,
Новый ЗащищенноеСоединениеOpenSSL);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "Bearer " + Токен);
Заголовки.Вставить("Accept-Encoding", "gzip");
Запрос = Новый HTTPЗапрос("/api/remap/1.2/entity/product?limit=100&offset=0", Заголовки);
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
Данные = ПрочитатьJSON(Чтение);
Чтение.Закрыть();
Для Каждого Товар Из Данные.rows Цикл
Сообщить(Товар.name + " | " + Товар.id);
КонецЦикла;
Иначе
Сообщить("Ошибка API: " + Формат(Ответ.КодСостояния, "ЧГ=0"));
КонецЕсли;
Список отдаётся страницами. Увеличивайте offset на размер страницы, пока в ответе есть строки. Документы (entity/demand — отгрузки, entity/supply — приёмки) запрашивайте с фильтром по дате изменения, чтобы забирать только новое.
Храните дату и время последнего успешного обмена в константе или регистре сведений. Следующий запуск берёт всё, что изменилось после неё. Тогда сбой в одну ночь не теряет документы: следующий обмен их догонит.
У API есть лимиты на частоту запросов. Если пришёл код 429, сделайте паузу в несколько секунд и повторите запрос, а не запускайте цикл заново.
Ошибки и конфликты при синхронизации МойСклад и 1С
Большинство сбоев видно в журнале обмена МоегоСклада: там указан документ и текст ошибки. Ниже — что означают типовые ситуации.
Конфликт правок: документ изменили в обеих программах
Правило простое: документ, пришедший из МоегоСклада, правят в МоемСкладе. Если бухгалтер исправит реализацию в 1С, следующая синхронизация может перезаписать его правку данными из МоегоСклада. Бухгалтерские реквизиты (счета учёта, статьи затрат) настраивают в 1С через правила по умолчанию, а не вручную в каждом документе.
Если правка в 1С неизбежна (например, корректировка после сдачи отчётности), оформляйте её отдельным документом корректировки, а не изменением исходного.