Comments (4)
Hey rauhasto
It's an interesting topic. On the one hand you're right about this being a bit of a feature creep.
ynab-buddy is supposed to be a generic tool, so adding an exception for 1 bank does go against that philosophy. (This is how projects like YNAP end up having to maintain 100+ different formats.)
On the other hand... if this is supposed to be a generic tool, then it should work with any (csv) format, no matter how weird the bank makes it. 🤔
💡 With that in mind, here's a (possible) solution I came up with:
ynab-buddy could be extended using a hooks system.
Here's what that could look like:
- Alongside the config file in ~/ynab-buddy/config.yaml, there would be a javascript file:
hooks.js
- That file would contain several functions that each get called at certain points in the process of parsing a file, extracting transactions, and uploading them to YNAB.
- By adding your own code, you could "hook into" any part of the process, and modify the behavior. In your case: you could delete any line containing the text "Varaus", after ynab-buddy has finished parsing the file, but before it starts converting lines into transactions.
Of course this approach is assuming you're comfortable writing a bit of javascript code. (Or maybe, have ChatGPT do it?)
This is still in the 'idea' phase, so I'd love to hear your thoughts!
from ynab-buddy.
Hi,
And thanks for help!
This would be a good idea! For now I've made a batch script that deletes these problematic lines from the input csv and then calls ynab-buddy. It seems to work pretty ok. However your solution does sound better.
By the way have you planned to add cleared/not cleared support for transactions? I actually meant that when I incorrectly used term "reservation". Those Nordea "Varaus" lines are transactions that have not yet been cleared. It does seem that the api supports importing them but I'm not so sure about the csv uploader.
from ynab-buddy.
Hi again @rauhasto , hope you're doing well
Good news: the Hooks 🪝 feature is now in Beta!
This should not only allow you to remove certain transactions from your CSV files, but also mark transactions as 'uncleared' before they're uploaded to your budget.
I've already started using a hook of my own to clean up the "memo" field in my own CSV files. (My bank loves putting random junk there)
If you have some time to give Hooks a try, I'd love to get your feedback.
Just let me know if you need some help getting set up, or if you run into any issues. After all, it's still a beta 🏗️😉
from ynab-buddy.
Great! I'll have a look as soon as possible. This would likely be a good alternative for my current messy batch script (why on earth did I make it with batch? 😅).
Big thanks for developing this tool further and listening to ideas! 💪
from ynab-buddy.
Related Issues (16)
- Check for updates
- Add ko-fi link maybe?
- Remove 'bin' from package.json
- Consider parsing a 'Payee' column
- Add support for separate Credit/Debit columns
- Bug: Exporting to a YNAB CSV file uses an ISO data format - should be YYYY-MM-DD
- node:16672) ExperimentalWarning from win exe version HOT 2
- Don't add payee to transaction if it's not defined
- Inflow inverses when Outflow/Inflow used HOT 1
- CSV Export should have Payee field, not 'payee_name'
- Import as cleared
- Limit of 100 characters for Payee field
- Parser fails when there are multiple 'inflow' columns HOT 3
- Avoid asking for folder confirmation HOT 1
- Dependency Dashboard
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ynab-buddy.