nielsmaerten / ynab-buddy Goto Github PK
View Code? Open in Web Editor NEWImport & upload CSV files from any bank into YNAB
License: MIT License
Import & upload CSV files from any bank into YNAB
License: MIT License
From discussion #42:
The app is now giving me another error…
Unable to parse ''.
The expected date format was: 'dd/MM/yyyy'.
You may want to check the format in your config.yaml file.
The config.yaml is set like this:
[…]
header_rows: 10
footer_rows: 3
delimiter: ","
columns: [skip, skip, date, payee, inflow, inflow, skip]
date_format: dd/MM/yyyy
decimal_separator: "."
thousand_separator: ""
[…]
And the CSV is like this (added some xxxx for privacy reasons):
[…]
,Data contabile,Data valuta,Tipologia,Entrate,Uscite,Divisa
,,30/08/2022,POS-xxxxxxx,,-7.00,EUR
,,30/08/2022,POS-xxxxxxx,,-33.29,EUR
,,30/08/2022,POS-xxxxxxx,,-3.00,EUR
,,30/08/2022,POS-xxxxxxx,,-24.00,EUR
,01/09/2022,01/09/2022,Disposizione - RIF:xxxxxxx,,-180.00,EUR
,01/09/2022,31/08/2022,Addebito canone -xxxxxxx,,-1.00,EUR
[…]
Any clue? Should open a new issue?
Thanks again!
Bruno A. De Santis
Line 5 in 5a9b6b5
Should be replaced with an explicit CLI argument to the entry file when calling pkg
Also pointed out by u/Zendio on Reddit:
Some banks put Inflow and Outflow in the same column and represent both as positive numbers.
Whether a transaction is going in or out of the account, is indicated by a separate column.
ynab-buddy is currently unable to work with this format, but several banks (in Sweden, Finland and The Netherlands) use it. (source: bank2ynab's csv definitions)
If I want to keep up the claim this tool works with any bank, this should be implemented ;)
When including ynab-buddy in applescript the process stops when ynab-buddy asks for folder confirmation
It would be better to have a false/true setting in config.yaml that deactivates such request.
This was asked on reddit by u/Zendio.
Parsing the Payee column used to be messy. I remember it creating duplicate payees for me in YNAB.
Still, that might just have been an issue isolated to me.
I'm considering adding this as an opt-in feature. If you'd like to see this, give this issue a 👍 or comment below.
Describe the bug
When exporting transactions to CSV, the CSV should have the following columns:
Payee, Date, Amount, Memo
Source: https://docs.youneedabudget.com/article/921-formatting-csv-file
Currently, the file has these columns:
payee_name, date, amount, memo
Expected behavior
Use fields Payee, Date, Amount, Memo
instead
Additional context
Reported by @iofjuupasli: #35
Describe the bug
Hi, I was so excited when I saw this. Thanks for creating. Unfortunatly I get an error when I run the win version https://github.com/nielsmaerten/ynab-buddy/releases/download/v2.0.1/ynab-buddy-win.exe.
I downloaded the win 2.0.1 and added it to a new folder c:\ynabbaddy\ then run the exe and I get this error:
(node:16672) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
(Use ynab-buddy-win (1) --trace-warnings ...
to show where the warning was created)
Im not experienced with code so might just be my machine.
Do you perhaps have any advice as to the problem?
Thank you
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
To do:
Add an option to allow transactions that are uploaded to YNAB to be marked as cleared automatically.
Suggestion: add as an option in yaml, or a cli option?
Should it be enabled by default?
Originally posted by justalittle-BIT August 31, 2022
Hi!
As of now I'm used to import directly from YNAB setting a particular column of the exported file (where my bank writes a loooong description of the transaction) as "payee" field. With the CSV inport of the YNAB web app I have no problems because it automatically limit the field to the 100 max characters (valid for Payee) and in this way it also automatically categorizes the transactions as per my automated rules.
This is not working with ynab-buddy because as soon the app recognizes the very long description in the payee field it stops giving an error.
is it possible to include in the app itself an automation that limits the character imported to the 100?
Thanks!
Bruno
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
.devcontainer/Dockerfile
mcr.microsoft.com/devcontainers/typescript-node 20
.github/workflows/node.js.yml
actions/checkout v4
actions/setup-node v4
codecov/codecov-action v4.5.0
softprops/action-gh-release v2
package.json
abort-controller ^3.0.0
chalk ^4.1.2
csv-parse ^4.16.3
csv-stringify ^5.6.5
glob ^10.2.2
js-yaml ^4.1.0
luxon ^3.3.0
minimatch ^9.0.0
pako ^2.1.0
prompts ^2.4.2
ynab ^2.0.0
@types/glob ^8.1.0
@types/jest ^29.4.4
@types/js-yaml ^4.0.5
@types/luxon ^3.2.0
@types/node ^20.0.0
@types/pako ^2
@types/prompts ^2.4.3
@yao-pkg/pkg ^5.8.1
commitizen ^4.3.0
cross-env ^7.0.3
cz-conventional-changelog 3.3.0
jest ^29.5.0
np ^10.0.0
prettier 3.3.2
ts-jest ^29.0.5
ts-node ^10.9.1
typescript ^5.0.4
minimist ^1.2.7
yarn 4.3.0
.nvmrc
node 20.14.0
First of all thanks for this great tool. It was very easy to configure because your documentation was done really well. 👍
My bank Nordea describes upcoming not cleared transactions in the date field with a text "Varaus" (reservation).
Would it be possible to either have transactions with specific text value in some column as a not cleared transaction or alternatively simply to ignore them.
This is not a big issue. For now I just delete those rows manually. I also know that my banks CSV is crap so I understand if this kind of feature would be a feature creep. 😄
Offending line:
https://github.com/nielsmaerten/ynab-buddy/blame/5d777eaabd02aa1cb9e79c3e9ad4d71930d3ba40/src/lib/filesystem.ts#L82
Describe the bug
Payee parsing (currently in beta) sometimes results in a payee_name field like this:
" "
: just a bunch of spaces, no actually useful dataThis causes YNAB's payee matching to trip up, causing duplicate and/or incorrect payees
Expected behavior
If there's no useful data in the payee field, it should be omitted from the payload to YNAB
Screenshots
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
Lines 94 to 96 in 3c97e07
Config:
import_from: "/home/iofjuupasli/Downloads"
search_subfolders: false
bank_transaction_files:
# Repeat the following block for every account:
- account_name: USD
pattern: Transactions_*.csv
parser: payoneer-parser
ynab_account_id: 00000000-0000-0000-0000-000000000000
ynab_budget_id: 00000000-0000-0000-0000-000000000000
# ynab_flag_color: purple
upload: false
save_parsed_file: true
delete_original_file: false
parsers:
- name: payoneer-parser
header_rows: 1
footer_rows: 0
delimiter: ","
columns: [date, skip, skip, skip, payee, inflow, outflow]
date_format: M/d/yyyy
upload_to_ynab:
# This is the default. If you've set the 'upload' option on
# a bank_transaction_file, that one will take precedence.
upload_transactions: false
ynab_token: ABC12345
# When you're done configuring, delete the next line:
configuration_done: true
Transaction file:
Transaction Date,Transaction Time,Time Zone,Transaction ID,Description,Credit Amount,Debit Amount,Currency,Transfer Amount,Transfer Amount Currency,Status,Running Balance,Additional Description,Store Name,Source,Target,Reference ID
12/09/2021,18:17:43,UTC,353553541,GBP to EUR - transfer between balances,582.27,,EUR,,,Completed,598.91,,,GBP balance,EUR balance,
Result:
amount,date,memo,payee_name
-582.27,2021-12-09T00:00:00.000Z,,GBP to EUR - transfer between balances
Expected result:
amount,date,memo,payee_name
- -582.27,2021-12-09T00:00:00.000Z,,GBP to EUR - transfer between balances
+ 582.27,2021-12-09T00:00:00.000Z,,GBP to EUR - transfer between balances
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.