December 5

НДС 22% Для разработчиков

Документация

Для решения проблемы того, что далеко не все пользователи имеют возможность обновить кассовую программу по ряду причин, все было автоматизировано на уровне прошивки - в 2025 году продажи по НДС 20% проходят по ставке НДС 20%, а в 2026 году продажи по НДС 20% проходят по ставке НДС 22%.

Поэтому, обязательно для решения задачи формирования чека по НДС 20% в 2026 году (Для возвратом или коррекций 2025 года или ранее) необходимо первым делом отключить автозамену - прописать в программе автоматическую установку в таблице 17 поле 71 "Автозамена НДС 20% на НДС 22%" на значение 2! Логично подавать команду каждое открытие смены на случай, если настройки были сброшены по умолчанию.

Указание ставки в позиции (тег 1199)

Способ 1 без новых значений ставок

- Для формирования чека со ставкой НДС 22% в 2026 году ничего делать не нужно. Автозамена ставки НДС с 20% на 22% включена по умолчанию.

- Для формирования чека со ставкой НДС 20% в 2026 году необходимо подать команду на установку в таблице 17 поле 71 значение 0 или 2

Driver.TableNumber = 17;

Driver.RowNumber = 1;

Driver.FieldNumber = 71;

Driver.ValueOfFieldInteger = 0;

Driver.WriteTable();

0 - чек формируется по НДС 20% в 2026 году при указании ставки НДС 20%. После формирования чека значение сбрасывается в 1. Для ситуаций, когда необходимо сформировать лишь один чек по НДС 20% и не забыть вернуть на 22%.

1 - (по умолчанию) чеки формируются по ставке НДС 22% вместо НДС 20%. Настройка не работает в 2025 году.

2 - чеки формируются по НДС 20% в 2026 году при указании ставки НДС 20%. После формирования чека значение остается 2, пока его не изменят вручную. Для ситуаций, когда необходимо сформировать несколько или много чеков с НДС 20% в 2026 году.

Способ 2 с новыми значениями ставок

Для продажи по НДС 22% необходимо указать новое значение свойства Tax1 у метода FNOperation

Команды нижнего уровня

0x01 - НДС 20%
0x02 - НДС 10%
0x04 - НДС 0%
0x08 - БЕЗ НДС
0x10 - НДС 20/120
0x20 - НДС 10/110
0x81 - НДС 5%
0x82 - НДС 7%
0x84 - НДС 5/105
0x88 - НДС 7/107
0x90 - НДС 20%
0xA0 - НДС 22/122

Если указать ставку НДС 22% (Tax1=11) в 2025 году, то чек сформируется со ставкой НДС 22%. Данную команду следует использовать только на МГМ, иначе придется формировать чеки коррекции.

Если указать ставку НДС 20% (Tax1=1) в 2026 году, но не отключить автозамену, то чек сформируется со ставкой НДС 22%. Обязательно следует учесть данный момент

Set_TaxValueEnabled: False
Set_Summ1Enabled: False
Set_CheckType: 1
Set_TaxValue: 0
Set_Tax1: 11
Set_Summ1: 0
Set_PaymentTypeSign: 4
Set_PaymentItemSign: 1
Set_Department: 0
Set_Price: 122
Set_Quantity: 1
Set_StringForPrinting: Пример
Set_MeasureUnit: 0
Set_DivisionalQuantity: False
Set_Numerator: 1
Set_Denominator: 1
FNOperation: 0
Get_ResultCode: 0
Set_Summ1: 122
Set_Summ2: 0
Set_Summ3: 0
Set_Summ4: 0
Set_Summ5: 0
Set_Summ6: 0
Set_Summ7: 0
Set_Summ8: 0
Set_Summ9: 0
Set_Summ10: 0
Set_Summ11: 0
Set_Summ12: 0
Set_Summ13: 0
Set_Summ14: 0
Set_Summ15: 0
Set_Summ16: 0
Set_TaxValue1: 0
Set_TaxValue2: 0
Set_TaxValue3: 0
Set_TaxValue4: 0
Set_TaxValue5: 0
Set_TaxValue6: 0
Set_RoundingSumm: 0
Set_TaxType: 2
Set_StringForPrinting:
FNCloseCheckEx: 0

Указание суммы НДС чека (тег 1120) и работа с новой командой закрытие чека v4

Сумма НДС чека прекрасно считается и при закрытии чека v2 и закрытии чека v3.

Дорабатывать команду закрытия чека необязательно. Это нужно лишь 2% пользователей, которые одновременно:

  • используют несколько ставок НДС в чеке.

и в то же время

  • используют округление итога чека

и в то же время

  • хотят использовать свой способ расчета суммы НДС

Если пользователь только использует несколько ставок НДС в чеке и не пользуется округлением, то ККТ правильно считает НДС и считать НДС за ККТ командой закрытия v4 не нужно.

Если пользователь только использует округление, когда сумму чека можно округлить в меньшую сторону (по модулю), то действительно при установленном в таблице 1 поле 14 значении 0 (расчет суммы НДС (Рассчет сумм НДС ведет онлайн-касса без учета округления итога чека) ставки НДС считаются без учета округления, но если установить в таблице 1 поле 14 значение 3 (Рассчет сумм НДС ведет онлайн-касса с учетом округления итога чека), то ставка считается правильно. Даже если ставок несколько.

И только если пользователю не нравится то, как ККТ считает копейки НДС и хочет чтобы копейки считались по-другому, то тогда нужна разработка команды закрытие чека v4 и установка в таблице 1 поле 14 значения 1 (Расчет сумм НДС ведет кассовая программа).