250 Fibu Export Buchhaltung » Historie » Revision 24
Revision 23 ([X] Daniel S, 16.03.2020 09:25) → Revision 24/29 ([X] Daniel S, 16.03.2020 09:26)
h1. 250 Fibu Export Buchhaltung
{{toc}}
h2. Inhaltliche Eckpunkte
# Umsatzübergabe
*# Steuercode / Steuerschlüssel + Kontierung Steuer
*# Kontierung Umsatz ((Dienstleistung nach Schweiz = Umsatzkonto "Dienstleistung Export)
*# Kontierung Kostenrechnung (Dienstleistung Schulung = Kostenrechnugnskonto Schulung)
*# Kontierung Aufwand / Erlös
https://help.prodat-erp.de/erloes.html
https://help.prodat-erp.de/anbindung_externe_buchhaltung.html
h2. Datenfluß & 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_konto, 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 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_konto, 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 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>