Skip to main content

Expense nodes

Use these Workflow Designer nodes to customize the expense business logic for your organization.

Written by Yokoy Team

🌐 Web | 👤 Yokoy admin with Workflow Designer permissions

🏢 Node use - Professional and Enterprise plan

Some condition, activity, and approval nodes are restricted to Yokoy Professional or Enterprise plans. Your company must have one of these plans to incorporate them in your workflow.

The Workflow Designer uses nodes to determine the business logic applied in processing expenses in Yokoy.

When you create a workflow, you use four types of node:

  • Status nodes: Indicate the document’s status. In other words, these nodes represent Yokoy internal statuses (e.g. Draft, In approval, etc.).

  • Condition nodes: Represent conditional clauses. They are if-else conditions based on specific logic that is either true or false.

  • Activity nodes: Represent actions or tasks behind the scenes in Yokoy.

  • Approval nodes: Complement activity nodes to reproduce the business logic of an approval flow.

Status nodes are common to both invoice and expense workflows. Condition, activity, and approval nodes are specific to each workflow type.

Each status node has a specific combination of nodes that can be placed before and after. The action that can be triggered depends on this combination. The Workflow Designer allows these combinations for expense workflows:

Status node

Incoming
node / action

Outgoing
node / action

Draft

  • Start (None)

  • Approval (Recall)

  • Ready for export (transaction) (Recall)

  • Ready for export (expense) (Recall)

  • In review (Recall)

In review

Needs revision

  • In review (Send back)

  • Approval (Send back)

  • Activity (Submit)

  • Rejected (Reject)

Ready for expense export

  • Expense exported (Revert export)

  • Expense exported (Export)

  • Draft (Recall)

  • In review (Back to review)

Ready for transaction export

  • Transaction exported (Revert export)

  • Transaction exported (Export)

  • Draft (Recall)

  • In review (Back to review)

Expense exported

  • Ready for expense export (Export)

  • Ready for expense export (Revert export)

Transaction exported

  • Ready for transaction export (Export)

  • Ready for transaction export (Revert export)

Rejected

  • New (Reject)

  • Draft (Reject)

  • Needs revision (Reject)

  • None

  • Archive (Archive)

Archived

  • Rejected (Archive)

  • None

Expense condition nodes

Condition nodes include conditional clauses for performing the next step in the workflow. The Workflow Designer offers these notes for managing expenses:

True/false condition (Professional or Enterprise only)

Configure a true/false condition based on specific business rules that you determine in JSON format. For example, you can use this condition to check if an expense is a receipt or a receiptless expense, if it is a credit note, etc.

In this case, this condition returns:

  • True: The JSON-specified condition is met (i.e. the property is present on the expense).

  • False: The JSON-specified condition is not met (i.e. the property is not present on the expense).

✏️ Note
The True/False condition checks for attributes saved on the expense (such as custom fields). If you need to check attributes on the object itself, such as whether a custom field has been selected on a tag dimension, use the Custom true/false condition.

JSON rules

You can build complex business rules and serialize them as JSON. The JSON rules are specified in the Rules field of the node options.

These operations are supported:

Accessing data

var, missing

Logic and Boolean operations

if, ==, ===, !=, !== , ! , !! , or , and

Numeric operations

> , >= , < , <=, max, min, +, - , *, /, %

Array operations

map, reduce, filter, all, none, some, merge, in

String operations

in, cat, substr

For example, you can:

Check for custom field on expense

You can set up a rule to check if there is the customInformation.field value and it is equal to true. If so, it returns true.

  1. Identify the custom information field in the company, if not already set up by Yokoy.

  2. Then add a true/false node and copy and paste this snippet into the Rules field:

    {
    "==": [
    {
    "var": [
    "customInformation.<CustomFieldLabelName>"
    ]
    },
    true
    ]
    }
  3. Set up the workflow in the company.

✏️ Note - Custom information fields
Custom information fields can only be set up by Yokoy. You may need to open a support ticket if the custom information field you require doesn‘t already exist in your Yokoy implementation.

Check if expense is receipt

You can set up a rule to check if the expense is a receipt one. If so, it returns true.

Add a true/false node and copy and paste this snippet into the Rules field:

  {
"in": [
{
"var": "expenseType"
},
[
"receipt"
]
]
}

Check if expense is receiptless

You can set up a rule to check if the expense is a receiptless one. If so, it returns true.

Add a true/false node and copy and paste this snippet into the Rules field:

{
"in":[
{
"var":"expenseType"
},
[
"receiptless"
]
]
}


Check if expense is assigned to a trip

You can set up a rule to check if the expense has been assigned to a trip. If it is assigned to a trip, it returns true.

Add a true/false node and copy and paste this snippet into the Rules field:

{
"!=": [
{
"var": "tripId"
},
null
]
}


Check if expense without warnings

You can set up a rule to check if the expense has no notifications/warnings. If it doesn’t have any notifications, it returns true.

Add a true/false node and copy and paste this snippet into the Rules field:

{
"==": [
{
"var": [
"notifications.0"
]
},
null
]
}

Check if the expense comes from TravelPerk

You can set up a rule to check whether an expense has Travelperk as provider. If so, it returns true.

{
"==":[
{
"var":[
"travelProvider"
]
},
"travelPerk"
]
}

💡 Tip

One common use case for this node is to skip double approval in both Travelperk and Yokoy using a custom workflow.

Alternatively, if you only have Travelperk enabled as travel provider in Yokoy, the approval strategy can also be used to avoid a second approval step in Yokoy. In other words, you enable Yokoy to not require approval for “travel provider” payment method.

Check if the expense has one of two categories selected

You can set up a rule to check whether an expense has either one category or the other selected. Yokoy checks both single category expenses and expenses with multiple categories by using the variable splitcategories.0.categoryId.

✏️ Note
You must change the category Yokoy ID to the ones you want. Otherwise, this example does not work.

{
"or":[
{
"in":[
{
"var":"categoryId"
},
[
"GxjPfl9gGX",
"4QYutTYGSg"
]
]
},
{
"in":[
{
"var":"splitCategories.0.categoryId"
},
[
"GxjPfl9gGX",
"4QYutTYGSg"
]
]
}
]
}

Custom true/false condition (Professional or Enterprise only)

Configure a true/false condition based on specific business rules that you determine in JSON format. For example, you can use this condition to check whether a custom checkbox field has been selected for a tag dimension.

In this case, this condition returns:

  • True:

    • The JSON-specified condition is met.

  • False:

    • The JSON-specified condition is not met.

✏️ Note
While the Custom true/false may appear similar to the True/false condition, it can “drill down” on objects that are present on the expense

The True/false condition checks data that is indicated on the expense (such as a custom field, value, etc.), while the Custom true/false is able to is able to pull other data. For example, it can check the cost object that the expense is assigned to and check the logic.

You can build complex business rules and serialize them as JSON. The JSON rules are specified in the Rules field of the node options. You can perform this “drill down” for multiple objects:

  • Tag dimensions

  • Cost objects

  • Legal entity

  • Categories

  • User

For example, you can:

Check that custom field is flagged on tag value

You can set a rule to check if on the tag dimension with a specific Yokoy ID, the custom information checkbox is equal to true (i.e. selected). If so, it returns true.

  1. Identify the custom field in the company on the tag (it may need to be set up by Yokoy). The label field value (CustomFieldLabel) MUST be specified in the expression below.

  2. Add a true/false node and copy and paste this snippet into the Rules field:

    {
    "==": [
    {
    "var": "_tags.YOKOYID.customInformation.<CustomFieldLabel>"
    },
    true
    ]
    }
  3. Set up the workflow in the company.

✏️ Note - Custom information fields
Custom information fields can only be set up by Yokoy. You may need to open a support ticket if the custom information field you require doesn‘t already exist in your Yokoy implementation or if you don’t know the name (which may or may not be the same as the label shown in the app).

Check if submitter is tag approver

You can set a rule to check for a tag dimension with a specific Yokoy ID, the approvers on that tag array are equal to the submitter user.

Add a true/false node and copy and paste this snippet into the Rules field:

{
"in":[
{
"var":"userId"
},
{
"var":"_tags.<YokoyTagDimensionID>.approverIds"
}
]
}

🚧 Caution
Make sure to change <YokoyTagDimensionID> with your tag dimension ID.

Check for category custom field on the expense

You can set a rule to check if on the category submitted on the expense, the custom information checkbox is equal to true (i.e. selected). If so, it returns true.

  1. Identify the custom field in the category (it may need to be set up by Yokoy). The label field value (CustomFieldLabel) MUST be specified in the expression below.

  2. Add a true/false node and copy and paste this snippet into the Rules field:

{
"some": [
{
"var": "_categories"
},
{
"==": [
{
"var": "customInformation.<CustomFieldLabel>"
},
true
]
}
]
}

✏️ Note - Custom information fields
Custom information fields can only be set up by Yokoy. You may need to open a support ticket if the custom information field you require doesn‘t already exist in your Yokoy implementation or if you don’t know the name (which may or may not be the same as the label shown in the app)

Amount validation (expense) (Professional or Enterprise only)

Configure a true/false condition (guard) if the expense meets an amount condition. For example, you set up the logic to tell Yokoy if the expense is between 10 and 100 CHF to skip the approval flow and go to In review. Otherwise, perform a tag approval flow.

In this case, this condition returns:

  • True:

    • The amount condition is met.

  • False:

    • The amount condition is not met.

This specific condition comes with different options:

Option

Accepted value

Description

Aggregation type

Single or Day

  • Single: compare against the threshold on a expense-by-expense basis

  • Day: aggregate all expenses within the same calendar day

Operator

>, >=, <, <=

  • Greater than (>)

  • Greater than or equal to (>=)

  • Less than (<)

  • Less than or equal to (<=)

Currency

String

Currency taken into consideration.
Use ISO 4217 3-digit code.

Threshold amount

Number

Amount for the validation.
For example, if you set 100, all expenses that are above, below or equal to this amount depending on the chosen operator.

Normalize by number of participants

true / false

If you select this checkbox, Yokoy checks for the number of participants and divides the expense amount for the number of users that are sharing the expense.

For example, you set up the logic to tell Yokoy to check if the expense is more than 150CHF (not divided by number of participants). If the expense is more than 150, it returns true.

The aggregation type determines whether a cumulative total is taken for the day or whether each expense is to be checked individually. This is used in scenarios where employees have a daily allowance. For example, for employees with a daily allowance of 40 CHF for lunch, if the single aggregation type is selected in the node, two lunch expenses of 30 CHF return a true to the condition. If day aggregation type is selected and two lunch expenses of 30 CHF are submitted, the second expense results in a false response.

Amount validation (category) (Enterprise only)

Configure a true/false condition if the logic applies. Unlike Amount validation (expense), this condition checks the amount on each expense category. The threshold amount is defined on the category itself, as a custom field, rather than within the condition node.

For example, you set up the logic to tell Yokoy if the sum of the expenses for the category are between 100 and 500 CHF to skip the approval flow and go to In review. Otherwise, perform a tag approval flow.

In this case, this condition returns:

  • True:

    • The amount condition is met.

  • False:

    • The amount condition is not met.

This specific condition comes with different options:

Option

Accepted value

Description

Aggregation type

Single or Day

  • Single: compare against the threshold on a expense-by-expense basis

  • Day: aggregate all expenses by category within the same calendar day

Operator

>, >=, <, <=

  • Greater than (>)

  • Greater than or equal to (>=)

  • Less than (<)

  • Less than or equal to (<=)

Aggregation logic

any, all

  • All: Yokoy checks for all categories on the expense. If ALL categories respect the condition, it returns true.

  • Any: Yokoy checks for all categories on the expense. If any of the categories meet the condition specified, it returns true.

Categories that do not have a threshold defined are ignored.

Normalize by number of participations

true / false

If you select this checkbox, Yokoy checks for the number of participants and divides the expense amount for the number of users that are sharing the expense.

Set up custom fields for category amount validation

To use this condition, you need two custom field for expense categories:

  • customInformation.thresholdCurrency : the currency of the threshold (CHF, EUR, etc.)

  • customInformation.thresholdAmount: the amount of the threshold (50, 100, etc.)

These custom fields may need to be set up by Yokoy first. You need to enter thresholdCurrency and thresholdAmount as the Names in the custom field setup.

Name

Label

Type

thresholdAmount

Threshold amount

Text input

thresholdCurrency

Threshold currency

Text input

✏️ Note - Custom information fields
Custom information fields can only be set up by Yokoy. You may need to open a support ticket if the custom information field you require doesn‘t already exist in your Yokoy implementation or if you don’t know the name (which may or may not be the same as the label shown in the app)

This step needs to be done for each legal entity where you want to use the workflow with the Expense category amount validation node.

The threshold amount is set directly in the Category configuration. It applies to expenses submitted for that category and depends on the aggregation type (single/day), operator, and logic set up in the workflow.

Amount validation (trip) (Professional or Enterprise only)

configure a true/false condition (guard), in expenses with trips, to check whether the total claim of the trip exceeds the defined threshold (in the legal entity currency). For example, you set up the logic to tell Yokoy if the trip amount is more than the threshold specified.

In this case, this condition returns:

  • True:

    • The amount condition is met. The trip total claim is greater than the threshold amount.

  • False:

    • The amount condition is not met. The trip total claim is less than the threshold amount.

This specific condition has one option:

Option

Accepted value

Description

Threshold amount

Number

The threshold amount for the validation. This amount is compared with the total trip claim. For example, 100.

The currency is taken from the legal entity.

Tax rates incomplete (Enterprise only)

Configure a true/false condition to determine if the document has been assigned a tax rate and whether the tax amounts extracted from the expense are correct.

  • True: If the tax code is incomplete or the sum of the tax amounts is incorrect, it returns true.

  • False: If the tax code is complete and the sum of the tax amounts is correct, it returns false.

For example, if an expense has taxes (with or without split categories) but the tax code is missing or the gross tax amounts do not add up to the total claim, it returns true.

The node includes two options:

Option

Accepted values

Description

Exclude zero tax rates

true / false

If selected, Yokoy does not consider zero% rates as “eligible rates”.

Return false for allowances

true / false

If selected, Yokoy ignores allowances.

By default, Yokoy considers zero tax rates to be an eligible tax rate and returns false if an expense has a zero tax rate selected. You can override this behavior by selecting the Exclude zero tax rates checkbox, which means if an expense has a zero tax rate, it returns true.

In addition, you can exclude allowances (per diems) from this tax rate check since allowances do not usually contain tax.

Submission to own cost centers (Professional or Enterprise only)

Set up a condition that returns true/false if the expense’s cost object is the same as the submitter’s cost object. In this case, this condition returns:

  • True: The owner of the cost object assigned to the expense is the same person who submitted the expense.

  • False: The owner of the cost object assigned to the expense is not the same as the submitter user.

For example, an expense is submitted by the user Alex Smith and assigned to the cost object “Manufacturing”. The owner of the manufacturing cost object is Alex Smith. In this case, Yokoy returns true. Another user Jan submits an expense to the same cost object. In this case, Yokoy returns false.

Submitter with property (Professional or Enterprise only)

Configure a condition node that returns true/false if the submitter contains a specific property. You can check any user property such as name, email, line manager, as well as custom fields.

In this case, this condition returns:

  • True: The cost object associated with the submitter’s expense has a specific property value.

  • False: The cost object associated with the submitter’s expense does not have the specific property value.

For example, if the condition is set up with the Line manager property and matches Alex Smith,

  • If a submitted expense is created by a user whose line manager is “Alex Smith“, it returns true.

  • If a submitted expense is created by a user whose line manager is “Devis Hirt“, it returns false.

Option

Accepted values

Description

Property

String

Name (ID) of the field to be checked on the cost centre. For example, it can be any fields present on the cost object, from the cost object name to a custom field.

Matches

String / Number / Boolean

Value of the cost object property to be checked.

To add multiple values, click + Add row.

Setting up submitter property validation on a custom field

For example, if you want to check if the user in the custom field Target Administration has value “G000" or "G001":

  1. Identify the custom field created in the user. If this is not already set up, you may need to contact Yokoy support to do this. Remember the Name value, as you need it in the next step.
    - Name: customInformation.targetAdministration
    - Label: Target administration
    - Type: Text input

  2. Click the Submitter with property node in the Workflow Designer and enter this data. Since you want to check multiple values, enter the value “G001” and then click + Add row to add the second value “G002“:

    - Property: customInformation.targetAdministration
    - Matches: G001
    - Matches: G002

    In this case, Yokoy checks if the submitter has this property. If true, it performs a cost object approval. If false, it moves the document to “In review”.

Cost center with property (Professional or Enterprise only)

Configure a condition node that returns true/false if the cost object contains a specific property. You can check any cost object property such as cost object name, ERP code, custom fields, etc.

In this case, this condition returns:

  • True: The cost object associated with the submitter’s expense has a specific property value.

  • False: The cost object associated with the submitter’s expense does not have the specific property value.

For example, if the condition is set up with the Name property and matches Sales,

  • If a submitted expense is input to the cost object with name “Sales“, it returns true.

  • If a submitted expense is input to the cost object with name “Manufacturing“, it returns false.

Option

Accepted values

Description

Property

String

Name (ID) of the field to be checked on the cost centre. For example, it can be any fields present on the cost object, from the cost object name to a custom field.

Matches one of

String / Number / Boolean

Value of the cost object property to be checked.

To add multiple values, click + Add row.

Requires independence

true / false

If you select this checkbox, the cost object approver must not be the same as the submitter. If the cost object approver is the same as the submitter, it returns false.

Require approvers

true / false

If you select this checkbox, the cost object must have an approver. If the cost object (even if it is a match) does not have an approve, it returns false.

Setting up cost object property validation on a custom field

For example, if you want to check that the cost object submitted on the expense has been flagged as a special cost object (Special cost object checkbox equals true):

  1. Identify custom field in the cost object. If not available, you may need Yokoy Support to set this up. Remember the Name value, as you need it for the next step:
    - Name: customInformation.specialCostObject
    - Label: Special cost object
    - Type: Checkbox

  2. Click the Cost object with property node in the Workflow Designer and enter this data:
    - Property: customInformation.specialCostObject
    - Matches: true

Since you want to check whether the checkbox is flagged or not, enter the value “true”. In this case, Yokoy checks if the submitted cost object on the expense is a special cost object. If true, it skip the cost object approval. If false, it performs the the approval flow.

Paid with company card

Configure a true/false condition to check if an expense has been paid with a company card.

In this case, this condition returns:

  • True: The expense is paid with a company card

  • False: The expense is not paid with a company card.

🚧 Caution
This node is used as a card export condition. It MUST always be placed at the end of the workflow to differentiate the export path. It can also be used in other scenarios, such as after a submit action to route expenses to a different flow.

Expense age ≤ max. threshold (Professional or Enterprise only)

This node allows you to check the age of an expense and ensure it doesn’t exceed a maximum threshold. If the expense exceeds the maximum set, then it returns a false.

It is typically used to design workflows where you need to check if an expense date is not older than a certain number of days.

The node performs the following calculations:

  • Checks the Expense date/payment date on the expense.

  • Computes the difference between today’s date and the Expense/payment date on the expense.

  • Compares with the value entered in the node’s configuration (max. age in days).

  • Returns:

    • if the difference > max. age: false

    • if the difference < max. age: true

For example, companies often want to prevent users from submitting expenses that are older than a month or two. With this node, it is possible to define a specific workflow path that if the expense is older, it cannot be submitted.

Option

Accepted value

Description

Max. age in days

Numeric

This fields allows to specify the maximum amount of days after which the expense is considered to not meet the condition.

Only numeric numbers are allowed (e.g. 1, 2, 3, 30, etc.)

Expense activity nodes

Expense activity nodes perform a specific action on the document in the workflow.

You can perform these actions in the workflow:

✏️ Note

Before the activity node, you need a status node (Draft, Needs revision).

After the activity node, you can add any other workflow node type (status, activity, condition or approval nodes). No action path is required.

Assign all cost object approvers

Assign all the cost object owners as approvers. Technically, it iterates through the various cost objects of the expense, extracts the cost object owners, and assign them for approval.

💡 Tip
Use with cost object approval to create a cost object flow.

For example, you configure Yokoy to assign all cost object owners and require approval from all owners when an expense is submitted.

In this case, this condition returns:

  • True: If Yokoy cannot find an approver, it keeps the document in the same status.

  • False: If Yokoy cannot find an approver, it moves the document to the next status.

🚧 Caution

If you have delegates with an expiry delegation date in the past, they are not included in the assignment for approval. These delegates are ignored as their expiration date has past.

Assign custom cost object approvers (Enterprise only)

Determine all the cost object owners as approvers.

Technically, it iterates through the various cost centres on the expense, and assign approvers based on the properties specified in the options.

💡 Tip
Use with cost object approval to create a cost object flow.

This node comes with options that must be completed:

Option

Accepted values

Description

Cost object field

String

The field on the cost object to be looked up.

User field

String

User property on the cost object.

Required approvers

true / false

  • True: Determines that at least one approver must be defined for the cost object. If no approvers are defined, the expense does NOT move to the next step.

  • False: Does not require an approver for the cost object.

Transformations

lowercase

If you want Yokoy to ignore case for the user field, select this checkbox.
When selected, if you write “USER.COMPANY@COMPANY.com”, Yokoy can parse this as “user.company@company.com”.

For example, you want to assign a special user (which is not the cost object owner) for approval using the cost object on the expense:

  1. Check for the approverMail custom field in the cost object (if not available, you may need Yokoy to set this up for you).

  2. Reference the cost object field (in this case, the custom field custom.Information.approverMail) and the corresponding user value where you'll find the mail to identify that user (in the standard email field).

  3. In this case, you can specify any user mail you want on the cost object, and Yokoy assigns that user. So the submitter codes the cost object in the expense. From that cost object, Yokoy picks the user specified with that mail address.

✏️ Note

This field is not case sensitive. If you write “USER.COMPANY@COMPANY.com”, Yokoy can parse this as “user.company@company.com” using the Transformations field.

Assign all tag approvers (Professional or Enterprise only)

Assign all tag approvers with a given tag value found on the invoice document as approvers.

Technically, it iterates through the various line items of the invoice, extracts the tag values approvers and assign them for approval.

💡 Tip
Use with final approval to create a tag approval flow.

The node comes with two options:

Option

Accepted value

Description

Require approvers

true / false

  • True: Determines that at least one approver must be defined for the tag. If not, the flow is stopped.

  • False: Doesn’t require the tag to have an approver. If this is the case, it proceeds with the next step in the flow.

Tag dimension ID

String

Tag dimension to be used.

You can specify one or multiple tag dimensions to be considered by Yokoy. You can add as many dimensions as you want. For example, you can set up two tag dimensions on the expense: one for approval and one for coding. You can also set up Yokoy to consider just the one you want.

If you leave the tag dimension ID empty, by default Yokoy considers all dimensions on the document.

🚧 Caution
Tag dimension IDs are specific for each environment and organization.

There are two options when configuring tag workflows regarding IDs:

  • Do not enter any tag dimension ID in the workflow: The workflow considers all tag dimensions on the invoice document. This means that the workflow could be reused across environments, without amendments.

  • Enter tag dimensions IDs in the workflow: The workflow considers only that tag dimension. This means that you would need to create first a workflow entering the TEST tag dimensions ID and another workflow with the PROD tag dimension IDs.

For example, you set up Yokoy to assign all tag approvers upon submission. Any of the tag approvers can approve and finish the workflow.

Assign line manager

Set up a step to assign all line manager of the user who submitted the expense as approvers.

🚧 Caution
It must be used with Line manager approval or escalate.

The node comes with one option:

Option

Accepted values

Description

Discard delegate independence

true / false

By default, the delegate is only added if it is not equal to the submitter or the expense user.

You can use this checkbox to indicate the delegate should be added, even if it is equal to the submitter/expense user.

Assign static approver (Enterprise only)

Set up an approver by a specific ID. In short, it assigns a specific user for approval for the legal entity. It is often used to assign a final user for approval if certain conditions are met, such as for expenses greater than 50K, assign the CEO.

This node comes with one option:

Option

Accepted values

Description

Approver ID

String

User ID of the user to be used for approval.

You can add multiple users by clicking + Add row.

For example, you can set up an activity to get Yokoy to assign a specific user as approver.

Assign approvers with property (Professional or Enterprise only)

Determine approvers based on a specific user property. It can be used to create approval groups or to dynamically assign users based on specific custom properties that can be set on the user profile.

In this case, this condition returns:

  • True: it requires an approver with the options specified in the action. If the approver is not present, it does not move forward.

  • False: it requires an approver with the options specified in the action. If the approver is not present, it does move forward.

This specific condition comes with options that must be completed:

Option

Accepted values

Description

Property

String

User property data field.

For example:

  • User first name: user.FirstName

  • User last name: user.LastName

  • User email: user.email

  • User ERP code: user.employeeId

  • Custom field: customInformation.<customFieldName>

Value

String / Number / Boolean

Value of the attribute in Yokoy.

For example:

  • user.name: Alex

  • user.lastName: Smith

  • user.employeeId: 1234

  • customInformation.[labelName]:

    • if a text input field: a string such as manufacturing or G004

    • if a checkbox: true / false

Ignore claimant

true / false

When looking up the property field, if a list of users is found, Yokoy drops the “claimant” ( user to whom the expense belongs). This is not necessarily the user who submits it because it could have been created be an assistant or finance user.

Ignore previous approvers

true / false

When looking up the property field, if a list of users is found, Yokoy drops whoever already gave the approval.

🚧 Case-sensitive properties

The Workflow Designer take into account case. Therefore, make sure that you write in the property in lowercase: true or false. Otherwise, the Workflow Designer does not recognize the Boolean value.

❗️Warning

Make sure that at least one user has the checkbox selected; otherwise, Yokoy is unable to assign approval and the workflow fails.

The Ignore claimant and Ignore previous approver checkboxes let you restrict behavior if a list of users is found for the property. For example, an expense is first approved via cost object. Then an additional approval is carried out by the executive team (configured via flag on the user). If the CFO already approved (i.e. as part of the cost object approval in the first stage), in a second stage he does not have to approve as well if the Ignore previous approver checkbox is selected. Otherwise, the CFO is required to approve the same expense twice. This option implements the Four Eyes Principle: if two independent approvers are needed, this option guarantees it.

For example, you can set up Yokoy to assign all the users with the property customInformation.TeamA equal to true as approvers. This means all the users with the checkbox Team A selected on their profile, are assigned for approval.

Assign all cost object line managers (Enterprise only)

Assign the line managers of all the cost object owners as approvers. It checks the cost object value and assigns the line manager of the cost object owner who respects these conditions. If no dynamic escalation is provided, it assigns the line manager of the CO owner, in general (without checking)

For example, you configure Yokoy to assign the line managers of all cost object owners and require approval from all owners when an invoice is submitted.

💡 Tip
Use with an approval node such as Final approval.

In this case, this condition returns:

  • True: If Yokoy cannot find an approver, it keeps the document in the same status.

  • False: If Yokoy cannot find an approver, it moves the document to the next status.

Workflow notifications (Enterprise only)

This node lets you set up Yokoy to send an informative message when certain action/condition occurs.

Unlike Trigger an error, this activity node just sends information to the user, so that they can acknowledge it and move onto the next step.

The node has two options:

Option

Accepted values

Description

Notification text

String

This is the text you want to send to the user when the action occurs.

Notification type

Info / Warning / Error

Type of notification sent to the user. Depending on how important the information is, the user see an information message, a warning or an error.

In Yokoy, users see a red error message, a yellow warning message or a blue information message. For example, you can set up a notification to be triggered where the expense needs additional approval because is more than a certain amount saying “Additional approval required“:

Trigger an error (Enterprise only)

This node lets you configure Yokoy to send an error message when a certain action/condition occurs.

Unlike Workflow notification, this activity node stops the workflow completely and does not add any additional logs to the document itself.

This node has one option:

Option

Accepted values

Node

Error message text

String

This is the error message you want to display to the user. It is a text message that is displayed as a result of the action.

Expense approval nodes

Expense approval nodes complement activity nodes in the workflow to perform specific business logic.

The Workflow Designer includes these approval nodes:

✏️ Note

Before an approval node, you need an activity node.

After an approval node, you need Need revision, Draft, Rejected, and In review status nodes.

Final approval (Professional or Enterprise only)

Use this node to set up several types of approval flow, depending on what you need.

Technically, what this node does is when multiple or one approver is assigned to a document, when that user approves the document, it clears the list of approvers from the document and moves forward to the next step in the flow. In other words, it lets any approver end the approval flow and move the document to the next step in the workflow.

💡 Tip
Use this node with these activity nodes:

  • Assign approvers with property: it skips the approvers list, resulting in “any” of the approvers able to end the approval flow.

  • Assign custom cost object approvers: it skips the approvers list, resulting in “any” of the approvers able to end the approval flow.

  • Assign all tag approvers: creates an “any” all tag approvers approval flow, meaning that anyone of the assigned approvers on the tag values can end the approval flow.

  • Assign static approver: it skips the all the approvers on the list, resulting in “any” of the approvers able to end the approval flow.

Cost object approval

Configure a cost object approval flow. Technically, what it does is it takes the approver/list of approvers created by the activity node and sends the document for approval to that user until all users on the list have given their approval.
It is used in combination with Assign all cost object approvers or Assign custom cost object approvers activity nodes.

This node can perform escalation to the parent cost object. This occurs in standard Yokoy workflows in these cases:

  • If the submitter is the cost object owner, the expense is sent to the owner of parent cost object for approval.

  • If the approval threshold on the cost object is exceeded, the expense is sent to the parent cost object owner.

Option

Accepted values

Description

Check for independence

Boolean (true/false)

Escalates to the parent cost object if the submitter is equal to the approver on approval. This means that when a user approves, Yokoy checks if it was the submitter. If so, it escalates approval to the parent cost object.

Escalate to parent cost object

Boolean (true/false)

Yokoy checks the approval limit on the cost object. If the approval limit is breached, it escalates the document to the parent cost object.

If the expense is escalated automatically using this node, this information is recorded in the expense history:

Check for independence - Approver is the same as the submitter message recorded in the Expense history
Escalate to parent cost object - Approval threshold has been surpassed message recorded in the Expense history

Line manager approval or escalate

Configure a special approval flow in combination with Assign line manager.

🚧 Caution

This node must be used before the line manager assigner; otherwise, it does NOT work.

This specific node has one option that must be set up:

Option

Accepted values

Description

Amount reference

expense / trip

  • Expense: Yokoy compares the expense amount with the approval threshold of the user’s manager to determine if escalation is required.

  • Trip: Yokoy compares the full trip amount with the approval threshold of the user’s manager to determine if escalation is required.

All approvers must approve (Enterprise only)

Set up an approval flow in which all approvers must approve before the document can be moved to the next status. Technically, what this node does is the following:

  • Once an approver approves, it removes the approver ID from the list of current approver IDs.

  • Assigns the document to other approvers assigned to the document who still need to approve.

Once all approvers have approved the document, it moves the document to the next step in the flow.

Did this answer your question?