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
[Feedback]: SimpleFIN Sync #2272
Comments
How do I use this? |
@JMLegere Currently you have to be using the edge release, then enable the experimental feature for it |
Any concerns about how actively developed their bridge tool is? Their last blog post is from 2016 and their terms of use haven't been updated since 2020, and it doesn't seem like any banks have implemented the protocol themselves. Edit: It looks like their privacy policy was updated last October. |
@sethgillett SimpleFIN uses MX in the background and its primary role is to make bank sync accessable to individuals instead of having to use a large company service. So there likely isn't much that needs changed. From what I've heard the guy that runs it is very responsive and actively keeping it going. |
He's very responsive. Almost always responds within a few hours of issues being raised and escalates issues quickly also. I won't be concerned about it being active. |
We should add a new feature to "force match" an existing transaction to a newly imported one. This should basically just assign the |
That's how it already works. If the imported_id exists, it auto-matches so doesn't dupe. If it doesn't exist, it uses fuzzy matching |
I'm aware of that, and what I meant is for users to be able to do what the fuzzy matching is doing by manually selecting which transactions to "match". Because the fuzzy matching will not be able to catch all the cases - in my case, the bank seems to use the cleared date as the transaction date instead of the date the purchase was made and that varies between 1 day or sometimes a week. Another thing I noticed is that the imported transactions doesn't seem to match split transactions. |
The fuzzy logic ( Is there a reason to keep the match range asymmetric? Could it be updated to Here's the problematic scenario for my data:
I think the better workaround as I identify these date collisions is for me to go change the dates of the transfer to try and favor the earlier date? But, the manual work to figure out which account I need to forcibly tweak is overhead that would be great to avoid if possible 😄 |
Ah yeah, manually matching... I wrote a lot of details about the ideal behavior in the issue below... Fully agree that we need a way to manually match. Also, on the 1 day vs a week time difference, I have a PR.to change the fuzzy matching logic to 7 days prior and 7 days after. I use that in my instance and it works much better. |
I have a PR to make it symmetrical and to use 7 days in both cases... I had the same issues as you with the Simplefin sync and this has solved it. BTW, currently, the Simplefin sync looks back 90 days. Most accounts don't provide that much history so you won't see as many breaks. But for the ones that do, it could break over a 90 day range everytime you sync. |
Another observation: This is not SimpleFIN specific but when you modify an imported transaction, it will still match the next time you sync even though the fields are no longer the same. I think we should treat imported transactions like we do reconciled transactions where a warning pops up when editing an imported transaction. |
👋 I tried setting up simplefin to run some tests. Here are some issues I encountered:
Everything else seems to be working good so far. Great job! |
Hello! It may be good to have a marker to designate transactions that were imported through syncing with simplefin. I may be missing this if it is there. Ideally, one could toggle that marker off/on depending on if they wanted it there or not. all around awesome and seamless. Need to do a bit of rule updating, but other than that all of my accounts are synced up. great work. |
This is a good idea. We mark linked/imported accounts in the UI and we should do the same with imported transactions (gocardless/simplefin) IMO. This + warn users if an imported transaction is being modified. If modified, it should then be converted to a regular transaction (we remove it's |
This is how I'd expect it to work though. It matches the imported id and since it recognizes that you've already imported that transaction and edited it, it shouldn't try to change it and should just match it. Not sure of the benefit of a warning pop up in this instance. |
Definitely don't think we should ever be removing the imported_id. Based off your proposal, if it imports a transaction and I need to change the payee, then that's now modified. Remove the imported_id and the transaction gets duped. Not sure I see any benefit to what you're proposing. |
In terms of the marker, I was only thinking of a label like your green dots next to the linked accounts. I don't think this would involve removing a uid as suggested above, but adding a tag... but I'm not familiar with source so I'm not sure how difficult this would be. I am checking actual from mobile now and there is no sync button. I understand that the mobile version is not as fully featured as desktop, but a sync button would be good for mobile. |
I am referring to user-made edits not edits made by the importer if that's what your thinking.
The warning popup can be limited to |
Still getting the errant transactions now 90+ days out. |
I just ran a sync on my accounts and these are the date ranges it searched for: actual-server | 2023-12-12 - 2024-04-01 I'm not clear for the reason on the variablity but it may be a while before you stop seeing this. If you're interested you could do a PR to make this configurable going forward. |
Anyone know/have a script for how to "adjust" a singular account in SimpleFIN Bridge that could be run once daily from client side maybe? Just responding to my earlier comments, getting information up-to-date on the SimpleFIN side requires an "adjustment" of an account to sync all of the information. If this could be run from the client-side for now (and even more ideally, from the server-side when syncing/as a scheduled task), this would really elevate the syncing IMO. |
Without looking too deep:
This appears to be where the sync actually occurs programmatically? So looking for it in code actually being used, I find: Which seems easy enough to replicate into a script server side in a cron. You would probably just need to start with static params and go from there. This is all me just going by look, haven't tried it. Though might give it a go after work tonight |
It was mentioned in Discord that the status indicator never turns red if a specific account failed to sync. I can confirm that behavior. Ideally, SImpleFIN should behave like GoCardless does where it turns red to show the account was not sync'd. Then we would know to go log in and hit the button on the SImpleFIN website. |
@youngcw said:
I also have a use case where I keep deleting something and it keeps coming back. I think the sync should look for tombstones on matching transactions and avoid importing if one exists. My use case is I am tracking a mortgage account. They post escrow-related things as transactions, but those do not actually affect my account balance. So it throws the balance off if I leave it. My other option is to make my own transaction that undoes the ones I keep deleting. But then I have two transactions that I don't care about in my transaction list, not one. |
Does actual currently track transactions it does not display / process? If it doesn’t then I think adding this feature is a big lift. Alternatively the imported transactions could be tracked but again that’s a pretty large effort.
I’d suggest breaking it out of this thread as a feature request and see how interested everyone is.
…________________________________
From: Robert Dyer ***@***.***>
Sent: Sunday, March 17, 2024 2:40:33 PM
To: actualbudget/actual ***@***.***>
Cc: Rob ***@***.***>; Comment ***@***.***>
Subject: Re: [actualbudget/actual] [Feedback]: SimpleFIN Sync (Issue #2272)
@conspiracyx<https://github.com/conspiracyx> Why do you not want that transaction?
I also have a use case where I keep deleting something and it keeps coming back. I think the sync should look for tombstones on matching transactions and avoid importing if one exists.
My use case is I am tracking a mortgage account. They post escrow-related things as transactions, but those do not actually affect my account balance. So it throws the balance off if I leave it.
My other option is to make my own transaction that undoes the ones I keep deleting. But then I have two transactions that I don't care about in my transaction list, not one.
—
Reply to this email directly, view it on GitHub<#2272 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ACDYM2OH5EDJVHAAKTSHPE3YYYEVDAVCNFSM6AAAAABCFZKYYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBSGYZDMMRTGM>.
You are receiving this because you commented.Message ID: ***@***.***>
|
I'm not sure what you are referring to with "does not display / process"? I am talking about transactions that appear in Actual and are then deleted by the user. Actual keeps those in the database but sets a tombstone on them (to mark them deleted). So they are there the next time a sync occurs and it could match against it. Currently, that matching process does not look at tombstoned data. |
I guess my question is, if I user deleted the transaction, even in error,
How would they ever be able to import their transaction again?
Additionally, the matching is a little bit fuzzy, as it has to be by
nature. What about synchronized data that matches against the “wrong”
transaction?
Don’t get me wrong, I agree something needs to be done. I just think there
are a few items to consider.
…On Sun, Mar 17, 2024 at 15:08 Robert Dyer ***@***.***> wrote:
I'm not sure what you are referring to with "does not display / process"?
I am talking about transactions that appear in Actual and are then deleted
by the user. Actual keeps those in the database but sets a tombstone on
them (to mark them deleted). So they are there the next time a sync occurs
and it could match against it. Currently, that matching process does not
look at tombstoned data.
—
Reply to this email directly, view it on GitHub
<#2272 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACDYM2N3W4PHGN3U5RT6MTLYYYH6HAVCNFSM6AAAAABCFZKYYGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBSGYZTGNRRGE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
If you accidentally deleted, you can |
Ynab4 doesn't reimport deleted transactions. You'd have to manually add it. I imagine they track the imported IDs of deleted transactions and if a new transaction matches that imported id, they ignore it |
If you're bad at importing transactions and it's been more than 3 months since you imported your last statement export, you no longer have the option to import them in order to match transactions that are more than 3 months old Unlinking account allows import of missing transactions, and linking again has all transactions |
As someone who just had a SimpleFin integration get added for an institution he was manually tracking, I'd love this. I just picked February as a start date and used reconciliations to start from there and accept everything prior as a wash. Now I have transactions from Jan and Dec popping up and it's messing with a lot of the 'clean slate' I had established. I guess it's not the biggest thing and I can live with it for another 2 months until the transactions drop off and everything gets back to 'normal' but it would be a great quality of life enhancement to just be able to say "I only care about transactions after this date" when syncing (especially for the first time). |
The sync is working great, nice job! Feature request: Allow user to review and modify data transform template for each account before starting sync. e.g. Pop up the import wizard (modified for data received from API) on first pull to allow for custom mapping. *Could be considered a bug, as it's not accurately parsing original payee names from source as it is now, which breaks existing rules. Currently, location information (city and state) is being appended to the payee name for all my CC transactions, as there is no Actual field for location. The existing import wizard solves this if I import manually today. |
My bank is being annoying and returning the same names for multiple accounts. Would it be possible to add balance in brackets in the "Link Accounts" model pane, it would make it easier to identify and map the simpleFIN accounts to actual account |
EDIT: Created a separate ISSUE for this I think I found a bug relating to the simplefin authentication. I had an unrelated issue and I ended up deleting my simplefin API key and creating a new one. After a relogin to actualbudget I went to go add a new account with simplefin. The GUI shows an error
From the GUI, the loading icon just spins, but I'm not ever able to update/fix my simplefin API key. Is there anyway to update/fix the simplefin API key manually in a sqlite backup? |
[Bug]
This bug will cause the overall budget number to grow or shrink by the value returned but it will not show up in your available budget menu. When you goto all accounts you can delete the entry and it will be fixed. |
Bug: Transactions are being pulled from before my set Starting Balances Steps to reproduce:
|
This doesn't seem like a bug to me. It should pull whatever the sync provides. What is a bug, in my opinion, is when you delete something previously pulled and it adds it back in on the next pull. If this issue was fixed, it would also fix your issue as you could just delete any older transactions you do not want. |
As a feed back, during my tests I noticed a couple of things that bothered me:
|
Maybe this is me, but I couldn't find a way to import from SimpleFIN to Off Budget accounts. Would be nice to be able to do that. |
Ah gotcha! First create the account and then link. So, not a high priority ask, but maybe adding a |
Not sure if this is just simplefin or the way sync is intended to be used, but I was hoping my partner could use simplefin on their own budget separately from mine. When they went to add a linked account from their budget it comes up with my simplefin data. Clearly this means the access token is shared across budgets. So I'm wondering, is there a way to separate the simplefin accounts by budget, or is this just not how sync is intended to be used? |
Are you using HTTPS for accessing actual budget? If not then that is likely the issue and what you need to fix. |
SimpleFIN Sync is set up on a per-server instance. You'd need a separate instance, if you wanted separate SimpleFIN links. Otherwise, you could set up a joint SimpleFIN account that links to both of your accounts, but that's more of a personal preferences approach. |
I am using HTTPS so no issue there.
Good to know, I figured that was probably the answer. Thanks for the quick response! |
A suggestion: could we allow the syncs to run in parallel and/or in the background (when using the mobile interface) |
This issue is to track thoughts/bugs/concerns/ideas around the new SimpleFIN syncing which is an experimental feature.
The text was updated successfully, but these errors were encountered: