[Bug]: Imported payees regex matching not working #1399

Closed
opened 2026-02-28 19:42:39 -06:00 by GiteaMirror · 8 comments
Owner

Originally created by @juanrapmc on GitHub (Sep 8, 2024).

Verified issue does not already exist?

  • I have searched and found no existing issue
  • I will be providing steps how to reproduce the bug (in most cases this will also mean uploading a demo budget file)

What happened?

I have rules to categorize imported transactions. I use imported_payee with matches and a list of substrings to find the transactions I need for categorizing.

Example:
Configured rule that works before

if `imported_payees` `matches`: `store_a|store_b|store_c`, then set category to...

Example expected results:

My store_abc
store_bcd
store_cde

After updating to 24.9.0, no transaction are recognized by the rules anymore after importing. On hover over the payee (new feature), I can see that the transaction I am expecting to see in the rules is detected as an imported_payee.

Where are you hosting Actual?

Docker

What browsers are you seeing the problem on?

Firefox

Operating System

Windows 11

*Edit: used matches not contains

Originally created by @juanrapmc on GitHub (Sep 8, 2024). ### Verified issue does not already exist? - [X] I have searched and found no existing issue - [X] I will be providing steps how to reproduce the bug (in most cases this will also mean uploading a demo budget file) ### What happened? I have rules to categorize imported transactions. I use `imported_payee` with `matches` and a list of substrings to find the transactions I need for categorizing. Example: Configured rule that works before ``` if `imported_payees` `matches`: `store_a|store_b|store_c`, then set category to... ``` Example expected results: ``` My store_abc store_bcd store_cde ``` After updating to `24.9.0`, no transaction are recognized by the rules anymore after importing. On hover over the payee (new feature), I can see that the transaction I am expecting to see in the rules is detected as an `imported_payee`. ### Where are you hosting Actual? Docker ### What browsers are you seeing the problem on? Firefox ### Operating System Windows 11 *Edit: used `matches` not `contains`
GiteaMirror added the bug label 2026-02-28 19:42:39 -06:00
Author
Owner

@juanrapmc commented on GitHub (Sep 8, 2024):

I did some experimenting and it seems that the | separator for the contains doesn't work anymore.

I updated the rule to just have a single entry like below and it was able to find the transactions that will be updated

if `imported_payees` `contains`: `store_a`, then set category to...
@juanrapmc commented on GitHub (Sep 8, 2024): I did some experimenting and it seems that the `|` separator for the `contains` doesn't work anymore. I updated the rule to just have a single entry like below and it was able to find the transactions that will be updated ``` if `imported_payees` `contains`: `store_a`, then set category to... ```
Author
Owner

@juanrapmc commented on GitHub (Sep 8, 2024):

Another experiment where I removed the first letter of the word:

if `imported_payees` `contains`: `tore_a|tore_b|tore_c`, then set category to...

returns

My store_abc
store_bcd
store_cde
@juanrapmc commented on GitHub (Sep 8, 2024): Another experiment where I removed the first letter of the word: ``` if `imported_payees` `contains`: `tore_a|tore_b|tore_c`, then set category to... ``` returns ``` My store_abc store_bcd store_cde ```
Author
Owner

@jfdoming commented on GitHub (Sep 8, 2024):

I'm not sure | for contains should ever have been working—if it did, that sounds like a bug that was recently fixed. Can you try using matches instead? contains is supposed to be for simple substring matches, whereas matches has full regex support

@jfdoming commented on GitHub (Sep 8, 2024): I'm not sure `|` for `contains` should ever have been working—if it did, that sounds like a bug that was recently fixed. Can you try using `matches` instead? `contains` is supposed to be for simple substring matches, whereas `matches` has full regex support
Author
Owner

@juanrapmc commented on GitHub (Sep 8, 2024):

@jfdoming apologies, my Sunday morning brain wasn't working yet when I created the issue. I was using matches and not contains

Screenshot with the substring as normal:
Screenshot 2024-09-08 174148

Screenshot with the substring without the first letter of the word:
Screenshot 2024-09-08 174135

@juanrapmc commented on GitHub (Sep 8, 2024): @jfdoming apologies, my Sunday morning brain wasn't working yet when I created the issue. I was using `matches` and not `contains` Screenshot with the substring as normal: ![Screenshot 2024-09-08 174148](https://github.com/user-attachments/assets/14ca03be-33b9-46a9-b9d5-f769af5e19ff) Screenshot with the substring without the first letter of the word: ![Screenshot 2024-09-08 174135](https://github.com/user-attachments/assets/9d09c6b5-254a-4361-9ff9-7013f8ea540b)
Author
Owner

@jfdoming commented on GitHub (Sep 8, 2024):

@jfdoming apologies, my Sunday morning brain wasn't working yet when I created the issue. I was using matches and not contains

Screenshot with the substring as normal: Screenshot 2024-09-08 174148

Screenshot with the substring without the first letter of the word: Screenshot 2024-09-08 174135

Ah, no worries! I think this may be occurring because regex matching is case sensitive

@jfdoming commented on GitHub (Sep 8, 2024): > @jfdoming apologies, my Sunday morning brain wasn't working yet when I created the issue. I was using `matches` and not `contains` > > Screenshot with the substring as normal: ![Screenshot 2024-09-08 174148](https://private-user-images.githubusercontent.com/53954739/365453395-14ca03be-33b9-46a9-b9d5-f769af5e19ff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4MTQ0MTgsIm5iZiI6MTcyNTgxNDExOCwicGF0aCI6Ii81Mzk1NDczOS8zNjU0NTMzOTUtMTRjYTAzYmUtMzNiOS00NmE5LWI5ZDUtZjc2OWFmNWUxOWZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA4VDE2NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJjZjNhNWQ0MjNlNGJjNTNjOGM4ZWEzM2YyODEyNTJlN2MxYTdmOTViMTFmMDJiMzY1NzEzMjIwYzdjZDA4MzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.9ez9aYhpThzRdjnf3dvEr3YwgNPSPcvR8B1IlOL5Zs8) > > Screenshot with the substring without the first letter of the word: ![Screenshot 2024-09-08 174135](https://private-user-images.githubusercontent.com/53954739/365453316-9d09c6b5-254a-4361-9ff9-7013f8ea540b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4MTQ0MTgsIm5iZiI6MTcyNTgxNDExOCwicGF0aCI6Ii81Mzk1NDczOS8zNjU0NTMzMTYtOWQwOWM2YjUtMjU0YS00MzYxLTlmZjktNzAxM2Y4ZWE1NDBiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA4VDE2NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcyNmM4ODBjYTA4NTQ5MmE4MmI0OTBlYjE1ZGMwZjVmOWJiY2E3OTk4MDcxY2QzMzYxNTAyNTRlODQ5NDhiNzMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-rZP9wlU9POeGRtweOK6Uv2xHDLvJafFbXd28MfjqCk) Ah, no worries! I think this may be occurring because regex matching is case sensitive
Author
Owner

@oddstr13 commented on GitHub (Sep 8, 2024):

Pretty sure this is the same issue as what I reported in #3347

It seems that unnpris matches, but not Bunnpris, bunnpris, [Bb]unnpris or (B|b)unnpris.

image

Edit: .unnpris does match… for whatever reason.

@oddstr13 commented on GitHub (Sep 8, 2024): Pretty sure this is the same issue as what I reported in #3347 It seems that `unnpris` matches, but not `Bunnpris`, `bunnpris`, `[Bb]unnpris` or `(B|b)unnpris`. ![image](https://github.com/user-attachments/assets/ec7a2f3a-220f-41a3-b746-cb8fbfb5fbab) Edit: `.unnpris` *does* match… for whatever reason.
Author
Owner

@jfdoming commented on GitHub (Sep 8, 2024):

Pretty sure this is the same issue as what I reported in #3347

It seems that unnpris matches, but not Bunnpris, bunnpris, [Bb]unnpris or (B|b)unnpris.

image

Edit: .unnpris does match… for whatever reason.

ah, thanks for confirming. I'll see what's up with it

@jfdoming commented on GitHub (Sep 8, 2024): > Pretty sure this is the same issue as what I reported in #3347 > > It seems that `unnpris` matches, but not `Bunnpris`, `bunnpris`, `[Bb]unnpris` or `(B|b)unnpris`. > > ![image](https://private-user-images.githubusercontent.com/638706/365459471-ec7a2f3a-220f-41a3-b746-cb8fbfb5fbab.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU4MjI3MjUsIm5iZiI6MTcyNTgyMjQyNSwicGF0aCI6Ii82Mzg3MDYvMzY1NDU5NDcxLWVjN2EyZjNhLTIyMGYtNDFhMy1iNzQ2LWNiOGZiZmI1ZmJhYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwOFQxOTA3MDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MmQwOWQzZDk0M2JkY2Y0ZWVkYjlmZjk3MDNhYWQzMGVkYjlhZWZiN2NmN2ZhODY2NmIyZWVlZjdiZTA4MmFiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ouW0qmOs4Ezb5L_w7-faaTo6IhJz8fb7QOLrxmHzdUI) > > Edit: `.unnpris` _does_ match… for whatever reason. ah, thanks for confirming. I'll see what's up with it
Author
Owner

@jfdoming commented on GitHub (Sep 8, 2024):

Duplicate of https://github.com/actualbudget/actual/issues/3347, working on that issue now

@jfdoming commented on GitHub (Sep 8, 2024): Duplicate of https://github.com/actualbudget/actual/issues/3347, working on that issue now
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#1399