Tax Rules
El módulo de reglas de impuestos permite automatizar la asignación de códigos GTU, códigos JPK_V7, clases de impuestos de WooCommerce, categorías/etiquetas y meta personalizados a los productos mediante reglas de condición/acción. Se ejecuta al guardar un producto, mediante un cron programado y de forma manual (Dry Run + Run Now).
Cómo funciona
Sección titulada «Cómo funciona»- Crea una regla: nombre, modo de coincidencia (all/any), condiciones, acciones, disparadores, prioridad.
- El motor evalúa las condiciones contra cada producto y aplica las acciones cuando la regla coincide.
- Cada aplicación de una regla se registra en el registro de auditoría (quién/qué/cuándo, dry run o en vivo).
- Disparadores:
- Al guardar el producto - la regla se ejecuta después de crear o actualizar un producto.
- Diario - la regla se ejecuta en el cron nocturno contra todo el catálogo.
- Semanal - se ejecuta una vez por semana (WP-Cron).
- Mensual - se ejecuta una vez cada 30 días (WP-Cron).
- Manual - la regla se ejecuta solo cuando haces clic en Run / Dry Run en el administrador.
Configuración
Sección titulada «Configuración»Abre WooCommerce > Tax Rules y haz clic en Añadir regla.
Campos de la regla
Sección titulada «Campos de la regla»| Campo | Descripción |
|---|---|
| Nombre | Etiqueta legible para las personas (p. ej. “Books -> GTU_12”). |
| Grupo (opcional) | Etiqueta de texto libre usada para filtrar en la lista. |
| Activada | Desactiva una regla sin eliminarla. |
| Modo de coincidencia | all - todas las condiciones deben coincidir, any - al menos una debe coincidir. |
| Disparadores | Cuándo se ejecuta la regla (guardar / diario / semanal / mensual / manual). |
| Prioridad | Orden de ejecución, ascendente (predeterminado 10). |
Condiciones
Sección titulada «Condiciones»Formato: field | operator | value | key (último campo opcional).
Campos: title, sku, price, regular_price, stock_quantity, stock_status, category, tag, type, attribute, tax_class, meta_field, gtu_code, jpk_v7_code, taxonomy.
Operadores: equals, not_equals, contains, not_contains, starts_with, ends_with, gt, gte, lt, lte, in, not_in, is_empty, is_not_empty.
El campo taxonomy acepta cualquier taxonomía personalizada; pon el slug de la taxonomía en key y una lista de IDs de términos separados por comas en value:
taxonomy | in | 12,34,56 | product_brandEjemplos:
title | contains | bookprice | gte | 100category | in | 42,56,78meta_field | equals | yes | _polski_tabletAcciones
Sección titulada «Acciones»Formato: action_type | value.
| Acción | Descripción | Ejemplo |
|---|---|---|
set_gtu_code |
Asigna un código GTU | set_gtu_code | GTU_06 |
remove_gtu_code |
Elimina el código GTU | remove_gtu_code | |
set_jpk_v7_code |
Asigna un código JPK_V7 | set_jpk_v7_code | GTU_12 |
set_tax_class |
Establece una clase de impuestos de WooCommerce | set_tax_class | reduced-rate |
add_category / remove_category |
Añade o elimina una categoría | add_category | 42 |
add_tag / remove_tag |
Añade o elimina una etiqueta | add_tag | 77 |
set_meta_field |
Establece un campo meta | set_meta_field | _polski_custom:flag |
mark_receipt_with_nip |
Marca el producto como que requiere ticket con NIP | mark_receipt_with_nip | 1 |
Dry run y registro de auditoría
Sección titulada «Dry run y registro de auditoría»Cada regla tiene las acciones Dry run (vista previa sin escribir) y Run now (aplicar a todo el catálogo). La pestaña del registro de auditoría muestra las últimas 200 aplicaciones con marca de tiempo, regla, producto, indicador de coincidencia, indicador de dry run y acciones aplicadas.
Smart Pickers (ayudante del editor)
Sección titulada «Smart Pickers (ayudante del editor)»En la parte superior del editor de reglas, el panel Insert helper permite añadir líneas de condición/acción sin buscar los IDs a mano:
- Categoría - todos los términos de
product_cat(Select2). Los botones añadencategory | in | <ID>oadd_category | <ID>. - Etiqueta - lo mismo para
product_tag. - Clase de impuestos - lista de clases de impuestos de WooCommerce. Los botones añaden
set_tax_class | <slug>otax_class | equals | <slug>. - Código GTU - desplegable
GTU_01-GTU_13. Tres botones:set_gtu_code,set_jpk_v7_codeo la condicióngtu_code | equals | <CODE>.
El área de texto sigue siendo la fuente de la verdad - los pickers solo añaden líneas.
Grupos de reglas
Sección titulada «Grupos de reglas»Cada regla puede llevar una etiqueta de grupo opcional. Los grupos se usan únicamente para organizar y filtrar reglas en el administrador; no afectan a la ejecución.
Búsqueda y filtros
Sección titulada «Búsqueda y filtros»La lista de reglas admite búsqueda por nombre sin distinguir mayúsculas y minúsculas, filtro de estado (activada/desactivada), filtro de disparador y filtro de grupo (visible solo cuando existen grupos).
Importar y exportar reglas
Sección titulada «Importar y exportar reglas»La pestaña Import / export permite:
- Exportar todas las reglas como un archivo JSON portable (formato
polski.tax_rules, v1) para copia de seguridad o migración. - Importar un archivo JSON exportado previamente. Las importaciones siempre añaden reglas (nunca reemplazan por ID), de modo que puedes combinar de forma segura conjuntos de reglas de varias tiendas.
Para catálogos grandes y automatización:
# Listar reglaswp polski tax-rules listwp polski tax-rules list --format=json
# Dry-run de la regla #3wp polski tax-rules run 3 --dry-run
# Aplicar la regla #3 con lotes de 100 elementoswp polski tax-rules run 3 --batch-size=100
# Exportar reglas a un archivowp polski tax-rules export --file=/tmp/rules.json
# Importar reglas desde un archivowp polski tax-rules import /tmp/rules.jsonAcción en lote en la lista de productos
Sección titulada «Acción en lote en la lista de productos»En la lista estándar de productos de WooCommerce (wp-admin/edit.php?post_type=product), el desplegable Bulk actions expone dos entradas:
- Apply tax rules - ejecuta todas las reglas activadas contra los productos seleccionados.
- Dry-run tax rules - informa de lo que cambiaría, sin escribir.
Tras la ejecución, un aviso del administrador muestra el número de productos procesados, las coincidencias de reglas y los cambios aplicados.
Integración
Sección titulada «Integración»Los códigos GTU y JPK_V7 asignados se almacenan como meta del producto y pueden ser consumidos por:
- el módulo de facturación (Faktura VAT PDF y los campos de preparación para KSeF, no se envía nada a KSeF)
- la exportación JPK_VAT
- las exportaciones contables (PEPPOL / UBL XML por factura y el informe JPK_FA), que usted descarga e importa por su cuenta, no se transmite nada a wFirma, Fakturownia ni iFirma
Límites y rendimiento
Sección titulada «Límites y rendimiento»- El cron diario procesa el catálogo en lotes de 50 productos.
- El registro de auditoría está limitado a 10.000 filas; las entradas más antiguas se recortan automáticamente.
- El motor protege contra la recursión: una regla no se vuelve a disparar durante su propio guardado interno del producto.