Загрузка GTIN (Global Trade Item Number) в 1С:Предприятие стала обязательным требованием для работы с большинством маркетплейсов — от Ozon и Wildberries до Яндекс Маркет и зарубежных площадок. Без корректно указанных идентификаторов товары не пройдут модерацию, а вы рискуете потерять видимость в каталогах. В этой статье разберём, как правильно добавить GTIN в 1С, избежать типичных ошибок и автоматизировать процесс для тысяч номенклатур.

Проблема в том, что стандартные конфигурации 1С (например, 1С:Управление торговлей 11 или 1С:Розница 2.3) изначально не имеют отдельного поля для GTIN. Его нужно либо добавлять вручную через дополнительные реквизиты, либо настраивать обмен данными с маркетплейсами через специализированные обработки. Мы рассмотрим оба варианта — от простого к сложному, с учётом нюансов для разных версий платформы.

Особое внимание уделим автоматической проверке GTIN на валидность прямо в 1С — это сэкономит время при выгрузке товаров на площадки. Также разберём, как избежать дублирования кодов и что делать, если у товара нет GTIN (спойлер: для некоторых категорий это допустимо, но требует подтверждения).

Что такое GTIN и почему его требуют маркетплейсы

GTIN (Global Trade Item Number) — это международный стандарт идентификации товаров, который включает в себя:

  • 📦 EAN-13 — самый распространённый формат для розничных товаров (13 цифр, например, 4607001234567)
  • 📦 UPC — американский аналог EAN (12 цифр, используется в США и Канаде)
  • 📦 ISBN — для книг, ISSN — для периодики
  • 📦 ITF-14 — для транспортной упаковки (коробов, паллет)

Маркетплейсы требуют GTIN по трём причинам:

  1. Унификация каталога — чтобы избежать дублирования одного товара от разных продавцов.
  2. Борьба с контрафактом — по GTIN можно проверить подлинность бренда через базы GS1.
  3. Автоматизация логистики — сканирование штрихкодов на складах ускоряет обработку заказов.

На практике это означает, что без GTIN:

  • Ozon и Wildberries не примут карточку товара на модерацию.
  • Яндекс Маркет снизит позиции в выдаче или скрывает товар.
  • Amazon и eBay могут заблокировать аккаунт за нарушение правил.
📊 Какой маркетплейс вы используете чаще всего?
Ozon
Wildberries
Яндекс Маркет
Собственный сайт
Другой

Исключения делаются для:

  • 🛠️ Уникальных товаров ручной работы (например, авторские украшения).
  • 📦 Комплектов, собранных продавцом (если в комплекте нет оригинального GTIN).
  • 📄 Цифровых товаров (программ, электронных книг).
⚠️ Внимание: Правила маркетплейсов меняются чаще, чем обновления 1С. Например, Ozon в 2026 году ужесточил требования к GTIN для категорий "Электроника" и "Бытовая техника". Перед выгрузкой проверяйте актуальные условия в личном кабинете площадки.

Подготовка 1С: где хранить GTIN в стандартных конфигурациях

В базовых конфигурациях 1С (УТ 11, Розница 2.3, КА 2) нет отдельного поля для GTIN. Его можно добавить тремя способами:

Способ Плюсы Минусы Подходит для
Дополнительный реквизит в справочнике "Номенклатура" ✅ Быстро настраивается
✅ Не требует доработок конфигурации
❌ Ручное заполнение для каждого товара
❌ Нет автоматической проверки формата
Малого бизнеса (до 1000 товаров)
Отдельный справочник "GTIN" с привязкой к номенклатуре ✅ Можно хранить историю изменений
✅ Удобно для аналитики
❌ Требует доработки конфигурации
❌ Сложнее поддерживать
Крупных компаний с широким ассортиментом
Использование поля "Артикул" или "Штрихкод" ✅ Не нужно ничего дорабатывать ❌ Конфликт с внутренними кодами
❌ Невозможно хранить несколько GTIN для одного товара
Временного решения (не рекомендуется)

Мы рекомендуем первый способ — дополнительный реквизит — как самый сбалансированный. Вот как его добавить:

  1. Откройте справочник Номенклатура (раздел Справочники → Товары и услуги → Номенклатура).
  2. Перейдите в меню Все действия → Изменить форму (или нажмите Ctrl+Shift+F2).
  3. В конструкторе формы добавьте новый реквизит:
    • 📌 Имя: GTIN
    • 📌 Тип: Строка (20 символов)
    • 📌 Подсказка: "Укажите EAN-13, UPC или другой стандарт GTIN"
  4. Сохраните форму и обновите конфигурацию (Конфигуратор → Обновление конфигурации базы данных).

Добавить реквизит GTIN в справочник "Номенклатура"|

Настроить права доступа для пользователей|

Проверить формат хранения (строка 13-14 символов)|

Создать резервную копию базы перед изменениями-->

После добавления реквизита поле GTIN появится в карточке каждого товара. Теперь его можно заполнять вручную или через выгрузку из Excel.

⚠️ Внимание: Если вы используете 1С:УНФ (Управление небольшой фирмой), поле для GTIN уже может быть предусмотрено в типовой конфигурации под названием "Код маркировки" или "Идентификатор товара". Проверьте это в справочнике номенклатуры перед доработками.

Автоматическое заполнение GTIN: выгрузка из Excel и обработки

Заполнять GTIN вручную для сотен товаров неэффективно. Рассмотрим два способа автоматизации:

1. Импорт из Excel через "Универсальный обмен данными"

Если у вас есть таблица с GTIN (например, от поставщика или из личного кабинета GS1), её можно загрузить в 1С:

  1. Подготовьте файл Excel с колонками:
    • 📄 Артикул (для сопоставления с 1С)
    • 📄 GTIN (13 или 14 цифр)
    • 📄 Наименование (опционально, для проверки)
  • В 1С перейдите в Администрирование → Обмен данными → Универсальный обмен.
  • Создайте новый формат обмена:
    • 📌 Тип: "Табличный документ (Excel)"
    • 📌 Назначение: "Импорт данных"
  • Настройте правила сопоставления:
    
    

    Источник: Колонка "GTIN" → Приёмник: Реквизит "GTIN" (Номенклатура)

    Источник: Колонка "Артикул" → Приёмник: Поле "Артикул" (Номенклатура)

  • Запустите загрузку и проверьте результаты в справочнике номенклатуры.
  • Если при загрузке возникают ошибки типа "Не найден объект для загрузки", значит:

    • ❌ Артикулы в Excel не совпадают с артикулами в 1С.
    • ❌ В таблице есть пустые ячейки в колонке GTIN.
    • ❌ Формат ячеек в Excel установлен как "Текстовый", а не "Числовой" (GTIN не должен терять ведущие нули!).

    2. Обработка для массового заполнения GTIN

    Для ускорения работы можно использовать готовые обработки, например:

    • 🔧 "Загрузка GTIN из файла" (доступна на Инфостарт или 1С-Софт).
    • 🔧 "Пакетное редактирование номенклатуры" (входит в некоторые дистрибутивы 1С).
    • 🔧 "GTIN-менеджер" (платное решение с проверкой валидности кодов).

    Пример кода для простой обработки (можно вставить в Конфигуратор → Модули → Новый модуль):

    
    

    Процедура ЗаполнитьGTIN()

    Таблица = Новый ТаблицаЗначений;

    Таблица.Колонки.Добавить("Артикул");

    Таблица.Колонки.Добавить("GTIN");

    // Загрузка данных из файла (путь укажите свой)

    ПутьКФайлу = "C:\GTIN\коды.xlsx";

    ТабличныйДокумент = Новый ТабличныйДокумент;

    ТабличныйДокумент.Прочитать(ПутьКФайлу);

    Для Каждого Строка Из ТабличныйДокумент.Область("A2:C1000").ВыбратьСтроки() Цикл

    Артикул = Строка.Ячейки.Артикул.Значение;

    КодGTIN = Строка.Ячейки.GTIN.Значение;

    Запрос = Новый Запрос;

    Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1

    | Номенклатура.Ссылка КАК Ссылка

    |ИЗ

    | Справочник.Номенклатура КАК Номенклатура

    |ГДЕ

    | Номенклатура.Артикул = &Артикул";

    Запрос.УстановитьПараметр("Артикул", Артикул);

    Результат = Запрос.Выполнить();

    Если НЕ Результат.Пустой() Тогда

    Товар = Результат.Получить(0).Ссылка;

    Товар.GTIN = КодGTIN;

    Товар.Записать();

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры

    Этот скрипт:

    1. Читает данные из Excel-файла.
    2. Ищет товар в 1С по артикулу.
    3. Записывает GTIN в соответствующее поле.
    ⚠️ Внимание: Перед запуском массовых обработок обязательно сделайте резервную копию базы! Ошибки в коде могут привести к потере данных или дублированию GTIN.

    Проверка GTIN на валидность прямо в 1С

    Один из самых частых проблем при работе с GTIN — невалидные коды. Маркетплейсы отказывают в модерации, если:

    • ❌ Код содержит буквы или символы (должны быть только цифры).
    • ❌ Неправильная длина (EAN-13 должен быть ровно 13 цифр, UPC — 12).
    • ❌ Некорректная контрольная цифра (последний символ кода).
    • ❌ Код начинается с 0 (для EAN-13) или 2 (зарезервировано для внутреннего использования).

    Чтобы избежать ошибок, добавьте в 1С проверку GTIN при сохранении карточки товара. Для этого:

    1. Откройте конфигуратор (Файл → Конфигуратор).
    2. Найдите справочник Номенклатура и откройте модуль объекта.
    3. Добавьте процедуру ПередЗаписью:
    
    

    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроводки)

    Если НЕ ЗначениеЗаполнено(GTIN) Тогда

    Возврат; // Если GTIN не заполнен, пропускаем проверку

    КонецЕсли;

    // 1. Проверяем формат (только цифры)

    Если НЕ СтрочныеФункции.ТолькоЦифры(GTIN) Тогда

    Сообщить("GTIN должен содержать только цифры!", СтатусСообщения.Важное);

    Отказ = Истина;

    Возврат;

    КонецЕсли;

    // 2. Проверяем длину

    ДлинаGTIN = СтрочныеФункции.Длина(GTIN);

    Если НЕ (ДлинаGTIN = 13 ИЛИ ДлинаGTIN = 12 ИЛИ ДлинаGTIN = 14) Тогда

    Сообщить("Некорректная длина GTIN! Допустимо: 12 (UPC), 13 (EAN-13) или 14 (ITF-14) символов.", СтатусСообщения.Важное);

    Отказ = Истина;

    Возврат;

    КонецЕсли;

    // 3. Проверяем контрольную цифру (для EAN-13)

    Если ДлинаGTIN = 13 Тогда

    КонтрольнаяЦифра = Прав(GTIN, 1);

    ОсновнаяЧасть = Лев(GTIN, 12);

    РассчитаннаяЦифра = РассчитатьКонтрольнуюЦифруEAN13(ОсновнаяЧасть);

    Если КонтрольнаяЦифра <> РассчитаннаяЦифра Тогда

    Сообщить("Неверная контрольная цифра в GTIN! Ожидалось: " + РассчитаннаяЦифра, СтатусСообщения.Важное);

    Отказ = Истина;

    КонецЕсли;

    КонецЕсли;

    КонецПроцедуры

    Функция РассчитатьКонтрольнуюЦифруEAN13(Код12Цифр)

    Сумма = 0;

    Для Индекс = 1 По 12 Цикл

    Цифра = Сред(Код12Цифр, Индекс, 1);

    Если Индекс % 2 = 1 Тогда

    Сумма = Сумма + Цифра * 1; // Нечётные позиции умножаем на 1

    Иначе

    Сумма = Сумма + Цифра * 3; // Чётные позиции умножаем на 3

    КонецЕсли;

    КонецЦикла;

    Остаток = Сумма % 10;

    Если Остаток = 0 Тогда

    Возврат "0";

    Иначе

    Возврат 10 - Остаток;

    КонецЕсли;

    КонецФункции

    Теперь при попытке сохранить товар с некорректным GTIN 1С покажет ошибку и не даст записать изменения.

    💡

    Если вы не уверены в правильности GTIN, проверьте его через официальный сервис GS1 (введите код в поле поиска). Это поможет избежать ошибок при модерации на маркетплейсах.

    Выгрузка GTIN на маркетплейсы: настройка обмена данными

    После заполнения GTIN в 1С нужно настроить его передачу на маркетплейсы. Рассмотрим два варианта:

    1. Стандартный обмен через "Коммерческую информацию" (для Ozon, WB, Яндекс Маркет)

    Большинство маркетплейсов поддерживают выгрузку через формат CommerceML (или его модификации). Вот как настроить обмен:

    1. В 1С перейдите в Администрирование → Обмен с сайтом → Настройка обмена.
    2. Создайте новый обмен с параметрами:
      • 📌 Тип обмена: "Выгрузка каталога товаров"
      • 📌 Формат: "CommerceML 2.0"
      • 📌 Файл выгрузки: укажите путь (например, C:\Exchange\ozon.xml)
  • В настройках шаблона добавьте поле GTIN:
    
    

    <Предложение>

    <Ид>{Номенклатура.Ид}</Ид>

    <Наименование>{Номенклатура.Наименование}</Наименование>

    <GTIN>{Номенклатура.GTIN}</GTIN> <!-- Добавляем эту строку -->

    <Цены>...</Цены>

    </Предложение>

  • Запустите выгрузку и проверьте полученный XML-файл.
  • Пример корректного блока с GTIN в XML:

    
    

    <Товар>

    <Ид>12345</Ид>

    <Наименование>Смартфон Xiaomi Redmi Note 12</Наименование>

    <GTIN>6941059602374</GTIN>

    <Штрихкод>6941059602374</Штрихкод>

    </Товар>

    2. Прямая интеграция через API (для крупных продавцов)

    Если вы работаете с большими объёмами, лучше использовать прямую выгрузку через API маркетплейса. Например, для Ozon:

    1. Получите Client-ID и API-Key в личном кабинете Ozon Seller.
    2. В 1С создайте HTTP-запрос (можно через HTTPСоединение или внешнюю обработку).
    3. Формат JSON для передачи GTIN:
      
      

      {

      "items": [

      {

      "offer_id": "12345",

      "name": "Смартфон Xiaomi Redmi Note 12",

      "barcode": "6941059602374" // Поле для GTIN

      }

      ]

      }

    4. Пример кода для выгрузки на Ozon (упрощённая версия):

      
      

      Процедура ВыгрузитьНаOzon()

      URL = "https://api-seller.ozon.ru/v2/product/import";

      ClientID = "ваш_client_id";

      APIKey = "ваш_api_key";

      HTTPСоединение = Новый HTTPСоединение(URL);

      HTTPСоединение.ДобавитьЗаголовок("Client-ID", ClientID);

      HTTPСоединение.ДобавитьЗаголовок("API-Key", APIKey);

      HTTPСоединение.ДобавитьЗаголовок("Content-Type", "application/json");

      Запрос = Новый Запрос;

      Запрос.Текст = "ВЫБРАТЬ

      | Номенклатура.Ид КАК offer_id,

      | Номенклатура.Наименование КАК name,

      | Номенклатура.GTIN КАК barcode

      |ИЗ

      | Справочник.Номенклатура КАК Номенклатура

      |ГДЕ

      | НЕ Номенклатура.ПометкаУдаления";

      Результат = Запрос.Выполнить();

      Выборка = Результат.Выбрать();

      JSONData = Новый Структура;

      JSONData.Вставить("items", Новый Массив);

      Пока Выборка.Следующий() Цикл

      ТоварJSON = Новый Структура;

      ТоварJSON.Вставить("offer_id", Выборка.offer_id);

      ТоварJSON.Вставить("name", Выборка.name);

      ТоварJSON.Вставить("barcode", Выборка.barcode);

      JSONData.items.Добавить(ТоварJSON);

      КонецЦикла;

      ТелоЗапроса = Новый ЗаписьJSON;

      ТелоЗапроса.УстановитьСтроку(JSONЗапись(JSONData));

      Ответ = HTTPСоединение.ОтправитьДляОбработки(ТелоЗапроса, "POST");

      Если Ответ.КодСостояния <> 200 Тогда

      Сообщить("Ошибка выгрузки: " + Ответ.ПолучитьТекст(), СтатусСообщения.Важное);

      Иначе

      Сообщить("Выгрузка успешна!", СтатусСообщения.Информация);

      КонецЕсли;

      КонецПроцедуры

      Для Wildberries и Яндекс Маркет логика аналогична, но отличаются:

      • 🔹 Название поля для GTIN (barcode у Ozon, gtin у WB).
      • 🔹 Формат авторизации (WB использует Bearer Token).
      • 🔹 Ограничения на количество запросов в минуту.
      💡

      Перед настройкой обмена проверьте требования маркетплейса к формату GTIN. Например, Wildberries принимает только EAN-13, а Ozon — также UPC и ITF-14.

      Типичные ошибки при работе с GTIN в 1С и как их исправить

      Даже после настройки обмена продавцы сталкиваются с ошибками. Разберём самые частые:

      Ошибка Причина Решение
      Invalid GTIN format (на маркетплейсе) ❌ Неправильная длина кода или контрольная цифра. ✅ Используйте проверку из раздела про валидацию.
      GTIN not found in GS1 database ❌ Код не зарегистрирован в GS1 или принадлежит другому производителю. ✅ Проверьте код на gepir.gs1.org.
      Duplicate GTIN ❌ Один и тот же код присвоен нескольким товарам. ✅ Проведите аудит номенклатуры в 1С (см. запрос ниже).
      Missing GTIN для обязательной категории ❌ Не все товары имеют GTIN (например, в категории "Электроника"). ✅ Запросите коды у поставщика или получите в GS1 Russia.

      Чтобы найти дубли GTIN в 1С, выполните запрос:

      
      

      ВЫБРАТЬ

      Номенклатура.GTIN КАК GTIN,

      КОЛИЧЕСТВО(*) КАК Количество

      ИЗ

      Справочник.Номенклатура КАК Номенклатура

      ГДЕ

      НЕ Номенклатура.ПометкаУдаления

      И ЗначениеЗаполнено(Номенклатура.GTIN)

      СГРУППИРОВАТЬ ПО

      Номенклатура.GTIN

      ИМЕЮЩИЕ

      КОЛИЧЕСТВО(*) > 1

      Если дубли найдены, исправьте их вручную или с помощью обработки:

      
      

      Процедура ИсправитьДублиGTIN()

      Запрос = Новый Запрос;

      Запрос.Текст = "ВЫБРАТЬ

      | Номенклатура.Ссылка КАК Ссылка,

      | Номенклатура.GTIN КАК GTIN

      |ИЗ

      | Справочник.Номенклатура КАК Номенклатура

      |ГДЕ

      | НЕ Номенклатура.ПометкаУдаления

      | И ЗначениеЗаполнено(Номенклатура.GTIN)

      |УПОРЯДОЧИТЬ ПО

      | GTIN";

      Результат = Запрос.Выполнить();

      Выборка = Результат.Выбрать();

      ПредыдущийGTIN = "";

      Пока Выборка.Следующий() Цикл

      Если Выборка.GTIN = ПредыдущийGTIN Тогда

      Товар = Выборка.Ссылка.ПолучитьОбъект();

      Товар.GTIN = ""; // Очищаем дублирующий GTIN

      Товар.Записать();

      Сообщить("Очищен GTIN у товара: " + Товар.Наименование);

      КонецЕсли;

      ПредыдущийGTIN = Выборка.GTIN;

      КонецЦикла;

      КонецПроцедуры

      Для товаров без GTIN (например, для уникальных позиций) можно:

      • 📌 Указать в настройках обмена, что поле GTIN не обязательно.
      • 📌 Использовать исключения по категориям (например, для "Handmade").
      • 📌 Заменить GTIN на внутренний артикул (но это может не пройти модерацию!).
    Что делать, если поставщик не предоставил GTIN?

    Если производитель не дал вам GTIN, у вас есть три варианта:

    1. Получить код самостоятельно через GS1 Russia (платно, от 5000 руб/год).

    2. Использовать исключение (для уникальных товаров или комплектов) — уточните у маркетплейса список категорий, где GTIN не обязателен.

    3. Сгенерировать внутренний код в формате EAN-13 (но это нарушает стандарты и может привести к блокировке на некоторых площадках).

    Ozon и Wildberries иногда разрешают использовать артикул вместо GTIN для ограниченного списка категорий (например, "Сувениры" или "Товары для творчества"). Но это временное решение — лучше урегулировать вопрос с поставщиком или зарегистрироваться в GS1.

    GTIN для комплектаций и модификаций: сложные случаи

    Особую сложность представляют:

    • 📦 Комплекты (наборы из нескольких товаров).