Hallo Taxoloop,
danke für die ausführliche Erklärung zu den fachlichen Unterschieden zwischen Belegnummer, Rechnungsnummer und Fremdbeleg. Diese Unterscheidung ist mir bewusst – ich hatte die Begriffe ja selbst aufgelistet, um Missverständnissen vorzubeugen, da in vorherigen Beiträgen von Rechnungsnummern die Rede war, obwohl ich im Eingangspost und auch danach ausschließlich von Belegnummern sprach:
Man müßte ja dann auch alle jetzt neu entstandenen Rechnungen mit neuer Rechnungsnummer an die Kunden versenden.
Daraufhin hatte ich in Post #8 klargestellt, dass ich Taxpool nicht zur Rechnungserstellung nutze, sondern Rechnungen lediglich über "Kunden/Lieferanten → Einfache Erfassung von Rechnungsdaten" erfasse. Dennoch:
Wenn also Rechnungen (und damit auch OPs) mit gleichen Rechnungsnummern erstellt wurden, wird man die falsch eingegebenen Rechnungsnummern in der Faktura korrigieren müssen und nicht erst in den daraus erstellten Buchungen.
Es geht mir nicht um Rechnungsnummern, sondern ausschließlich um die Belegnummern. Hauptsächlich deshalb habe ich die Begriffsliste in Post #12 niedergeschrieben, weil ich das Gefühl hatte, dass die Begriffe teilweise vermischt werden.
Zur Redundanz
Mein Punkt zur Redundanz bezog sich nicht auf die fachliche Ebene (dass Belegnummer, Rechnungsnummer und Fremdbeleg unterschiedliche Informationen sind – das ist klar), sondern auf die technische Ebene:
Wenn ein Eintrag unter Kunden/Lieferanten mit einem Buchungssatz verknüpft ist, existiert die Belegnummer (und auch die Fremdbelegnummer) an zwei Stellen in der Datenbank – einmal im Rechnungsdatensatz, einmal im Buchungssatz. Diese redundante Datenhaltung ermöglicht rein datenkonzeptionell - also vom Datenmodell her - , dass unterschiedliche, widersprüchliche Werte gespeichert sein könnten. Konsistent bleibt das nur, wenn die Synchronisation immer und überall sauber durchgeführt wird. In einer Konsistenzprüfung (Gegenüberstellung der Werte bei korrekter Datensatz-Verknüpfung) würden Abweichungen auffallen. Redundante Datenhaltung ist grundsätzlich möglich, erfordert aber konsequente Synchronisation – noch besser ist es, solche Redundanzen bereits im Datenmodell zu vermeiden, wann immer möglich.
Und genau das passiert hier: Die Synchronisation funktioniert teilweise, aber eben nicht durchgängig zuverlässig. Bei manchen Änderungen werden die gespiegelten Felder in den verknüpften Datensätzen aktualisiert, bei anderen nicht.
Und noch zu [1] / Belegkreise bei Zahlungen: Die Belegnummer der Zahlungsbuchung wird im Rahmen der OP-Verknüpfung auf die der Rechnung gesetzt – siehe den ergänzt eingepflegten Link in meinem Posting #11.
Viele Grüsse
blinky