Formular – die besten Beiträge

(PHP-Script) Wieso funktioniert das einmal und einmal nicht?

Hab mal eine Frage zu einer Formular-PHP-aus-einer-json-Datei-auslese-und-wieder-eintrag Funktion, die ich versuche genauer zu verstehen. Genauer gesagt komm ich da an einer Stelle nicht weiter (weil sich Teile der Funktion scheinbar komplett willkürlich verhält!)

Also wenn ich in PHP eine Funktion in der Struktur hier habe:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $params = [
   "p1" => isset($_POST['p1']) ? $_POST['p1'] : null,
   "p2" => isset($_POST['p2']) ? $_POST['p2'] : null,
   "p3" => isset($_POST['p3']) ? $_POST['p3'] : null,
       "p4" => isset($_POST['p4']) ? $_POST['p4'] : null,
   // A_settings
       "P5" => [
           "SP1" => $_POST['P1'],
           "SP2" => $_POST['P2'],
       ],
   ];

und der Inhalt der auszulesenden json Datei so aussieht:

{
   "p1": "antwort1",
   "p2": "antwort2",
   "p3": "antwort3",
   "p4": "antwort4",
   "self": {
       "P5": {
           "SP1": antwort5,
           "SP2": antwort6
       }
   }
}

klappt scheinbar alles hervorragend. Die Parameter werden gefunden und nach dem Absenden des Formulars korrekt überschrieben.

Wenn ich allerdings wie im folgenden Beispiel etwas mehr Parameter hinzufüge wie in dieser Struktur hier und für die Benennung etwas längere Namenschemen verwende:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $params = [
      /// calculation nr1:
      "Self.P1" => isset($_POST['Self.P1']) ? $_POST['Self.P1'] : null,
      "Self.P2" => isset($_POST['Self.P2']) ? $_POST['Self.P2'] : null,
      "Self.P3" => isset($_POST['Self.P3']) ? $_POST['Self.P3'] : null,
      "Self.P4" => isset($_POST['Self.P4']) ? $_POST['Self.P4'] : null,
      .....
      "Self.P18" => isset($_POST['Self.P18']) ? $_POST['Self.P18'] : null,
      "Self.P19" => isset($_POST['Self.P19']) ? $_POST['Self.P19'] : null,
      "Self.P20" => isset($_POST['Self.P20']) ? $_POST['Self.P20'] : null,
      "Self.P21" => isset($_POST['Self.P21']) ? $_POST['Self.P21'] : null,
      ///
    // A_settings
       "self.A_settings" => [
           "w1" => $_POST['w1'],
           "w2" => $_POST['w2'],
       ],
      // B_settings
       "self.B_settings_2" => [
           "w3" => $_POST['w3'],
           "w4" => $_POST['w4'],
       ],

sieht die json-Datei nach dem Absenden für die ersten einfachen Parameter plötzlich so aus:

{
   "Self.P1": null,
   "Self.P2": null,
   "Self.P3": null,
   .....
    "Self.P21": null,

Nur die verschachtelten Parameter, die danach kommen:

"self.A_settings": {
       "w1": "Antwort1",
       "w2": "Antwort2"
   },
   "self.B_settings_2": {
       "w3": "Antwort3",
       "w4": "Antwort4"
   },

werden nach wie vor korrekt in die Datei geschrieben! 

Weiß einer oder hat eine Theorie wieso das eine problemlos funktioniert und bei der anderen Variante plötzlich systematisch alle einfachen Parameter (also Self.P1-21) den Wert "null" zurückgeben? 

Internet, Webseite, Formular, Code, PHP, Programmiersprache, Webentwicklung, Parameter

Was versteht Ihr unter "Kapitalerträge, die nicht dem inländischen Steuerabzug unterlegen haben"?

Ist eine Zwischenüberschrift aus der Einkommensteuererklärung, Anlage KAP.

Man könnte das auch eindeutig formulieren - aber wo kämen wir da hin, wenn staatliche Formulare allgemeinverständlich wären :-(

Wann aber ist ein Kapitalertrag dem Steuerabzug "unterlegen"?

Klar ist die Zuordnung, wenn die Bank bereits Zinsabgeltungssteuer abgezogen hat. Und auch dann, wenn die (i.d.R. ausländische) Bank keine Steuer abgezogen hat.

Was aber, wenn die Bank nur deshalb keine Zinsabgeltungssteuer abgezogen hat, weil ein Freistellungsauftrag vorliegt? 

Die Erläuterungen im Netz, so sie eigene Formulierungen verwenden, schreiben zu "nicht dem Steuerabzug unterlegen", dass dies die Kapitalerträge seien, " für die keine Abgeltungsteuer in Höhe von 25% einbehalten wurden."

So zu finden in der Hilfe von Steuerprogrammen:

https://www.smartsteuer.de/online/ausfuellhilfen/anlage-kap-ausfuellhilfe/

https://apps.datev.de/help-center/documents/9294377

aber auch das Finanzamt NRW schreibt "Sofern kein Steuerabzug von Ihren Einkünften aus Kapitalvermögen vorgenommen wurde, sind Sie verpflichtet diese Einnahmen in Ihrer Steuererklärung anzugeben."

https://www.finanzamt.nrw.de/steuerinfos/privatpersonen/einkuenfte-aus-kapitalvermoegen/ausnahmen-von-der-abgeltungswirkung

Tja, bei ausreichendem Freistellungsauftrag wurde kein Steuerabzug vorgenommen. 

Wäre mir aber neu, dass daraus eine Pflicht zur Steuererklärung folgt.

Andererseits werden zwar einige Beispiele genannt für inländische Erträge, von denen keine Steuer einbehalten wird - aber Freistellungsaufträge sind da nicht genannt.

Was ist da los? Mag ja sein, dass ich als Nicht-Jurist die Formulierung "dem Steuerabzug unterliegen" falsch verstehe - aber "kein Steuerabzug vorgenommen" lässt IMO keinen Interpretationsspielraum.

Habt Ihr die Formulierung in der Anlage KAP sofort verstanden? Wo gebt Ihr die Zinsen an, von denen wegen Freistellungsauftrags keine Steuer einbehalten wurde?

Formular, Abgeltungssteuer, Einkommensteuer, Finanzamt, Steuerrecht

Meistgelesene Beiträge zum Thema Formular