Giter Site home page Giter Site logo

ynab-buddy's People

Contributors

ahmedmsvb avatar dependabot[bot] avatar iofjuupasli avatar kenlim avatar nielsmaerten avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ynab-buddy's Issues

Parser fails when there are multiple 'inflow' columns

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

Banks "not cleared" indicator in date or some other field

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. 😄

Avoid asking for folder confirmation

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.

Consider parsing a 'Payee' column

Feature request: Parse "Payee" from CSV

Motivation

This was asked on reddit by u/Zendio.

Possible solutions

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.

Add support for separate Credit/Debit columns

Feature request

Description

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)

Motivational note...

If I want to keep up the claim this tool works with any bank, this should be implemented ;)

Inflow inverses when Outflow/Inflow used

if (outflow !== undefined || in_out_flag?.startsWith(outflow_indicator)) {
value = -value; // 420.69 ==> -420.69
}

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

node:16672) ExperimentalWarning from win exe version

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.
image

Desktop (please complete the following information):

  • OS: Win 10
  • Version 22H2
  • Did you install ynab-buddy using NPM? no

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
.devcontainer/Dockerfile
  • mcr.microsoft.com/devcontainers/typescript-node 20
github-actions
.github/workflows/node.js.yml
  • actions/checkout v4
  • actions/setup-node v4
  • codecov/codecov-action v4.3.1
  • softprops/action-gh-release v2
npm
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
  • prompts ^2.4.2
  • ynab ^2.0.0
  • zlib ^1.0.5
  • @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/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 2.8.8
  • ts-jest ^29.0.5
  • ts-node ^10.9.1
  • typescript ^5.0.4
  • minimist ^1.2.7
  • yarn 4.2.2
nvm
.nvmrc
  • node 20.13.1

  • Check this box to trigger a request for Renovate to run again on this repository

Import as cleared

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?

Don't add payee to transaction if it's not defined

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 data

This 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

image

Desktop (please complete the following information):

  • OS: Windows
  • Version: 1.1.1
  • Did you install ynab-buddy using NPM? yes

Additional context
Add any other context about the problem here.

Limit of 100 characters for Payee field

Discussed in #42

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.