Податкові правила
Модуль Податкових правил дозволяє автоматизувати призначення кодів GTU, кодів JPK_V7, податкових класів та категорій/тегів товарам WooCommerce на основі правил умова/дія. Працює під час збереження товару, у щоденному cron та вручну (dry run + run now).
Як це працює
Section titled “Як це працює”- Ви створюєте правило: назва, режим зіставлення (all/any), умови, дії, тригери та пріоритет.
- Двигун перевіряє умови щодо кожного товару та застосовує дії, якщо правило підходить.
- Кожне застосування правила записується в журнал аудиту (хто, що, коли, dry run чи наживо).
- Тригери:
- Під час збереження товару - правило запускається після створення або редагування товару
- Щодня - правило працює в нічному cron на всьому каталозі
- Щотижня - правило працює раз на тиждень (WP cron)
- Щомісяця - правило працює раз на 30 днів (WP cron)
- Вручну - правило запускається лише з панелі (Dry run / Run now)
Налаштування
Section titled “Налаштування”Перейдіть до WooCommerce > Податкові правила і натисніть Додати правило.
Поля правила
Section titled “Поля правила”| Поле | Опис |
|---|---|
| Назва | Описова назва для команди (напр. “Книги -> 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 | ksiazkaprice | gte | 100category | in | 42,56,78meta_field | equals | tak | _polski_tabletkaФормат: action_type | value.
| Дія | Опис | Приклад |
|---|---|---|
set_gtu_code | Призначає код GTU товару | set_gtu_code | GTU_06 |
remove_gtu_code | Видаляє код GTU | remove_gtu_code | |
set_jpk_v7_code | Призначає код JPK_V7 | set_jpk_v7_code | GTU_12 |
set_tax_class | Встановлює податковий клас WooCommerce | set_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 | Позначає товар як такий, що потребує чека з NIP | mark_receipt_with_nip | 1 |
Dry run і Audit log
Section titled “Dry run і Audit log”Кожне правило має в панелі кнопки:
- Dry run - проходить по всіх товарах і записує в журнал, що було б змінено, без змін у базі.
- Run now - застосовує правило на всьому каталозі та записує зміни.
Вкладка Audit log показує останні 200 застосувань правил: дата, правило, товар, чи зіставлено, чи dry run, та застосовані дії.
Приклади
Section titled “Приклади”Усі книги -> JPK_V7 GTU_12
Section titled “Усі книги -> JPK_V7 GTU_12”- Режим зіставлення:
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
Інтеграції
Section titled “Інтеграції”Призначені коди 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 лише дописують готові рядки.
Групи правил
Section titled “Групи правил”Кожне правило може мати опціональну етикетку групи (поле group_label у редакторі). Групи використовуються лише для організації та фільтрування в панелі - вони не впливають на роботу правил. Приклади груп: “Книги”, “Ліки”, “Продукти ПДВ 5%”, “Обладнання - GTU_06”.
Пошук і фільтрування
Section titled “Пошук і фільтрування”Список правил у панелі підтримує:
- Пошук за назвою правила (незалежно від регістру)
- Фільтр статусу: 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" } ] } ]}WP-CLI
Section titled “WP-CLI”Для великих магазинів та автоматизації:
# Список правилwp polski tax-rules listwp polski tax-rules list --format=json
# Запустити правило #3 у режимі dry-runwp 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.jsonBulk 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 рядків - старіші автоматично видаляються.
- Двигун захищається від рекурсії: правило не запускається багаторазово під час внутрішнього збереження товару.