Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider child transactions when fuzzy matching imported transactions #2309

Merged
merged 2 commits into from
Feb 3, 2024

Conversation

joel-jeremy
Copy link
Contributor

@joel-jeremy joel-jeremy commented Feb 1, 2024

Match split transaction entries when importing transactions

Copy link

netlify bot commented Feb 1, 2024

Deploy Preview for actualbudget ready!

Name Link
🔨 Latest commit 34a8950
🔍 Latest deploy log https://app.netlify.com/sites/actualbudget/deploys/65bbbc9292270900082a1061
😎 Deploy Preview https://deploy-preview-2309.demo.actualbudget.org
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@joel-jeremy joel-jeremy changed the title Consider child transaction when fuzzy matching imported transactions Consider child transactions when fuzzy matching imported transactions Feb 1, 2024
Copy link
Contributor

github-actions bot commented Feb 1, 2024

Bundle Stats — desktop-client

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
10 4.98 MB 0%

Changeset

No files were changed

View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

No assets were bigger

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
static/js/indexeddb-main-thread-worker-e59fee74.js 13.5 kB 0%
static/js/resize-observer.js 18.37 kB 0%
static/js/ButtonLink.js 379 B 0%
static/js/BackgroundImage.js 122.29 kB 0%
static/js/BalanceTooltip.js 6.06 kB 0%
static/js/FiltersMenu.js 28.92 kB 0%
static/js/narrow.js 80.18 kB 0%
static/js/wide.js 239.61 kB 0%
static/js/ReportRouter.js 1.84 MB 0%
static/js/index.js 2.64 MB 0%

Copy link
Contributor

github-actions bot commented Feb 1, 2024

Bundle Stats — loot-core

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
1 1.18 MB → 1.18 MB (-34 B) -0.00%
Changeset
File Δ Size
packages/loot-core/src/server/accounts/sync.ts 📉 -46 B (-0.14%) 32.04 kB → 32 kB
View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

No assets were bigger

Smaller

Asset File Size % Changed
kcab.worker.js 1.18 MB → 1.18 MB (-34 B) -0.00%

Unchanged

No assets were unchanged

@youngcw
Copy link
Member

youngcw commented Feb 1, 2024

Have you tested this with SimpleFIN?

Should this get extended to file imports?

@joel-jeremy
Copy link
Contributor Author

I was able to test in SimpleFIN. I don't have a GoCardless account so I haven't tested that. I have also applied the same on the file imports here: https://github.com/actualbudget/actual/pull/2309/files#diff-686fc94775444483c551d99e96c7bc92175543a53600f050fa2cdbe119b10523L640

@yoyotogblo
Copy link
Contributor

yoyotogblo commented Feb 2, 2024

What does it mean to fuzzy match a child trasnsaction from a split?

So if I have a split:
Parent Transaction $100
Child 1: Category - Food, Amount - $70
Child 2: Category - Toiletries, Amount - $30

The imported transaction would always be $100 so how would it match a child transaction? Shouldn't it be trying to match only the parent (which it currently does)?

@youngcw
Copy link
Member

youngcw commented Feb 2, 2024

@yoyotogblo I believe the use case would be if you combined imported transactions into a single split, like a wire transfer and its fee for example. Each are single transactions in the bank, but could be nice to combine in Actual.

@yoyotogblo
Copy link
Contributor

@yoyotogblo I believe the use case would be if you combined imported transactions into a single split, like a wire transfer and its fee for example. Each are single transactions in the bank, but could be nice to combine in Actual.

Is combining imported transactions possible in Actual? Personally, I prefer leaving the integrity of the transactions in place (so leaving those 2 transactions separate). But if combining is a thing, then I can see why this could be useful. Otherwise, not sure of a use-case for it.

@joel-jeremy
Copy link
Contributor Author

Is combining imported transactions possible in Actual? Personally, I prefer leaving the integrity of the transactions in place (so leaving those 2 transactions separate). But if combining is a thing, then I can see why this could be useful. Otherwise, not sure of a use-case for it.

The most common use case for this is grouping the fee and the actual purchase together. Or breaking down credit card statements with the individual purchases/installments being child transactions.

@joel-jeremy joel-jeremy merged commit f5258e6 into master Feb 3, 2024
19 checks passed
@joel-jeremy joel-jeremy deleted the fuzzy-matching-child-transactions branch February 3, 2024 02:03
@trafico-bot trafico-bot bot added ✨ Merged Pull Request has been merged successfully and removed ✅ Approved labels Feb 3, 2024
@yoyotogblo
Copy link
Contributor

yoyotogblo commented Feb 3, 2024

The most common use case for this is grouping the fee and the actual purchase together. Or breaking down credit card statements with the individual purchases/installments being child transactions.

Thanks... How would you group the fee and actual purchase together? Or are you saying you manually enter the two transactions as one parent transaction and 2 child transactions, and then you want the imported transactions to match each child?

Also, I don't believe breaking down a transaction into many child transactions (split transactions) is applicable in this case because the imported transaction won't match any of the child transactions.

Sorry about all these questions. On my end, just a bit concerned about even more fuzzy matching when it has the potential to be the wrong match especially with Actual not requesting approval of matches (like YNAB does).

FlorianLang06 pushed a commit to FlorianLang06/actual that referenced this pull request Mar 7, 2024
…actualbudget#2309)

* Consider child transaction when fuzzy matching

* Release notes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Merged Pull Request has been merged successfully
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants