Азербайджан ◾️ Продажа фермерских товаров и учет НДС по ним

Публичное пространство

Азербайджан ◾️ Продажа фермерских товаров и учет НДС по ним

https://crystals.atlassian.net/browse/SRTZ-1836

https://crystals.atlassian.net/browse/CR-7298

10.3.16.0

Описание

В Азербайджане расчет НДС для фермерских товаров должен осуществляться по специальной формуле на основании закупочной цены и маржи. Начиная с версии SetRetail 10.3.16.0 при продаже фермерских товаров НДС рассчитывается только на прибыль с продажи данного товара, чтобы соблюдать законодательные требования.

Детали реализации

  • Вводится понятие закупочной цены и настройка с номером цены (в cg_price), в которой она хранится.

  • Если у товара есть закупочная цена и включена настройка, при добавлении в чеке сохраняем в позиции закупочную цену как плагинное свойство (costPrice), а также считаем НДС не от итоговой суммы, а от суммы прибыли (разница между итоговой суммой и суммой, вычисленной через закупочную цену).

  • Сумма НДС хранится там же где обычно, сумма прибыли сохраняется в плагинном свойстве (profitEndSum).

  • Для печати на чеке для секции позиций добавлены подстановки закупочной цены (cost_price), суммы прибыли (profit_end_sum) и признака наличия закупочной цены для построения условий (has_cost_price), для секции налогов добавлены подстановки, которые раньше были в версии AZ, в частности gross_sum (алиас withtax) - фактическая налогооблагаемая база позиции.

  • В отчете Z/X и при печати секции tax чеков, для необлагаемой налогом суммы позиции формируется налог Без НДС.

  • В отчете Z/X для секции tax добавлены подстановки (для всех стран):

    • tax_sum_sale - сумма НДС по чекам прихода (алиас ndssum)

    • tax_sum_return - сумма НДС по чекам возврата прихода (алиас ndssumreturn)

    • tax_sum_expense - сумма НДС по чекам расхода

    • tax_sum_expense_return - сумма НДС по чекам возврата расхода

    • gross_sum_sale - налогооблагаемая сумма по чекам прихода

    • gross_sum_return - налогооблагаемая сумма по чекам возврата прихода

    • gross_sum_expense - налогооблагаемая сумма по чекам расхода

    • gross_sum_expense_return - налогооблагаемая сумма по чекам возврата расхода

Настройка

Включение

1. Выполните скрипт по базе данных

set, указав номер цены, в которой хранится закупочная цена:

SELECT add_property('CATALOG_GOODS', null, 'costPriceNumber', '5', 'Номер цены, в которой хранится закупочная цена (например, 5)', 10, 2, 0);

2. Загрузите закупочные цены для товаров, указав нужный код товара и закупочную цену, например, скриптом:

INSERT INTO public.cg_price ( price_number, price, id, begindate, id_currency, departnumber, enddate, product_item, pack_count, discount_identifier, price_type) SELECT 5, -- номер цены 500, -- цена в копейках nextval('hibernate_sequence'), begindate, id_currency, departnumber, enddate, product_item, pack_count, discount_identifier, price_type FROM cg_price WHERE product_item = 'код товара' and price_number = 1;

Настройка чека продажи

Пример чековой формы: 

1. В секции позиций <section id="position"> найдите блок кода:

<line font="small"> <text align="left" value="Satış" width="6" filler="space" clip="true"/> <element align="left" value="textgoodsbarcode" width="18" filler="space" precision="0"/> <element align="left" value="vatname" width="30" prefix="space" filler="space" precision="2"/> </line>

замените на следующий код:

<line font="small"> <condition name="Обычный товар"> <operand key="equal"> <varLogical><element value="has_cost_price"/></varLogical> <varLogical><boolean value="false"/></varLogical> </operand> </condition> <text align="left" value="Satış" width="6" filler="space" clip="true"/> <element align="left" value="textgoodsbarcode" width="18" filler="space" precision="0"/> <element align="left" value="vatname" width="30" prefix="space" filler="space" precision="2"/> </line> <line font="small"> <condition name="Фермерский товар"> <operand key="equal"> <varLogical><element value="has_cost_price"/></varLogical> <varLogical><boolean value="true"/></varLogical> </operand> </condition> <text align="left" value="Satış" width="6" filler="space" clip="true"/> <element align="left" value="textgoodsbarcode" width="18" filler="space" precision="0"/> <text align="left" value="Ticarət əlavəsi 18%" width="30" filler="space" clip="true"/> </line>

2. В секции налогов <section id="tax"> найдите блок кода:

<line font="small"> <text align="left" value="*" width="2" filler="space"/> <element align="left" value="ndsclass" width="10" filler="space" precision="0"/> <element align="right" value="ndssum" width="7" prefix="equalsign" filler="space" precision="2"/> <element align="left" value="basecurrency" width="18" filler="space" precision="0"/> <element align="right" value="withtax" width="7" filler="space" precision="2"/> </line>

замените на следующий блок кода:

<line font="small"> <condition name="С НДС"> <operand key="equal"> <varLogical><element value="iswithoutvat"/></varLogical> <varLogical><boolean value="false"/></varLogical> </operand> </condition> <text align="left" value="*" width="2" filler="space"/> <element align="left" value="vatname" width="10" filler="space" precision="0"/> <element align="right" value="vatsum" width="7" prefix="equalsign" filler="space" precision="2"/> <element align="left" value="basecurrency" width="18" filler="space" precision="0"/> <element align="right" value="withtax" width="7" filler="space" precision="2"/> </line> <line font="small"> <condition name="Без НДС"> <operand key="equal"> <varLogical><element value="iswithoutvat"/></varLogical> <varLogical><boolean value="true"/></varLogical> </operand> </condition> <text align="left" value="*" width="2" filler="space"/> <element align="left" value="vatname" width="35" filler="space" precision="0"/> <element align="right" value="withtax" width="7" filler="space" precision="2"/> </line>

Пример работы

  1. В БД настроена 5 цена для закупочной цены.

  2. Загружены товары:

    1. Товар1 (Без НДС) с 1 ценой 1.25 и без 5 цены;

    2. Товар2 (НДС18%, фермерский) с 1 ценой 0.5 и 5 ценой 1.0;

    3. Товар3 (НДС18%) с 1 ценой 14.0.

  3. Добавляем 2 шт. Товара1, 1 шт. Товар2, 1шт. Товар3

  4. Проверяем:

    1. Товары без НДС 3.00(2.50 за Товар1 и 0.50 за Товар2);

    2. НДС 18% - 14.50(14.00 за Товар3 и 0.50 за Товар2).

  5. В фискализатор передаются корректные данные.