Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improvement: Allow user to configure date and amount format during transaction imports #863

Open
zachgoll opened this issue Jun 11, 2024 · 7 comments
Labels
💡 Improvement Improvements to an existing feature or flow 🖌️ Needs Design Waiting on design assets

Comments

@zachgoll
Copy link
Collaborator

Is this issue related to a problem? Please describe.

Currently, the transaction imports feature requires users to input their data with the following convention:

  • Dates: must be in ISO8601 format (i.e. YYYY-MM-DD)
  • Amounts: incomes must be positive values, expenses must be negative values

Many users will be using the following flow to import data:

  1. Go to bank login
  2. Export transactions from bank
  3. Import file to Maybe

Most bank exports will include a "date" and "amount" field, but they will all be in different formats.

The user should be able to tell Maybe what those formats are to prevent an extra step of cleaning their exported bank data prior to importing it to Maybe

Describe the work that needs to be done to address this issue

  • Add fields next to "date" and "amount" fields on the "Configure" step that allow a user to select from a list of predefined formats and signage conventions
@zachgoll zachgoll added 💡 Improvement Improvements to an existing feature or flow 🖌️ Needs Design Waiting on design assets labels Jun 11, 2024
@MagnusHJensen
Copy link

Is this relevant if the user can set their date preference in the config issue: #909 , or should it still be provided here, but just set to the default of the user selected value, in case the format is different from the user's preferred option?

Could you also elaborate a bit on the amount field?

Note: Just stumbled upon this app and repo, and it looks cool. Hoping to engage with it over the coming weeks, cheers

@zachgoll
Copy link
Collaborator Author

zachgoll commented Jul 4, 2024

@MagnusHJensen yep, I think defaulting this select option to the user's preferred date format as specified in #909 is a good approach.

In regards to the amount field, in most cases, a CSV will display "incomes" as a positive value and "expenses" as a negative value, but we cannot guarantee that. Since this app relies on the signage of the amount to calculate various metrics, we need to ensure that we know exactly what convention the user is using while importing.

@MagnusHJensen
Copy link

@zachgoll Alright, that makes sense. So amount would technically be only two options.
One for (-) = positive amounts and (+) = negative amounts.
And One for (+) = positive amounts and (-) = negative amounts?

@mamarguerat
Copy link

@MagnusHJensen I would add an option. I had once a csv table with all amounts in negative (don't ask why not positive) and another column with the label "income" and "expense".
I don't know if any bank does the same, this csv export was from Firefly-III.

@MagnusHJensen
Copy link

@MagnusHJensen I would add an option. I had once a csv table with all amounts in negative (don't ask why not positive) and another column with the label "income" and "expense". I don't know if any bank does the same, this csv export was from Firefly-III.

Interesting setup haha.

Then it comes down to how many custom/third-party solutions should be supported, and I can't advocate for anything there, since it's out of my scope/knowledge.

@zachgoll
Copy link
Collaborator Author

zachgoll commented Jul 5, 2024

@mamarguerat that's a great point, I've seen this format for a couple of my FIs too.

To support that, I'm guessing we'd need an additional select where we ask the user the name of the column that designates the signage the transaction. For example, Mint data exports are in the following format:

image

So in this case, we'd need the user to select "Transaction Type" from the column list.

@justinfar this might affect the existing designs a little bit, but probably would be worth throwing in?

@mamarguerat
Copy link

Thinking of UX, if there is a transaction type column, it would be great to have some other selects, which are populated with uniques values of the column, to choose what is an income or an outcome.
The transaction type column could be "debit/credit", "income/outcome", "deposit/withdrawal", (maybe some other, I don't have enough English vocabulary for that) and in multiple languages. So letting the user choose the value is, by my point of view, a must-have.

Thinking of something like that (done in html with dev tools), where the two last select are only shown when something is selected in "Transaction type"
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💡 Improvement Improvements to an existing feature or flow 🖌️ Needs Design Waiting on design assets
Projects
None yet
Development

No branches or pull requests

3 participants