Giter VIP home page Giter VIP logo

otb's People

Contributors

dependabot[bot] avatar dlebech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

kaoschuks

otb's Issues

Change to page 1 when searching

When doing text search on e.g. page 2, and there is only a page 1, it doesn't automatically switch back anymore. This used to work of course :-)

Create better import validations

If the imported transactions do not have properly chosen column specifications (like if we don't know what the amount field is, then bad things happen. So it would be nice to have a little bit of validation checks when importing the transactions.

It is easy to forget to check that everything looks ok before pressing that big Save button :-)

[Charts] Initial load time of charts is long

I think this happens when there are two currencies and it needs to load all the currencies before starting to draw the graphs.

Perhaps it could make an initial render of the charts without currency conversions, just so something happens rather than the spinning logo.

This could potentially turn into a larger overhaul where we store historic currencies or conversions in the redux store, since these really shouldn't change over time.

Focus category dropdown when clicking edit

This is actually a bit frustrating. When re-categorizing a lot of transactions, it is necessary to first click on edit and then on the dropdown. It would be nice if it focused automatically

[Charts] Handle refunds

When an item is refunded, the original expense is still the only thing showing up in expenses overview. This leads to an incorrect view of expenses.

  1. The easiest option to fix this is to simply include all transaction amounts in the expenses sum charts, but ignore categories where the sum is positive (this should automatically exclude actual income). The problem with this approach is if the expense and refund transactions happen far apart. Then their grouped sums will be in separate months, and it won't work.
  2. Add a way to tag something as a refund to something else. This seems to be the proper approach, as it will also allow partial refunds in a good way.

Currencies

One of the main appeals of Off The Books was the idea of managing multiple accounts across currencies.

A step one for this could be to add an account name and currency field to keep track of multiple accounts. That's a good start...

The problem with currencies is really getting reliable exchange rates without using some limiting API and without making requests to remote servers, exposing the IP address and thereby going against the principles of Off the Books.

If an API is needed for fetching exchange rates, perhaps a Lambda or Cloud function could be used as a proxy to the API to ensure some kind of privacy.

This is a general pattern for remotely fetched information btw, but let's not digress :-)

Perhaps this dataset is a good starting point.

Use whitelist for data download

There is a whitelist for the parts of the state to store in the localstorage in the browser. This whitelist is ignored when downloading data, leading to both the "edit" and "search" states being downloaded. This is unnecessary.

Ensure category guess does not overwrite selection

When selecting a category, it will sometimes be overwritten if the reducer is in the middle of guessing categories for all transactions.

I.e. it is a timing issue.

Also, if the category does not change between guesses, don't update it.

Groupings cannot be overwritten

It seems that if a transaction is already in a group, it cannot be re-assigned to a new group. This is probably good, but it is inconvenient if an existing group is being amended with a new transaction.

Let's say we have Transaction A, B, C, D. A and B are already grouped.

  • Grouping A, B and C: allowed, because it's just adding an extra transaction
  • Grouping A and D: not allowed because it would put a transaction in two groups.

The tax problem

For most people, tax is probably not part of a bank transaction list. Rather, the income shown on a bank statement is the income with taxes already subtracted.

In some cases (e.g. for business owners), the tax might be manually paid, or the tax could show up for another reason.

This is a problem, because if the tax is counted as an expense, it will probably dwarf all other expenses in a given month, and it's not very relevant since tax is not something that can be controlled.

Ignoring the tax transaction is not a good solution, because it potentially creates and income skew. For example, if the income is $10, and tax is $4, ignoring the transaction will make it look like the income is $10 (which is wrong) and including the transaction will create an expense of $4 (which can be kind-of misleading).

Ideally we would want to see a single positive entry in the charts of $6 which is the absolute income after taxes are subtracted.

The tax problem essentially be modelled as a negative refund so solving #85 will also help in solving this issue.

Cannot edit categories

This must have been a side-effect of the recent changes.... I should probably consider adding more tests 😬

Mass selection of categories

Need some way to mass-approve category guesses. It quickly becomes tedious to approve each transaction individually, even if it only needs to be done once.

"Skip duplicates" doesn't work when adding to multiple accounts

If the same transaction, with the same amount and same day appear on multiple accounts, "skip duplicates" will ignore it.

Potential solution: Use the account ID when determining the duplicate.

This kind of duplicate should happen so rarely that it might not be worth it to do this though. Instead, maybe just show number of rows skipped, so it's obvious to the user.

Add "phone" category with home as parent

Seems to be a pretty important category...

Consider adding an "online services" category for stuff like DNS and domains, just to keep it simple.

Also consider adding "alcohol" category under food & drink. The liquor store as a concept is probably not that uncommon

Also consider "cinema/theater/concert" as a category for entertainment.

Support currency conversion on the weekend

The currencies returned by the euro foreign exchange does not include weekends. This is usually not a problem, because most transactions fall on weekdays anyway (because those are bank days). Still, it would be nice to support this.

Initially, should probably just use Friday's exchange rate for the weekend.

[Charts] Income problems

There seems to be a problem with income. It doesn't show positive transactions properly. Investigate

[Transactions] Filter by date

Filtering by date is already supported on charts, so it should be pretty straightforward to also implement it on the transactions page.

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.