Rule configuration
Everything you need to know about rules, and how to configure them.
Written By Matias
Last updated About 3 hours ago
The Synci rule engine enables advanced financial automation. While our introductory guide covers the basics of creating rules, this article dives deep into the advanced configuration options that allow you to transform, calculate, and precisely control how your data flows between your bank and your destinations.
Rule components & logic
Every rule consists of Conditions (the "if") and Actions (the "then"). If a rule has no conditions, its actions are always executed when new transactions are synced in attached bank accounts or transfer links.
Conditions
Conditions define when a rule should trigger. Each condition consists of:
Field: The transaction property to check (e.g.,
amount,debtor.name).Operator: The comparison logic (e.g.,
Contains,Greater than,Matches regex).Value: The value to compare against. You can use static text and/or dynamic field references.
Actions
Actions define what happens when conditions are met. Multiple actions can be added to a single rule, and they are executed in the order you define them. Each action consists of
Action Type: The type of action you want to perform (e.g.,
Set Bank Transaction Field).Field: The transaction property to transform (e.g.,
amount,debtor.name).Value: The value to change this field to. You can use static text and/or dynamic field references.
Rule settings (trigger logic)
Trigger on any condition: If enabled, the rule triggers if at least one condition matches (OR logic). If disabled, all conditions must match (AND logic).
Skip other rules: If enabled and this rule triggers, Synci will stop processing any subsequent rules for that specific transaction. Use this to prioritize specific rules or create "catch-all" logic at the bottom of your list.
Field references: The {} syntax
You can reference transaction data dynamically using curly braces: {field_name}. This allows you to use values from the transaction itself within your conditions or actions. By default, simple field references are automatically inferred and displayed as badges in the Value field. You can insert field references by clicking the “+ Field Reference” button, or by typing / followed by the field you want to insert. Clicking on a field reference let’s you change it by searching for a new field name.

Advanced editor
Click on the “Advanced Editor” button to enable the advanced editor. This disables the badge view of field references, and let’s you more easily use the {} syntax for advanced use cases. You can still search for and insert field references by clicking the “+ Field Reference” button, but you will not be able to search for fields by typing / (forward slash).

Commonly used bank fields
amount: The transaction amount (positive for income, negative for expenses).currency: The ISO currency code (e.g.,EUR,USD).debtor.name/creditor.name: Entity names involved in the transaction.remittance_information.unstructured: The "memo" or "description" from your bank.booking_date: The date the transaction was recorded by the bank.
Smart "Generated" fields
Synci provides "Generated" fields which are pre-cleaned versions of your bank data:
generated.payee: A cleaned-up payee name automatically determined by Synci.generated.description: A cleaned-up version of the bank's description.generated.date: The most relevant date for the transaction.
Text manipulation expressions
Synci offers powerful modifiers for cleaning and transforming text data within your actions. These expressions use the format {field:operation=parameters}.
Remove position details
{field:remove_position=5}: Removes everything from the 5th character to the end of the string.{field:remove_position=1,10}: Removes the first 10 characters.{field:remove_position=5,5}: Removes only the 5th character.
Keep position details
{field:keep_position=5}: Keeps everything from the 5th character to the end (removes the first 4 characters).{field:keep_position=1,10}: Keeps only the first 10 characters (removes everything after).{field:keep_position=3,8}: Keeps only characters 3 through 8.
Examples
Clean Payee:
{creditor.name:remove=PURCHASE AT }Extract Reference:
{remittance_information.unstructured:keep_position=1,8}(Extracts the first 8 characters as a reference ID).
Modifiers & expressions
Math expressions
Perform basic arithmetic (+, -, *, /) on numeric fields.
Example:
{amount * 1.21}(Adds 21% tax).Example:
{amount + 1.50}(Adds a flat processing fee).Example:
{amount * 1.21 + 1.50}(Adds both 21% tax and a flat processing fee).Note: Maximum 5 math operations per expression are supported.
Date expressions
Manipulate dates or reference the current day using {TODAY}.
{TODAY}: The current date.{TODAY + 7}: Seven days from today.{booking_date - 1}: One day before the bank's booking date.Note: Date operations are limited to +/- 1000 days.
Advanced action types
Apply Regex
Extract specific parts of a field using Regular Expressions. Synci will set the field to the value of the first "capture group" (the part in parentheses ()).
Value:
/Ref: (\d+)/Result: If the memo is "Invoice Ref: 9982", this extracts "9982".
If you’re unfamiliar with Regular Expressions, we recommend using a regex generator/helper, like RegExr or Olaf Neumanns Regex Generator.
Stop Transfer
Completely prevents the transaction from being transferred to its destination.
Use case: Filtering out internal transfers or specific types of automated transactions you don't wish to track.
Attaching, detaching, and reordering rules

Attaching rules to bank accounts or transfer links
Click the green “Attach” button to attach the rule to a bank account or transfer link. A dialog will appear, letting you select which entity you want to attach the rule to. In the next step, you can configure the rule execution order.
Detaching rules
Click the “More” button at the top of the page, then “Detach” to detach the rule from a bank account or transfer link. A dialog will appear, letting you select which entity you want to detach the rule from.
Reordering rules
Click the “More” button at the top of the page, then “Reorder” to reorder the rule execution for a given bank account or transfer link. A dialog will appear, letting you select which entity you want to reorder the rule within. Once an entity is selected, you will see all the rules that are attached to the entity, and can drag and drop the rules into your preferred execution order.
Configuration example: Multi-step cleanup
You can combine these techniques in a single rule:
Condition:
remittance_information.unstructuredStarts withCHECKING_TRANSFER:Action 1: Set Field ->
remittance_information.unstructured->{remittance_information.unstructured:remove=CHECKING_TRANSFER: }Action 2: Set YNAB Field ->
memo->Internal Transfer: {remittance_information.unstructured}
Pro tips
1-Based Indexing: Remember that text position operations start counting at 1, not 0.
Regex Delimiters: Always wrap regex patterns in delimiters (e.g.,
/pattern/).Order Matters: Rules are processed from top to bottom. Drag and drop to reorder.
Safety Limits: Math expressions are limited to 5 operations, and date shifts to 1000 days to ensure performance.