Giter Site home page Giter Site logo

nickvisionapps / denaro Goto Github PK

View Code? Open in Web Editor NEW
527.0 10.0 36.0 21.4 MB

Manage your personal finances

Home Page: https://flathub.org/apps/details/org.nickvision.money

License: MIT License

CSS 0.80% C# 99.15% Shell 0.06%
finance gnome gtk4 libadwaita money finance-management csharp flathub

denaro's People

Contributors

ali-x98 avatar bertob avatar bordam avatar chuangzhu avatar confusedalex avatar dapigguy avatar dariasteam avatar daudix avatar flipflop97 avatar fnogcps avatar fsobolev avatar imhemish avatar josebritto avatar kianmeng avatar krindog7337 avatar martin-desktops avatar mejans avatar milotype avatar mordragt avatar nlogozzo avatar oscfdezdz avatar rene-coty avatar soumyadghosh avatar urtsisantsi avatar vanillajonathan avatar vistaus avatar weblate avatar xgqt avatar zothma 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

denaro's Issues

CSV import into non-empty account

Import doesn't affect transactions with the same ID in both files, such transactions are neither imported as new transactions nor overwritten. I think it would be better if CSV file's transactions ID will be increased by the number of transactions in the account file, so everything will be imported anyway.

Tested both with master and #39

String explanation

@nlogozzo Please explain what the following string means. What happens before that message appears?

#: src/ui/views/mainwindow.cpp:245
#, fuzzy
msgid "Unable to override an opened account."
msgstr ""

Add more fine-grained control of repeating transactions

Hello,

I would like to request a finer control over repeating transactions. For example, I get paid every 2 weeks, but there's no way to set a 2 week recurring payment in Money that I have found. I could split my income into two payments and have it work with Money, but it would be nicer to see it come in on schedule as expected.

Thank you!

Crashes when trying to create .nmoney file

I wanted to try it out but it's impossible as it just crashes.

flatpak run org.nickvision.money 

(org.nickvision.money:2): GLib-GIO-CRITICAL **: 23:13:03.700: g_file_get_path: assertion 'G_IS_FILE (file)' failed
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string: construction from null is not valid

Make group description optional

When creating a group you are required to specify both a name and a description. I think the description should be optional.

Inconsistent currency formatting

I'm seeing some weirdness on the formatting of the currency in transactions. Sometimes it will show a single decimal (e.g. $4.4 instead of $4.40) and sometimes it will show extra decimals (e.g. $32.01.00 instead of $32.01). Modifying the transaction to reflect the correct amount does not correct the issue.

Attached are 3 examples.

3
2
1

[Bug] Reopened dialog is not modal

  • Open a new group creation dialog
  • Don't fill the description, press OK
  • The dialog reappears, but it's not modal anymore

This is just an example how to reproduce this, but it seems to affect all dialogs, not only new group dialog

Add Import/Export from app

I use MoneyWallet from my Android phone and I'd like to have a backup on my laptop. Can you implement a fully Import/Export section?

Crash on loading from NAS

I have a Synology NAS, and the application crashes when trying to open a file from there.

  • When I move my .nmoney files to my NAS, and try to open them in the application, it crashes and won't open the file.
  • When "opening" an account from the main startup menu, and choosing a location and name for it, on my NAS, the application crashes and the file is not created.

I have multiple machines and I usually sync things through my NAS, just like my keepassxc database file.
Is this a bug, or a feature?

Ubuntu 22.10, Wayland
Files from GNOME
Money V2022.11.1

All the missing features...

So, I was doing my research by talking to my financially engaged associate Euan Sinnott, and asked him what he would recommend should be included in the application. I was doing this research for #3, however it quickly turned out that the app itself was already missing a large amount of the standard features that would be required for a tool that could compete with Intuit's accounting features, or for it to even be usable for most people to manage their personal finances. He gave me the following suggestions:

According to him and some extra research done by me, these are the features that we are currently missing, in order of importance:

  • A cross account Dashboard (I should note that there should still be a way to separate accounts, just that it is also useful to have a summary of multiple ones)
  • Specific categories for Cash, Assets and Debt:
    • Cash is currently the only supported type.
    • Debt Types (This might be the one most likely to be implemented in the short term, as it is similar to the already implemented Cash feature):
      • Personal/Secured non-property (e.g. Credit card)
      • Mortgages
      • etc.
    • Assets should have further default groups for:
      • Stocks
      • Shares
      • Property
      • Luxury Goods
      • etc.
  • People's tax bracket, however, this is region dependent and could be complex to define.

To end this all off, I want to note, that this is a very ambitious target, and that I am well aware that I may not be the best person to set the "vision" of the project, but I would like to think that this brief overview of what I and a friend think this app could become is valuable to the developers.

Sincerely,
RuboGubo

Don't use colors to exclusively delineate changes

Money uses red-coloured text to signify expenses and green-coloured text to signify income. This is a pretty significant accessibility issue as it makes it difficult to see the difference between them with certain types of color blindness:

image
(simulated image)

Amounts should have + or - appended to them for clarity.

Plural forms

@nlogozzo If possible please use plural forms in strings where counts appear. Several languages need more than one plural form. IMO the plural form should be used, even if a singular form of the string will never get used.

Example without plular forms wich is currently used:

#: src/controllers/accountviewcontroller.cpp:78
#, c-format
msgid "Imported %d transactions from CSV."
msgstr "Uvezene transakcije iz CSV datoteke: %d."

Example with plular forms (for Croatian):

#: src/controllers/accountviewcontroller.cpp:78
#, c-format
msgid "Imported %d transaction from CSV."
msgid_plural "Imported %d transactions from CSV."
msgstr[0] "Uvezena je %d transakcija iz CSV datoteke"
msgstr[1] "Uvezene su %d transakcije iz CSV datoteke"
msgstr[2] "Uvezeno je %d transakcija iz CSV datoteke"

I'm not a programmer, so I don't know if c-format or python-format have to be used …

Implement tags for transactions

It would be nice to have the ability to add multiple groups to transactions.

For example a transaction could be in the group "recurring payments" and "donations".
This would really help to organize transactions, which fit more than one group.

Maintain a separate repository for translations and append it into project using git submodule

Translations are being handled into the main repository, which makes commit history full of 'update transslation <>' commits. Can we maintain them into separate repository, which is appended into project repository using git submodule. The file structure would be accessible the same as it does correctly on Github and code history and translation history would be kept separate. For example:
https://github.com/dialect-app/dialect has submodule https://github.com/dialect-app/po/tree/d7abf9dc4d2b6e153e6afeb2f1e6421fb94ce8f4

Implement transfer between accounts

We could have a transfer feature, so that we can make a transfer transaction, that is that it would be shown as 'income' transaction in one account, and 'expense' in another. This can be particularly useful in cases when a single person have multiple bank accounts, or we have different use cases for different accounts but we need to transfer between them.

[UI/UX] Account View Redesign

This is a mockup for new Account View. It's not fully finished: I didn't find a way to make grid adaptive and didn't implement all the logic to make new features work. Yet. So I can't show how it will look with different window sizes, but at least you can now see how it looks by default and so we can start conversation to improve it 😊

New features:

  • Adaptive design: left pane will hide when the window is too narrow (like in Nautilus or Amberol), and the grid of transactions will change its number of columns depending on the width;
  • Filter by income/expense;
  • Filter by groups;
  • Filter by dates;
  • Transactions have icons: a user will select an icon from pre-defined list and its color (similar functionality can be seen in Firefox Containers and Paper)

Also remove button will be moved from transactions rows to transaction edit dialog.

Screenshots:


Things to think about:

  1. Order of button in headerbar: should it be Account Menu Button first and then Toggle Pane Button, or vice versa?
  2. Should we allow user to select any color for icons or use pre-defined list that will change depending on the app theme (light/dark)? On screenshots you can see that icons have different colors depending on theme, but that's because I used pre-defined Adwaita styles using add_css_class(...). Some arbitrary colors will look bad with dark or light theme.
  3. Do we need to do something with calendar? It's just a Gtk.Calendar widget and it looks... not bad, but not "adwait-y" enough.

P.S. Just like with new Start Screen, I made this mockup using Python, but of course I will work on actually implementing it in the app as soon as we discuss the details.

Groups functionality not working in accounts created by older versions of Money

So, I started using this application as soon as I saw it on reddit, and created my accounts. The older versions did not have groups functionality. Seeing the development of groups functionality, while testing the new git versions, it crashed if i tried to create a new group. At that time, I thought that maybe it is just being implmeneted so not currently stable, but now i got to know that the the feature has been implemented, but still it crashes when i try to create a new group in accounts created by older version of money. I tried makinga new account, and i was able to create groups in that new account. This is the error which i get when creating new group:

terminate called after throwing an instance of 'SQLite::Exception'
  what():  table groups has no column named balance

[UI/UX] Improve start screen

The problem:

Account menu duplicates functionality of start screen (both have buttons to open account or create a new one). If it's the first time a user starts the app, account menu becomes completely pointless, because the list of recent files is empty.

The idea:

  • If the list of recent files is not empty, show it on the start screen. This will make opening a recent file faster after the app starts.
  • Hide account menu button until an account is opened. This way there will be no duplicated functionality and a user will never see an empty list of recent files.

i18n: make the .pot file available

Hello,
to make contribution easier would it be possible de make the .pot file available?
I tried with meson but the version was too old and I lost time trying only to have that precious file :(

Restrict file system access

Currently Money have read/write access to then user's entire home directory, this leads GNOME Software to flag it as "unsafe".

image

Flatpak have the concept of "Portals" which GTK implements:
https://docs.flatpak.org/en/latest/portals.html#portal-support-in-gtk

This grants the application access to files picked from the GTK file picker dialogs, so I think that Money doesn't really need "--filesystem=home". An alternative would be to scope it to something like the Documents subdirectory, so it doesn't have access to all the files in the user's home directory.

https://docs.flatpak.org/en/latest/sandbox-permissions-reference.html#filesystem-permissions
Example: "--filesystem=xdg-documents".

[Bug] Importing from CSV file containing non-ASCII characters causes the application to crash

As I mentioned in #14, I experience crashes when importing from CSV. I found out that it only happens if the CSV file contains non-ASCII characters (cyrillic in my case).

CSV file:

ID,Date,Description,Type,RepeatInterval,Amount,Group
1,2022-11-06,Тестовая транзакция,0,0,99,1
2,2022-11-06,Покупка,1,0,12,-1

Output:

terminate called after throwing an instance of 'std::out_of_range'
  what():  map::at
Aborted (core dumped)

Localisation issue with real numbers

I just came across a weird behavior appearing almost every ten cents. Here is an image

Capture d’écran du 2022-11-27 19-30-41

From what I tried, the last 0 only disappear with numbers greater than $1 ($0.10, $0.20... appear correctly), every 10 cents except for 0 cents and 50 cents. So, from $0.90 to $1.50, numbers would appear like this (in euros):

Capture d’écran du 2022-11-27 20-59-46

Implement history of opened accounts

I am currently using this application for tracking my money, and whenever i open it, i need to open my account from its saved location everytime. It would be great if history would be implemented, so whenever you exit the application, it saves the locations of opened accounts last time app was running, and it reopens the same accounts when you start the app again, and if previously opened account does not exist (incase user deleted that): simply not open that one

Icon conflit

I made an rpm for Fedora distribution, and when I try to install I have this error

file /usr/share/icons/hicolor/scalable/actions/edit-symbolic.svg from install of money-2022.10.0-1.ndias.fc37.x86_64 conflicts with file from package geary-43.0-1.fc37.x86_64

This error comes from the fact that heary also has an icon named edit-symbolic.svg installed in the same directory.

Although this is not a bug, it make sense not use the same name for icons used by other software like geary for example

Incorrect Currency Symbol Placement for GBP

Unlike most European countries, the GBP is written in the same format as the US (i.e., £x,xxx.yy), whereas the application displays it in the European format (x,xxx.yy£). The comma/decimal problem appears correct for the GBP, however the currency symbol should be the other way around.
image

[Feature Requst] Implement categories & filters by category

For me (and I believe for many others as well) one benefit of writing down income & expenses is you can group them by categories.

Take a look at homebank & skrooge. A transaction (whether + or - ) can be tagged with a category (like eating out, telephone bill, gas etc) so you can look up later how much & where you're spending.

For me it's the single most important feature for a programme like this to have.

Very simple & responsive design, nice work!

Use Correct Prefix For Mimetype

The build fails, due to the newly added mimetype thing. When I replaced 'update-mime-database', '/app/share/mime', skip_if_destdir: true with just 'update-mime-database' in last line, the build happened successfully.

Croatian translation screenshot

Can you please post a "Croatian" screenshot for the UI!
In Croatian and most european countries:

  • The currency is placed "after" the amount. The currency should be localized: the current Croatian currency is "kn" (for kuna). This will change once Croatia implements the Euro. But even then, the currency symbol should be placed after the amount (European standard) => 130,55 kn or 130,55 €
  • The decimal separator in Croatian (and other European languages) is a "comma". The "period" is used as a "thousands" separator
  • Years and dates in the calendar are ordinal numbers in Croatian, so they need a period after the number

Decimal separators, ordinals and currency

Invalid amount + weird behavior

I just downloaded Money to give it a try, but when I first try to add a transaction I get the problem below:

Screenshot from 2022-11-27 00-10-32
Whatever amount I try, it will say it is invalid.
Screenshot from 2022-11-27 00-11-45
But if I do something like 2000.90, then it will just add the .90 as the value; like above.

I tried adding 2000.00, but it still says it is invalid... whatever number I try, it will just add the cents part (if it is > 0).

Money version: 2022.11.1

Override Currency For Account

I'm not in the US, but I have a US locale set. After updating the app to 2022.11.1, I realized that all of my currency values changed to the US dollar. Previously, there was an option to change the currency, but it doesn't seem to be there now. If it's possible, could a manual currency change be reintroduced?

[Feature Request] Historical recurring transactions

I wanted to input my transactions starting from 1st of January 2022, so I created a weekly transaction starting on the 7th of January. I expected this to create a transaction every week since then until today, but it only creates a single transaction for the 7th of January.

Off-model pencil icon

Since #68, transaction rows have this weird heavy, very not adwaita icon:
image
Any reason to ship this in the first place? a-i-t should have document-edit-symbolic.

Manually Sort Groups

Is there a way to sort groups? Maybe drag & drop could be implemented to do this

[Bug] Re-creating opened account causes file deletion

  1. Open any account file
  2. Don't close it, open account menu, start new account creation
  3. Select the file of opened account, agree for it to be overwritten

Result: the account is still opened in the app window and not cleared. The file is deleted and not re-created. If you try to modify a transaction or a group, the app will crash.

Online Sync

Use ofxtools or something similar to sync to various bank accounts.

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.