#Deaktivierung nicht ausführung bedeutet: alter Steuersatz = neuer Steuersatz #################################### #UPDATE mwstumstellung SET fpSteuersatzNeu = fpSteuersatzAlt; #update mwstumstellung set dateUmstellung = "2020-07-01"; #UPDATE mwstumstellung SET dateUmstellung = "2007-01-01"; # rückumstellung ###################################################################################################### 3er version #start transaction; UPDATE mwstumstellung SET fpSteuersatzAlt = fpSteuersatzNeu; UPDATE mwstumstellung SET fpSteuersatzNeu = 19; UPDATE mwstumstellung SET fpSteuersatzNeu = 7 WHERE bErmaesigt = 1; UPDATE mwstumstellung SET dateUmstellung = "2021-01-01"; UPDATE mwstumstellung SET fpSteuersatzNeuBeleg = 16 WHERE bErmaesigt = 0; UPDATE mwstumstellung SET fpSteuersatzAltBeleg = 19 WHERE bErmaesigt = 0; UPDATE mwstumstellung SET fpSteuersatzNeuBeleg = 5 WHERE bErmaesigt = 1; UPDATE mwstumstellung SET fpSteuersatzAltBeleg = 7 WHERE bErmaesigt = 1; SET @Nummernlaenge := (SELECT eKontonummern FROM fibuparameter WHERE FiBuParameterID = 1) -4 ; SET @Nummernlaenge := POW(10,@Nummernlaenge); SET @Nummernlaenge := IF(@Nummernlaenge IS NULL, 1, @Nummernlaenge); #Erlöskonto wird selektiert SET @ErloeskontoNormal03 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (8400 * @Nummernlaenge) AND SKRNummer = 3 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlVerkaufNormal03Erloes:= (SELECT Nummer FROM Steuerschluessel WHERE ErloesKonto = @ErloeskontoNormal03 AND fpsteuersatz = 19 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlVerkaufNormal03:= IF (@StSchlVerkaufNormal03Erloes IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 0 AND s1.Nummer < 500), @StSchlVerkaufNormal03Erloes ); #Erlöskonto wird selektiert SET @ErloeskontoErmaesigt03 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (8300 * @Nummernlaenge) AND SKRNummer = 3 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlVerkaufErmaesigt03Erloes:= (SELECT Nummer FROM Steuerschluessel WHERE ErloesKonto = @ErloeskontoErmaesigt03 AND fpsteuersatz = 7 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlVerkaufErmaesigt03:= IF (@StSchlVerkaufErmaesigt03 IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 0 AND s1.Nummer < 500), @StSchlVerkaufErmaesigt03Erloes ); #Kostenkonto wird selektiert SET @KostenkontoNormal03 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (3400 * @Nummernlaenge) AND SKRNummer = 3 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlEinkaufNormal03Kosten:= (SELECT Nummer FROM Steuerschluessel WHERE KostenKonto = @KostenkontoNormal03 AND fpsteuersatz = 19 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlEinkaufNormal03:= IF (@StSchlEinkaufNormal03Kosten IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 499), @StSchlEinkaufNormal03Kosten ); #Kostenkonto wird selektiert SET @KostenkontoErmaesigt03 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (3300 * @Nummernlaenge) AND SKRNummer = 3 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlEinkaufErmaesigt03Kosten:= (SELECT Nummer FROM Steuerschluessel WHERE KostenKonto = @KostenkontoErmaesigt03 AND fpsteuersatz = 7 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlEinkaufErmaesigt03:= IF (@StSchlEinkaufErmaesigt03Kosten IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 499), @StSchlEinkaufErmaesigt03Kosten ); #Erlöskonto wird selektiert SET @ErloeskontoNormal04 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (4400 * @Nummernlaenge) AND SKRNummer = 4 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlVerkaufNormal04Erloes:= (SELECT Nummer FROM Steuerschluessel WHERE ErloesKonto = @ErloeskontoNormal04 AND fpsteuersatz = 19 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlVerkaufNormal04:= IF (@StSchlVerkaufNormal04Erloes IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 0 AND s1.Nummer < 500), @StSchlVerkaufNormal04Erloes ); #Erlöskonto wird selektiert SET @ErloeskontoErmaesigt04 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (4300 * @Nummernlaenge) AND SKRNummer = 4 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlVerkaufErmaesigt04Erloes:= (SELECT Nummer FROM Steuerschluessel WHERE ErloesKonto = @ErloeskontoErmaesigt04 AND fpsteuersatz = 7 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlVerkaufErmaesigt04:= IF (@StSchlVerkaufErmaesigt04 IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 0 AND s1.Nummer < 500), @StSchlVerkaufErmaesigt04Erloes ); #Kostenkonto wird selektiert SET @KostenkontoNormal04 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (5400 * @Nummernlaenge) AND SKRNummer = 4 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlEinkaufNormal04Kosten:= (SELECT Nummer FROM Steuerschluessel WHERE KostenKonto = @KostenkontoNormal04 AND fpsteuersatz = 19 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlEinkaufNormal04:= IF (@StSchlEinkaufNormal04Kosten IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 499), @StSchlEinkaufNormal04Kosten ); #Kostenkonto wird selektiert SET @KostenkontoErmaesigt04 := (SELECT sachkontoid FROM sachkonto WHERE Nummer = (5300 * @Nummernlaenge) AND SKRNummer = 4 AND (subSachKontoID IS NULL OR subSachKontoID = 0)); SET @StSchlEinkaufErmaesigt04Kosten:= (SELECT Nummer FROM Steuerschluessel WHERE KostenKonto = @KostenkontoErmaesigt04 AND fpsteuersatz = 7 LIMIT 1); # entwerder man nimmt einen vorhanden Steuerschlüssel oder man erstellt einen neuen mit minimaler Nummer SET @StSchlEinkaufErmaesigt04:= IF (@StSchlEinkaufErmaesigt04Kosten IS NULL, (SELECT MIN( Nummer +1) FROM steuerschluessel s1 WHERE NOT EXISTS (SELECT Nummer FROM steuerschluessel s2 WHERE s2.Nummer = s1.Nummer +1 ) AND s1.Nummer > 499), @StSchlEinkaufErmaesigt04Kosten ); #SKR 03 Normal UPDATE mwstumstellung SET StSchlEinkaufNeu = @StSchlEinkaufNormal03, StSchlVerkaufNeu = @StSchlVerkaufNormal03, KontoNeuMwSt = 1776, KontoNeuVSt = 1576, KontoNeuMwStNF = 1766, KontoNeuErloes = 8400 , KontoNeuKosten = 3400, KontoNeuSkontiKunden = 8736, KontoNeuSkontiLieferanten = 3736, KontoNeuInnerErwerbe = 3425, KontoNeuInnerErloese = 8315, KontoNeuInnerErwerbeVSt = 1574, KontoNeuInnerErwerbeMwSt = 1774, KontoNeuInnerErloeseVSt = 1574, KontoNeuInnerErloeseMwSt = 1774 WHERE MwStID = 1; #SKR 03 Ermäßigt UPDATE mwstumstellung SET StSchlEinkaufNeu = @StSchlEinkaufErmaesigt03, StSchlVerkaufNeu = @StSchlVerkaufErmaesigt03, KontoNeuMwSt = 1771, KontoNeuVSt = 1571, KontoNeuMwStNF = 1761, KontoNeuErloes = 8300, KontoNeuKosten = 3300, KontoNeuSkontiKunden = 8731, KontoNeuSkontiLieferanten = 3731, KontoNeuInnerErwerbe = 3420, KontoNeuInnerErloese = 8310, KontoNeuInnerErwerbeVSt = 1572, KontoNeuInnerErwerbeMwSt = 1772, KontoNeuInnerErloeseVSt = 1572, KontoNeuInnerErloeseMwSt = 1772 WHERE MwStID = 2; #SKR 04 Normal UPDATE mwstumstellung SET StSchlEinkaufNeu = @StSchlEinkaufNormal04, StSchlVerkaufNeu = @StSchlVerkaufNormal04, KontoNeuMwSt = 3806, KontoNeuVSt = 1406, KontoNeuMwStNF = 3816, KontoNeuErloes = 4400, KontoNeuKosten = 5400, KontoNeuSkontiKunden = 4736, KontoNeuSkontiLieferanten = 5736, KontoNeuInnerErwerbe = 5425, KontoNeuInnerErloese = 4315, KontoNeuInnerErwerbeVSt = 1404, KontoNeuInnerErwerbeMwSt = 3804, KontoNeuInnerErloeseVSt = 1404, KontoNeuInnerErloeseMwSt = 3804 WHERE MwStID = 3; #SKR 04 Ermäßigt UPDATE mwstumstellung SET StSchlEinkaufNeu = @StSchlEinkaufErmaesigt04, StSchlVerkaufNeu = @StSchlVerkaufErmaesigt04, KontoNeuMwSt = 3801, KontoNeuVSt = 1401, KontoNeuMwStNF = 3811, KontoNeuErloes = 4300, KontoNeuKosten = 5300, KontoNeuSkontiKunden = 4731, KontoNeuSkontiLieferanten = 5731, KontoNeuInnerErwerbe = 5420, KontoNeuInnerErloese = 4310, KontoNeuInnerErwerbeVSt = 1402, KontoNeuInnerErwerbeMwSt = 3802, KontoNeuInnerErloeseVSt = 1402, KontoNeuInnerErloeseMwSt = 3802 WHERE MwStID = 4; #select @Nummernlaenge, KontoNeuInnerErloese from mwstumstellung; UPDATE mwstumstellung SET KontoNeuMwSt = KontoNeuMwSt * @Nummernlaenge, KontoNeuVSt = KontoNeuVSt * @Nummernlaenge, KontoNeuMwStNF = KontoNeuMwStNF * @Nummernlaenge, KontoNeuErloes = KontoNeuErloes * @Nummernlaenge, KontoNeuKosten = KontoNeuKosten * @Nummernlaenge, KontoNeuSkontiKunden = KontoNeuSkontiKunden * @Nummernlaenge, KontoNeuSkontiLieferanten = KontoNeuSkontiLieferanten * @Nummernlaenge, KontoNeuInnerErwerbe = KontoNeuInnerErwerbe * @Nummernlaenge, KontoNeuInnerErloese = KontoNeuInnerErloese * @Nummernlaenge, KontoNeuInnerErwerbeVSt = KontoNeuInnerErwerbeVSt * @Nummernlaenge, KontoNeuInnerErwerbeMwSt = KontoNeuInnerErwerbeMwSt * @Nummernlaenge, KontoNeuInnerErloeseVSt = KontoNeuInnerErloeseVSt * @Nummernlaenge, KontoNeuInnerErloeseMwSt = KontoNeuInnerErloeseMwSt * @Nummernlaenge; #ROLLBACK;