Re: Kontenrahmen SKR, jetzt mit Beispiel
Christoph Franzen <christoph-/[email protected]>
| Newsgroups | gmane.comp.gnome.apps.gnucash.german |
|---|---|
| Organization | Franzen |
| Message-ID | <[email protected]> |
Hallo zusammen, ich sehe das erst jetzt… Am Fri, 1 Dec 2023 18:35:07 +0100 schrieb "jo.wetzig-S0/[email protected]" <jo.wetzig-S0/[email protected]>: > So anbei mal ein paar Links auf meinen Server mit dem SKR 97 Von mir ist der Kontenrahmen für die Wohnungswirtschaft und die (nicht mehr ganz so) aktuelle Version des SKR 49 für gemeinnützige Organisationen und Vereine. Meine Vorgehensweise: 1) NICHT automatisierte Eingabe anhand der Datev-PDF-Dateien/anderer Quellen 2) Speichern als normale „leere“ Gnucash-Datei mit allen Konten OHNE Buchungen 3) Umwandlung von einer Gnucash-Datei *.gnucash/*.xac.gz in eine Vorlage Für die Nicht-Automatisierung vom PDF zu Gnucash habe ich mich entschieden, weil die Qualität des Ergebnisses deutlich schlechter würde. So sind Datev-„Randbemerkungen“ gut als „Hierarchieebenen“ brauchbar und man kann durch solche Ebenen beispielsweise die gesamten „Umsatzsteuer-Unterbäume“ über nur wenige Eintragungen „ausblendbar“ machen. Das bedingt aber, daß man viel von Hand vom PDF nach Gnucash kopieren muß. Man könnte es auch „halbautomatisieren“ und danach noch anpassen. Schritt 3) mache ich mit dem folgenden Skript, das als Eingabe „meine“ Namen nimmt, unter dem die an den neuen Stand angepaßten leeren Kontenrahmen gespeichert sind. Die Pfade und Beschreibungstexte stehen „hart“ im Skript, müssen also auf neue Versionen und die lokale Verzeichnisstruktur angepaßt werden. ########################### # /usr/local/bin/gnc2xea.sh ########################### #!/bin/sh LOC="/usr/local" ENTW="$LOC/Archiv/Eigenentwicklungen/Kontenrahmen" BAK=`date +%Y%j%H%M%S` for D in $@ do KRXEA="$ENTW/$D.xea" if [ "$D" = "KRI" ] then KRXAC="$ENTW/$D.xac.gz" TITLE="Kontenrahmen für die Wohnungswirtschaft" SHORT="Kontenrahmen für die Immobilienwirtschaft (Stand 2012)" LONG="Kontenrahmen für die Wohnungswirtschaft nach GdW / Hammonia Verlag (jetzt Haufe), Stand 2012 Hinweise zur Verwendung: https://wiki.gnucash.org/wiki/De/Wohnungswirtschaft Ersteller: Christoph Franzen, christoph-/[email protected]" elif [ "$D" = "SKR49" ] then KRXAC="$ENTW/$D.gnucash" TITLE="Kontenrahmen SKR49 für Vereine, Stiftungen, gGmbHs" SHORT="Datev-Kontenrahmen SKR49 für Vereine, Stiftungen und gemeinnützige GmbHs" LONG="Ein Kontenrahmen für Vereine nach dem SKR49 der Datev Bei Gebrauch dieses Kontenrahmens sind die allgemeinen Konten abzuwählen. An dem Rahmen sind selbstverständlich noch Anpassungen erforderlich, bis man den seinen Bedürfnissen entsprechenden Kontenplan hat. Hinweise zur Verwendung: https://wiki.gnucash.org/wiki/De/SKR49 Ersteller: Michael Braun 2009, michael-developer-1SGGS//[email protected] Formalia für GnuCash-Vorlagen: Frank H. Ellenberger 2009 Erweitert auf den Stand 2018: Christoph Franzen 2017-2018, christoph-/[email protected]" else exit fi done mv "$KRXEA.gz" "$KRXEA.$BAK.gz" gunzip -c $KRXAC | xsltproc --stringparam title "$TITLE" --stringparam short-description "$SHORT" --stringparam long-description "$LONG" "$LOC/etc/gnc2xea.xsl" - | sed -e "s/act:id type=\"guid/act:id type=\"new/g" > "$KRXEA.tmp" sed -e "s/slot xmlns=\"\"/slot/g" < "$KRXEA.tmp" > "$KRXEA" gzip -N9 "$KRXEA" ########################### Grundstruktur: A) Befüllen von Variablennamen mit den Beschreibungstexten für die Anwender und dem einzulesenden Dateinamen, sowie Datum/Zeit von „jetzt“. B) Die vorherige Version der Zieldatei umbenennen (Sicherheitskopie der alten Kontenrahmen-Vorlage behalten) C) Entpacken der Gnucash-Quelldatei und bearbeiten mit „xsltproc“ und „sed“, um diese in eine Kontenrahmen-Vorlage umzuwandeln. D) Einpacken der XML-Datei mit „gzip“. Das war nicht zur Veröffentlichung gedacht, ist also alles andere als „allgemeingültig“, es sollte grundsätzlich auf jedem Linux laufen, das „xsltproc“ installiert hat, der Rest der Programme sollte immer da sein. Den Quelltext oben könnt Ihr als gemeinfrei ansehen, also damit machen, was Ihr wollt. Die folgende „Umwandlungsvorschrift“ wird auch benötigt (nicht von mir, unter „Copyleft“!): ########################### # gnc2xea.xsl ########################### <?xml version="1.0" encoding="utf-8"?> <!-- gnc2xea.xsl: an XSLT style sheet to create an account hierarchy template from an (uncompressed) GnuCash file. Copyright (C) 2011 Florian Haas <[email protected]> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, contact: Free Software Foundation Voice: +1-617-542-5942 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 Boston, MA 02110-1301, USA gnu-mXXj517/[email protected] --> <xsl:stylesheet version="1.0" xmlns="http://www.gnucash.org/XML/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:act="http://www.gnucash.org/XML/act" xmlns:addr="http://www.gnucash.org/XML/addr" xmlns:bgt="http://www.gnucash.org/XML/bgt" xmlns:billterm="http://www.gnucash.org/XML/billterm" xmlns:book="http://www.gnucash.org/XML/book" xmlns:bt-days="http://www.gnucash.org/XML/bt-days" xmlns:bt-prox="http://www.gnucash.org/XML/bt-prox" xmlns:cd="http://www.gnucash.org/XML/cd" xmlns:cmdty="http://www.gnucash.org/XML/cmdty" xmlns:cust="http://www.gnucash.org/XML/cust" xmlns:employee="http://www.gnucash.org/XML/employee" xmlns:entry="http://www.gnucash.org/XML/entry" xmlns:fs="http://www.gnucash.org/XML/fs" xmlns:gnc="http://www.gnucash.org/XML/gnc" xmlns:gnc-act="http://www.gnucash.org/XML/gnc-act" xmlns:invoice="http://www.gnucash.org/XML/invoice" xmlns:job="http://www.gnucash.org/XML/job" xmlns:lot="http://www.gnucash.org/XML/lot" xmlns:order="http://www.gnucash.org/XML/order" xmlns:owner="http://www.gnucash.org/XML/owner" xmlns:price="http://www.gnucash.org/XML/price" xmlns:recurrence="http://www.gnucash.org/XML/recurrence" xmlns:slot="http://www.gnucash.org/XML/slot" xmlns:split="http://www.gnucash.org/XML/split" xmlns:sx="http://www.gnucash.org/XML/sx" xmlns:taxtable="http://www.gnucash.org/XML/taxtable" xmlns:trn="http://www.gnucash.org/XML/trn" xmlns:ts="http://www.gnucash.org/XML/ts" xmlns:tte="http://www.gnucash.org/XML/tte" xmlns:vendor="http://www.gnucash.org/XML/vendor"> <xsl:output method="xml" encoding="utf-8" indent="yes"/> <xsl:param name="title"> <xsl:message>Please set a title for your account hierarchy by passing in the "title" parameter.</xsl:message> </xsl:param> <xsl:param name="short-description"> <xsl:message>Please set a short description for your account hierarchy by passing in the "short-description" parameter.</xsl:message> </xsl:param> <xsl:param name="long-description"> <xsl:message>Please set a long description for your account hierarchy by passing in the "long-description" parameter.</xsl:message> </xsl:param> <xsl:template match="/"> <gnc-account-example> <gnc-act:title> <xsl:value-of select="$title"/> </gnc-act:title> <gnc-act:short-description> <xsl:value-of select="$short-description"/> </gnc-act:short-description> <gnc-act:long-description> <xsl:value-of select="$long-description"/> </gnc-act:long-description> <gnc-act:exclude-from-select-all>1</gnc-act:exclude-from-select-all> <xsl:apply-templates/> </gnc-account-example> </xsl:template> <xsl:template match="gnc-v2|gnc:book"> <xsl:apply-templates/> </xsl:template> <xsl:template match="gnc:account"> <xsl:copy-of select="."/> </xsl:template> <xsl:template match="*"/> </xsl:stylesheet> ########################### Es wird eine Zieldatei geschrieben, die man zur Veröffentlichung zusammen mit Gnucash und vermutlich Kmymoney direkt verwenden kann. Eventuelle Fragen bitte in die Liste, bitte vorher die Wiki-Seiten lesen, auf die im Quelltext oben verwiesen wird! Von dort aus gibt es im Wiki auch Querverweise. Grüße, Christoph _______________________________________________ gnucash-de mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-de
signature.asc
(application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJltC1xAAoJEP0O2oBXmANfMpsP/RCMNAoK1KMmXUUKitzbGZoO 2K8Kbw7fSU7+pFAtto+lJhK9ZiSBORi4jFQ0jvaWtjkwhq3jHPC3egrRBGXuwhCo amij5U0WvNqmKAt7USEG4S3xceN/lKNfedALkMA8nswp92f79KtYHk+UtyCZcyPS bu0CU4MlmA00VHI7/zsqsHD7ZI2+DQTehZdO5ee+L8QGdcwjnN5S5bsdRyy+144Y NHopZvxE9Xmf+Hx+wVJfMOOIvZO4bkhc8dakbHX671S9I7xsgVGFqHxVDUQUF9Lj LCr12JDXYPz8TyKjvTouty88lhp/LJVO07hh/hvGk3INSY+xaGFtZN+zYsk9PUBy CfvtgHzv+DamfSGZm+K9b2MkkVtaWmX46InLMQ2m2arEUuCAjL1aW6wQL2mcsD6O SkN3sek9mpgrf2qGI8PDlfbJVeAutYcNUh22yoyATpm3Jr/a2+3M8PCdNPW43v+4 n80LYvPPIAU/zyBl8Rrd3PdT5fveIvlT7ilyyG+8fp1QP3y6jSqugIOcIapEytwC wvqzsiVp8pZPZX/K6zfnoVz9cXKnAqtCr4ShCReo1f0T04dooDf8HLevu/YUaPgA BnlounOoq/KrYQgcf2NkJEh9ouRPAjwRbDIzfJchKmI7DdxU3kZTLc6R1tGUh2lB J2sWxKey94PTfZasFGRw =b+MK -----END PGP SIGNATURE-----