Michael Eriksson's Blog

A Swede in Germany

Posts Tagged ‘Elster

The tax filings / Follow-up: Depressing software issues and the yearly tax filings

leave a comment »

A few days ago, I wrote of depressing software issues ([1]) preceding the yearly tax filings. Now I have completed the actual tax filings.

For obvious reasons (minimal activity in 2021), it was the least effort that I have had in many years, taking roughly twenty minutes for the actual filling-out-the-forms, including checking and re-checking, and maybe another five minutes for finding the few numbers and papers needed. (But not counting the software complications described in [1] and the need to buy batteries for my mouse.)

However, that filling-out-the-forms could easily have been done in a quarter of the time, had Elster worked better, including having a more thought-through workflow and a more sensible set of fields carried over when importing data from last year’s forms. A particular problem was with the EÜR*: a number of fields were marked as empty-but-mandatory, forcing me to enter redundant 0s in some Euro-fields. One of the fields (net profit?) was mandatory and not automatically calculated (or manually editable) until I had redundantly added a dummy 0 in a non-mandatory field, which took a while to figure out. The empty-but-mandatory fields also included four fields for the Steuernummer**, which occurred twice—once filled in, once empty.*** There was no import of the second occurrence from the other, nor from last year, and I was forced to look up the values externally (as Elster does not allow having multiple pages open in parallel). Worse, one of the fields, to identify my local IRS by name, was likely redundant, as the equivalent information is hard-wired into the first of three numerical components of the Steuernummer proper. As the (overall) numerical component was artificially split into three parts, a single copy-and-paste was impossible, increasing the work and the risk for errors even further.

*A statement of various revenues and costs that allows a simplified calculation of taxable profits for small businesses.

**An entity identifier used for tax purposes. I have written about it and several related issues, including the artificial tri-partition of the field(s), in the past, but I lack the energy to search for links at the moment. (I have many previous texts on Elster and the IRS, and to find the right text or texts could take a while.)

***Presumably, two different values can occur for the same EÜR, for one reason or another. In my case, they have always been the same, and, at a minimum, the value from last time around should have been respected for the version idiotically kept empty.

By the time that I was done with the EÜR, I felt the pressure of irritation reach the border of anger, as I have been plagued by so many other problems with the incompetence and tax-payer/user hostility of Elster and the IRS over the years, and I seriously contemplated leaving the rest for tomorrow. However, I pushed on and, for once, the remainder went almost without problems: I had merely to enter a few trivial values and check that no spurious fields from 2020 were left filled.

However, these trivial values included, in the main document, values from two secondary documents (the EÜR and the VAT declaration) that should have been imported automatically to avoid the additional work and the additional risk of errors, as well as numbers from my health insurance, which the IRS will, as a matter of course, ignore in favor of the exact same values delivered directly from the insurer to the IRS. Idiotic. (And something which remains idiotic—I have complained about these issues before. Indeed, most or all of the old problems seem to remain, but they had less effect this year, due to my much easier situation, filing-wise, and my knowledge of what to expect—like when one has developed the knack of opening or closing that tricky hatch, gate, whatnot, which is so troublesome for the first-time user. Consider e.g. the severely misleading labels for various actions in Elster—knowing what they actually do, as opposed to what they claim to do, makes life easier.)


Written by michaeleriksson

October 28, 2022 at 2:22 pm

Posted in Uncategorized

Tagged with , , , ,

Depressing software issues and the yearly tax filings

with 3 comments

Time for the yearly tax filings—and I am already depressed, without having filled in a single field.

Unusually, this is not due to the inexcusable interface of Elster* but the continual worsening of other software. Indeed, most software (and most websites) seem to grow worse over time. Both Firefox and TorBrowser** are negative examples. Indeed, for my main browsing, I still use a version older*** than Firefox 57 (?), with which Firefox nearly committed suicide by removing XUL/XPCOM support and killing half of its add-ons, including the vital Classic Theme Restorer, which was only needed because Firefox had, years earlier, attempted another suicide by replacing a good user interface with a poor one.

*Although this is likely to come; see the many earlier entries on Elster and the German IRS.

**A Tor-using derivative of Firefox.

***No worries: I have JavaScript and such shit disabled in this version, implying that there is less risk for me than for someone who has the very newest version installed but JavaScript on.

Unfortunately, this old version does not work with some few websites that I use, uninterested in usability and standards as they are, including WordPress and Elster. Correspondingly, I have used newer versions of TorBrowser and/or Firefox to handle them. However, this has grown harder and harder. For instance, with my switch to Gentoo last December (January?) Firefox was out, as building* it required 6 (?) Gigabyte of disk space, which I could not spare at the time—and, going by that space, the build might have taken days. Talk of ridiculous and pointless bloat.

*Gentoo works by downloading source code and compiling locally, unlike most other Linux distributions, including Debian, which I used in the past—until Debian had deteriorated too much. Note that TorBrowser, by its nature, is typically downloaded from the makers of the browser, not the Linux distribution. Correspondingly, it requires no build.

TorBrowser brought other problems, beginning with a failure to start. As it turns out (cf. [1]), a pointless Wayland-dependency has been added, which either requires polluting Gentoo with the type of nonsense that one chooses Gentoo to avoid, or a workaround like the shim.c/shim.so provided in [1]. Moreover, with roughly the same installation, the by-pass-Tor* behavior of TorBrowser changed for the worse, requiring setting of various new and unexpected variables and other trickery—and this trickery later failed after an update.

*Normally, the point of TorBrowser is to use Tor, and my main installation, for my regular surfing, always does. However, there is no reason why TorBrowser should not be used without Tor, especially absent another Firefox installation and especially since TorBrowser comes with some hardening compared to and more sensible defaults than Firefox to begin with. Notably, Tor should never be used in combination with important user accounts, e.g. Elster, as they are (typically) not anonymous to begin with and as the act of logging in over Tor is less secure than without Tor—either TorBrowser has to bypass Tor or some other browser must be used.

Speaking of updates: Firefox (and TorBrowser) has done inexcusable things with updates to prevent a sensible and controlled update behavior, including increasingly preventing users from saying no to updates. The remaining functionality allows the user to delay the installation, but not to prevent the check for and download of updates. To avoid misfortune in this area,* I have had to resort to trickery like blocking the update-server per DNS and artificially changing “last updated” entries in about:config.

*(a) A discussion of the problems and how they apply to me would be enough for a separate text. For now, just note that I am a highly experienced and qualified software developer with Internet experience since 1994—I know what I am doing, no matter what you might think based on too little context. (b) Note the golden rule of software development, that the user should be in charge, not some faraway product or release manager.

Then came the time (February?) when the admin area of WordPress no longer worked with TorBrowser, be it before or after update… (WordPress does nothing that cannot be done with standard browsers ten years old, assuming a sensible implementation. Its failure to work with browsers merely a few months* old is inexcusable.) As I could still post per email, I postponed my trouble-shooting.

*Note that TorBrowser uses fix long-term releases of Firefox and will usually trail the current Firefox version by some time, even when freshly updated.

However, time went by, pingbacks and whatnot in WordPress accumulated, and the deadline for the tax filings (end of October) came closer and closer. Last week, I downloaded a brand new version of TorBrowser and proceeded to debug this shit, beginning with the renewed problem of TorBrowser failing due to the pointless Wayland-dependency and the need for “shimming”. This first step was easy, but then the problems began. Notably, what I done in the past to bypass Tor no longer worked, as, apparently, the TorBrowser team has become dead set on preventing any and all non-Tor use of the TorBrowser,* come hell or high water, and with no regard for use cases outside their narrow scope of thinking. After long and failed Internet searches and various trial-and-error, I arrived at a situation where I could at least configure another socks proxy than Tor (but as opposed to going directly onto the Internet). By then putting up a Privoxy–Squid** combination as this proxy, I had non-Tor access to the Internet. Some fifteen minutes of going through accumulated comments (mostly “pingbacks” between my own posts) in WordPress followed. (And, yes, the redesigned-for-the-umpteenth-time administration area was another example of reduced usability, e.g. regarding “bulk edits” of comments.)

*And, if to a lesser degree, to prevent non-TorBrowser use of Tor.

**The Squid-part is likely redundant. I began with only Squid, not realizing that it was not Socks-capable, and then prepended a Privoxy when I found out. Right now, things work. I will investigate using only Privoxy at some later time.

But for fuck’s sake! To have to install even one proxy in order to do something that Firefox can do out of the box, something entirely trivial, because TorBrowser has been deliberately crippled, that is truly ridiculous and utterly absurd.

So far so, …, not actually good. No, “good” is not the word to use—but at least I had a functioning system.

Then, today, I wanted to address the tax filings, hoping for comparatively easy work, as I had very little activity in 2021. I copied TorBrowser and shim.so from my computer-account-for-Wordpress to my computer-account-for-Elster,* changed ownerships, and started TorBrowser. However, when I went to visit the Elster website I just got an error message. I checked this and I checked that, including that I had all the right settings and that my proxies were running—no issue to be found. I dug into about:config and found that TorBrowser had unilaterally changed back (!!!) several of the settings for proxies that I had provided.** This with no notification (!) to and no query (!) of the user—absolutely and utterly inexcusable. Checking and comparing, I switched back setting after setting manually in about:config*** and reloaded, until finally I got through.

*I believe strongly in compartmentalization of concerns, largely, but not exclusively, for security reasons.

**Likely, this will happen at every single start of TorBrowser, unless I find a way to circumvent it. (For obvious reasons, I have yet to make the experiment. I will do my tax filings without restart and only then will I experiment.)

***The need for this is equally inexcusable. There are config files. These config files should be respected!

Well, onto the tax filings. First, as background information, some months back, the batteries in my mouse ran out, and I began to experiment with keyboard navigation/control even in TorBrowser, otherwise the only tool that I regularly use that is not designed for the keyboard. While this does not work as well as it should and could,* it is not that bad. Indeed, with most websites, I get along better than with a mouse by now. (See excursion for some details.)

*Largely because there is no logical and consistent model of a position-in-the-page, much unlike in e.g. Vim.

Elster, unfortunately, is not one of them. Just logging in and creating the (still empty) documents that I need, I find that the poor document structure and the many links/buttons that do not contain searchable text hinder me so much that I, without a mouse, would not be done in a reasonable time and with a reasonable damage to my blood pressure. Implication: Batteries are needed. (To be bought tomorrow.) To make matters worse, this version of TorBrowser has an extremely annoying and intrusive behavior on e.g. CTRL-F, which causes a search field to slowly glide into view, cover a disproportionate portion of the screen, and then slowly glide away again, when I press ESC. In contrast, the field instantly appears respectively disappears in older versions—and is much more reasonably sized.*

*There might or might not be some obscure about:config setting to remedy this, but the default behavior is inexcusable and settings that solve a Firefox or TorBrowser problem tend to be removed over time…

Excursion on building TorBrowser:
Of course, with all these problems, I have considered simply downloading the source code for TorBrowser and building my own version. (Indeed, as time has gone by, I have become more and more convinced that own manipulation of source code is the only long-term option in today’s world of poor software, low configurability, and users treated like children. However, even that can only solve small problems like a broken proxy configuration, not major issues like a poor UI, without the manual effort exploding out of control and proportion.) However, the only code that I have found available is that for Tor (alone), which is of no help, and chances are that the build requirements would be similar to those of vanilla Firefox (cf. above).

Excursion on analogy with the world of politics:
During the early phase of making WordPress and TorBrowser work again, I began a text on how large the similarities between e.g. politics and software have become. That text will be postponed due to the current text. For now, I just note that there are disturbing similarities between being a powerless user and being a powerless citizen.

Excursion on keyboard navigation:
While the keyboard navigation in Firefox/TorBrowser is not as good as that available in Vim (text editor) or W3m (text-only browser), it is easier than I thought to handle and I regret not making the leap earlier.* The key is to learn, by some trial and error, how to move from X to Y and how to take action once there. Here it is useful to learn many keyboard short-cuts. A particularly useful one is apostrophe/single-quote,** which searches for text in links only. (Of course, tabbing to reach the right link or other control element is a horror. Just like in Vim and W3m, the key is to search to the right place of the file/page. Having some feel for what makes a good search is very helpful, and here I have a head start through prior experiences.)

*For a while, I was a user of Vimperator, which gives Firefox a Vim-like interface; however, I switched from vanilla Firefox to TorBrowser comparatively soon after that, and TorBrowser comes with advice against third-party plug-ins. Newer versions of Firefox/TorBrowser cannot use Vimperator at all, as it relied on the axed-by-Firefox XUL/XPCOM. It might or might not work with my aforementioned age-old TorBrowser installation, but I have not gotten around to make the experiment and, if it works, it would make the navigation inconsistent between TorBrowser versions.

**As WordPress tends to mangle quotation marks, I am loathe to give the pure character; however, it is the key that follows the semi-colon (;) on a QUERTY-keyboard.

While web pages work reasonably well, the same cannot, unfortunately, be said for many internal Firefox pages, which do not use a tab navigation consistent with the web pages and where other short-cuts often either fail or do something other than intended. For instance, in about:preferences, CTRL-F does not search through the page, but moves the cursor to a filter-options field, which works far less well than CTRL-F already for finding things, and sabotages the use of CTRL-F to navigate. The change of internal pages to a non-web behavior is one of the many areas where Firefox has grown worse. For instance, in the days of yore, the “Downloads” page was rendered like a web page, implying that I could zoom in and out, which was very useful when I wanted to have a reasonable overview without emptying my download history. With the removal, no-one bothered to add a zoom ability and the list of downloads is now static in zoom level. And, no, CTRL-F does not work there either, much unlike in the past.

Written by michaeleriksson

October 25, 2022 at 4:51 pm

Posted in Uncategorized

Tagged with , , , ,

Tax filings for 2020 / The German IRS and Elster (again)

leave a comment »

And again fucking, unusable Elster!

Among the problems encountered:

  1. I began the process in (likely) July, by creating the needed documents and making some preliminary entries. With one thing and another, the rest of the job had to wait, which should have be no problem in light of a COVID-related and blanket three-month extension of the deadlines.

    But no: A few months later, I received emails that some of these documents would now be automatically deleted by Elster, because they had gone unedited for too long. I wrote back and forbade this deletion, while pointing out that this was an inexcusable act of user hostility. (Even by the standards of Elster and the German “IRS”.) I note that there is no advantage to such a deletion, but potentially enormous disadvantages.

    They were deleted nevertheless.

  2. The field for messages to the IRS still (!) does not take line-breaks.
  3. That I had added such a message brought Elster into a destructive loop, where (the German version of) “check document” led to a semi-error page that pointed out that I had left such a message (and why?!?!), which repeated again and again on subsequent attempts. The document was still sendable, but this broke the apparently preferred-by-the-IRS workflow of check-and-send-from-the-results-page. (Cf. an older text for these absurdities.)
  4. The “check document” for the main document originally failed on the claim that I needed to indicate whether I had received COVID support—even when I had not. There was no obvious field for this anywhere, there was no indication of help on how to do this, and only an internet search revealed that I needed to add an entire new attachment to the document, which then contained two fields, one for yes/no on whether I had received help, and another for the amount for those who had.
  5. Generally, “check document” is extraordinarily incompetent at indicating where an error (real or imagined by Elster) is located and makes odd jumps. (And there is not or only rarely a visual indication which fields are mandatory in advance.) For instance, in the EÜR document, there are two fields that seemed irrelevant to me, but where “check document” insisted on an entry. I made one entry (indicating 0) and clicked the confirmation button for that entry. Now, I obviously wanted to continue with the second field, which was immediately below the first. But no: Elster took me back to “check document”, forcing me to go back and find the relevant field again.
  6. Did I mention that mandatory fields are usually not marked as mandatory? (Yes, I did.)
  7. I copied a calculated-by-Elster value from one document to another (and why is this not handled automatically?!?), because this value was needed as an input in the second document. The output value contained both a thousand separator and decimal places (and a decimal separator). The input field required a value in whole Euro (no decimal places) and could not cope with the thousand separator, giving me two separate error messages.
  8. A great help in filling out the EÜR could have been pre-filled fields based on last year (which works well with the other documents, where the advantage is lesser), so that I could e.g. see where I had put postage and where train rides and where this-and-that. Specifically in the EÜR, this does not seem to work, however, as only trivial fields (like name and identifiers) are filled out. Then it is down to guesswork or Internet searches to find the right fields.

And to this a few things I might have forgotten, the great many problems discussed in earlier entries, the incomprehensible German tax system, …

Fucking amateurs!

Written by michaeleriksson

October 29, 2021 at 10:35 am

Posted in Uncategorized

Tagged with , , , ,

Tax filings for 2019 / The German IRS and Elster (again)

with one comment

Earlier today, I filed my (German) taxes for 2019—and, for once, with a few days to spare. This through a combination of a general increase in the last date for filing (July 31st; previously, Mai 31st), my less stressful workload, and the fact that I had less positions to file.* It still cost me several hours distributed over two days, to get everything in order and to use ElsterOnline, that utter bullshit tool that the German “IRS” has forced down the throat of the users.

*I spent half of 2019 on a sabbatical and then switched from IT consulting to writing novels, with no bills issued, no income, and much less costs for e.g. hotels and travel than in previous years.

I am not going to give a complete overview of Elster, as I have discussed it repeatedly in the past.* However, a few new (?) observations:

*Search for “Elster”, “IRS”, and/or “Finanzamt”.

  1. There is a new free-text field where the user can add a message to the IRS within the filing—finally: this has been years overdue.

    But: It is not possible to add line-breaks in this message. This repeats an inexcusable error, hostile to both the user and the IRS staff that later works with the filings, which was previously present in the specialized form for sending (external) messages. In that separate form, this error has been fixed—but it is still repeated here. Absolutely incredible!

  2. On several occasions, I tried to run my mouse over a field with outdated values to mark the contents, hit backspace, and then enter the new data. This was simply not possible, which is absurd for a functionality that works out of the box with a regular HTML form—unless somehow sabotaged, be it out of incompetence or malice. Instead, I had to click into the field, right-arrow until I was at the end, and then hit backspace until the field was empty.* This is the more annoying as the form based input and the structure of the forms more-or-less forced use of a mouse for tasks like navigating. This way, the user is forced to constantly switch between keyboard and mouse in a manner that goes too far. (And does it for no legitimate reason.)

    *In my impression, I was always, by force, put at the beginning of the field, with no ability to “click” to another position; however, I did not verify whether this was true. It is also conceivable that I could have “deleted” my way backwards with the “delete key”, but it is awkwardly placed and requires a simultaneous “shift” on my notebook, so that would have been more work—if it actually did work at all …

  3. One of the forms had two (times three; cf. below) fields for the Steuernummer*, one in a “cover” part, one in a content part. The latter was correctly imported from last years forms; the former had to be entered manually. WTF!

    *An identification number used by the IRS.

    To make matters worse, the forms insist on dividing the Steuernummer into three parts, each with a field of its own, which implies that a simple one-step copy-and-paste is not possible. To copy it within a form, with no additional sources, the tax payer then has to go forward one (or more?) page(s?), copy part one, go back to the original page, paste, go forward again, copy part two, etc., until all three parts are filled. (Personally, I committed parts one and two to memory and copied just the third part, trading a slight risk of errors for a reduced work load.)

  4. The data import from my previous filing was not complete. At least the VAT portion likely had not one single data field filled, which makes the new filing harder: there are a great number of obscure, poorly named, and poorly explained fields, and having the ability to just look at the old fields makes it much easier to identify which to use this year. Moreover, when I cannot rely on the old fields being pre-filled (if with outdated values), I do not just have to identify the correct fields, I also have to go through the sum of all fields on a just-in-case basis.
  5. While data import from the old filing was possible, I had no way of actually looking at the old filing, e.g. for comparisons per the previous item. For some reason, likely an arbitrary, unnecessary, and destructive time limit, they cannot be opened.

    And, no, there appears to be no way to save them locally in a reasonable format. (Something that I tried with my new filings, and likely last year too.) The only possibility to download the data, short of taking screenshots or saving countless individual HTML files, is a “save as PDF” functionality. This is sub-optimal and limiting to begin with, but, worse, this does not work at all on my computer (for reasons unknown). Odd: This should be a trivial task if implemented correctly: generate the PDF file server-side and then just let the browser download it. Possibly, the idiots are actually stupid enough to try generation client side, which is a recipe for unknown errors.* If it is server side and they still have bungled it, well, that is even worse.**

    *No, it cannot be justified by data protection. Such concerns are often legitimate, but here we had no data that was not already present and (at least somewhat) permanently stored server-side.

    **Software errors happen even to competent developers, but here we have a system that has been handling the 2019 taxes for almost seven months and is now in a high intensity phase. Not having fixed the problem by now, or having introduced it in the last few days, would be horrifyingly negligent. I also note that there was no error message of any kind, which would have been a must, had there been e.g. a temporary back-end problem, say, due to a temporary overload or system failure.

  6. Two fields were mandatory despite my having no value to provide (regarding transfer of assets from the private to the business sphere and vice versa). Here I had to add two entries of “0’, for no good reason. And, no, I could not just pick an existing field and enter the value “0”: these fields (in a wide sense) contained lists of fields, where each entry had to be manually added. Presumably, the IRS expects a detailed and enumerated list of each individual asset transferred, and it would then make sense to allow an empty list when no transfer has taken place. (This is indeed the case with other “list fields”.) But, no, an empty list was not allowed, and to signify that I had transferred no assets, I had to create two single list entries with the value “0” and an additional dummy “reason” (“name”, “details”, or whatnot).

    This is a “Software Development 101” mistake.

    (I have no recollection of this problem from prior years.)

I can only reiterate my yearly observation that this tool moves on a level of incompetence that is mind-numbing, including obviously faulty behavior, a complete disregard for established conventions, an extremely confused (and confusing) user interface, etc. As a former software developer, it boggles my mind that this type of shit can be made by (alleged) professionals—and while wasting tax payers money. Yes, I know, the government and incompetence, but still …

Written by michaeleriksson

July 29, 2020 at 6:34 pm

Posted in Uncategorized

Tagged with , , , ,

Tax declaration for 2017/More on Elster etc.

with one comment

My second go at the tax declaration was more successful than the first. A few, likely incomplete, remarks, however:

  1. As far as I can tell (without making a detailed check) all the old problems remain (cf. e.g. [1], [2]). This includes the inability to edit multiple forms in parallel and the arbitrary number-format issues, both of which were big annoyances. The latter includes complications like that copying “11,30” into the one field leads to an error message that decimal positions are forbidden, while copying “34” into another brings the error message that two decimal positions are mandatory (even though an exact number was intended—not a rounded “34,25”). Never mind that all other tools I use follow the convention of a decimal point while Elster strictly uses the German convention of a decimal comma
  2. The handling of VAT (not Elster specific) is an unnecessary cause of complications and not very logical: Despite* VAT merely being collected by businesses on behalf of the IRS**, it counts as income when collected and as cost when either paid out the IRS or paid to other business (based on their bills). This introduces several pointless fields and the need to copy*** data from the one form to the other, where the net result should be 0.**** Really, this should not be income and cost—but positive and negative cash flow: There is no* change, even temporary, in terms of overall net assets and the “accounting balance” —only temporary fluctuations in the bank balance.

    *Looking at practical intent and logic: The formal system might be different, which would explain the illogical procedure.

    **I refer to the German Finanzämter and the general system by “IRS” for convenience and understandability. The correspondence to the U.S. entity is not perfect, however.

    ***It remains the case that data input or calculated in one form cannot be automatically synchronized with other forms referencing the same values, introducing manual steps and potential errors. This is especially absurd, seeing that these values do not really benefit the other forms—a good system would require the IRS to input the values (preferably automatically) based on the forms.

    ****At least once the yearly VAT declaration has lead to a correcting payment over the monthly pre-declarations and pre-payments.

  3. My VAT calculations were partially foiled by some older submitted forms no longer being readable—for no discernible reason.
  4. Various copy actions were made the harder through Elster somehow (likely not deliberately) disallowing the copying of calculated values from the forms. Whereas it is normally not a problem to copy any piece of text from an HTML page, this was simply not possible here. (I did not investigate in detail why this was so, but a brief look at the HTML code makes me suspect that the values were somehow displayed through CSS instead of normal text.)
  5. I tried to save* the EÜR-form with dummy values of “TODO” for some fields where I did not have the values at hand,** wanting to complete the rest and come back to these fields later. This with the particular point that I had now identified all the fields that I needed, allowing me to target these specific fields later—without having to go through the entire document again, costing me additional effort and introducing the risk of missing a field the second time around. Alas, not only were these fields marked as containing errors, but it was impossible to save the form without correcting these errors. (Note: Not send the form, which would have been OK—merely save the form.) Imagine if a code editor refused to save code that did not compile, a text editor text with spelling errors, or a spread-sheet fields with invalid formulae.

    *Thinking back, I am a little uncertain whether I tried to save, just move to the next page of the form, or both. Whichever applies does not alter the idiocy, however.

    **Including some of the aforementioned VAT fields.

    As a workaround, I filled these fields with absurdly large values that would have caused correspondingly absurd totals to appear, (a) giving me a chance to see what fields were picked, (b) making it obvious if a field had been missed. Still, this is suboptimal and introduces a further moment of risk.

    Needless to say, the nifty feature of being able to mark (e.g. through a check-box) what fields are relevant-but-still-incomplete is not present.

  6. Many of the forms could be made a lot easier by adding a few central switches that suppress irrelevant parts (“married yes/no” e.g.—someone not married has no possible use for half the “Mantelbogen”; with some reservations for when circumstances change during the year).
  7. The form to send a free-text message to the IRS is particularly idiotic (also see previous discussions for other problems): A reasonable form would have one page, with three fields, viz. identification number, subject, and body. The actual form has several pages, including requests for information like address, company address, data about a spouse, …
  8. Some of the problems (including the previous item?) could be explainable by a conceptual flaw: Instead of Elster being connected directly to the IRS (just like my online banking is connected directly to my bank), it is a “service” provided by another governmental organization that merely sends the data to the IRS in a manner similar to offline tools by third-parties. Without this conceptual flaw, a number of simplifications, e.g. with regard to data input and changes of address, would be possible.
  9. Elster is excruciatingly slow. For instance, to close the one form, open another, copy a value, close the second form, open the first form, and paste the value, takes ages. (And remember that it is not possible to have two forms open in parallel.) Even switching from the one page of the same form to the next, an operation that should be almost immediate, causes a very noticeable delay. (I never timed these operations, but on some occasions it might have been as much as ten seconds.) All in all, I spent several times longer waiting for Elster than I did actually interacting with it.
  10. The German tax system makes a great use of “Freibeträge”, amounts that the tax payer can deduct without e.g. providing receipts. In some cases, e.g. for relocation costs, this can be an advantage when the overall costs are small enough. In others, it is more or less fraud. Notably, there is a blanket amount that any employee can deduct for “Werbungskosten”*, which is painted as a great service towards the people—as if this was a tax break. In reality, it is nothing but an invalidation of all deductions smaller than this blanket amount: The overall amount of money needed by the government is not magically reduced, implying that the same money is collected through a higher overall tax rate. The blanket amount then merely means that “if you have Werbungskosten below this amount, you cannot deduct any Werbungskosten”, very similar to the deductible of an insurance policy. A further complication is that many with somewhat higher actual costs will not bother to state these costs—finding all** the receipts and making all the checks needed to claim, say, an additional 50 Euro will be more effort than is worth the trouble. To boot, this system is unfair in as far as even those with considerably lower Werbungskosten can use the full amount, causing a flow of money from*** those with higher Werbungskosten to those with lower…

    *I am uncertain what a good English translation could be. The general meaning is costs related to work and that only arose through work. Examples include e.g. special clothing (mostly blue collar) and professional literature (mostly white collar).

    **Note that it is not enough to find the receipts for those 50 Euro—the entire amount, blanket + 50 Euro, needs to be covered.

    ***Measured against the baseline of a sound deduction system. Compared to a system where Werbungskosten are not deductible at all, however, the flow still benefits the people with higher Werbungskosten.

    The true reason for this blanket amount is likely that the IRS wants to avoid additional work on its own end, notably checks of receipts* and the like.

    *However, the last few years, receipts have grown less important and are no longer collected by the IRS by default. Obviously, the tax payers still need to keep the receipts in case of e.g. an audit.

Written by michaeleriksson

November 2, 2018 at 8:27 pm

Posted in Uncategorized

Tagged with , , , ,

More on the German IRS

leave a comment »

And my problems with the German IRS and the inexcusable Elster tool continue:

  1. I have written about technical and other issues forcing me to make repeated unnecessary visits to Elster to file my preliminary VAT ([1])—unnecessary, because I am on a sabbatical and have a preliminary blanket 0 for the rest of the year. The idiocies of Elster and the IRS have already extended the one visit that should have been necessary to four, as discussed in [1]. Come early August, I tried again, found that my Steuernummer and whatnot now were available for automatic use, and opted to minimize the additional effort by pre-declaring my VAT in two quarterly forms—stating 0 for the third and the fourth quarter. Alas, a few days ago, I received a note from the IRS claiming that my submission for the third* quarter had been rejected on the grounds that I was not eligible to file quarterly… In other words, these nitwits actually consider it reasonable that I should use even more of my spare time to file individual 0s for every individual month of the year… All in all, I would be better off just terminating my status as a freelancer. (Of course, if do, they will probably shove yet another Steuernummer down my throat—and another one after that, when I terminate my sabbatical and start working again… Cf. [2].)

    *I have as yet no word on the fourth quarter, but the outcome seems predictable…

  2. End of May, I explicitly contacted the IRS about a stay on my tax filings for 2017, due to the urgent need to handle other IRS related matters, including entirely unwarranted additional fees imposed upon me for errors that the IRS had committed. (Some of them are covered in earlier posts, but I will likely write a larger one later on.)

    This is normally no problem whatsoever, for the simple reason that it is good for the IRS when tax declarations are delayed: They can divide their own work more evenly over the year without being bogged down around the deadlines and they have the interest advantage (because most German filers see a tax return).

    Standard procedure is to simply request a stay under the assumption that no answer means consent—and while rejection likely can happen, I have personally never heard of it. In this specific case, I would not even consider the matter negotiable: I had to take action to compensate for errors by the IRS; ergo, the IRS has only it self to blame. (And, no, I did not receive a rejection notice.)

    Nevertheless, I recently received another letter complaining that I had not yet filed for 2017, setting me a deadline for 2018.09.24—six (!) days before the end of the stay…

    This is so unbelievably pointless and idiotic that I am starting to doubt whether incompetence is enough to explain the behavior of the IRS…

  3. My complaint concerning the main points behind the previous item is as yet unanswered, close to three months afterwards…

    Considering the quite obvious situation behind these complaints, which should allow the matter to be decided in five minutes by an intelligent reader (barring the need for checks and verifications that under no circumstances should take more than a few days of waiting time), and considering that communications in the other direction regularly come with very short deadlines*, my enthusiasm over this delay is limited.

    *I have not kept statistics, but, going by feel, I would say that most deadlines set by a government agency towards me have been fourteen days after some reference event—and often an event taking place before I actually receive the corresponding message.

    The only message I have as yet received in return appeared* to merely state that my complaint had arrived and been sent back to the local IRS office, rather than being treated by the recipient, the Oberfinanzdirektion**. This too was highly annoying, because I had explicit chosen the Oberfinanzdirektion as a suitable escalation—high enough to avoid the worst incompetence and partiality of the lower levels of the governmental hierarchies, but not so high as to seem like overkill. By sending the matter back to the local IRS, they still expose me to the exact problems I wanted to avoid, and I consider it highly likely that I would*** be forced to escalate the matter again, making the this action a waste of everyone’s time and energy.

    *Unfortunately, I cannot find it on short notice to verify the details, and there was no reason for me to pay attention to said details at the time.

    **A mid-level supervisory agency within the overall IRS system.

    ***At this juncture, and in the light of the additional issues discussed in the first two items, I will escalate pre-emptively.

Written by michaeleriksson

August 26, 2018 at 8:25 am

Posted in Uncategorized

Tagged with , , , ,

More on Elster and Steuernummer

with 2 comments

And further problems with that inexcusable piece-of-shit tool Elster and the idiotic Steuernummer:

Being on a sabbatical, I knew that I would see no additional income and not that much expense after April. In other words, I should have been able to dispense with the monthly preliminary VAT declaration, file a blanket “0”, and make any corrections with the final yearly declaration. In effect, I should have been able to log into Elster once, in early May*, file my April VAT and give the preliminary “0” for the rest of the year—and then be able to forget about Elster until it was time for the main tax declaration.

*The declaration has to be submitted on or before the 10th of the following month. This, notably, even if the declaration amounts to “no VAT”.

Alas, no: Early May, I had not yet received my new Steuernummer (cf. [1] for terminology and problems around this misconceived identifier), despite having notified the “IRS” about my move well in advance. I decided to wait with the rest of the year until early June, being aware of complications of jurisdiction that had delayed the process, and fearing that a pre-filing using the old Steuernummer would lead to more problems than benefit (e.g. in that the IRS would ignore these, impose further entirely illegitimate fees*, and cause me hours of work to remedy that).

*I have a text in planning detailing some absolute outrageous, inexcusable misbehavior of the IRS in the course of this year, where I will go into this. For now, I am awaiting the eventual results of my complaints, before I write that text. Short form: The IRS ignores my explicit communications, e.g. concerning “SEPA-Lastschriften”, and then blames me for the consequences of its own negligence.

Alas, again: Early June, I had still not received the new Steuernummer, moving me to wait yet another month and increasing the single planned Elster session (May) to three (May, June, July).

Alas, again: While I did receive the new Steuernummer before early July, other events will force me to add at least one other session, now making it four (!), where it should have been one… To boot, my experiences demonstrated further problems with the inexcusable Elster interface (also see e.g. [2], [3], [4], [5]).

Specifically, as I logged in today:

I opened the form for the preliminary VAT declaration, used the data-import function with the May form as a source, and tried to correct the Steuernummer. First oddity: The first component of the Steuernummer given to me was “5131”—but the form only accepted a three-digit first component. After a comparison with the old value, I suspected that the leading “5” was a Bundesland (“state”) identifier, and that I was supposed to enter just the “131”, having already made a drop-down selection of the Bundesland. (This worked: Based on changes in the display, I could also deduce that “131” identifies the Finanzamt Wuppertal, confirming some of my speculations in [1] about idiocies in the Steuernummer.) This is absurd: Steuernummer should obviously always be communicated, entered, whatnot, in an consistent manner. If the full number requires a leading “5”, then the leading “5” should be allowed in the form, either without a manual selection of Bundesland* or with a consistency check between the two.

*Knowing the extreme incompetence of the IRS, I suspect that there is another problem with the Steuernummer, it self, that prevents this: The format of the number could conceivably still be slightly different in different Bundesländer… (Also see [1].)

Done with that, on to the rest: I opened a new form, and now tried to do a data import based on the declaration I had just submitted for June—only to find that it was not yet listed (possibly, due to some entirely unnecessary delay somewhere). Because I did not want to have to manually enter the new Steuernummer again and again, I now went into the “profile” section of Elster (an alternative source of data), seeing that I would have to make changes there anyway—and, no, Elster and/or the IRS is not smart enough to actually automatically provide the new Steuernummer electronically.

In a first step, I opted to create a second profile, so that I could have the old data, including Steuernummer, available in Elster it self—and was met with a form without any previous data or ability to import data, having to manually add (obviously unchanged) values for my name and Identifikationsnummer* (cf. [1]), as well as the address and whatnot. (Note that while the “address and whatnot” could have changed, the old values should still have been taken over as defaults.)

*In [1], I claim that Elster does not store it. Here I was obviously wrong. However, (a) most forms in Elster make no mention of it and has no field where it could be manually or automatically altered, (b) I know for sure that I have had to enter it manually at some point in the yearly tax declaration, implying that there at least was some time when the entry in the profile had no practical effect. (Whether this is still the case, I will find out when I do the tax declaration for 2017.)

Wishing to keep my effort down, I went back to the profile listing and instead opted to edit the old profile—and was promptly met with an error message that it was not possible to have two profile-editing sessions in parallel… Amateurs!* I now discarded the first editing session and altered the original profile—for the second time: I had already changed the address to reflect the Wuppertal address when I moved. Now I had to edit the profile again due to the changing Steuernummer—that only changed because I moved (cf. [1])! (More generally, since the change of the Steuernummer will always come with some delay relative the actual address change, the tax payer is put in the dilemma of either having to alter the data in the profile twice, or of having partially outdated data in the profile until a single unified alteration is made.)

*This might have been justifiable if the same profile was edited, but here we had two different profiles, the check apparently being tied to the form used—not the entity actually being altered. This points to either an amateurish way of checking for potentially dangerous editing or an amateurish way of implementing the forms (e.g. in that using the same form simultaneously on two entities could cause data pollution, with the developers preferring to ban parallel use rather than correcting the forms).

All said and done, I went back to my VAT declarations. After a new complaint that I had two editing sessions open (this time for VAT; WTF!), I discarded the old form, and started anew in a pristine one. I tried a data import with my profile as source, but, lo and behold, the !!!OLD!!! Steuernummer was still inserted! (At which juncture I gave up. Let us see what happens in early August…)

It is as if these idiots deliberately try to maximize both the amount of work for the tax payer and the risk that he accidentally does something wrong (e.g. through not noticing that the wrong Steuernummer has been automatically added by Elster).

Written by michaeleriksson

July 7, 2018 at 4:35 pm

German taxes and Elster IV: Elster offline

with one comment

And yet more problems with Elster and the VAT*: As I tried to call up the corresponding web page for January’s VAT declaration, I was met with a browser error indicating that the site could not be found. A few hours** later—same thing. A few days*** later—same thing. Today—same thing. I now tried pinging the server—no response. I tried a web search to find out what was wrong—and, to my great surprise, found a functioning page.

*Cf. a previous post on a late fee and another discussing the original VAT issue. On a positive note, my complaint against the late fee was approved; on a negative, I strongly suspect that I will receive another late fee over the events of this post…

**Even a well-managed site can on occasion be temporarily unavailable. Elster is not well managed…

***With the exceptional incompetence displayed by the “IRS” so far, I would not have been the least surprised, if they were unable to bring their servers back up within an even semi-reasonable time frame, had deliberately shut them down for maintenance and failed to provide a temporary explanatory page, or similar.

Apparently, the original official site of elsteronline.de, bookmarked by me, was gone, now replaced by elster.de. The switch alone is questionable, seeing that it can lead to exactly this type of problem—however, that no corresponding message was left for even a transitional phase, that is inexcusable. (I note that, from my browser history, such a transitional phase must have been present, since previous requests appear to have been silently redirected—exactly the thing not to do.)

Elster online, my ass! Elster offline!

Written by michaeleriksson

February 18, 2018 at 8:41 pm

Posted in Uncategorized

Tagged with , , , ,

German taxes and Elster III

with 2 comments

In a telling development of what prompted my original post (that I just had wasted several hours trying to use the third-rate Elster products to file my VAT):

I recently received a notification from the “IRS” that because I had exceeded the normal deadline, caused exclusively by their incompetence, they would book me a 35-Euro late fee.

They prevent me from fulfilling the rules they impose to their one-sided advantage, they waste hours of my time, they bring me to the point that I want to throw my notebook at the wall—and I have to pay them…

Of course, the complaint I just filed took another fair bit of time—and forced me to use Elster again…

I can only re-iterate that the situation is utterly inexcusable. Elster, the overall tax system, and the German IRS all need to be completely over-hauled or replaced by something better.

Written by michaeleriksson

January 7, 2018 at 4:40 pm

Posted in Uncategorized

Tagged with , , , ,

German taxes and Elster II

with 4 comments

Yesterday, I was forced* to spend several hours in one of my least favorite ways: Doing my taxes and using Elster, one of the most horrible web interfaces I have ever encountered. It is quite clear that the makers know nothing of good usability and standard UI paradigms, that they are not well versed with writing web applications, and that they have very little common sense. The amateurishness is absurdly, ridiculously large.

*Due to deadlines at years end. Of course, I could have done this earlier and kept New Year’s Eve free for more pleasant things, but my self-discipline during vacations is lousy—and I would still have had to do the same amount of work.

To look at some specific examples of problems (in addition to an overall extremely poorly thought-through and unintuitive interface and problems already discussed in the linked-to post):

  1. There is no good way to add a free-text explanation to a form*—despite this very often being needed. The main way** is to use a separate message form, which then is tautologically not connected to the original form. This message form can contain a text of some 14, 15 thousand (!) characters—more than enough for any reasonable purpose, one would think. Unfortunately, this text has to be entered in a window of a mere three (!) lines, making the use of an external editor a virtual necessity for any non-trivial text.*** Worse: The text must not contain any line-breaks—an entirely arbitrary and indefensible restriction. Consider the absurdity: I can enter a message that is longer than most of my blog posts, but I am not allowed to enter a line-break anywhere in that message… In doubt, this amounts to the German IRS**** shooting it self in the foot: Good luck with the reading… Almost needless to say, there was no mention of this restriction in advance; it only became apparent when I pasted the completed text—which I then had to modify accordingly.

    *To be understood as the virtual equivalent of a paper form—not e.g. a form in the technical sense of HTML.

    **There is some way to add an additional message to at least some forms; however, this option is only displayed at the very end of the submit process and, to my recollection, requires an MS-Word and/or PDF document. It cannot be added during the actual input processes, it requires considerably more effort than a normal text field, and there is no information given in advance that/whether it will be there.

    ***I very strongly encourage the use of external editors anyway, but the choice should be made by the individual—not the IRS.

    ****For the sake of brevity, I will use “IRS” through-out. This, however, is not an official translation, and the corresponding Germany entities are not perfect analogies of the U.S. IRS.

  2. The button, or more accurately looks-like-a-tab-but-leads-to-an-action element, “Prüfen” (“Check”) should reasonably check the form for inputs, consistency, whatnot, and then return the user to editing the form. It does not… Well, it does do the checks, but it then displays one single button, almost irresistibly hard not to click on before reading it, which leads to a “send” action—something that would release the form for the enjoyment of the IRS and likely cause a number of problems for the user, if he was not actually finished*.

    *For obvious reasons, I have not tried this. It is possible that a renewed submit/send would be possible after amendments; it is possible that it would not be. However, even if the former, there will be more effort involved, and chances are that having multiple submits would over-tax the low-competence IRS.

    No, to resume editing, the user has to go into the line of looks-like-a-tab-but-leads-to-an-action elements and click on the element that amounts to “edit”.

  3. In stark contrast, the looks-like-a-tab-but-leads-to-an-action element “Speichern und Formular verlassen” (“Save and leave form”) does not actually do this, instead presenting the user with three different options—one of which leaves the form without saving… One of the other two allows to continue with editing (the option that should have been, but was not, present for “Prüfen”!); while the third actually does what the original element purported to do: Saves the form and leaves it.

    Interestingly, there is no indication whether the element form continuing the edit saves the document or or continues without saving. However, I do note that there is no separate looks-like-a-tab-but-leads-to-an-action element for the obviously needed action of just saving the form and continuing in one step—despite this being one of the most common actions that a user would reasonably take. (Yes, there are dim-wits who spend two hours editing an MS-Word document between each save; no, this is not how a wise computer users works. Saves should be frequent; ergo, they should be easy to do with a single action.)

  4. Yet another unexpectedly behaving looks-like-a-tab-but-leads-to-an-action element is “Versenden” (“Send”; however, I am not certain that I got the exact German name): This does not send the form; it leads to a check-your-data page with a real send button on it.

    By all means, the step of checking the data is quite sensible. But: Why is the element not called the equivalent of “Check your data and send”? (Contrast this with the previous item, which uses that type of longer name and then fails to perform that action… All in all, the approach to naming elements looks like a game of “pin the donkey” gone wrong.)

  5. The page is so misdesigned* that an important navigation bar on the left only becomes completely visible at 50 (!) % zoom, while being undetectable at 100 % zoom and workable to some approximation at 80 %.

    *Individual experiences could possibly vary based on the browser used. I used TorBrowser 7.0.10, which is an anonymity-hardened version of Mozilla Firefox 52.5.0—a recent long-term-release version of the second most popular browser on the planet: If a web page does not work with a browser like that, something is horribly wrong with the implementation and/or quality assurance of the page.

Believe it or not: This years version, following a re-vamp, was a major improvement over last year’s—despite still being an absolute horror.

To boot, there are a number of problems not (necessarily) related directly to Elster, but to the original conceptions of the old paper forms, the incompetence of the IRS, and/or the overly complicated German tax system. For instance, the main form (“Mantelbogen”) for the tax declaration, needed by everyone, contains a number of pages that apply to only small minorities, e.g. those who have cared for an invalid in their respective homes. In contrast, the “N” form, which is used by all regular employees (i.e. likely an outright majority; definitely a majority among those pre-retirement) is a separate form. Now, I have no objections to the latter, seeing that not everyone* uses the “N” form; however, why not do the same to considerably rarer special cases? Note that while those who do not fall into these special cases can (and should!) simply forego filling these sections out, they still have to read through them in order to verify that nothing has been missed. For instance, the forms require the addition of a number of data items that the IRS already knows (or should know, if they did their job properly), e.g. the total salary paid, the tax-on-salary paid, the amount of unemployment insurance paid, … Requesting this information again not only puts an unnecessary burden on the tax payer, it also introduces a considerable risk of even more unnecessary errors. For instance, even among the forms themselves, there are redundancies (and additional risks of unnecessary errors). In my case, I have to enter information about various VAT amounts in both the VAT declaration and the EÜR (which calculates the taxable earnings); afterwards, I have to copy the taxable earnings from form EÜR into form S by hand. This is not only a potential source of errors, it also implies that I cannot complete the almost independent forms in any order I chose, possibly even get the comparatively short form S out of the way immediately after the year’s end and turn my attentions to the more complex EÜR when I have a bit of vacation.

The whole system is a complete disaster, and I re-iterate what I wrote in the linked-to post: If the tax system and the available tools are so complex/unsuitable/whatnot as they are, then the government should be obligated to pay for “Steuerberater” for all tax payers.

*This includes me for the year 2016 (and 2017). Those self-employed need the “S” form (and the “EÜR” form; and the form for VAT, whatever it is called). Those who, like me in 2015, switch from regular to self-employment during the year need to fill out forms for both cases: N, S, EÜR, the form for VAT—and, naturally, all applicable common forms like the “Mantelbogen” and “Vorsorgeaufwand”.

As a funny/tragic aside:
There appears to have been a modification in how numbers are handled compared to my description in the linked-to post. Back then, I complained that an entry like “123” into a field requiring decimal places was not considered the same as “123,00”, instead resulting in an error message. This time I had the absurd problem that input like “123.45” (copied from a calculator that, naturally, uses a decimal point; whereas German forms use a decimal comma) were automatically turned into “123.45,00”—and then followed by a new error message that no points where allowed. What the hell?!? Firstly, adding the “,00” outright is sub-optimal; it would be better to keep the original value and note that “123,00” is mathematically equivalent to “123”. Secondly, checks for errors should be made before* doing any modifications; if not, there is no telling what the end result is. Thirdly, any modification should be done in a sound manner and the values “123,45” and “123.45,00” simply are not sound—assuming the German system, it would have to either be “12.345” respectively “12.345,00” or a pre-modification rejection. To boot, although more of a nice-to-have, there should be some setting where the user can determine his preference for the semantic of “.” and “,”. This would certainly have saved me a number of edits (and another possible source of errors) of values I rightfully should have been able to copy-and-paste. However, I would not necessarily recommend that the software be changed to allow the use of “thousand separators”—counting them as an error is a potential annoyance; however, it also allows an additional consistency check to prevent the dangerous misinterpretations of “international” numbers.**

*Depending on the exact circumstance, it can be very wise to check afterwards too; however, the “before” check is more critical, because it corresponds to what the user has actually entered. He needs to be given feedback to his own errors and any error remaining to be caught during the “after” check would be the result of errors made by the program.

**Many years ago, I entered something like “16.45” in my online banking, intending to transfer a small amount to pay a bill—and this was automatically turned into either “16.450,00” or “1.645,00”… Fortunately, I caught this change before the final submit. A no-periods-allowed check would have been quite welcome here (as would a does-the-value-make-sense check: “16.45” does not make sense as an input in the German system; just like “16,45” does not make sense in the U.S. system.

Written by michaeleriksson

January 1, 2018 at 10:58 pm

Posted in Uncategorized

Tagged with , , , ,