Resolve a rule
What an operator does by eye against the spreadsheet: pick the scenario inputs and see which rule fires, and what it outputs. First-hit DMN policy.
Recent resolutions
Open a resolution to see every comparison, the governed outputs, why the rule matched, and which downstream system uses each result.
No lookups yet — resolve a scenario above.
DMN decision table — report / parameter / approval selection
DMN 'first-hit' policy: inputs (scenario × region × population × payroll type) → outputs (reports, approval workflow, parameter defaults, naming). This replaces the operator squinting at a spreadsheet. Rules are config, not code — the ops team owns them.
Evaluation order: smallest rule ID first; the first complete match wins. Open any rule below to inspect both its conditions and its complete governed output.
R-01 · termination · CA-ON · * · off_cycle 4 reports · WF-TERMINATION-DUAL
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | termination | termination | matched |
| Region | CA-ON | CA-ON | matched |
| Population | * | * | matched |
| Payroll type | off_cycle | off_cycle | matched |
- Final Pay Register
- Record of Employment (ROE)
- Termination Audit
- GL Distribution
Ontario terminations require a Record of Employment filed with Service Canada; ESA termination/severance pay is evidenced on the Final Pay Register.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-02 · termination · CA-BC · * · off_cycle 4 reports · WF-TERMINATION-DUAL
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | termination | termination | matched |
| Region | CA-BC | CA-BC | matched |
| Population | * | * | matched |
| Payroll type | off_cycle | off_cycle | matched |
- Final Pay Register
- Record of Employment (ROE)
- Termination Audit
- GL Distribution
BC terminations also require an ROE; BC ESA §63 length-of-service compensation shows on the Final Pay Register, and the 48-hour final-pay deadline forces an off-cycle run.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-03 · termination · US-CA · * · off_cycle 4 reports · WF-TERMINATION-DUAL
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | termination | termination | matched |
| Region | US-CA | US-CA | matched |
| Population | * | * | matched |
| Payroll type | off_cycle | off_cycle | matched |
- Final Pay Register
- CA Itemized Wage Statement
- Termination Audit
- GL Distribution
California requires immediate final pay plus an itemized wage statement (Labor Code §226); waiting-time penalties attach to late final pay, so this books off-cycle.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-04 · termination · US-* · * · off_cycle 3 reports · WF-TERMINATION-DUAL
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | termination | termination | matched |
| Region | US-* | US-* | matched |
| Population | * | * | matched |
| Payroll type | off_cycle | off_cycle | matched |
- Final Pay Register
- Termination Audit
- GL Distribution
US federal baseline for terminations: final-pay register + termination audit; state-specific statements are added by the region rules above when they match first.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-05 · termination · * · * · off_cycle 3 reports · WF-TERMINATION-DUAL
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | termination | termination | matched |
| Region | * | * | matched |
| Population | * | * | matched |
| Payroll type | off_cycle | off_cycle | matched |
- Final Pay Register
- Termination Audit
- GL Distribution
Global fallback for a termination in a region without a specific rule — core register + audit; flag for ops to confirm local statutory reports.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-10 · off_cycle_bonus · * · Sales-Commissioned · off_cycle 3 reports · WF-INCENTIVE-STD
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | off_cycle_bonus | off_cycle_bonus | matched |
| Region | * | * | matched |
| Population | Sales-Commissioned | Sales-Commissioned | matched |
| Payroll type | off_cycle | off_cycle | matched |
- Bonus Register
- Commission Reconciliation
- GL Distribution
A commissioned population's bonus must reconcile to CompHub's incentive calculation (Commission Reconciliation) before it can book — the amount can't be operator-chosen.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-11 · off_cycle_bonus · * · * · off_cycle 2 reports · WF-INCENTIVE-STD
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | off_cycle_bonus | off_cycle_bonus | matched |
| Region | * | * | matched |
| Population | * | * | matched |
| Payroll type | off_cycle | off_cycle | matched |
- Bonus Register
- GL Distribution
Non-commission bonus: register + GL only; no commission engine to reconcile against.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-20 · correction · * · * · * 3 reports · WF-CORRECTION-DUAL
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | correction | correction | matched |
| Region | * | * | matched |
| Population | * | * | matched |
| Payroll type | * | * | matched |
- Correction Register
- Variance Report
- GL Distribution
Corrections require a Variance Report (prior vs corrected figures) so the dual-approval reviewer can see exactly what changed and why.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-30 · reassignment · * · * · * 3 reports · WF-STANDARD-SINGLE
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | reassignment | reassignment | matched |
| Region | * | * | matched |
| Population | * | * | matched |
| Payroll type | * | * | matched |
- Reassignment Register
- Cost-Center Distribution
- GL Distribution
A reassignment moves cost between centers; the Cost-Center Distribution report evidences the split so the GL posting balances across the old and new centers.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
R-99 · * · * · * · * 2 reports · WF-STANDARD-SINGLE
Match conditions
Rules run in ID order. This row wins only when all four conditions match; * is a wildcard and US-* is a prefix match.
| Input | Rule condition | Example matching value | Result |
|---|---|---|---|
| Scenario | * | * | matched |
| Region | * | * | matched |
| Population | * | * | matched |
| Payroll type | * | * | matched |
- Standard Off-Cycle Register
- GL Distribution
No specific rule matched — minimal register + GL, and route single-approval; ops should confirm whether a more specific rule is needed.
Used next: BookingHub receives the report list, naming pattern and processing defaults; ApprovalFlow receives the workflow. The matched rule ID and rationale remain evidence for review.
API
GET /api/resolve