250 Fibu Export Buchhaltung » Historie » Revision 29
Revision 28 ([X] Jens M, 15.11.2024 10:19) → Revision 29/30 ([X] Jens M, 21.11.2024 11:01)
h1. 250 Fibu Export Buchhaltung
{{toc}}
h2. Inhaltliche Eckpunkte
# Stammdaten
## "Kontenrahmen":https://help.prodat-erp.de/erloes.html pflegen (unter: Stammdaten // Vorgaben // Zubehör // Kontenrahmen)
## Steuersätze pflegen (unter: Stammdaten // Vorgaben // Steuersätze)
##* Werden "Kontierung Steuer"-Spalten rot angezeigt, fehlt der zugehörige Eintrag im Kontenrahmen
# Horizontale Berechnungsmethode: #11229
# Umsatzübergabe
## Steuercode / Steuerschlüssel + Kontierung Steuer
## Kontierung Umsatz ((Dienstleistung nach Schweiz = Umsatzkonto "Dienstleistung Export)
## Kontierung Kostenrechnung (Dienstleistung Schulung = KostenRechnungskonto Schulung)
## Kontierung Aufwand / Erlös
##*
https://help.prodat-erp.de/erloes.html
##*
https://help.prodat-erp.de/anbindung_externe_buchhaltung.html
h2. Datenfluss & Debugging
* Angebot/Auftrag > Rechnung
## Steuerschlüssel hat Kontierung
## Belegzeile (Rechnung) hat Kontierung
## Evtl Umschlüsselung auf anderes Konto > https://help.prodat-erp.de/erloes.html
*** Dienstleistung und Umsatzsteuerfrei nicht EU wird zu Kontierung Umsatz "Exportierte Dienstleistung". Diese Aufteilung ist vom Gesetzgeber vorgegeben.
* Rechnung > @FUNCTION Tfaktura.fibu__export__data_preparation@ <> @FUNCTION TFaktura.belkopf__horizontal_tax_values@ > Exportschnittstelle (CSV)
<pre><code class="sql">
FUNCTION Tfaktura.fibu__export__data_preparation
IN in_be_bnr VARCHAR DEFAULT NULL,
IN group_by_konto BOOLEAN DEFAULT True,
IN group_by_ks BOOLEAN DEFAULT false,
IN group_by_an_nr BOOLEAN DEFAULT false
</code></pre>
h3. Debugging
* @SELECT * FROM TFaktura.belkopf__horizontal_tax_values('RG19-01575')@
* @SELECT * FROM Tfaktura.fibu__export__data_preparation('RG19-01575')@
h2. Nachbearbeitung von Daten
* *Aktualisierung aller offenen Angebote/Aufträge: Kontierung*
<pre><code class="sql">
SELECT * INTO z_99_drop.auftg_save_konto FROM auftg;
BEGIN;
ALTER TABLE auftg DISABLE TRIGGER ALL;
-- UPDATE auftg SET ag_konto = COALESCE(ak_zeko, ac_konto_erl)
SELECT ag_astat, ag_nr, ag_pos, ag_aknr, ak_ac, ac_konto_erl, ag_konto FROM art, artcod, auftg
-- FROM art, artcod
WHERE ag_aknr = ak_nr AND ak_ac = ac_n AND ag_konto IS NULL AND COALESCE(ak_zeko, ac_konto_erl) IS NOT NULL AND ag_astat IN ('E', 'A') /*AND NOT ag_done*/;
ALTER TABLE auftg ENABLE TRIGGER ALL;
COMMIT;
</code></pre>
* *Zurücksetzen* (für den Fall das falsche Kontierungen bzw. Kontierung überhaupt nicht gewünscht)
<pre><code class="sql">
BEGIN;
ALTER TABLE auftg DISABLE TRIGGER ALL;
UPDATE auftg SET ag_konto = NULL WHERE NOT ag_done AND ag_konto IS NOT NULL;
ALTER TABLE auftg ENABLE TRIGGER ALL;
COMMIT;
</code></pre>
* *Aktualisierung aller Ausgangsrechnungen: kontierung*
<pre><code class="sql">
BEGIN;
ALTER TABLE belzeil_grund DISABLE TRIGGER ALL;
ALTER TABLE belzeil_auftg_lif DISABLE TRIGGER ALL;
ALTER TABLE belzeil_frei DISABLE TRIGGER ALL;
--*/
--/*
-- UPDATE belzeil_grund SET bz_zeko = COALESCE(ak_zeko, ac_konto_erl)
SELECT bz_be_bnr, bz_aknr, ak_ac, ac_konto_erl, bz_zeko FROM belzeil_grund, art, artcod, belkopf
-- FROM art, artcod, belkopf
WHERE be_bnr = bz_be_bnr AND bz_aknr = ak_nr AND ak_ac = ac_n AND bz_zeko IS NULL AND COALESCE(ak_zeko, ac_konto_erl) IS NOT NULL AND be_bdat >= current_date - 180
--*/
ALTER TABLE belzeil_grund ENABLE TRIGGER ALL;
ALTER TABLE belzeil_auftg_lif ENABLE TRIGGER ALL;
ALTER TABLE belzeil_frei ENABLE TRIGGER ALL;
COMMIT;
</code></pre>
* *Zurücksetzen* (für den Fall das falsche Kontierungen bzw. Kontierung überhaupt nicht gewünscht)
<pre><code class="sql">
SELECT * INTO z_99_drop.belzeil_grund_save_konto FROM belzeil_grund;
ROLLBACK;
BEGIN;
ALTER TABLE belzeil_grund DISABLE TRIGGER ALL;
ALTER TABLE belzeil_auftg_lif DISABLE TRIGGER ALL;
ALTER TABLE belzeil_frei DISABLE TRIGGER ALL;
--EXPLAIN ANALYSE VERBOSE
UPDATE belzeil_grund SET bz_zeko = NULL FROM belkopf WHERE bz_zeko IS NOT NULL AND be_bnr = bz_be_bnr AND be_bdat >= current_date - 180;
-- SELECT bz_be_bnr FROM belzeil_grund, belkopf WHERE bz_zeko IS NOT NULL AND be_bnr = bz_be_bnr AND be_bdat >= current_date - 180;
ALTER TABLE belzeil_grund ENABLE TRIGGER ALL;
ALTER TABLE belzeil_auftg_lif ENABLE TRIGGER ALL;
ALTER TABLE belzeil_frei ENABLE TRIGGER ALL;
COMMIT;
</code></pre>