mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-01-15 05:33:26 +01:00
Help With Accurate Accounting for Inter Account Transfers #84
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Hotrod-Linc on GitHub (Dec 16, 2025).
Preface
I 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 Problem
Wise 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;
ID,Status,Direction,"Created on","Finished on","Source fee amount","Source fee currency","Target fee amount","Target fee currency","Source name","Source amount (after fees)","Source currency","Target name","Target amount (after fees)","Target currency","Exchange rate",Reference,Batch,"Created by",Category,NoteThe "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 Transfers
My 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.
Deduplication
To 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 Files
Attached 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-Savings-Sample-Sanatized.csv
WISE-AUD.yml
Wise Template
I 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 you
This 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.
@Hotrod-Linc commented on GitHub (Dec 16, 2025):
Moving to Discussions
My apologies, I just realized this is not the place for such a post, and am moving it to discussions.