Интеграция МойСклад с 1С:Бухгалтерия

Система “Обмен МойСклад с 1С:Бухгалтерия” предназначена для выполнения обмена данными из сервиса МойСклад в 1С: Бухгалтерия через механизм МойСклад JSON API 1.2.

Возможности:

  • Поддержка НДС 5% и 7%
  • Работа с несколькими организациями + возможность включения/отключения префикса организации;
  • Возможность загружать документы нескольких организаций МойСклад в одну организацию 1С:Бухгалтерия
  • Отдельная загрузка оплат по QR-кодам и по картам;
  • Учет прослеживаемости и РНПТ (только для тарифа МойСклад Базовый и выше);
  • «Разворачивание» комплектов на комплектующие в документах;
  • Автоматическое проставление кода ТН ВЭД для прослеживаемых товаров при загрузке приемок (по данным ФНС России, есть ограничения, см. инструкцию).
  • Правильная загрузка предоплат, возвратов предоплат и продаж предоплаченных товаров;
  • Отбор по датам и видам документов для загрузки;
  • Проставление префикса точки продаж в розничных документах;
  • Проверка на дату запрета редактирования при загрузке документов;
  • Сохранение связей документов
  • Загрузка истории цен (Регистрация цен номенклатуры по датам изменения цен)
  • Загрузка отчета комиссионера и комитента
  • Загрузка "Поступления доп.расходов" при накладных расходах в приемке
  • Загрузка документов, у которых длина номера больше 11 символов
  • Загрузка товаров с длинными кодами
  • Автоматическое округление сумм до 2х знаков и количества до 3х знаков
  • Загрузка Отчетов производства по данным выполненных этапов производства
  • Правильная загрузка документов комиссионной торговли (как по принятым на комиссию так и по отданным на комиссию товарам)
  • Возможность настраивать правила сопоставления существующей номенклатурой
  • Возможность автоматического обмена по расписанию
  • Возможность загрузки производственных документов в Комплектацию номенклатуры вместо Отчета производства
  • При обмене в 1С загружается не вся номенклатура, а только та, которая есть в документах за заданный период
  • Возможность загрузки только документов прошедших настроенный фильтр

Установка

Настройка 1С:Бухгалтерия

Поставка системы “Обмен МойСклад с 1С:Бухгалтерия” состоит из 3х файлов: расширения для 1С:Бухгалтерия и двух шаблонов печатных форм для МойСклад.

В 1С:Бухгалтерия устанавливаем расширение:
Далее нажать «Добавить из файла» и выбрать файл МойСкладED.cfe
В списке расширений появится расширение МойСклад, необходимо убрать галочку «Безопасный режим»
Перезапускаем 1С и у вас появится пункт меню: «МойСклад»:

Настройка 1С:Фреш


Расширение размещено в магазине приложений 1С:Фреш:

В поиске пишем “МойСклад” и щелкам два раза на приложение

Жмем кнопку “Установить”:
В дальнейшем приложение будет обновляться автоматически.

Получение токена


Для получения токена необходимо зайти на страницу настройки приложения в сервисе МойСклад и скопировать токен

Запуск обмена МойСклад с 1С:Бухгалтерия

На форме обработки обмена прописываем "токен".

После указания "токена" автоматически загрузятся организации МойСклад и сопоставятся с организациями 1С. Сопоставление идет по ИНН+КПП или ИНН если физ.лицо/ИП. Если не найдено по ИНН, то ищется по наименованию.
Если автоматическое сопоставление не подходит, то можно указать вручную любую организацию 1С. Можно для разных организаций МойСклад указать одну организацию 1С.

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

В 1С загружаются данные только по организациям, отмеченным галочками.
Справа можно выбрать конкретны виды документов для загрузки.

После указания всех настроек для запуска обмена нужно нажать кнопку «Загрузка данных»
Загрузку лучше делать за малые промежутки дат (не больше месяца). Это ускорит процесс в случае ошибок и снизит нагрузку на память ПК.
Обмен может идти несколько часов. Зависит от заданного периода и количества документов. Дольше всего идет загрузка розничных смен
Если обмен вылетает с ошибкой 504 «Превышен таймаут обращения к сервису, то повторите попытку позднее» попробуйте уменьшить период загрузки. Детально ошибку можно увидеть в журнале регистрации 1С
При загрузке все данные справочника/документа перезаписываются. Т.е. если вы например изменили наименование контрагента в 1С или изменили строки в документах, то при повторной загрузке из МойСклад ваши изменения могут затереться. Если требуется менять данные в 1С не меняя из в МойСклад, то возможно понадобится доработка модуля МенеджерОбменаЧерезУниверсальныйФормат13 (КД 3)
Если по какой-то причине список видов документов неправильный или пустой, то можно его перезаполнить:

Настройки

Настройки выполняются на станице приложения МойСклад

Настройка фильтров загрузки данных

Есть несколько способов фильтрации документов к загрузке в 1С:
  • По организации. Просто ставится или не ставится галочка загрузки по определенным организациям.
  • Выгружать только проведенные документы. Данная настройка включается на странице настроек решения в МойСклад.
  • Фильтр по любым полям документа в самой 1С. При двойном щелчке по виду документа на форме обмена в 1С открывается окно отбора в котором можно задать различные фильтры. Подробнее смотрите в видео в разделе "Запуск обмена".
  • Не выгружать документы отмеченные галочкой "Не выгружать в 1С"
В МойСклад можно отмечать документы, которые не должны передаваться в 1С.
Для этого необходимо ввести дополнительное поле «Не выгружать в 1С» для данного типа документов:
Теперь в документах можно ставить отметку:

Учет прослеживаемости и РНПТ


Для обозначения товара как прослеживаемого необходимо в карточки товара в МойСклад добавить дополнительный реквизиты «Прослеживаемый (1С)» и отметить его для прослеживаемой номенклатуры.
Настроить дополнительный реквизит можно нажав кнопку «Предварительная настройка» в настройках приложения.
Если галочка «Прослеживаемый (1С)» не стоит, то прослеживаемость определяется по данным номенклатуры 1С (номенклатура сопоставляется между МойСклад и 1С по Код+Наименование)
Через JSON API 1.2 нельзя для отгрузочных документов узнать точный номер РНПТ и в МойСклад РНПТ в отгрузочных документах определятся по принципу ФИФО.

Есть два варианта определения РНПТ в 1С:

  1. Если не настроены печатные формы в МойСклад, то РНПТ в документе определится автоматически по ФИФО (с учетом остатков). Проблема здесь может быть в том, что данный РНПТ не совпадет с РНПТ в МойСклад если порядок проведения документов в 1С нарушен (номер РНПТ в 1С определяется при первом проведении документа и далее автоматически не меняется)
  2. Получить РНПТ можно через специальные печатные формы в МойСклад. В этом случае в 1С будет указан тот же РНПТ, что и в МойСклад. Как установить печатные формы описано ниже.
Так же автоматически проставляется код ТНВЭД в прослеживаемой номенклатуре при загрузке поступлений. Проверка Сервисом ФНС доступна при установленном флажке для значения “Автоматически проверять РНПТ в документах” (раздел Администрирование – подраздел Настройки программы – Настройки проверки РНПТ) и только для подключённых к Интернет-поддержке.

Настройка печатных форм МойСклад для определения РНПТ

В МойСклад добавляем шаблоны печатных форм к документам Отгрузка и Розничная продажа. Это необходимо для правильного определение номеров РНПТ.
Добавляем печатную форму для розничных продаж и розничного возврата
Указываем файл «upd1c_retail.xls». В списке должна появится печатная форма:
Так же делаем для документа Отгрузка, но выбираем файл «upd1c.xls»

Учет предоплат


Предоплата загружается в 1С как Заказ клиента + привязанный к нему платежный документ (ПКО или оплата картой). Платежные документы по предоплате загружаются со способом погашения равным «Не погашать», что бы всегда была проводка 62.02

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

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

Возврат предоплаты загружается как платежный документ (РКО или возврат по карте) привязанный к документу оплаты.
Считается, что розничная предоплата не может быть через банковскую платежку. В этом случае оформляется обычный заказ и отгрузка в МойСклад.

К номерам платежных документов по предоплате добавляется префикс для обеспечения уникальности, т.к. номер платежного документа соответствует номеру предоплаты в МойСклад.
Для предоплат ПКО и оплат картой добавляется префикс П, для предоплаты по QR коду – префикс QR.
При возврате предоплаты префикс ВП.
При оплате остатка после продажи префикс ОП. Для документа продажи префикс П.

Учет комплектов и модификаций


В 1С:Бухгалтерия нет ни комплектов, ни наборов, ни характеристик номенклатуры.

Модификации грузятся как отдельная карточка номенклатуры, при это ее код будет вида <код родительской номенклатуры>-<Код модификации>

Комплекты при загрузке в 1С «разворачиваются» на составные карточки номенклатуры.

Количество считается как количество комплекта * количество конкретной комплектующие (указывается на вкладке «Компоненты» для комплекта). Цена составной части рассчитывается как «продажная цена» указанная в карточке комплектующей + доп.сумма. Доп.сумма – это сумма, которой не хватает до цены комплекта указанной в документе продажи.

Пример:

Есть «комплект», состоящий из двух комплектующих:

– Комплектующая 1, количество 1, продажная цена 100 р.
– Комплектующая 2, количество 2, продажная цена 120 р.

Указаны доп. расходы в карточке комплекта = 20 р. (либо при продаже в документе отгрузки указали другую сумму и разница будет считаться как доп. расходы. )

Продажная цена всего комплекта = 100 + 2*120 + 20 = 360 р.

Сумма комплектующих при этом 100 + 2*120 = 340 р.

Доп.сумма = 360-340 = 20 р.

Эти 20 р. распределяются по суммам комплектующих. Весом является цена комплектующей. (если продажная цена не задана для комплектующей, то ее цена считается равной 1р)

В итоге после всех расчетов в 1С загрузятся следующее

– Комплектующая 1, количество 1, цена 105.88 р.
– Комплектующая 2, количество 2, цена 127.06 р.
Итого: 360 р.

Описание проблематики комплектов
"Комплект" в МС существует как запись элемента справочника Товары, но не существует как товар на остатках. Так же в движениях документов МС не существует комплектов.

"Комплект" в МойСклад соответствует:

1. В 1с УТ 10.3 / УПП 1.3 был вид номенклатуры "набор-комплект":

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

Набор-комплект вводится в табличную часть документов на закладке "Товары" как обычный товар. Для того чтобы набор-комплект отличался от обычных товаров в табличной части документа, он помечается пиктограммой. Такой же пиктограммой помечена кнопка "Состав набора". Нажав на эту кнопку можно посмотреть и изменить список комплектующих, входящих в состав набора-комплекта. При необходимости список комплектующих можно заранее не задавать, а вводить этот список непосредственно при оформлении документа. При проведении документа реализации со склада списываются те комплектующие, которые входят в набор-комплект (указаны на закладке "Состав набора"), а по регистру продажи фиксируется продажа набора-комплекта, при этом себестоимость этого набора-комплекта рассчитывается как сумма себестоимостей комплектующих, входящих в его состав."

2. Набору из УТ 11/ERP 2. Здесь 1с изменили механизм наборов и теперь в табличных частях отображаются все комплектующие, но есть колонка с общим названием комплекта для печатных форм
https://www.coderstar.ru/kurs-ut11/nabory-nomenklatury
https://academy.rdv-market.ru/home/platforma-rdv-market-2-0/rabota-s-tipovymi-dokumentami/dopolnitel-nye-instruktsii/universal-nye-instruktsii/otlichie-naborov-komplektov-i-upakovok-v-1s

В 1с Бухгалтерия 3 нет ни наборов, ни комплектов. Поэтому при синхронизации данных используется то те же принцип, что и для "набор-комплектов" из 1с Ут 10.3 / УПП:
в 1С:Бухгалтерия перегружается не карточка набор-комплекта, а сами комплектующие. (общий макет "ПравилаОбмена_УТ_БП" из 1С УТ 10.3, строка 14564)

Техническая информация:
Если «раскрытие комплектов» не нужно, то необходимо в модуле обработки обмена, в процедуре ПолучитьПустыеНастройки установить Настройки.Вставить(“РаскрыватьКомплекты”, Ложь)

Загрузка платежных документов


В МойСклад взаиморасчеты ведутся в разрезе контрагента, а не договора (как в 1С) и у платежных документов нет «видов операций» (нельзя различить оплату от покупателя и поступлением по платежным картам). Поэтому в общем случае предпочтительно грузить платежки из банк-клиента в 1С.

Правила загрузки платежных документов из МойСклад в 1С следующие:

– если не указан контрагент или платежный документ привязан к розничной смене, то документ не грузится.

– для входящих платежей, если контрагент – физ лицо ИЛИ привязан к Предоплате, то грузится «Операция по платежной карте», иначе «Поступление на расчетный счет».

– для исходящих платежей, если контрагент – физ лицо и это возврат ИЛИ привязан к Предоплате, то грузится «Операция по платежной карте», иначе «Списание с расчетного счета».

– для расходного ордера, если контрагент – сотрудник, то документ не грузится (выплата зп не поддерживается в текущей версии). Если расходный ордер не привязан к какому-либо торговому документу И тип контрагента не «контрагент» (например, сотрудник), то грузится как «Прочий расход». Если привязан, то как «Возврат покупателю» или «Оплата поставщику» с привязкой к документу/счету.

– для приходного ордера, если он не привязан к какому-либо торговому документу И тип контрагента не «контрагент» (например сотрудник), то грузится как «Прочий приход». Если привязан, то как «Возврат от поставщика» или «Оплата от клиента» с привязкой к документу/счету.

Производство


Загружаются документы Выпуск продукции (Отчеты производства). Вид операции “Отчет производства за смену”. Спецификации не загружаются.
Данные берутся либо из документа “Техоперация” либо из Выполненных этапов производства.

Для того, что бы проставлялись правильные счета учета вам нужно указать в карточках номенклатуры правильны вид: Товар (41.01), Продукция (43) или Материал (10.01).
Так же вид номенклатуры задается для группы и в дальнейшем вся номенклатура, которая будет создаваться в данной группе, будет с заданным видом:
Что бы проставить нужный вид номенклатуры для старых карточек, можно воспользоваться штатной групповой обработкой реквизитов (Администрирование – Обслуживание – Корректировка данных – Групповое изменение реквизитов)
В МойСклад количество списанных материалов можно указать с точностью до 4-х знаков после запятой, а в 1С только 3 знака. При загрузке происходит округление количества до 3х знаков и из-за этого могут быть расхождения в остатках. Нужно взять за правило: не указывать ни в каких документах МС количество с точностью 4-е знака

Комиссионная торговля


Полученный отчет комиссионера загружается в документ “Отчет комиссионера”. Поле “Прочие услуги” не учитывается, т.к. в 1С:Бухгалтерия нет такого реквизита и нужно добавлять конкретную услугу в таблицу услуг.

В 1С:Бухгалтерия есть вида “Отчета комиссионера”:

  • Отчет о розничных продажах комиссионера. В данном варианте не указываются контрагенты-покупатели и на форме не видно реквизита настройки процента и суммы вознаграждения. При этом сумма вознаграждения загружается из МойСклад и встает в проводках правильно.

  • Отчет о продажах комиссионера. В этом варианте можно указывать конкретных контрагентов для выписки счет-фактур. При загрузке из МойСклад ставится один контрагент – сам комиссионер.
Вид загружаемого отчета определяется настройкой приложения “Использовать розничный тип отчета комиссионера

В строках возвратов отчета комиссионера реализовано автоматическое определение документов реализации. В качестве документа реализации подставляется последний отчет комиссионера в котором продавался данный товар по указанной цене (цена возврата всегда равна цене продажи).

Выданный отчет комиссионера загружается в документ “Отчет комитента”
Товар принимаемы на комиссию должен быть в отдельной группе с видом “Товары на комиссии”, иначе в Реализации не будет автоматически вставать правильный счет учета.
Сумма вознаграждения не может быть отрицательная. Вознаграждение комиссионер не возвращает, а зачитывает в следующих месяцах.
(https://its.1c.ru/db/accnds#content:1684:bp30). Поэтому отчеты комиссионера, в которых нет продаж, а есть только возвраты или сумма вознаграждения возвратов больше суммы вознаграждения продаж, некорректны в 1С:Бухгалтерия. Если в отчете нет продаж, а есть только возвраты, то сумма вознаграждения в 1С обнуляется

Автоматический обмен по расписанию


Для автоматического обмена по расписанию в решении реализовано регламентное задание “(мой склад) запуск обмена”.
Загружаются все данные по всем видам документов (кроме истории цен) по всем сопоставленным организациям за последние несколько дней. Количество дней загрузки задается в соответствующей настройке. По умолчанию количество дней загрузки равно 3.

Регламентные задания в базах 1С, работающих в файловом режиме, выполняются только когда база 1С запущена на ПК. Для клиент-серверного варианта регламентные операции запускаются согласно расписания на сервере 1С.

Настройка автоматического обмена в 1С:Фреш

Механизм регламентных заданий в 1С:Фреш не такой как в "коробочных" версиях 1С и поэтому настройка расписания запуска обмена сильно отличается.
В 1С:Фреш регламентные задания это "Команды" и настраиваются они в либо в настройках адаптации через личный кабинет 1С:Фреш либо через карточку из магазина расширений.
Рассмотрим вариант с настройкой через магазин расширений.
Открываем магазин расширений:
Находим наше расширение:
В карточке расширения переходим на вкладку Команды, ставим галочку и настраиваем расписание:

Правила сопоставления справочников и документов

Поиск данных в 1С идет сначала по УИД (соответствует id сущности МойСклад), затем по полям поиска заданным в правилах конвертации данных.

Для документов сопоставление происходит по Номер+Дата в рамках года.

Если поле поиска не заполнено в МойСклад, то оно пропускается при сопоставлении.

Порядок сопоставления контрагентов:
  1. ИНН + КПП
  2. Наименование для документов
  3. Наименование в программе

Порядок сопоставления номенклатуры настраивается в настройках решения:
Стрелками можно менять порядок сопоставления

Прочая техническая информация


Система “Обмен МойСклад с 1С:Бухгалтерия” запрашивает данные через JSON API 1.2 и преобразуются в формат EnterpriseData 1.15. Преобразованные данные в формате EnterpriseData 1.15 загружаются в 1С штатной обработкой «Загрузка данных EnterpriseData».

Если сервис МойСклад недоступен или превышено количество запросов, то выполняется 5 попыток с паузой в 2 секунды.
Для розничных документов устанавливается префикс точки продаж.
Номер документа 1С = Префикс организации + Префикс точки продаж (для розничных документов) + номер

Розничные смены отбираются по дате создания, но загружаются датой закрытия смены. Например, смену открыли 11.04.24, а закрыли 12.04.24. Загружаться этот отчет о розничных продажах будет при установке отбора по периоду 11.04.24, но дата документа будет 12.04.24

При загрузке документов сделана проверка на дату запрета. Проверка на дату запрета срабатывает только если документ проводится или уже проведен.
Проверка на дату запрета будет срабатывать и при других обменах через Универсальный формат. Если такое поведение нежелательно, то отключить проверку можно в заимствуемом модуле ДатыЗапретаИзменения расширения: необходимо закомментировать строку &Вместо(“ПроверитьДатуЗапретаИзмененияПередЗаписьюДокумента”)