Freelancing requirements in Germany
Being freelancer in Germany is not so simple as being freelancer in other parts of the world. It can be very complicated, especially for a beginner.
It is not enough to just start working, and worry later about taxes, registration and other legalities. No, you first need to register yourself with the tax office. Then you need to make clear are you Selbständig or Freiberufler. While both can be translated as freelancer, the obligation, legal requirements and bookkeeping differs.
Although freelancers are not required to do full double entry accounting, like GMBH or UG, they are required to report their earnings at the end of the year in a consolidated way, by submitting the so called Anlage-EÜR to the tax office. Being Freiberufler, one is theoretically not required to fill in the form, but I heard all kind of stories that tax people don't like it when you make it more complicated to them, and not submitting Anlage-EÜR electronically is definitely more work for them.
There are a lot of programs that allows one to do bookkeeping, most of them commercial, with varying quality and pricing. Working primarily on Linux, and not even owning a Windows machine, makes the choice much worse. Only a few of commercially available software support non-Windows platforms, and non-windows usually means Mac.
There are a couple of online software packages, but they always seemed a bit limited compared to the desktop version. And I don't like subscription model where I lose all data and convenience when I decide to stop paying for the service.
Then I came around the Jes EÜR. It's a nice Java-based cross platform program that allows to track income and expenses, categorize them in the standard categories, and provide a report that can be used to submit Anlage-EÜR. Granted, it is missing an option to automatically submit it to the tax office, but it provides printout with explanation that would make filling in the form on the official tax department website a two minutes of effort. I even like it more that way, since it gives an impression of the control during the process.