Загрузка отчётов OZON в вашу 1С:Бухгалтерию

В разделе «Отчёты» кабинета кнопка в 1С создаёт в вашей базе 1С документы «Отчёт комиссионера о продажах» по данным отчёта о реализации OZON: один документ на магазин за месяц, непроведённый, с автоматическим подбором номенклатуры по артикулу. Для этого сервису нужен доступ к вашей базе через стандартный интерфейс OData. Ниже описано, что для этого настроить. Страницу можно переслать вашему системному администратору или бухгалтеру: она открывается без входа в сервис.

Коротко

  1. Опубликовать базу на веб-сервере с галкой «Публиковать стандартный интерфейс OData».
  2. Включить в составе OData нужные справочники и документ, завести отдельного пользователя для сервиса.
  3. Открыть доступ к опубликованной базе из интернета (HTTPS, доступ только с IP сервиса).
  4. В кабинете: «Отчёты» → «Настройки 1С» → адрес, логин, пароль → «Проверить подключение».
  5. Для каждой организации в 1С должен быть хотя бы один «Отчёт комиссионера о продажах» по OZON (и по Wildberries, если есть магазины WB), заведённый вручную: он служит образцом реквизитов.
Подходит для 1С:Бухгалтерии 3.0 (включая базовую) на платформе 8.3.10 и новее, файловой или серверной. Для 1С:Фреш публикация не нужна: OData там уже включён, см. отдельный пункт ниже.

Что понадобится

  • Компьютер или сервер, где установлена платформа 1С и который включён круглосуточно (или хотя бы в момент загрузки).
  • Права администратора Windows на этом компьютере и роль «Администратор» (полные права) в базе 1С.
  • Внешний (белый) IP-адрес у вашего интернет-подключения или доменное имя, которое на него указывает.
  • 20–40 минут времени. Делается один раз.

Шаг 1. Публикация базы на веб-сервере

На компьютере с 1С нужен веб-сервер: IIS (встроен в Windows) или Apache. Ниже вариант с IIS.

1.1. Модуль расширения веб-сервера 1С
«Параметры → Приложения → 1С:Предприятие 8 → Изменить»: убедитесь, что компонент «Модули расширения веб-сервера» установлен. Если нет, доустановите.
1.2. Включить IIS
«Включение или отключение компонентов Windows» → Службы IIS: включите «Службы Интернета → Компоненты разработки приложений → Расширения ISAPI» и «Средства управления веб-сайтом → Консоль управления IIS».
1.3. Права для IIS
Пользователям IIS_IUSRS и IUSR дайте полный доступ к папке платформы (C:\Program Files\1cv8\<версия>\bin), к C:\inetpub и, если база файловая, к папке с базой. Для 32-разрядной платформы в пуле приложений IIS включите «Разрешены 32-разрядные приложения».
1.4. Публикация из конфигуратора
Запустите Конфигуратор от имени администратора → «Администрирование → Публикация на веб-сервере…»:
  • Имя латиницей, без пробелов, например buh. Оно войдёт в адрес, регистр букв важен.
  • Веб-сервер: Internet Information Services (или Apache).
  • Отметьте «Публиковать стандартный интерфейс OData». Без этой галки ничего не заработает.
  • Галки «Публиковать тонкий клиент и веб-клиент» можно снять: сервису нужен только OData.
Нажмите «Опубликовать» и согласитесь перезапустить веб-сервер.
Проверка
В браузере на этом же компьютере откройте http://localhost/buh/odata/standard.odata/ (вместо buh ваше имя публикации). Должен появиться запрос логина и пароля 1С, а после входа список сущностей в XML или JSON. Если открывается пустой список, переходите к шагу 2: состав OData ещё не настроен.

Шаг 2. Состав OData и пользователь для сервиса

2.1. Откройте настройку REST-сервиса
В 1С:Предприятии (не в конфигураторе) под пользователем с полными правами: «Администрирование → Синхронизация данных → Настройки стандартного интерфейса OData» (в некоторых версиях пункт называется «Настройка автоматического REST-сервиса»; если его нет, включите в «Администрирование → Настройки программы → Синхронизация данных» и попробуйте снова, либо откройте через «Все функции → Обработки → Настройка автоматического REST-сервиса»).
2.2. Вкладка «Авторизация»: служебный пользователь
Нажмите «Создать пользователя» (или «Настроить пользователя»). Имя, например, odata.user, задайте непустой пароль и запишите его. 1С сама назначит ему роль «Удалённый доступ OData». Пароль потом понадобится в кабинете.
Если вместо помощника вы заводите пользователя вручную через конфигуратор, ему нужны: аутентификация «1С:Предприятие» с паролем, роль «Удалённый доступ через OData» и права на чтение справочников и на чтение/добавление документов из п. 2.3. При включённом ограничении доступа на уровне записей (RLS) проще дать пользователю профиль «Администратор» или «Бухгалтер»: иначе при создании документа 1С вернёт ошибку «ОбработкаЗаполнения».
2.3. Вкладка «Состав»: отметьте объекты
Сервис читает и пишет только это:
Объект в 1СЗачемОперации
Справочник Организациинайти вашу организацию по ИНН из отчёта OZONчтение
Справочник Контрагентынайти контрагента OZON (ООО «Интернет Решения», ИНН 7704217370) и Wildberries (ООО «РВБ», ИНН 9714053621)чтение
Справочник Номенклатураподобрать позиции по артикулу; недостающие создатьчтение, создание
Документ Отчёт комиссионера о продажах (в списке может называться «Отчёт комиссионера (агента) о продажах»)проверить, что месяц ещё не загружен, взять образец реквизитов, создать документчтение, создание
Если при отметке 1С предлагает включить подчинённые объекты (договоры контрагентов, единицы измерения, виды номенклатуры и т. п.), соглашайтесь. Нажмите «Записать и закрыть». Планы обмена включать не нужно.
Проверка
http://localhost/buh/odata/standard.odata/Catalog_Организации?$format=json под логином odata.user должен вернуть список ваших организаций с ИНН.

Шаг 3. Доступ из интернета

Наш сервер должен достучаться до вашего веб-сервера. Все запросы идут с одного адреса:

91.224.87.119 исходящий IP-адрес сервиса Помогатор OZON
3.1. Проброс порта на роутере
Если 1С стоит за домашним или офисным роутером, сделайте проброс внешнего порта (например 8443 или 777) на порт веб-сервера компьютера с 1С (80 для HTTP, 443 для HTTPS). У компьютера должен быть постоянный локальный IP (резервирование DHCP).
3.2. Ограничьте доступ только нашим IP
В файрволе роутера или Windows разрешите входящие на этот порт только с 91.224.87.119. В IIS это же делается через «Ограничения IP-адресов и доменов» для сайта публикации. Так база не будет видна всему интернету.
3.3. HTTPS
Логин и пароль 1С передаются в каждом запросе (Basic-аутентификация), поэтому желательно настроить HTTPS: бесплатный сертификат Let's Encrypt через win-acme для IIS или Certbot для Apache. Нужно доменное имя, указывающее на ваш внешний IP (подойдёт бесплатный DDNS вашего роутера). Если HTTPS настроить невозможно, сервис работает и по HTTP, но тогда ограничение по IP из п. 3.2 обязательно, а пользователю odata.user не давайте прав больше необходимых.
Проверка
С телефона через мобильный интернет (не через ваш Wi-Fi) откройте https://ваш-домен:порт/buh/odata/standard.odata/. Если доступ ограничен по IP (п. 3.2), с телефона вы получите отказ, это нормально: окончательная проверка делается кнопкой в кабинете на следующем шаге.

Шаг 4. Настройка в кабинете

Откройте Отчёты → «Настройки 1С» и укажите:

  • Адрес OData: полный адрес до standard.odata, например https://buh.example.ru:8443/buh/odata/standard.odata. Регистр имени публикации должен совпадать точь-в-точь с указанным в конфигураторе.
  • Логин и пароль служебного пользователя из шага 2.

Нажмите «Проверить подключение». Сервис покажет организации вашей базы с ИНН, сам найдёт контрагента OZON по ИНН 7704217370, контрагента Wildberries (ООО «РВБ», ИНН 9714053621, либо ООО «Вайлдберриз», ИНН 7721546864, если РВБ в базе нет) и предложит выбрать папку справочника «Номенклатура», куда складывать товары, которых в базе ещё нет. Сохраните.

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

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

  • Один документ «Отчёт комиссионера о продажах» = один магазин OZON за один календарный месяц, дата документа: последний день месяца, непроведённый. Бухгалтер проверяет и проводит сам.
  • Организация определяется по ИНН получателя из отчёта OZON: в 1С должна быть организация с таким же ИНН.
  • Шапка (договор, счета учёта, ответственный, настройки НДС и вознаграждения) копируется с последнего документа этой организации по контрагенту OZON. Поэтому первый такой документ для каждой организации нужно завести вручную: он задаёт учётную политику, сервис её только повторяет.
  • Строка табличной части = строка отчёта OZON: количество и сумма (реализация плюс софинансирование банка). Возвраты попадают в «Товары возвращённые».
  • Номенклатура подбирается по артикулу OZON (поле «Артикул» в 1С); если позиции нет, она создаётся в выбранной папке с пометкой «Создано автоматически из отчёта OZON». Найденные соответствия запоминаются и используются в следующих загрузках.
  • В «Номер входящего документа» записывается номер отчёта OZON, в комментарий: период отчёта. По ним сервис узнаёт уже загруженные месяцы, поэтому повторный запуск ничего не дублирует: такие месяцы отмечаются как «уже в 1С». Документы, заведённые вручную с таким же комментарием за тот же месяц, тоже распознаются.

Wildberries

  • Wildberries формирует отчёт о реализации еженедельно, поэтому один документ = один недельный отчёт WB, дата документа: последний день периода отчёта. Отчёт относится к месяцу, в котором заканчивается его период (неделя 29.06–05.07 попадёт в июль).
  • Контрагент: ООО «РВБ». Шапка копируется с последнего документа организации по этому контрагенту, первый документ заведите вручную.
  • Организация определяется по ИНН продавца из кабинета Wildberries.
  • Строки отчёта по одному артикулу продавца сворачиваются: количество и сумма «Вайлдберриз реализовал товар». Продажи попадают в «Товары», возвраты в «Товары возвращённые». Логистика, хранение, штрафы и прочие удержания в документ не входят: их видно в файле выгрузки.
  • Номенклатура подбирается по артикулу продавца, общая карта соответствий с OZON: одинаковый артикул на обеих площадках = одна позиция в 1С.
  • В «Номер входящего документа» записывается номер отчёта WB, повторный запуск ничего не дублирует.
  • Токен WB нужен с доступом к категории «Финансы». Wildberries отдаёт детализацию не чаще раза в минуту, поэтому загрузка большого периода по нескольким магазинам WB может занять несколько минут.

1С:Фреш и другие облачные 1С

В 1С:Фреш (1cfresh.com) все базы уже опубликованы с OData. Шаги 1 и 3 не нужны: откройте в приложении «Администрирование → Синхронизация данных → Настройки стандартного интерфейса OData», создайте служебного пользователя и отметьте состав (шаг 2), а в кабинете укажите адрес вида https://1cfresh.com/a/ea/12345/odata/standard.odata, где https://1cfresh.com/a/ea/12345 это адрес вашего приложения из браузера без кода языка. У других облачных провайдеров (42Clouds, Scloud и т. п.) OData включается через поддержку провайдера, адрес и пользователя выдают они.

Если не работает

Что видноПричина и что сделать
«1С недоступна: время ожидания» / не удалось подключиться Сервер сервиса не достучался до вашего адреса: проверьте проброс порта, файрвол (разрешён ли 91.224.87.119), что компьютер с 1С включён и веб-сервер запущен.
1С 401 Неверный логин или пароль, у пользователя пустой пароль или нет роли «Удалённый доступ OData». Частая причина: регистр букв в имени публикации в адресе не совпадает с заданным при публикации.
1С 404 «Сущность не найдена» Объект не включён в состав OData (шаг 2.3). Добавьте его и нажмите «Записать и закрыть».
Пустой список организаций Справочник «Организации» не включён в состав OData, либо у пользователя нет прав на чтение.
Контрагент OZON не найден В справочнике «Контрагенты» нет карточки с ИНН 7704217370 или у неё не заполнен ИНН. Заполните ИНН у контрагента OZON и повторите проверку.
Нет ни одного «Отчёта комиссионера о продажах» для этой организации Заведите первый документ вручную по отчёту OZON за любой месяц и заполните в нём договор, счета и ответственного. Сервис возьмёт его как образец.
1С 500 «ОбработкаЗаполнения» Пользователю OData не хватает прав при включённом ограничении доступа на уровне записей. Дайте ему профиль «Бухгалтер» или «Администратор».
В 1С нет организации с ИНН … ИНН получателя в отчёте OZON не совпадает ни с одной организацией базы. Проверьте ИНН в карточке организации в 1С.

Не получается? Напишите нам через чат поддержки в кабинете или на severodvinska.net@gmail.com, приложите текст ошибки из «Проверить подключение».

Безопасность

  • Пароль пользователя OData хранится в сервисе и используется только для запросов к вашей 1С с адреса 91.224.87.119. Подключение можно удалить в настройках в любой момент.
  • Сервис создаёт только непроведённые документы и элементы номенклатуры. Он не проводит, не изменяет и не удаляет существующие данные.
  • Рекомендуем: отдельный пользователь для сервиса, HTTPS и ограничение доступа по IP.