[gnucash-de] Steuerrelevanz
Christian Stimming
stimming at tuhh.de
Sam Sep 22 03:34:19 EDT 2007
Am Mittwoch, 19. September 2007 23:42 schrieb Rolf Leggewie:
> >> unabhängig aktuell verfügbarer GUI-Optionen; Ist es möglich ein Konto im
> >> doppelten Sinne als steuerlich relevant zu markieren? Die meisten
> >> Umsatzkonten beispielsweise sind ja sowohl für Einkommens- wie auch
> >> Umsatzsteuer relevant. Für den Augenblick fummele ich notfalls gerne
> >> auch im XML-Code rum.
>
> | <gnc:account version="2.0.0">
> | <act:name>Abziehbare Vorsteuern Inland</act:name>
> | <act:type>ASSET</act:type>
> | <act:description>UstVa Zl. 55, Kz. 66</act:description>
> | <act:slots>
> | <slot>
> | <slot:key>tax-related</slot:key>
> | <slot:value type="integer">1</slot:value>
> | </slot>
> | <slot>
> | <slot:key>tax-US</slot:key>
> | <slot:value type="frame">
> | <slot>
> | <slot:key>code</slot:key>
> | <slot:value type="string">K66</slot:value>
> | </slot>
> | </slot:value>
> | </slot>
> | </act:slots>
>
> Ist das eventuell schon als relevant für Einkommens- und Umsatzsteuer
> markiert? EK-Steuer über <slot:key>tax-related</slot:key> und
> Umsatzsteuer über <slot:key>tax-US</slot:key>. Wie generiere ich dann
> einen Report, mit dem ich was für die Einkommenssteuer anfangen kann?
Hier ist, was mir im Moment einfällt:
Der <slot:key>tax-related</slot:key> mit dem integer value 1 beziehungsweise
0, wenn der Slot nicht existiert, entspricht genau der
checkbox "tax-related"/"steuerrelevant" im "Konto bearbeiten"-Dialog; nicht
mehr und nicht weniger. Abgefragt wird dieses Datenfeld in allen
taxtxf.scm-Funktionen; Konten, die hier keine Eins haben, werden dann in den
Berichten gar nicht weiter berücksichtigt.
Überhaupt werden die Daten in diesen slots von den Funktionen aus Account.c
namens xaccAccountGetTaxRelated und folgende gesetzt; von Scheme aus sind
jene Funktionen unter dem gleichen Namen erreichbar, siehe deren Benutzung
z.B. in ./src/report/locale-specific/us/taxtxf.scm Zeile 183. Die "KVP Slots"
werden erklärt hier: http://svn.gnucash.org/docs/HEAD/group__KVP.html , also
in den doxygen-Kommentaren im source.
Der US tax sourcecode benutzt also bisher den slot "tax-US/code"; wenn du für
den deutschen sourcecode noch weitere Datenfelder benötigst, kannst du die
problemlos als weitere kvp-slots hinzufügen. Du kannst denen dann Werte
zuweisen, indem du im SKR04-template dies einfach hinzuschreibst; der Zugriff
geht dann so, dass du in Account.h und Account.c Funktionen hinzufügst, die
sich an den existierenden orientieren (ich würde mich dann später darum
kümmern, wo die Funktionen endgültig platziert werden), und dann sind diese
Datenfelder auch von Scheme aus erreichbar.
Von der GUI aus erreichbar sind diese Datenfelder natürlich nicht, solange man
nicht manuell einen neuen Dialog (um-)gebaut hat, wo für jedes Datenfeld auch
ein Eingabefeld existiert so wie momentan in ./src/gnome/dialog-tax-info.c ;
aber das halte ich für größeren Aufwand und das wäre erst der übernächste
Schritt.
Jetzt zu deiner eigentlichen Frage: Momentan speichert ein Konto nur eine
einzelne Nummer, die in taxtxf-de_DE.scm eben als Formularfeld in der UstVA
interpretiert wird. Für die Einkommensteuer müsste ein Konto dann eine
weitere Nummer haben, die das Formularfeld für die Einkommensteuer ist,
richtig? Dann benötigst du genau die obige Erklärung für KVP-Slots, denn dann
müsstest du also ein Datenfeld bzw. einen KVP-Slot für die UstVA haben und
ein weiteres, neues, für die Einkommensteuer und so weiter.
In Gnucash ist das mit den KVP-Slots alles *möglich*; es wird aber halt doch
etwas mehr Aufwand. Mein Ansatz vor zwei Jahren ergab sich aus der Frage, in
wieweit man die deutsche UstVA machen kann, *ohne* dabei neue Datenfelder
anzulegen, sondern stattdessen ausschließlich die sowieso vorhandenen
Strukturen zu nutzen. Ich würde empfehlen, bei diesem Ansatz zu bleiben und
deutsche Steuererklärungs-Funktionen in mehreren Schritten zu implementieren:
Zuerst also nur eine einzige Erklärung zu unterstützen (mittels der eh
vorhandenen Datenfelder), und wenn das tatsächlich funktioniert und auch die
Nachfrage da ist, dann (aber erst dann) in einem weiteren Schritt auch
mittels zusätzlicher Datenfelder auch weitere Erklärungen zu unterstützen.
Aber wenn du lieber mehrere Sachen gemeinsam implementieren möchtest, werd ich
dich nicht davon abhalten. "You have been warned" :-)
Gruß
Christian
PS: Ggf. ist die Erklärung oben wohl schon ein Fall für's Wiki :-)