<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Klarkosten – Nebenkostenabrechnung</title>
    <description>The latest articles on DEV Community by Klarkosten – Nebenkostenabrechnung (@klarkosten_de).</description>
    <link>https://dev.to/klarkosten_de</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4200104%2Fbac1814c-86fe-463a-902f-99ee41425773.png</url>
      <title>DEV Community: Klarkosten – Nebenkostenabrechnung</title>
      <link>https://dev.to/klarkosten_de</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/klarkosten_de"/>
    <language>en</language>
    <item>
      <title>Fehlend ist nicht null: ein Datenmodell für offene Formulare</title>
      <dc:creator>Klarkosten – Nebenkostenabrechnung</dc:creator>
      <pubDate>Thu, 22 Oct 2026 09:33:36 +0000</pubDate>
      <link>https://dev.to/klarkosten_de/fehlend-ist-nicht-null-ein-datenmodell-fur-offene-formulare-2ogo</link>
      <guid>https://dev.to/klarkosten_de/fehlend-ist-nicht-null-ein-datenmodell-fur-offene-formulare-2ogo</guid>
      <description>&lt;p&gt;Ein leeres Zahlenfeld und die ausdrücklich eingegebene Zahl &lt;strong&gt;0&lt;/strong&gt; können im Formular ähnlich unspektakulär wirken. Im Datenmodell beschreiben sie unterschiedliche Situationen. Wer beide Zustände gleich behandelt, verliert eine Information, die sich später kaum noch zuverlässig rekonstruieren lässt.&lt;/p&gt;

&lt;h2&gt;
  
  
  Drei Zustände statt eines stillen Standardwerts
&lt;/h2&gt;

&lt;p&gt;Für eine kleine Lernanwendung genügt zunächst eine überschaubare Trennung:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Zustand&lt;/th&gt;
&lt;th&gt;Bedeutung&lt;/th&gt;
&lt;th&gt;Zahlenwert&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Offen&lt;/td&gt;
&lt;td&gt;Die Angabe wurde noch nicht beantwortet.&lt;/td&gt;
&lt;td&gt;keiner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Erfasst&lt;/td&gt;
&lt;td&gt;Eine Angabe wurde ausdrücklich übernommen.&lt;/td&gt;
&lt;td&gt;einschließlich 0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rückfrage&lt;/td&gt;
&lt;td&gt;Eine Quelle ist unklar oder widersprüchlich.&lt;/td&gt;
&lt;td&gt;noch nicht freigegeben&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Eine Rückfrage braucht einen kurzen Grund und einen Verweis auf die betreffende Quelle. „Betrag auf Seite 2 unleserlich“ hilft bei der Weiterarbeit mehr als ein allgemeines Fehlerzeichen.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Erfasst&lt;/em&gt; bedeutet dabei noch nicht &lt;em&gt;inhaltlich geprüft&lt;/em&gt;. Wenn diese zweite Information benötigt wird, sollte sie als eigener Prüfstatus modelliert werden. Ein einziges Feld muss nicht den gesamten Arbeitsprozess abbilden.&lt;/p&gt;

&lt;h2&gt;
  
  
  Warum die Summe allein nicht genügt
&lt;/h2&gt;

&lt;p&gt;Eine Summenanzeige kann rechnerisch korrekt und trotzdem missverständlich sein. Enthält eine Liste fünf bestätigte Beträge und zwei offene Positionen, beschreibt die Summe zunächst nur die fünf vorhandenen Beträge. Sie beweist keine Vollständigkeit.&lt;/p&gt;

&lt;p&gt;Statt offene Einträge still als null zu behandeln, kann die Oberfläche neben dem Ergebnis zeigen: „5 von 7 Angaben erfasst; 2 Rückfragen offen“. Damit bleiben &lt;strong&gt;Rechenstand und Vollständigkeit&lt;/strong&gt; unterscheidbar.&lt;/p&gt;

&lt;p&gt;Ein einfacher Modelltest lautet: Wird eine ausdrücklich erfasste Null beim Speichern und erneuten Laden weiterhin als beantwortete Angabe angezeigt? Bleibt ein unbeantwortetes Feld zugleich offen? Falls beide anschließend gleich aussehen, ging beim Speichern oder Darstellen Information verloren.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dieselbe Unterscheidung im Export
&lt;/h2&gt;

&lt;p&gt;Ein PDF sollte den vorhandenen Arbeitsstand wiedergeben. Ein technischer Standardwert darf nicht wie eine bestätigte Angabe erscheinen. Sinnvoll sind ein Erstellungsdatum, eine erkennbare Kennzeichnung offener Punkte und eine klare Beschreibung dessen, was die angezeigte Summe umfasst.&lt;/p&gt;

&lt;p&gt;Für einen kleinen Test reichen vollständig fiktive Daten: eine Position mit 0, eine mit einem Betrag und eine mit offener Rückfrage. Danach werden Formular, gespeicherter Zustand und Export nebeneinander verglichen. So lässt sich prüfen, ob die Bedeutung über alle drei Ansichten erhalten bleibt.&lt;/p&gt;




&lt;p&gt;Dieses eigenständige technische Lernbeispiel stammt aus dem Projektkontext &lt;a href="https://nebenkostenabrechnung-klar.de/" rel="noopener noreferrer"&gt;Klarkosten&lt;/a&gt;. Es beschreibt &lt;strong&gt;keine interne Implementierung&lt;/strong&gt; des Rechners und enthält keine echten Mieterdaten. Text und eigene Projektillustration wurden mit KI-Unterstützung erstellt; Beispiele und Aussagen wurden für diesen Beitrag geprüft.&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
