IMS. ← Ко всем документам

Налоги в IMS2 — бизнес-логика и руководство по справочникам

Документ для специалистов, отвечающих за справочники (бухгалтер, администратор
системы). Рядовой пользователь при вводе документа с налогами не работает —
всё настраивается один раз здесь и дальше применяется автоматически.


1. Главное правило: приход — вручную, расход — автоматически

Тип документа Как определяется налог
Приход Вводится вручную оператором в доп.суммах документа (Charges → Taxes), по факту из накладной поставщика. Система его не считает и не проверяет.
Расход / Продажа Считается автоматически при проведении документа. Оператор ничего не вводит.

Почему так: сумма налога в приходной накладной — это то, что выставил
поставщик; менять её нельзя, даже если она "выглядит неправильно" (так решили
бухгалтера) — вводится как есть. А при продаже/расходе налог — это наша
обязанность его правильно посчитать, поэтому здесь работает автоматика.

Если для расходного документа автоматика ничего не насчитала — значит, для
задействованных товаров/операции налоги в справочниках не настроены (см. §3).
Это не ошибка системы, а незаполненный справочник.


2. Откуда берутся налоговые ставки

Три справочника участвуют в расчёте:

Товар    ──▶  Товарная группа  ──▶┐
                                    ├──▶ Ставка налога
Документ ──▶  Операция          ──▶┘

2.1. Приоритет: операция важнее товарной группы

Для каждой строки документа берутся до 3 налогов, слот за слотом (1-й, 2-й, 3-й):

Пример: обычная продажа (операция "Sale") не имеет своих налогов настроенных —
используется налог товарной группы (например, "Standard Goods" → 20% VAT).
Операция "Export Sale" имеет явно настроенный слот 1 = "0% Export" — тогда
экспортная продажа идёт без налога, даже если у товара обычная налоговая
группа с VAT.

2.2. Ставка налога зависит от даты документа

Справочник ставок хранит периоды действия — при изменении ставки
старая запись не удаляется, а закрывается датой окончания, и добавляется новая.
Расчёт всегда берёт ту ставку, которая действовала на дату документа,
а не текущую — поэтому исторические документы не "переезжают" на новую
ставку задним числом.


3. Как читать три ключевых поля налога

Поле Вопрос Значения
Calc Level На каком уровне считать? 0 = построчно (на каждой строке товара отдельно, потом сумма), 1 = по документу целиком (один раз на общий итог)
Apply Order В каком порядке считать относительно других налогов? целое число — меньше применяется раньше
Base От какой суммы считать? 0 = от исходной суммы (без учёта других налогов), 1 = от (исходная сумма + уже посчитанные налоги с меньшим Apply Order) — налог на налог

Примеры расчёта

Пример А — простой VAT (одна ставка, ЕС/большинство стран)

Товар: 100.00, налог "VAT 20%": Calc Level=0 (построчно), Apply Order=1, Base=0.

Шаг 1: VAT 20% от 100.00 = 20.00
Итого налога: 20.00

Пример Б — GST + QST (Канада, налог на налог)

Строка: 100.00. Настроено 2 налога товарной группы:
- слот 1 = "GST 5%": Apply Order=1, Base=0 (от исходной суммы)
- слот 2 = "QST 9.975%": Apply Order=2, Base=1 (от суммы с учётом GST)

Шаг 1: GST 5% от 100.00           = 5.00
Шаг 2: QST 9.975% от (100.00+5.00)=105.00  = 10.47
Итого налога: 15.47

Пример В — акциз построчно + общий налог по документу

Документ с двумя строками: подакцизный товар 50.00 и обычный товар 30.00.
- "Excise 10%" (только у подакцизного товара): Calc Level=0 (построчно), Apply Order=1, Base=0
- "Sales Tax 8%" (у операции документа): Calc Level=1 (по документу), Apply Order=2, Base=0 (считается от суммы строк, налог на налог здесь не нужен)

Шаг 1 (по строке "Excise"): 10% от 50.00 = 5.00
Шаг 2 (по документу "Sales Tax"): 8% от (50.00+30.00)=80.00 = 6.40
Итого налога: 11.40

Пример Г — экспорт без налога (переопределение операцией)

Товар с обычной группой "Standard Goods" (VAT 20%), но операция документа —
"Export Sale" со слотом 1 = "Export 0%".

Операция переопределяет товарную группу → используется "Export 0%"
Шаг 1: Export 0% от 100.00 = 0.00
Итого налога: 0.00

4. Руководство: как заполнить справочники

Ставки налогов («Taxes») и налоговые группы («Category of Goods») —
обычные справочники, открываются через Directory (F9) → выбрать нужное
имя из списка (универсальный редактор, тот же для всех справочников — см.
docs/manual/24_directory.md). Вид операции — единственный из трёх, у
которого есть отдельная кнопка на панели Tools, минуя общее меню
Directory (см. docs/manual/13_tools_overview.md).

4.1. Directory → Taxes — завести новый налог

  1. New → заполнить:
  2. Код налога — число, придумываете сами, должен быть уникален среди
    активных налогов — при следующих периодах того же налога
    переиспользуется тот же код, см. ниже
  3. Название — например, "VAT 20%", "GST", "Export 0%"
  4. Ставка — в % (поддерживаются дробные — 9.975)
  5. Calc Level / Apply Order / Base — см. §3
  6. Valid From — дата начала действия
  7. Valid To — оставить пустым (это текущий действующий период)
  8. Код счёта — если ведётся бухгалтерия (можно не заполнять)

4.2. Directory → Taxes — изменить ставку существующего налога

Не редактируйте старую запись напрямую — так вы потеряете, какая ставка
действовала раньше (сломается расчёт для старых документов). Порядок:

  1. Найти текущую активную запись налога (Valid To — пусто).
  2. Проставить ей Valid To = день перед вступлением новой ставки в силу.
  3. Создать новую запись (New) с тем же кодом налога, новой ставкой,
    новым Valid From (день вступления в силу), Valid To — пусто.

Старая запись остаётся в справочнике навсегда — это история, не мусор.

4.3. Directory → Category of Goods — привязать налог к товарной группе

  1. Открыть (или создать) группу.
  2. В полях для трёх налоговых слотов нажать "..." — откроется список
    налогов, выбрать нужный. Если налогов несколько (tax-on-tax) — заполнить
    несколько слотов, порядок между собой определяется полем Apply Order
    самого налога (§3), а не порядком слотов здесь.
  3. Товары привязываются к группе через карточку товара (поле налоговой группы).

4.4. Tools → Operations — переопределить налог для операции

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

  1. Открыть операцию (например, "Export Sale").
  2. В полях Kd N1 / Kd N2 / Kd N3 — выбрать налог(и), которые должны
    применяться для ЭТОЙ операции.
  3. Если слот оставить пустым (0) — для этого слота будет использована
    товарная группа строки (никакого переопределения).

5. Проверка расчёта — отчёт "как посчитан налог"

По любому проведённому документу можно получить пошаговую раскладку расчёта
(без необходимости верить системе на слово) — та же логика, что в примерах
§3, но для конкретного документа: каждый шаг с именем налога, уровнем, базой,
ставкой и суммой. Обращаться к разработчику/через отчёт в интерфейсе (F5 в
соответствующем разделе), если нужно объяснить бухгалтеру, откуда взялась
цифра в конкретном документе.


6. Итоговый чек-лист при настройке нового налога