Перейти до вмісту

Податкові правила

Модуль Податкових правил дозволяє автоматизувати призначення кодів GTU, кодів JPK_V7, податкових класів та категорій/тегів товарам WooCommerce на основі правил умова/дія. Працює під час збереження товару, у щоденному cron та вручну (dry run + run now).

  1. Ви створюєте правило: назва, режим зіставлення (all/any), умови, дії, тригери та пріоритет.
  2. Двигун перевіряє умови щодо кожного товару та застосовує дії, якщо правило підходить.
  3. Кожне застосування правила записується в журнал аудиту (хто, що, коли, dry run чи наживо).
  4. Тригери:
    • Під час збереження товару - правило запускається після створення або редагування товару
    • Щодня - правило працює в нічному cron на всьому каталозі
    • Щотижня - правило працює раз на тиждень (WP cron)
    • Щомісяця - правило працює раз на 30 днів (WP cron)
    • Вручну - правило запускається лише з панелі (Dry run / Run now)

Перейдіть до WooCommerce > Податкові правила і натисніть Додати правило.

ПолеОпис
НазваОписова назва для команди (напр. “Книги -> GTU_12”)
УвімкненоМожна тимчасово вимкнути правило без видалення
Режим зіставленняall - усі умови мають підходити, any - достатньо однієї
ТригериКоли правило працює (збереження / cron / вручну)
ПріоритетПорядок запуску, за зростанням (10 - типове значення)

Формат: field | operator | value | key (останнє поле опціональне).

Приклади полів: title, sku, price, regular_price, stock_quantity, stock_status, category, tag, type, attribute, tax_class, meta_field, gtu_code, jpk_v7_code, taxonomy.

Поле taxonomy підтримує будь-яку нестандартну таксономію (напр. product_brand, pwb-brand). У полі key впишіть slug таксономії, у value список ID термінів:

taxonomy | in | 12,34,56 | product_brand

Оператори: equals, not_equals, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, in, not_in, is_empty, is_not_empty.

Приклади:

title | contains | ksiazka
price | gte | 100
category | in | 42,56,78
meta_field | equals | tak | _polski_tabletka

Формат: action_type | value.

ДіяОписПриклад
set_gtu_codeПризначає код GTU товаруset_gtu_code | GTU_06
remove_gtu_codeВидаляє код GTUremove_gtu_code |
set_jpk_v7_codeПризначає код JPK_V7set_jpk_v7_code | GTU_12
set_tax_classВстановлює податковий клас WooCommerceset_tax_class | reduced-rate
add_categoryДодає товар до категоріїadd_category | 42
add_tagДодає тегadd_tag | 77
set_meta_fieldВстановлює meta-полеset_meta_field | _polski_custom:jakis-znacznik
mark_receipt_with_nipПозначає товар як такий, що потребує чека з NIPmark_receipt_with_nip | 1

Кожне правило має в панелі кнопки:

  • Dry run - проходить по всіх товарах і записує в журнал, що було б змінено, без змін у базі.
  • Run now - застосовує правило на всьому каталозі та записує зміни.

Вкладка Audit log показує останні 200 застосувань правил: дата, правило, товар, чи зіставлено, чи dry run, та застосовані дії.

  • Режим зіставлення: any
  • Умова: category | in | <ID категорії Книги>
  • Умова: title | contains | ksiazka
  • Дія: set_jpk_v7_code | GTU_12

Ліки -> знижена ставка ПДВ 8%

Section titled “Ліки -> знижена ставка ПДВ 8%”
  • Режим зіставлення: all
  • Умова: category | equals | <ID категорії Ліки>
  • Дія: set_tax_class | reduced-rate
  • Дія: set_gtu_code | GTU_09

Послуги > 15 000 PLN -> чек з NIP обов’язковий

Section titled “Послуги > 15 000 PLN -> чек з NIP обов’язковий”
  • Режим зіставлення: all
  • Умова: type | equals | service
  • Умова: price | gte | 15000
  • Дія: mark_receipt_with_nip | 1

Призначені коди GTU та JPK_V7 зберігаються як meta товарів і можуть використовуватися:

  • модулем фактурування (Faktura VAT PDF + KSeF)
  • експортом JPK_VAT
  • бухгалтерськими інтеграціями (wFirma, Fakturownia, iFirma)

Smart Pickers (помічник у редакторі)

Section titled “Smart Pickers (помічник у редакторі)”

Угорі редактора правила панель Insert helper дозволяє додавати рядки умов і дій без ручного введення ID. Доступні pickers:

  • Категорія - список усіх product_cat (Select2, пошук). Кнопки: “Append as condition” (додає category | in | <ID>) і “Append as action” (додає add_category | <ID>).
  • Тег - аналогічно для product_tag.
  • Податковий клас - список податкових класів WooCommerce (Standard + усі додаткові). Pickers: set_tax_class | <slug> і tax_class | equals | <slug>.
  • Код GTU - dropdown GTU_01 - GTU_13. Три кнопки: додавання як set_gtu_code, set_jpk_v7_code або умови gtu_code | equals | <CODE>.

Textarea залишається джерелом правди - pickers лише дописують готові рядки.

Кожне правило може мати опціональну етикетку групи (поле group_label у редакторі). Групи використовуються лише для організації та фільтрування в панелі - вони не впливають на роботу правил. Приклади груп: “Книги”, “Ліки”, “Продукти ПДВ 5%”, “Обладнання - GTU_06”.

Список правил у панелі підтримує:

  • Пошук за назвою правила (незалежно від регістру)
  • Фільтр статусу: enabled / disabled
  • Фільтр тригера: on_save / daily / manual
  • Фільтр групи (видимий лише якщо призначені етикетки)

Імпорт / експорт правил

Section titled “Імпорт / експорт правил”

У вкладці Import / export:

  • Export - завантажує всі правила як переносний файл JSON (формат polski.tax_rules, v1). Використовуйте для резервної копії або міграції між магазинами.
  • Import - завантажує раніше експортований JSON. Правила завжди додаються (ніколи не перезаписують наявні за ID), тож можна безпечно об’єднувати правила з кількох магазинів.

Файл JSON має структуру:

{
"format": "polski.tax_rules",
"version": 1,
"exported_at": "2026-04-19T12:00:00+00:00",
"rules": [
{
"name": "Ksiazki -> GTU_12",
"group_label": "Ksiazki",
"enabled": true,
"match_mode": "all",
"priority": 10,
"triggers": ["on_save"],
"conditions": [
{ "field": "category", "operator": "in", "value": [42], "key": null }
],
"actions": [
{ "type": "set_jpk_v7_code", "value": "GTU_12" }
]
}
]
}

Для великих магазинів та автоматизації:

Okno terminala
# Список правил
wp polski tax-rules list
wp polski tax-rules list --format=json
# Запустити правило #3 у режимі dry-run
wp polski tax-rules run 3 --dry-run
# Запустити правило #3 наживо (пакети по 100 товарів)
wp polski tax-rules run 3 --batch-size=100
# Експорт правил у файл
wp polski tax-rules export --file=/tmp/rules.json
# Імпорт з файлу
wp polski tax-rules import /tmp/rules.json

Bulk action у списку товарів

Section titled “Bulk action у списку товарів”

У стандартному списку товарів WooCommerce (wp-admin/edit.php?post_type=product) у dropdown “Масові дії” доступні дві позиції:

  • Apply tax rules - запускає всі активні правила на вибраних товарах.
  • Dry-run tax rules - повідомляє, що було б змінено, без збереження.

Після виконання панель показує повідомлення з кількістю опрацьованих товарів, зіставлень і змін.

Ліміти та продуктивність

Section titled “Ліміти та продуктивність”
  • Щоденний cron опрацьовує каталог пакетами по 50 товарів.
  • Журнал обмежений до 10 000 рядків - старіші автоматично видаляються.
  • Двигун захищається від рекурсії: правило не запускається багаторазово під час внутрішнього збереження товару.