Пересчет суммы налогов после скидки на итог - розница

1. AP_ROSTOV 27.07.18 12:13 Сейчас в теме
Здравствуйте!

Имеем фискальный регистратор АТОЛ FPrint 22-ПТК и конфигурацию без БПО.
Генеральная задача: округлять суммы чеков, например, до 50 копеек.
Проблема: после округления НДС не пересчитывается.
Пример:
1) сумма чека составила 1.18 руб., из них НДС 0.18 руб.
2) округляем до 1.00 руб. и ожидаем, что НДС будет равен 0.15 руб.
3) по факту видим в чеке итог 1.00 руб., из них НДС 0.18 руб. (вместо 0.15 руб. ожидаемых).

Пробовал выполнять метод ОтменаНалога() на сумму 0.03 руб. - не сработало.
Пробовал включать в драйвере флажок "Пересчет суммы налогов после скидки на итог" - тоже не сработало.
Допускаю, что мог упустить что-то при вышеперечисленных экспериментах.
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. Cooler 22 27.07.18 17:04 Сейчас в теме
(1)
Генеральная задача: округлять суммы чеков, например, до 50 копеек.
Проблема: после округления НДС не пересчитывается.
Проблема может возникнуть, даже если добиться пересчета.

Только это уже будет налоговая проблема, а не программистская. И заключается она в том, что не всегда можно корректно рассчитать налог, когда "сумма включает НДС".

Например, какие числа вы хотите увидеть в чеке, если его сумма после округления составила 360 руб. при ставке НДС 18%?
10. AP_ROSTOV 27.07.18 17:16 Сейчас в теме
(9)
Например, какие числа вы хотите увидеть в чеке, если его сумма после округления составила 360 руб. при ставке НДС 18%?

Ожидаю сумму 360.00 руб. и НДС 18% 54.92 руб.
Сумму НДС считаю по формуле: [Сумма] * [Налоговая ставка] / (100 + [Налоговая ставка])
11. Cooler 22 27.07.18 18:21 Сейчас в теме
(10)
Ожидаю сумму 360.00 руб. и НДС 18% 54.92 руб.
Допустим. Но тогда стоимость товара без НДС получается 360-54.92=305.08 руб. Так?

Проблема в том, что НДС с 305.08 равен 54.91, а общая сумма чека получается 359.99 - "генеральная задача" не выполнена!

Если же стоимость товара без НДС увеличить на 1 копейку - 305.09 руб., то НДС с нее равен 54.92 руб., общая сумма чека - 360.01, про генеральную задачу см.выше.

И таких чисел не одно и не два.

Насчет возможного: "да там всего-то копейка!" замечу: баловаться же с исчислением НДС налоговая вам просто так не позволит.
12. AP_ROSTOV 28.07.18 02:31 Сейчас в теме
(11) А в чём мораль сего замечания? Надо согласиться с тем, что на сумму 1.00 руб. приходится НДС 0.18 руб.? Тогда уже разговор не за копейку будет.
13. Cooler 22 30.07.18 10:00 Сейчас в теме
(12)
А в чём мораль сего замечания?
Мораль в том, что есть случаи, когда данная задача не решается в принципе.

Так стоит ли вообще ее решать?
14. AP_ROSTOV 30.07.18 10:12 Сейчас в теме
(13) Цена решения - 18% от суммы округления. Это раз.
Если не решить проблему с уменьшением НДС, могут достаточно сильно не сойтись суммы продажи с суммой НДС в Книге продаж, что увеличивает наши шансы на неприятное общение с налоговой. Это два.

И ещё, бонусом, нужно будет тогда получать в 1С фактический НДС из фискальных данных вместо того НДС, что считается по вышеприведённой формуле.
2. Timur.V 80 27.07.18 12:46 Сейчас в теме
Проверить Вид цен, правила ценообразования, настройки скидки.
3. AP_ROSTOV 27.07.18 14:09 Сейчас в теме
(2) Тут вопрос не о настройках. В конфигурации в принципе не было никакого округления, допиливал сам.
Поясню подробнее. Перед выполнением команд на драйвере мы уже знаем все позиции чека, цены и итоговую сумму чека (равно и сумму оплаты) с учетом всех скидок и округления (и сумму этих скидок и округления). На выходе имеем примерно такое общение с драйвером:
<...>
// Регистрация
Драйвер.Наименование = "Наш товар";
Драйвер.Цена = 118.00;
Драйвер.Количество = 0.010;
Драйвер.Регистрация();

// Скидка
Драйвер.Сумма = 0.18;
Драйвер.ОбластьДействия = 0; // область действия скидки/надбавки: 0 - на чек, 1 - на позицию
Драйвер.ДенежнаяСкидка();

// Оплата
Драйвер.Сумма = 1.00;
Драйвер.Оплата();
<...>
Показать
4. Timur.V 80 27.07.18 14:35 Сейчас в теме
(3) Ниже, догадки и предположения.

А может так получится, что в программе 1С одни цифры по продажам, а у ОФД - другие т.е. округленные?
Т.е. вы округляете перед печатью чека. Может нужно это делать раньше?

Может в Регистрации указать Налог ?
Драйвер.TaxTypeNumber = 2 // НДС 10%

б.0 «Наименование налога 0» = «Нет налогов - Налоги НДС запрещены»
б.1 «Наименование налога 1» = «1 Номер налога» - «18» – «НДС 18%»
б.2 «Наименование налога 2» = «2 Номер налога» - «10» – «НДС 10%»
б.3 «Наименование налога 3» = «3 Номер налога» - «18\118»
б.4 «Наименование налога 4» = «4 Номер налога» - «10\110»
б.5 «Наименование налога 5» = «5 Номер налога» - «0» – слово в позиции чека «НДС 0%»
б.6 «Наименование налога 6» = «6 Номер налога» - слово в позиции чеке «Без НДС»
5. AP_ROSTOV 27.07.18 14:51 Сейчас в теме
(4)
А может так получится, что в программе 1С одни цифры по продажам, а у ОФД - другие т.е. округленные?

Какой ОФД? Про ОФД мы сейчас вообще не говорим.
Я в отладчике просмотрел какие суммы в какой метод драйвера уходят. Там всё сходится. Нет понимания, как должны работать ОтменаНалога() и "Пересчет суммы налогов после скидки на итог".

Может в Регистрации указать Налог ?

Налог указан, я просто не стал абсолютно весь код сюда пихать.
6. Timur.V 80 27.07.18 15:07 Сейчас в теме
При регистрации, есть ли такие поля?
DiscountType
ТипСкидки

DiscountValue
ЗначениеСкидки
Прикрепленные файлы:
Drivers8_FprnM_PM.pdf
8. AP_ROSTOV 27.07.18 15:23 Сейчас в теме
(6) Ничего не передаю в эти параметры.
Надо будет попробовать 0 в ТипСкидки и 0.18 в ЗначениеСкидки передать.
7. Timur.V 80 27.07.18 15:08 Сейчас в теме
15. Jimbo 10 01.08.18 15:31 Сейчас в теме
16. AP_ROSTOV 02.08.18 09:26 Сейчас в теме
(15) Пока ничем. На днях обновляли прошивку ККТ в связи с переходом на ФФД 1.05. Попробую всё повторить теперь в этой среде. Танцы с бубном...
17. Cooler 22 03.08.18 02:04 Сейчас в теме
Возможно, вот этот бубен подскажет направление, куда нужно танцевать: https://infostart.ru/public/555733/
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот