Help With Accurate Accounting for Inter Wise Account Transfers #451
-
PrefaceI am trying to create a YAML import filter for my accounts with Wise Payments. Wise is a pretty cool service that allows you to have multiple currency accounts, for chequing and savings. While one could go deep into the currency exchange side of WYGIWYH with Wise transaction data, I am just trying to do a simple accurate accounting of the transactions in one currency account. The ProblemWise allows you to export your data in CSV format like most banks, and the resulting file is rather rich with the info provided. However, how it records expenses and incomes are what I would call non standard. The header line from Wise is the following;
The "Direction" column is what determines if the transaction is an; Income, Expense, or Neutral. All numerical values are positive in the CSV, which I found makes it difficult to simply import the CSV. I am sure there is a way to do this better, but I have a python script take the CSV and change the "Source amount (after fees)" to a positive or negative number based of the "Direction" value. While this is annoying, and I am sure there is a better way, it works and is not my main problem. Inter Wise Account TransfersMy main issue is how to accurately record transfers between wise accounts. When the data is imported into WYGIWYH every transaction with a NEUTRAL is treated as a Income, as the transaction amount is positive. So for example I was to transfer $1 from my Chequing account to my Savings and back it would record an $1 income in my Chequing on the way out, and the way in. As you can see this leads to very inaccurate records, rapidly. I have tried to apply a Transaction rule to transactions that are transfers, and mute them, and while this works for the summary, it is just hiding the problem, while services like Net Worth are totally skewed. DeduplicationTo make the issue worse, the CSV file exported from each Wise account holds the same ID's for matching transactions. For example when I transfer $100 from my main Chequing account to my Emergency Fund Savings, that transaction is recorded in both records for each account, but that transaction record is the exact same text in each. Both have the same ID, amount and every other header. This leads to one set of CSV's being rejected from WYGIWYH due to deduplication issues. This is a probelm as Wise does allow you to send money directly from your Savings accounts, without sending money back the the Chequing account, so thesse transactions are not recorded in WYGIWYH. ( I am sure there is a way to tune Deduplication to avoid this, I am just too obtuse to figure it out) My YAML Config & Sample FilesAttached below is my config, as well as some sample files with sanitized data. I left the amounts the same so you can easily see which transactions are the same ones across the two CSV's even with their matching transaction id's removed. Wise-Chequing-Sample-Sanatized.csv Wise TemplateI haven't found a way to scope a account name dynamically for Wise in the YAML, so at the moment I have a copy of the import filter for each Wise account I have with a hard coded account name. Transaction Rules for "Transfers""
Thank youThis is a super cool project and it fills a niche in a way that no other program I have found does. I am super appreciative of the project, and sadly I am not code literate and as such cant contribute with PR's. But I do hope at least the sample data and YAML file can help. |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 1 reply
-
|
Hey there, glad to hear you're liking WYGIWYH! A lot going on here, let's try to go topic by topic, if I misunderstand anything or forget something feel free to correct me.
You're probably doing the best that can be done right now. I've been meaning to add some kind of conditional system to the import engine, but I have no clue on how to do it without it becoming a messier, uglier and more limited version of Python. Maybe the best solution would be to add a transformation that runs inline Python, like the rules engine.
I'm not sure I understand what a NEUTRAL transaction is, is it a transfer between your own wise accounts? For example, this line:
It's present on both files you shared, so I suppose you're moving money from one account to another, but... there's no way of knowing where it is coming from or going to? Am I right in my observation? If so, I'm impressed, Wise really cooked on this one. Or does
For deduplication, you can just remove it from the config file, or set it to
You will need to have multiple profiles for different files with the default account, as there's no information about this on the csv. So you're correct.
Have you tested this rule? By memory, I don't think it's correct, so it probably isn't running. The correct way would be something like:
If I'm correct in my observations, I see two ways of doing this:
(this is pseudo-code representing logic, not a real thing you can use, but I can help you set it up if you need) |
Beta Was this translation helpful? Give feedback.
-
|
Wise is giving me headaches, too. Here is one strange "feature": If a transaction is using funds from multiple accounts (e.g. EUR and USD), both splits are featured in both CSV exports, so they are counted double. |
Beta Was this translation helpful? Give feedback.
-
Thank you for taking the time to go through my lengthy post @eitchtee!I think the real problem here is that WISE does a pretty bad job of making their CSV's easy to import. Mostly with that "NEUTRAL TRANSACTION".
You are correct, as far as I can tell the NEUTRAL TRANSACTION type only occurs when money is moved from one account you hold to another in WISE. For example; transferring funds from my AUD chequing to my AUD savings. Which means that sadly, WISE did cook with this one. Transfers from One Bank to AnotherA quick question for you, I have two banks that I use. Royal Bank of Canada which is my primary bank, and WISE. I have been working in Australia for a few years but I am Canadian, and long story short I use WISE for most of my daily financial needs in Australia. However my credit card is issued by RBC, and I have to make transfers from WISE to RBC for payments of course. I have both banks CSV's and I would like both to be in WYGIWYH, however I am have problems telling WYGIWYH that these are transfers from my accounts. Due to WISE taking some of the source currency for fee's and currency conversion, the money in my WISE account does not have an exact corresponding transaction in RBC. WISE does clearly report the fee's per transaction in the CSV, but taking that info into account is a bit beyond my skillset. If this is a bit beyond the pail of this discussion, no worries. Other Tips & TricksThank you for outlining some tips and tricks (especially with the Transactions Rules) I have yet to give most of them a try ( holiday season and all). Account Linking to WYGIWYHI do apologize if this has been specially answered elsewhere, but has there been the idea of using a service like LunchFlow or SimpleFIN to connect WYGIWYH to Financial Institutions? I personally enjoy the insights that WYGIWYH provides, I myself however can be lazy and exporting CSV's from my bank is something that I find myself ignoring, making WYGIWYH's insights less useful. If there was an automated pathway, that could be really cool. That being said, I am not code literate and could not begin to comprehend how hard that would be to implement and what kind of upkeep it would require. I have just seen other projects like Sure use it, and was wondering if this had be considered. Regardless, one persons laziness (me) is no reason to change a project that already does so much right. Thanks once more for your time! |
Beta Was this translation helpful? Give feedback.
-
Then I'm afraid there isn't much we can do, I'm open to making changes to the import engine, but unfortunately I don't see any way to make this work. The balance idea I gave on my last response is probably your best bet currently.
Could you open another discussion with some examples of what you're trying to accomplish like you did for WISE. Would be happy to help, just need to visualize things.
This is something I've been wanting to implement since day one. I wasn't aware of SimpleFIN and LunchFlow, and both look very good, and at least LunchFlow looks really easy to implement, with the added bonus of actually supporting my country so I can test it out. I can't give an ETA on this, but it's definitely on my radar now. I'm tracking this on #498 |
Beta Was this translation helpful? Give feedback.

Then I'm afraid there isn't much we can do, I'm open to making changes to the import engine, but unfortunately I don't see any way to make this work. The balance idea I gave on my last response is probably your best bet currently.
Could you open another discussion with some examples of what you're trying to accomplish like you did for WISE. Would be happy to help, just need to visualize things.
This is something I've been wanting to implement since day one. I wasn't aware of SimpleFIN and LunchFlow, and both look very good, and at least LunchFlow looks really easy to implement, with the adde…