Use Set derived attribute to store a business label on the invoice (for example business_line = Line-A), then match that label as a column in your booking-account approval matrix so the right approvers are selected.
Who this is for: Finance and workflow admins who need approval routing that depends on something Cortena does not extract as a fixed field, such as business line, channel, or entity segment, and who already use (or plan to use) an approval matrix spreadsheet.
What this feature does
Set derived attribute is a workflow action step. When an invoice reaches that step, Cortena writes one attribute key and value onto the invoice.
You can set different values on different conditional branches, then join the paths before a booking-account approval step. On that approval step, you select which derived attributes should participate in matrix matching. Cortena looks for matching columns on the matrix spreadsheet and uses the invoice value to narrow which rows, and therefore which approvers, apply.
There is no separate rule engine for business lines. The pattern is always conditional → set derived attribute → approval matrix column.
How it fits the approval matrix
| Piece | What you configure | What happens at runtime |
|---|---|---|
| Conditional | Branches on supplier, PO, invoice text, amount, … | Invoice takes one path |
| Set derived attribute | Attribute key · value on each branch | Value is stored on the invoice (chip under the invoice number) |
| Approval (booking account rules) | Derived attributes for matrix matching | Matrix rows are filtered by that column (exact match; empty cell = any value) |
| Matrix spreadsheet | Column such as Business Line | Only matching rows remain for assignee resolution |
Example: business line before approval
Goal: Invoices for supplier Acme Online should use business line Online; everything else uses Retail. Approvers in the matrix differ by Business Line as well as GL / amount tier.
1. Branch with a Conditional
- Open Workflow → Invoice workflow.
- Add a Conditional step before your booking-account Approval.
- Create two branches (If supplier matches Acme Online / Else).
2. Set the derived attribute on each branch
- On the If branch, add Set derived attribute.
- Set Attribute key:
business_lineand Value:Online. - On the Else branch, add another step with the same key and value
Retail. - Connect both branches so they converge into your Approval step.
Values must match the sheet. Matrix matching is an exact string match after trimming. Keep casing and spelling consistent.
3. Enable the attribute on the Approval node
- Select the Approval step that uses booking account rules / the matrix.
- Find Derived attributes for matrix matching.
- Tick
business_lineand add a short description (for exampleBusiness line: Online, Retail). - If the list is empty, add at least one Set derived attribute step in this workflow first.
4. Put the column on the matrix spreadsheet
- Open the managed approval matrix Google Sheet.
- Ensure there is a column for the attribute (typically Business Line for key
business_line). - Fill cells with the same values you set in the workflow. Leave a cell blank when that row should match any business line.
- Save / refresh the matrix schema if you added a new column.
Attribute key rules
- Must start with a letter, then only lowercase letters, digits, or underscores
- Examples:
business_line,channel,cost_pool - Invalid keys cause the step to fail
Values can be plain text or dollar-brace expressions such as ${invoice_number}. If the resolved value is empty, the step fails.
Tips
- Matrix checkboxes list keys from Set derived attribute steps on this workflow only.
- Empty matrix cell = wildcard for that attribute.
- Running another set step with the same key replaces the previous value.
- Prefer one clear key over many overlapping labels unless the matrix truly needs multiple dimensions.
Quick reference
| Task | Where |
|---|---|
| Add Set derived attribute | Workflow editor → ADD STEP → Actions |
| Select keys for matrix matching | Approval node → Derived attributes for matrix matching |
| Fill matching column values | Approval matrix Google Sheet |
| See stored value | Invoice detail · chip under the invoice number |