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

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

SRTZ-1836 - Получение подробных данных проблемы… СТАТУС

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;

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

Пример чековой формы: check-sale.xml

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. В фискализатор передаются корректные данные.

© 1994-2023, ООО «Кристалл Сервис Интеграция».
Все права защищены..

Политика обработки персональных данных