BADGER finance - Open Source Financial Management, Freie Finanzverwaltung, Finanzverwaltungssoftware, Finanzverwaltungsprogramm

Project Website | Online Demo | Forum | Documentation-Wiki | Bug-Tracker
BADGER finance - Your personal finance assistant
  • Deutsch
  • English
Main Menu
About the Project
Screenshots and Features
Contact Us
Badger 2 Pre-Alpha Development Preview PDF Print E-mail
The News

The BADGER finance development team is proud to provide a sneak preview of BADGER finance version 2, currently in development. It is far from finished, but we think we're heading in an interesting direction and want to learn your opinion of our approach.

 Clicking on the heading shows a details discussion of the changes.


It has been quiet around BADGER finance recently -- but this does not mean there is nothing happening! Especially during holiday season, we were quite busy working on the next major release of BADGER finance, version 2.

What does "pre-alpha" mean?


"pre-alpha" is software development slang for "very early stage of development". This characterizes the current state of Badger 2: Although we already spent a lot of effort on it, it is far from finished. You will find a link to a working version at the end of this article, but please bear with us -- a lot of things won't work as expected.

Badger 2 application layout

When working with Badger 1 as a user, I always thought: The interface is a mixture of web pages characteristics (like the specific URL to each part) and desktop application characteristics (like the menu bar). It was somewhere in between.

This clearly changes with Badger 2: It is designed as Web 2.0 web application from ground up. This means the whole application is loaded at the beginning (only data is transferred to and from the server afterwards), has only one URL, and offers the usability of desktop applications.

Navigation area

We replaced the menu bar by a navigation area on the left hand side. This offers easier access to all the functionality.

We learned from our daily use of BADGER finance that most of the time, we want to access the list of transactions of an account. Therefore, the uppermost part of the navigation area offers links to the list of transactions of each account. In the future, it will also show the current amount of the account.

The next section of navigation area is global search. We use a powerful text search engine (Apache Lucene) for all our search functionality. It digs through all data entered into BADGER finance (not only the titles shown in the result list). One click on a result opens the corresponding form. This helps for questions like "I know I entered a transaction about a watch, but on which account?"

The section below is only a stub at the moment, it will provide analysis tools like in Badger 1.

The lowermost section contains links to the other elements of BADGER finance.

Element lists

Each link in the navigation area opens a tab in the main area. In the upper part of these tabs is a list of the appropriate elements. It provides all the functionality you would expect from a list like sorting, searching, resizing columns and adding columns. You can also page through large lists.

The first of two advanced functionalities is a PDF export. If you click on "Export report", exactly the list you're currently viewing is exported -- including search, sort, column selection and column width. We think this is a quite simple method for creating custom reports. In the future, we'll add CSV export. The options for page size and orientation will probably move to settings page.


The other advanced option is inline editing: If you double-click on a row, you can edit the shown values right inside the list. This comes handy if you want to apply changes to several entries in the list. We're not entirely happy with double-clicking for opening the inline editor -- if you have a bright idea how to enhance this we're happy to hear it!

The other buttons at the top of the list create a new entry, edit or delete the currently selected entry or entries.

Element forms

Each main tab contains the element list and all of the element forms. This means you can view the list and several of its entries simultaneously, something I missed in Badger 1.

The forms themselves will change completely from their current form. We will manually optimize them for each element type.

The forms contain buttons for saving and revoking changes you've done in the form.

In the future, the button bar of both the list and the form will contain actions specific for each type, e. g. the account form will contain buttons for opening the list of transactions, recurring transactions, and the CSV import.

Special fields

We introduce some special field types for the forms.

Amount field


The amount field is currently only enabled for the lower limit of an account, but will eventually be used at all places you enter a financial amount. Besides formatting negative numbers red, it also provides the capability for simple calculations and intelligent recognition of thousands and decimal separator.

During my personal BADGER finance usage, I had several occasions where I had to do simple calculations. in Badger 2, I can do these calculations right inside the field -- no need for an external calculator.

The signs used for separating thousands and decimal places in a number differ from country to country. As I can buy from virtually any country in the Internet, I also get invoices with different punctuation. Badger 2 smartly recognizes the used separators, so you can easily paste any amount from your invoice into Badger 2.

Tag field


We will replace categories by tags in Badger 2 (more on that below). The tag editing field currently found only in the account form will be used on all occasions of the tags. You can easily assign existing and new tags to an account, or delete existing ones.

Content changes

We will continue most of the features of Badger 1, improve some others and add some new ones.


We will replace categories by tags. Tags are much more flexible than categories. For example, my car insurance -- will it go to category "Car" or "Insurance"? I could create a sub-category of "Car", calling it "Car Insurance", but it still wouldn't be in my list of insurances. With tags, I can simply assign both the tags "Car" and "Insurance" to the transaction. If I want to know all the expenses for my car, I filter for this tag, or do the same for all my insurances. If I want to list only the car insurance entries, I filter for both tags -- et voilà!


Most of the elements in Badger 2 can hold attachments. So you can attach the invoice PDF directly to the transaction, or the contract PDF directly to the contract (see below).


Badger 2 enables you to manage your contracts. You can store all your files on a contracts at a central place. More importantly, BADGER finance will remember you of cancellation periods, so you'll never miss to cancel your mobile plan to move to another provider.

Future plans

We have some more ideas on Badger 2, and want to get your opinion on them.

HBCI import

Especially in Germany, most banks offer a standard interface to retrieve your transactions. We're thinking of providing a Java applet for getting this data from the bank and feeding it to the Badger parser infrastructure. This saves you from logging in at the bank, downloading the CSV and uploading it in Badger. The Java applet runs locally on your computer, so your credentials never leave your premises.


When looking at the market of private financial management applications, budgeting ("I want to spend only 30 bucks a month on sweets, how much have I left this month?") seems to be quite popular. Do you think we should include this in BADGER finance?

iPhone frontend

We spent some thoughts on providing a special front-end for the iPhone. Although it still would be a webpage and all the data would be saved on the server (so we save all the hassle of synchronizing data), the front-end could resemble native iPhone apps very closely. Would you like such an app? What parts of Badger would you use on the mobile platform?

The links

You can try the application at

Please leave your thoughts and comments in the forum: