Reihenfolge für neue Buchungen (Einträge) wird nicht beachtet

Wenn ich zwei Buchungen mit derselben Uhrzeit habe, kann es sein, dass die Sortierung verdreht wird und der Eintrag, den ich später eingefügt habe, vor dem Eintrag landet, den ich zuerst eingetragen habe. Das passiert, wenn ich keine Uhrzeit vergebe.

Im Beispiel aus dem Screenshot hatte ich z.B. zuerst einen Eintrag “Umbuchung (Eingang)” von einem anderen Konto gehabt und habe anschließend einen Eintrag “Entnahme” gebucht. Wenn ich das mache, ohne bei dem Eintrag “Entnahme” eine höhere Uhrzeit zu vergeben (z.B. “00:01”), rutscht der Eintrag “Entnahme” unter den Eintrag “Umbuchung (Eingang)”, welcher aber zuerst da war. Ich weiß nicht, ob hier dann nach dem Begriff sortiert wird und “E…” vor “U…” kommt, aber das darf nicht sein. Der Eintrag, der zuerst eingefügt wird, muss auch zuerst erscheinen. Man kann oder will nicht bei jedem Eintrag eine Uhrzeit festlegen.

grafik

Ist allerdings so.

Wenn ich zuerst 3 Entnahmen buche weil ich das gerne so mache, wo lande ich dann mit deiner Regel?

Vermutlich hier:

Daher ist das einzige was Sinn macht, eine Uhrzeit zu vergeben.

Wenn Du zuerst 3 Entnahmen buchst und dann eine Umbuchung, dann soll das genau in der Reihenfolge auch erscheinen von unten nach oben als Stack in der Liste:

Umbuchung
Entnahme 3
Entnahme 2
Entnahme 1

Was jetzt aber passiert ist doch eigentlich crazy und würde die “Umbuchung” ja in der Liste nach unten werfen. Bei mir schaut das so aus, als ob es ohne Uhrzeit nach dem Alphabet eingereicht wird. Also in dem Beispiel wäre es dann

Entnahme 1
Entnahme 2
Entnahme 3
Umbuchung

Wie Du schon sagst, Du buchst zuerst 3 Entnahmen, also sollen diese Eingabereihenfolge auch beibehalten werden. Das ist genau, was man als User erwartet.

Man kann leider nicht immer eine Uhrzeit vergeben, weil man diese aus den Dokumenten, die man im Nachhinein einträgt, auch nicht immer herauslesen kann. Was man aber immer weiß ist die Reihenfolge, in der etwas in die Liste wandern soll. Von daher würde ich sagen, “first come, first serve”.

… was du oder 50% der User erwarten, vielleicht?!

Das ist Quatsch, du kannst spätestens im Nachgang IMMER eine Uhrzeit hinzufügen.

Du widersprichst dir selbst.
Was ist denn die richtige Reihenfolgen, wenn du diesen Fall hast:

Ich wundere mich, wie es einzelne Menschen schaffen, einem Programm, das es seit 2014 gibt, einreden zu wollen, was richtig und was falsch ist.

Wem die Reihenfolge falsch erscheint, trägt eine Uhrzeit ein. Wem das zu viel Arbeit ist, nimmt die Reihenfolge, wie sie ist.

Ich verstehe nicht, warum Du hier einen agressiven Ton rein bringen musst?

Dass man im Nachhinein eine Uhrzeit einfügen KANN, das ist mir schon klar. Aber wenn ich eine Buchung habe, bei der mir nicht bekannt ist zu welcher Uhrzeit sie denn gemacht wurde, und das Verhalten der Software so ist, dass die nächste Buchung die ich oben einfüge, aus unerklärlichen Gründen zwischen andere vorhandene Buchungen einsortiert wird (was für mich absolut kein erwartetes Verhalten ist), dann bin ich gezwungen künstlich Uhrzeiten zu erfinden.

Wenn ich von der Bank ein Dokument ausgehändigt bekomme und da stehen 10 Buchungen und ich füge diese alle der Reihe nach von unten nach oben bei mir ein, dann will ich sie doch auch genau in dieser Reihenfolge bei mir sehen. Aktuell wird je nach Anfangsbuchstaben der nächsten Buchung die Liste einfach in eine andere Reinehfolge gebracht. Das kann doch kein Mensch als erwartetes User-Verhalten definieren.

Da widerspreche ich mir überhaupt nicht. Ich möchte als Anwender die Reihenfolge sehen, in der ich etwas eingegeben habe und nicht, dass mir die Software das durcheinander bringt. Punkt! Wie man das denn anzweifeln und darauf bestehen, dass wenn es schon seit 2014 so ist, es auch richtig sein muss? Du glaubst gar nicht, wie viele Anwender sich an schlechte Usability unter Leiden gewöhnen, nur weil sie dem Entwickler kein Feedback geben können.

Wenn Du in Excel von unten nach oben eintippst “Zwei”, “Drei”, “Vier” erwartest Du doch auch nicht, dass Dir Excel daraus die Reihenfolge “Drei”, “Vier”, “Zwei” macht, nur weil es denkt, es muss den Text jetzt alphabetisch sortieren

An welcher Stelle?

Zum Rest. Du meldest dich im Forum an, verbringst die wenigste Zeit mit Lesen, und erklärst dann was richtig und was falsch ist…

Da brauchen wir nicht zu diskutieren. Eine Uhrzeit zu pflegen und wenn es nur ein künstliches 00:01 ist löst dein Problem.

Das ist schon richtig - ich habe mich hier angemeldet, um genau dies als Feedback zu geben. Ich möchte ja nicht beleidigend sein damit.

Und klar, das simple 00:01 ist genau das, was ich täglich mache, aber ich bin es mittlerweile einfach leid das machen zu müssen. Ich habe gehofft, dass ich mit meinem Feedback vielleicht eine Verbesserung erreichen kann, aber ich merke, dass wir da völlig unterschiedlicher Meinung sind und sich nichts ändern wird.

Von daher gebe ich es auf und tippe die nächsten 10 Jahre 00:01 ein, nur weil die Software meint, dass das besser ist, als einfach die Eingabereihenfolge des Andwenders beizubehalten.

Du könntest auch einen Debug bereitstellen und die Auto-Import-Funktion für PDF’s nutzen.
Oder wenn es die Bank/der Depotanbieter anbietet, das CSV importieren.

Wahlweise kannst du auch (hast es vielleicht auch schon) der Bank schreiben, sie sollen doch bitte die Uhrzeiten mit angeben.

Denn das was du am Ende in der Hand hast ist auch nur eine (zufällig?!) erstellte Liste, zumindest muss man davon ausgehen, wenn die Bank keine Uhrzeiten mit ausgibt.

Ob die jetzt richtig oder falsch ist, sei mal dahingestellt.

Es geht hier auch nicht darum, dir deinen Wunsch madig machen zu wollen. Sondern einzig und alleine darum, sich trotz seines Wunsches auch mal kurz damit zu beschäftigen ob das eigene Problem auch wirklich das Problem von vielen ist und eben nicht einfach so tun als sei der eigene Vorschlag der Weisheit letzter schluss.

Und ganz am Ende dieser Kette, sollte man auch bedenken, welchen Einfluss eine Änderung für die bestehenden Nutzer hat. Damit sind wir selbst nämlich auch schon auf die Nase gefallen.

Das ist natürlich etwas schwierig mit verschiedenen Banken, die involviert sein können

Als zufällig würde ich sie nicht bezeichnen. Die Banken gehen normalerweise her und legen die Reihenfolge der Buchungen fest, wie sie eben angefallen sind.

Daher verstehe ich auch nicht, warum man als Software darauf pochen muss, diese Reihenfolge ändern zu müssen/wollen.

Wenn eine Bank die Positionen so festhält und auf dem Auszug ausgibt, wie sie gebucht wurden, dann möchte ich als User das doch auch so eingeben können

Und ich möchte doch nicht, dass es nach der Eingabe dann wie folgt in der Liste steht, nur weil das die alphabetische Reihenfolge ist

Daher frage ich mich auch, was ist denn der Grund, dass man sagt, diese Reihenfolge ist perfekt und gefällt uns? Ich möchte in meinen Buchungen zum Beispiel auch sehen, dass ich am Tag x mein Gehalt bekommen habe und danach von diesem Gehalt gewisse Ausgaben stattgefunden haben und nicht, dass “A” für Ausgabe vor “G” wie gehalt einsortiert wird.

Also wenn man das streng nimmt, könnte man fast sagen, das sind Falsch-Buchungen.

Vielleicht nochmals die Frage, was war der Grund, dass es gerade so implementiert wurde und man dann eine Möglichkeit des Workaround mittels künstlich eingeführter Uhrzeit dokumentiert/geschaffen hat, à la “00:01”, “00:02”, …?

Also das verstehe ich schon. Aber im obigen Abschnitt hatte ich es schon gefragt, was ist denn der Grund das bisherige Verhalten als “Weisheit letzter schluss” zu bezeichnen?

Ich kenne so ein ähnliches Problem aus der Arbeit. Da sagt das ganze Team, dass ein Verhalten nicht logisch ist und breaking implementiert werden müsste. Gleichzeitig hat man Angst, dass es 1 Kunden nicht gefallen könnte, nur weil es jetzt ein anderes Verhalten ist. Die 99 anderen die sich darüber freuen würden blendet man völlig aus. Klar kann ich jetzt auch nicht garantieren, dass ich mit meiner Meinung jetzt bei den 99 bin, aber es gibt gewisse Dinge, die man als User halt erwartet und gewisse Dinge, die einem einfach komisch vorkommen, wenn man damit arbeitet und die man absolut gar nicht erwartet. Und das ist leider so ein Teil, der mir seit Anfang an nicht gut vorkommt, da es eben in die gewünschte Buchungsreihenfolge des Users eingreift.

Da gibt es noch einen zweiten Teil, der eigentlich unter einer separaten Überschrift laufen müsste, aber auch die Reihenfolge betrifft. Als User wünscht man sich, dass man die Buchungen auch per Drag & Drop verschieben kann. Wäre das möglich, könnte ich zumindest noch, wenn mir schon die Software in meine Buchungs-Reihenfolge eingreift, diese Elemente per Drag & Drop verschieben (meinetwegen nur innerhalb eines bestimmten Tages, wie im Excel-Beispiel oben, innerhalb des “26.09.2026”). Klar, das geht auch per “00:01” etc. aber eleganter ist es definitiv per Drag & Drop. Aber auch das impliziert, dass nicht die Software sortiert, wie SIE denkt, dass es toll ist, sondern, wie der USER das denkt und auch gebucht hat.

Das ist natürlich richtig, wenn man aber an der Reihenfolge der bestehenden Buchungen nichts durcheinander bringt, was den User verärgern könnte, dann dürfte das das schmerzfrei sein. Ich glaube jedenfalls nicht, dass ein User erwartet, dass seine Buchungen nach Drücken des “Speichern”-Buttons alphabetisch eingereiht wird und nicht so, wie er es angedacht hatte, in der Reihenfolge in der er es eingegeben (gebucht) hat. Das würde mich schon arg wundern, wenn da eine dann sauer wird :wink:

Der Kritikpunkt an sich ist schon nachvollziehbar. Das Alphabet für die automatische Sortierung zu nehmen ist bei Bankbuchungen wenig sinnvoll. Aber mit der Uhrzeit gibt es nunmal einen funktionierenden Workaround.

Eine Ausnahme gibt es jedoch. Eine Umbuchung ist nur eine Buchung die mit zwei Zeilen dargestellt wird. Der Trick mit der Uhrzeit funktioniert da nicht. Der Eingang kommt vor dem Ausgang.

Das ist grundsätzlich richtig. Allerdings sollten Workarounds in der Softwareentwicklung aus meiner Sicht nicht als dauerhafter Bestandteil der eigentlichen Funktionalität betrachtet werden.

Ein Workaround ist vor allem dann sinnvoll, wenn die Ursache eines Problems außerhalb des eigenen Einflussbereichs liegt oder wenn kurzfristig eine Übergangslösung benötigt wird, damit der Kunde weiterarbeiten kann, bis eine saubere Behebung verfügbar ist. Eine Ausnahme wäre auch, wenn durch eine vermeintliche „Behebung“ bewusst vorhandene und für den Kunden relevante Funktionalität beeinträchtigen würde. In diesem Fall wäre allerdings zu prüfen, ob es sich überhaupt noch um einen Workaround oder vielmehr um eine begründete Designentscheidung handelt.

Vielleicht gibt es gute Gründe dafür, warum die alphabetische Sortierung in diesem Fall genau so umgesetzt werden muss. Wenn sich dieses Verhalten fachlich oder technisch begründen lässt, kann es entsprechend im Design verankert werden. Dann wäre es aber eben kein Workaround mehr, sondern bewusst gewünschtes Verhalten.

Bisher ist mir im Verlauf dieses Threads aber nicht klar geworden, welchen Zweck dieses Verhalten erfüllt bzw. warum es zwingend erforderlich ist. Genau diese Begründung wäre aus meiner Sicht notwendig, bevor man die aktuelle Lösung als dauerhaft ausreichend ansieht.

Weil wohl irgendeine Sortierung gebraucht wird (je nach Buchungstyp), siehe z.B. Sortierproblem? "Comparison method violates its general contract!" - #8 by AndreasB
Wollte man die Sortierung nach der Reihenfolge der Eingabe, dann müsste man ja die Reihenfolge der Eingaben speichern, was aus meiner Sicht eine der sinnlosesten Speicherungen überhaupt wäre.
Wenn Du eine bestimmte Reihenfolge erzwingen willst, nutze die Uhrzeit.

In Java sollte doch meiner Meinung nach sowas möglich sein (angenommen, ein Anwender gibt seine Buchungen sogar gemischt mit unterschiedlicher Datums-Reihenfolge ein, was auch eher unwahrscheinlich, aber möglich ist):

Sechs   28.09.2026 15:00
Fünf    27.09.2026 00:00
Vier    29.09.2026 10:30
Drei    27.09.2026 00:00
Zwei    28.09.2026 00:00
Eins    27.09.2026 00:00
List<Item> items = new ArrayList<>();

items.add(0, new Item("Eins",  date("27.09.2026 00:00")));
items.add(0, new Item("Zwei",  date("28.09.2026 00:00")));
items.add(0, new Item("Drei",  date("27.09.2026 00:00")));
items.add(0, new Item("Vier",  date("29.09.2026 10:30")));
items.add(0, new Item("Fünf",  date("27.09.2026 00:00")));
items.add(0, new Item("Sechs", date("28.09.2026 15:00")));

items.sort(Comparator.comparing(Item::getDate).reversed());

Mit add(0, ...) fügen wir die neueste Eingabe immer vor den bisherigen Eingaben ein. Und beim List.sort() ist es so, dass wenn zwei Einträge exakt denselben Datums-Wert haben, verändert Java deren bestehende Reihenfolge nicht.

Dann sollte doch das hier am Ende bei rauskommen:

Vier    29.09.2026 10:30

Sechs   28.09.2026 15:00
Zwei    28.09.2026 00:00

Fünf    27.09.2026 00:00
Drei    27.09.2026 00:00
Eins    27.09.2026 00:00

Müsste natürlich nochmals evaluiert werden und mit entsprechenden Tests versehen. Das hab ich jetzt nicht gemacht…