Git Product home page Git Product logo

budget-watch's Introduction

Budget Watch

Build Status

Get it on F-Droid Get it on Google Play

Budget Watch helps manage personal budgets. After adding your budgets, simply record your day-to-day transactions. You can then view how close your sending is to your budget.

Screenshots

Building

To build, use the gradle wrapper scripts provided in the top level directory of the project. The following will compile the application and run all unit tests:

GNU/Linux, OSX, UNIX:

./gradlew build

Windows:

./gradlew.bat build

Thanks

App icons from The Noun Project and Icons8, specifically:

Note from Developer

The developer is currently on hiatus from the project. Questions and pull requests may not be looked at for some time. Apologies in advance.

budget-watch's People

Contributors

adam-poteralowicz avatar brarcher avatar emaiannone avatar georgenetu avatar hankur avatar jjdelvalle avatar redfast00 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

budget-watch's Issues

Please provide build instructions

There are no instructions to build the application, they would help users to become contributors :)

Incidentally I tried just running gradle but the build failed, should I file a ticket, considering I just made a wild guess about that being the way to build the code ?

[quickie] input validation fails when editing and saving

When editing an existing transaction, input validation may fail for the "value" field even if the user didn't change the value.

This seems to be caused by locale settings and/or string formatting.

For example, if the value field was "13.75" then it is changed to "13,75" at the time of form initialization. The program doesn't allow saving such a value because it expects a dot (not a comma) to be the fractional separator (or decimal mark).

So when the user hits Save she gets a "Value invalid" error message.

Versions: This seems to occur at least in versions 0.11 and 0.12. I have not tested older versions.

Bug: Transaction date resets upon scanning Receipt

How to reproduce:

  1. Create a new transaction
  2. Change the date to some day in the past (but in the current month).
  3. Scan receipt with camera

Result:
The formerly changed transaction date is re-set to today.

Expected behaviour:
Transaction date keeps the value I entered before

Intro cutting text at small screens

Hi, I just installed your app and as I can tell it is really well looking and with the features I need.
I just noticed at the "intro" that my screen is cutting some text. I am using an 5" display with 720p I think.
Its not an important bug but maybe you wanted to know.

unnecessary check

please remove the requiring of annotation in expenses

I'm already set up proper budget groups like 'beer' 'bike' etc.... I way to enter only amount of money and date when I enter my expenses.

it takes a lot of time to enter every annotation (top line)

Bug found in budget watch apps ( Edit budget name is not working properly )

Expected behavior

According to my information when i want to change the budget name simply edit the budget and put the new name and then click on save button it should be change into new name

Actual behavior

when i want to edit the budget name its not working properly This option is not changing the name

How to reproduce

  • Download and install the application
  • open the application
  • create the new budget with the help of + button
  • now select your budget and hold on it
  • click on edit and enter new name of budget
  • click on save button
  • note bug
  • Browser: Budget Watch Version 0.21
  • Operating system: android version 4.4.2
  • smart phone GALAXY Note 3

Recording Of The Bug

https://youtu.be/nV-lmy_s-IY



Posted on Utopian.io - Rewarding Open Source Contributors

Importing from MyExpenses .csv file failed

Not sure if .CSV is some form of standard, but importing a .csv file created by another budget management app (MyExpenses) fails.

Would be nice to move over to completely free budget app, but I don't want throw away more than a year worth of data.

Feature request: user controllable decimal places (+ currency?)

Thanks for this great app. I found it on f-droid, and it suits my need for a lightweight expense tracker.

I'm currently staying in Japan, and the smallest amount of currency is 1 yen. Having extra two decimal points doesn't look too pretty, as I'm never going to use it.

Better yet, adding a currency per budget could solve the problem easily and be even more useful, I also have another bank account in Korea, with which I pay online subscriptions and other stuff with my debit card.

The App fails to load the exported file

I expected I'll be able to import successfully my successfully exported budget file.

Actual behavior

The app shows import failed when I try to import the exported budget created by the app

How to reproduce

  • Download and open the app.

  • click on + to add a budget

  • click the arrow sign on the top right corner of the screen

  • export the budget, scroll down and try importing the exported data

  • Device: Tecno K7

  • Operating system: Android 7.0

  • App Version: 0.12

Recording Of The Bug

https://youtu.be/-PvHZr7_T54



Posted on Utopian.io - Rewarding Open Source Contributors

Add to Sort Budget Option

It will nice if budgets can be sorted based on time it was created too. Can you include this in subsequent updates?

Database Structure Normalization

You can change the DB structure to take advantage of its relation features. Namely the budget name column. This will allow the users to change budget names without breaking anything.

Feature request: Budgets with multiple users

I think it would be a great addition if it would be possible to manage budgets with multiple users.

To accomplish this I was thinking about a option to connect to a database on a self hosted server.
When a user has a internet connection the data will be synced directly and when the user is offline the data will be stored locally on the phone until there is a internet connection.
If the user is offline and there is a change on the server, when het user goes back online the two different databases will be merged.

Add a confirmation to deleting

Currently if one pushes the trash can icon the item in question is deleted without a confirmation. Add a confirmation to avoid unintentional deletes.

Bug: cannot delete unused Budget

I tried to delete an unused Budget today, after merging it with another entry.

I did not find a button for deletion and set it to Value Zero instead.

Trying to rename the entry to "Z-deleteme" instead I stepped on bug #156 ;-)

Show transactions that are not assigned to a budget in budget overview

It is sometimes the case that you pay money for things it is not worth to open a budget for.
To see those transactions you have to change the view.

I would like to have a default budget e.g. "not assigned" with a budget of 0 or a budget that is as high as money that was not used yet (+ the sum of the transactions that are not assigned)
I would prefer the latter option

Assignment

Hi there!
Willing to add some features to the current application of Budget-Watch for my university assignment.
There will be 3 features, Auto-complete upon filling up details, Notify warning message if budget is over the limit, able to purge all transactions (expenses and revenues).
Thanks!

Feature request: Monthly report + statistics

I've been using budget watch for over a month now and am enjoying the clarity of the app a lot.

One thing I'm missing is the possibility of viewing an overview about income and spendings in a selected month, showing a possible plus/minus that has occurred in said month (compared to only seeing the total amount spent in relation to the limits set in the single budgets).
As a next step, implementing a statistic about spendings/savings in the last x months (timescale to be selected) would be awesome.

(Another thing I'd really like being able to do would be the possibility to rename budgets. Reading through other requests I understand though that this I a problem of database structure that has to be addressed)

Allow values to display in user's locale

Currently the transaction values are forced to use the US locale so that Double.parseDouble() works as expected.

32dc008

It would be better if the user's current locale would work and parsing Double values would honor the locale.

CSV export, no recognizable date

Hi there. I am using Budget Watch app for a week now. Today I exported a csv form that app. When I opened the csv with LibraOffice Calc in the data column it showed the value 1517335200000 which is not a human understandable data. I tried changing the format to date and it did not work. I tried with json and zip as well and got same result. How can I get a human readable data?

Can't add revenue

I added a value in revenue tab and when I went to the budgets menu I saw -200 so, the revenue was actually added as an expense? I tried to edit that 200 in the revenue tab and the app crashed (crashes only if I press and hold on it and then tapping on edit, tapping once on it and opening the edit menu via the pencil icon works, this seems unrelated). Upon several attempts of editing it the edit menu opened but it indicated that this value was indeed an expense. So, the 200 stayed in the revenue tab but was actually considered as an expense, thus the title of the issue.

Update: I'm dumb, adding an expense puts +value because I'm going towards the indicated budget. I just got confused by this because of using many regular finance management apps. Sorry! 😁

Adding of image leads to crash.

Actual behavior

When I opened the bugdet watch opensource android app. After that when I clicked on budgets option and then I clicked on plus sign to add budget. After that I filled the blanks and then saved it. Then I clicked on the that saved bugdet. After that i clicked on the plus sign to add an expense. I filled the given details. After that I clicked on capture and then clicked on picsart to add an image. When I captured an image. And it clicked the arrow to add the image. Suddenly the app crashed.

How to reproduce

  • First you need to download the app from fdroid and then install it. Open the app.

  • Click on budgets option.

  • And then click on the plus icon to add a budget. After that fill the given details. And save it.

  • Then click on the saved budget.

  • After that click on the plus icon to add expense. Then fill the given details.

  • And click on the capture to add an image. After that click on the picsart instead of camera. And then take a picture and try to load it by clicking on the arrow. Unfortunately the app will crash.

https://youtu.be/E3lmxMMjMJ4

  • Browser: Bugdet watch

  • Version:0.21.1

  • Operating system:7.1.2

  • Device model:Redmi 4

feature request: auto completion

Please add autocompletion for

  • name (Form the history)
  • value (equals to the last value Form the equal Name)
  • account (from history)

This would be a huge speedup for entering transactions. Thank you very much for this APP!

Ask "Storage" (WRITE_EXTERNAL_STORAGE) permission before Exporting

Currently when the "STORAGE" permission is disabled and user clicks on "EXPORT" button, a general error message is shown ("Failed to export: /...") This message does not inform the user about the root cause of the error, which is the lack of storage permission, and cannot help him/her to find a solution for it, which is simply granting the appropriate permission. (The clip of reproducible bug scenario is attached)

budget-watch

I believe the APIs for checking(checkSelfPermission)/asking(requestPermissions) STORAGE permission should get called after clicking EXPORT button.

Here is the stack trace after the error:

12-19 11:13:43.734 10301-13302/protect.budgetwatch E/BudgetWatch: Unable to export file
                                                                  java.io.FileNotFoundException: /storage/emulated/0/BudgetWatch.csv: open failed: EACCES (Permission denied)
                                                                      at libcore.io.IoBridge.open(IoBridge.java:452)
                                                                      at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
                                                                      at java.io.FileOutputStream.<init>(FileOutputStream.java:72)
                                                                      at protect.budgetwatch.ImportExportTask.performExport(ImportExportTask.java:85)
                                                                      at protect.budgetwatch.ImportExportTask.doInBackground(ImportExportTask.java:130)
                                                                      at protect.budgetwatch.ImportExportTask.doInBackground(ImportExportTask.java:19)
                                                                      at android.os.AsyncTask$2.call(AsyncTask.java:295)
                                                                      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                      at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
                                                                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                                      at java.lang.Thread.run(Thread.java:818)
                                                                   Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
                                                                      at libcore.io.Posix.open(Native Method)
                                                                      at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
                                                                      at libcore.io.IoBridge.open(IoBridge.java:438)
                                                                      at java.io.FileOutputStream.<init>(FileOutputStream.java:87) 
                                                                      at java.io.FileOutputStream.<init>(FileOutputStream.java:72) 
                                                                      at protect.budgetwatch.ImportExportTask.performExport(ImportExportTask.java:85) 
                                                                      at protect.budgetwatch.ImportExportTask.doInBackground(ImportExportTask.java:130) 
                                                                      at protect.budgetwatch.ImportExportTask.doInBackground(ImportExportTask.java:19) 
                                                                      at android.os.AsyncTask$2.call(AsyncTask.java:295) 
                                                                      at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                                                                      at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 
                                                                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
                                                                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
                                                                      at java.lang.Thread.run(Thread.java:818) 

Feature request: simple accruals

I realise this isn't a full bookkeeping or accounting system, but some very basic support for accruals would be great.

I imagine just having an optional end date for a transaction so that it can be spread over several months. E.g. car insurance spread over a year, or a bulk order of coffee spread over two or three months.

minus sign, overview

It could be a nice enhancement if the mumber for the expenses would have a minus-sign (and maybe in dark red), the income mumbers (dark green).
Even it would be nice to have a one page summary for a certain budget (expenses, incomes listed, budget limit and 'saldo' (budget over limit (how much) or how missing to the budget limit).

Recurring option and mass add?

I was thinking along the lines of

  1. Checkbox on a transaction "recurring".
  2. Menu item on transaction screen "Add recurring"
  3. When clicked, pops up a date range selector, and then for any items with "recurring" checkbox selected in the range, duplicates them but with the month incremented?

option to add income to TOTAL budget

This is a feature request to this wonderfully working app:

The option to add revenue without assigning it to a specific budget could be used to add e.g. your income/salary to balance the TOTAL sum.

At the moment revenues have to be assigned to a budget. Assigning certain revenues to specific budgets is useful but one's overall income should be compared to one's TOTAL expenses and therefore it would make sense to add it to a TOTAL budget or none of one's specific budgets (e.g. groceries).

Feature Request: Change color oder otherwise mark a Budget with an overflow

Hey,

I'm just starting with BW and adjust my budget limits to reality. ;-)
In the process one Budget had an overflow and I had to increase it's value.

I almost didn't realize that the transactions were already over their budget's value.

Could you mark an overflow in a budget with a different color for that budget's title, bold text or whatever you find appropriate?

Thank you!

Cannot rename budgets (Note9)

Trying to rename a budget and then saving it does not do anything

Reduplication:
-Go to Budgets
-Long press any budget and click the option that shows up
-rename budget to anything you like
-click the floppy disc icon on top

Feature Request: Specify where a budget's overflow goes

I will explain my request in the example below.

I have the following monthly budgets:

  1. Transportation -> 100$
  2. Electronics -> 200$
  3. Bills -> 300$
  4. Eating Out -> 300$

At one point during the month, my "Bills" budget overflows: 350$/300$.
I want to be able to specify that should any budget overflow, the "Eating Out" budget should get reduced:

  1. Eating Out -> 250$ (reduced).

Is it feasible ?

[Feature] Add total budget

At the moment there's no indication of what's the total budget value (sum of all budget values) so it is not easy to verify the subdivision is consistent with the expected overall amount.

Cannot rename budgets

Hi,

I had a typo in one of my budgets and tried to rename it from "Mittagesen" to "Mittagessen". It can be renamed by long tapping and selecting "Edit", but the changes are not persisted and after editing the old name is displayed again.

Thanks and Regards
Martin

WebView disappear after device rotation

Open About dialog and rotate screen, WebView disappears. Even though it's may not be a bug, the app can be more professional and user experience can be improved if WebView persist after screen orientation change.

bug0-before
Screenshot before orientation change

bug0-after
Screenshot after device rotation

Tested on Android 23 with Nexus 4 emulator

No way to set persistent end date per budget

For example, credit card statement is always issued on the 20th, then it is not useful to have the program always end on the last day of the month.

I should be able to go into the budgets screen and see the credit card transactions that happened after the last statement was issued, not just from the 1st onward.

Budget calculation does not round correctly

When having transactions with a sum of e.g. 9.99 it shows as 9 in the budget overview but i would prefer 10 in that case
An alternative would be to show the cents as well (maybe configurable)

Feature Request: Ask if I want to save changes when I hit the "back"-arrow

Hey,

I've just started to use Budget Watch and have found that I tend to accidently hit the back button or arrow when I have completed editing a transaction or budget.

BW then exits the edit dialog and I discard my changes instead of saving them. I wish BW would warn me at this point before I proceed ;-)

translation

Translations to other languages. Can help with Herman.

Contributing

Hey, I love the app, thanks!

I'd also love to contribute, but don't see any guidelines on doing so. Are you open to outside help? If so, how do you prefer code submissions?

Cheers

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.