Вопросы и ответы

Где настраиваются параметры НДС кассы/организации?
В личном кабинете Webkassa: Программирование → Управление организацией → Профиль организации (ПИН-код по умолчанию 0000). Можно:

  • включить / отключить режим НДС;
  • выбрать применяемые ставки НДС.


Что указывать в «Серия НДС» и «Номер НДС»?

В тестовой среде можно оставить пустыми или заполнить любыми цифрами. В боевой среде номер и серию выдаёт КГД, но также поддерживаются пустые значения.


Как правильно указывать НДС в запросах?

1. Если позиция без НДС:
а) можно не присылать в запросе Tax, TaxPercent, TaxType
или
б) в запросе присылать:
"Tax" : 0,
"TaxPercent" : null,
"TaxType" : 0
2. Если позиция с НДС 16%,
то в запросе присылать:
"Tax" : сумма НДС,
"TaxPercent" : 16,
"TaxType" : 100
3. Если позиция с НДС 5%,
то в запросе присылать:
"Tax" : сумма НДС,
"TaxPercent" : 5,
"TaxType" : 100
4. Если позиция с НДС 0%,
то в запросе присылать:
"Tax" : 0,
"TaxPercent" : 0,
"TaxType" : 100


Можно ли изменить или исправить уже созданный чек?

Чеки, которые были фискализированы, не подлежат удалению или отмене. В качестве альтернативы можно оформить возврат продажи/покупки.


Как открыть смену на кассе?

Смена открывается автоматически при первой операции Продажи / Покупки / Возврата продажи / Возврата покупки / Внесения средств / Изъятия средств.


Нужно ли указывать ExternalCheckNumber чека-основания при возврате?

Да, но не оригинального чека, а новый номер чека для возврата.

Можно ли использовать формат GUID в поле ExternalCheckNumber?

Да, это полностью поддерживается.

Нужно ли указывать код маркировки товара при возврате?

Да, нужно. При корректной передаче маркировки в Webkassa данные далее передаются в ОФД, после чего ОФД направляет их оператору маркировки.
Выбытие товара из оборота и возврат в оборот осуществляется на стороне ИС МПТ.


Где узнать список товаров, подлежащих обязательной маркировке?

Приказ от 22 ноября 2025 года №330-НҚ «О внесении изменений и дополнения в приказ исполняющего обязанности Министра торговли и интеграции Республики Казахстан от 27 сентября 2024 года № 343-НҚ «Об определении перечня товаров, подлежащих маркировке».
https://zan.gov.kz/client/#!/doc/217274/rus


Как проверить, что маркировка корректная перед отправкой?

Подключиться к серверу ИС МПТ и там проверить статус кода маркировки.

Как настроить автозакрытие смены?

Рекомендуем интеграторам настраивать функционал закрытия/автозакрытия смены на своей стороне, так как настройка «Автоматическое закрытие смены» используется на кассах, работающих через веб-интерфейс. Закрытие смены может совпасть с запросом на чек (параллельный запрос) — в таком случае первый запрос обработается, на второй вернётся ошибка.

Можно ли скрыть код маркировки на чеке?

При работе по API встроенной возможности скрыть код маркировки нет. Как возможное решение — реализация интегратором собственного дизайна чека без отображения данного поля. В этом случае требуется предоставить фото чеков со всеми обязательными полями согласно разделу «Собственный дизайн чека».

Z-отчёт приходит на почту или нужно сохранять отдельно?

Z-отчёт может автоматически отправляться на e-mail, указанный в настройках кассы.
В ЛК WebKassa: Программирование → Управление кассами → Управление кассами → ПИН-код по умолчанию 0000 → В выпадающем списке сверху выбрать нужную кассу → Нажать кнопку "Редактирование кассы" → В левом меню выбрать "Закрытие смены" → В «Условие для получения Z-отчёта на email» выбрать пункт «Получать всегда» → В поле "Email для получения Z-отчетов" указать email. 
Автозакрытие смены настраивается в этом же разделе. Если не настроено — отчёт нужно сохранять вручную.

API-KEY не валидируется в dev-среде?

В старых методах поле API-KEY могло быть необязательным. В новых методах обязателен.

На что выдаётся API-KEY?

API-KEY выдаётся на ПО. Для всех касс, которые будут работать на данном ПО, можно использовать один и тот же API-KEY.

Если утерян API-KEY, как получить новый?

Необходимо обратиться в техподдержку — API-KEY будет отправлен на e-mail или в личные сообщения.

Какой срок действия у token?

По API — до следующей авторизации, рекомендуемая периодичность обновления — 1 раз в 16-24 часа.

Нужно ли переавторизовываться перед каждой операцией?

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

Какие адреса боевого личного кабинета и API?
Личный кабинет: my.webkassa.kz
API-сервер: api.webkassa.kz/api/v4

Боевой аккаунт будет новый или тестовый станет боевым?
Будет создан отдельный продакшн-аккаунт. ЗНК кассы и личный кабинет будут другие. Тестовая среда сохранится.

Как создать/добавить тестовую кассу?
ЛК WebKassa → Кабинет интегратора → Добавить кассу.
Для этого необходимо наличие у учётной записи права "Кабинет интегратора".
Можно сразу добавить лицензию правее кассы  →  Троеточие → "Добавить лицензию".

Как добавить право учётной записи?
Войти в личный кабинет WebKassa (используя учётную запись с правом "Доступ к режиму программирования") → Программирование → Управление организацией → Управление кассирами → ПИН-код по умолчанию 0000 → Справа от нужного пользователя кнопка "Редактировать" В выпадающем списке "Права пользователя" установите галочку напротив нужного права → Сохранить.
Затем переавторизуйтесь в личном кабинете под пользователем, получившим право.

Как добавить кассиру доступ к кассе/кассам?
Войти в личный кабинет WebKassa (используя учётную запись с правом "Доступ к режиму программирования") → Программирование → Управление организацией → Управление кассирами → ПИН-код по умолчанию 0000 →  Справа от нужного пользователя кнопка  "Редактированть" → В разделе "Доступ к кассам" указать нужные кассы → Сохранить.
Затем переавторизуйтесь в личном кабинете под пользователем, получившим право.


Как изменить протокол кассы?

В тестовой среде можно изменить самостоятельно, только если ОФД «ВОФД». В боевой среде можно изменить при любом провайдере ОФД. Путь: Кассы → выбрать кассу → Версия протокола → Переключить на 2.0.3.


В каком запросе и поле указывается ссылка для уведомления о фискализации чека курьером для клиента?

URL-адрес для webhook-уведомлений о фискализации курьером необходимо сформировать самостоятельно. На текущий момент функционал для самостоятельного внесения URL в системе Webkassa не предусмотрен. Вы можете предоставить URL и мы внесем его со своей стороны.


С 2026 ставка 5% вместо 0% — получаем ошибку.

В личном кабинете Webkassa: Программирование → Управление организацией → Профиль организации  → ПИН-код по умолчанию 0000  → Поставить галочку на соответствующую ставку НДС.


Есть ли кодировка казахского языка в 1С?

Webkassa поддерживает казахский язык. Необходимо настроить кодировку вывода на печать: принтер должен поддерживать кодировку 17, установить её в 1С, назначить принтер по умолчанию; если не помогает — обратиться к поставщику принтера.

Как изменить максимальную сумму чека, если она слишком мала?

В ЛК Webkassa: Программирование → Управление организацией → Управление кассирами → ПИН-код по умолчанию 0000 → Редактирование → поле «Максимальная разрешённая сумма чека».


Как создать дополнительного кассира?
ЛК Webkassa: Программирование → Управление организацией → Управление кассирами → ПИН-код по умолчанию 0000 → Добавить нового сотрудника → Заполнить данные → Сохранить.


Как добавить рекламный текст в чек?
1. Если используется собственный дизайн чека, добавление и отображение рекламного текста необходимо реализовать на стороне Вашей системы.
2. Если используется чек Webkassa, рекламный текст настраивается в личном кабинете и возвращается:
- в структуре TicketPrintFormat
- в параметре TicketPrintUrl в ответе на запрос api/check.
Путь в личном кабинете Webkassa: Программирование → Управление кассами → Управление кассами → ПИН-код по умолчанию 0000 → Редактирование кассы → раздел «Настройка чека» → поле «Рекламный текст». Максимальная длина рекламного текста — 500 символов.


Что такое GTIN / NTIN / XTIN и как они используются?

GTIN, NTIN и XTIN — это идентификаторы товара, которые используются в цепочке ККМ → ОФД → НКТ (Национальный каталог товаров).

  • NTIN — национальный код товара, присваивается в системе НКТ (РК). Все производители и импортёры в РК обязаны регистрироваться в НКТ. Формируется не в кассе, а в системе НКТ; присваивается каждому товару, жизненный цикл начинается с момента импорта товара.
  • GTIN — международный код товара (штрих-код), присваивается производителем, может существовать без NTIN. Используется как исходный идентификатор для поиска товара в НКТ. 
  • XTIN — временный NTIN, если NTIN ещё не получен. Для генерации XTIN нужно, чтобы GTIN и PositionName были одинаковыми в отправляемых запросах.
На нашей стороне проверка осуществляется по длине строки GTIN и NTIN.
NTIN может быть длиной 13 или 14 символов.
GTIN может быть длиной 14 символов и меньше, например, по формату EAN-8.

Логика передачи кодов:
  1. Указаны NTIN и GTIN (оба заполнены): 
       → Чек формируется с NTIN
       → В ОФД передаются оба значения: NTIN и GTIN
    Если NTIN/GTIN отсутствуют в WebNKT/НКТ:
       → Не выполняется автоматическое добавление NTIN и GTIN в WebNKT/НКТ.
  2. Указан только NTIN (GTIN не заполнен): 
       → Чек формируется с NTIN
       → В ОФД передается NTIN 
    Если NTIN отсутствует в WebNKT/НКТ:
       → Не выполняется автоматического добавления NTIN в WebNKT/НКТ.
  3. Указан только GTIN (NTIN не заполнен):
       → система Webkassa выполняет поиск в WebNKT/НКТ по GTIN
    а) товар по GTIN найден и для него присутствует NTIN:
       → NTIN автоматически добавляется в чек
       → Чек формируется с NTIN 
       → В ОФД передаётся NTIN
    б) Если для товара по GTIN отсутствует NTIN в WebNKT/НКТ:
       → Чек формируется без NTIN
       → В ОФД передаётся GTIN
       → В WebNKT/НКТ инициируется генерация XTIN
    После генерации, при повторном запросе с тем же GTIN:
       → чек формируется с XTIN 
       → В ОФД передаётся XTIN.
  4. Не указаны NTIN и GTIN (оба не заполнены):
       → Система Webkassa выполняет поиск в WebNKT/НКТ по наименованию товара
    а) При полном совпадении наименования и наличии NTIN в WebNKT/НКТ:
       → NTIN автоматически добавляется в чек
       → В ОФД передаётся NTIN
    б) Если NTIN для товара отсутствует:
       → Чек формируется без NTIN
       → В ОФД позиция передаётся без NTIN/GTIN/XTIN.


Что будет, если передать NTIN в поле GTIN?

Если значение NTIN передано в поле GTIN, то в чеке ОФД оно отобразится как GTIN, в чеке WebKassa GTIN не отображается, это правильное поведение системы.
Контроль за правильностью указания данных в полях GTIN и NTIN находится в поле ответственности кассира.


Поддерживается ли другой провайдер SMS?

На данный момент работаем только с одним поставщиком (smsc.kz «СМС Центр»), функционал для других провайдеров не предусмотрен.


Возврат обязательно делать по той же кассе, что и продажу?

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


Где/как узнать контакты ЦТО?

Контакты ЦТО можно посмотреть в ЛК Webkassa (my.webkassa.kz) → раздел Кассы → Обслуживающее ЦТО (Помощь) → «Связаться с ЦТО».


Как узнать, что отправка документа от кассы в WebKassa провалилась?

При таймауте или ошибке от ВебКассы нужна обработка ошибки, проверка доступа в Интернет (ping, telnet api.webkassa.kz 443), повтор запроса и обращение к нам в случае недоступности сервиса.


Как узнать, что отправка документа от WebKassa в ОФД провалилась?

Если проблема между ВебКассой и ОФД, мы продолжим принимать от вас документы в автономном режиме, в короткое время заметим проблему и оперативно её решим.


Как получить Z-отчёт по крайней закрытой смене?

В два запроса: POST /api/v4/Cashbox/ShiftHistory (Take = 1, Skip = 0) — сохранить значение поля Total; затем POST /api/v4/Cashbox/ShiftHistory (Take = 1, Skip = Total − 1, где Total из предыдущего запроса).


Сколько символов максимум в поле PositionName?

Длина поля PositionName — до 1000 знаков.


Для чего настройка в ЛК «Единицы измерения, используемые в кассе»?

Используется на кассах, работающих через веб-интерфейс. Для работы по API не требуется.


При открытии чека по ссылке ошибка «Чек не найден», что делать?

Проверьте, что в другой вкладке браузера не осуществлён вход в личный кабинет. Возможно, вход в ЛК был более 24 часов назад — нужно выйти из учётной записи и обновить страницу просмотра чека.


Имеется ли тип оплаты «предоплата» или «авансовый платёж»?

Работа ККМ осуществляется строго согласно протоколу передачи данных на сервер ОФД (регламентируется КГД). В последней версии протокола есть три типа платежа: 0 — Наличные, 1 — Банковская карта, 4 — Мобильные.

Решение: сформировать первый чек как «Предоплата/Авансовый платёж за товар/услугу», выбрав один из указанных типов платежей; когда клиент внесёт последний платёж — сформировать чек с учётом скидки, равной первому платежу, либо по чеку предоплаты сделать возврат, а после внесения всей суммы пробить чек на полную стоимость. Чек предоплаты будет в той смене, каким числом его пробили.


Есть ли ограничение на количество запросов к WebKassa API в секунду по одной кассе?

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


Что такое автономный режим работы кассы?

Автономный режим не является проблемой или ошибкой — это полноценный режим работы ККМ. Фискализация также осуществляется в автономном режиме. При выходе кассы в режим отправки в ОФД (онлайн) данные по кассовым операциям автоматически передаются на сервер ОФД. Касса может работать в автономном режиме без подключения к ОФД до 72 часов.


Почему касса перешла в автономный режим?

Переход ККМ в автономный режим может произойти по двум причинам:
    1. Сервер ОФД недоступен. Если касса в автономном режиме, при этом услуги ОФД оплачены — отсутствует связь с сервером ОФД.
    2. Нет оплаты за услуги ОФД.
Для решения проблемы необходимо связаться с обслуживающим вашу компанию Центром Технического Обслуживания (ЦТО).


Как получить остаток по кассе?

Использовать запрос:
POST /api/v4/MoneyOperation с полем  Sum: 0 
В ответе будет передан текущий остаток по кассе.


Какая максимальная длина значения в поле PositionName?

До 1000 знаков.


Какие значения могут принимать и чему соответствуют: LicenseStatus, Ofd, CashboxStatus?

LicenseStatus - Статус лицензии:
0 Создан
1 Ожидает активации
2 Активен
3 Истек
4 Отозван

Ofd - Код ОФД:
1 АО «Казахтелеком»
2 АО «Транстелеком»
3 АО «Jusan Mobile»
4 ТОО «Smartcontract» (WOFD)

CashboxStatus – Текущий статус кассы:
0 Создана
1 Готова к работе
2 Заблокирована ОФД
3 Нарушена целостность данных
4 Заблокирована налоговым инспектором
5 Снята с учета


Теги