3 die("This script cannot be run from the command line.") unless ($main::form);
7 die($dbup_locale->text("Database update error:") .
8 "<br>$msg<br>" . $DBI::errstr);
14 print($main::form->parse_html_template("dbupgrade/units_error", { "message" => $msg }));
23 "SET link = 'AP_amount:IC_cogs', pos_ustva = 91 " .
24 "WHERE accno = '3559'";
25 $dbh->do($query) || mydberror($query);
36 "SET link = 'AP_amount:IC_cogs', pos_ustva = 91 " .
37 "WHERE accno = '5559'";
38 $dbh->do($query) || mydberror($query);
44 sub create_standard_buchungsgruppen_skr03 {
47 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
48 "WHERE description = 'Standard 16%'";
49 my ($count) = $dbh->selectrow_array($query);
53 "INSERT INTO buchungsgruppen " .
54 "(description, inventory_accno_id, " .
55 " income_accno_id_0, expense_accno_id_0, " .
56 " income_accno_id_1, expense_accno_id_1, " .
57 " income_accno_id_2, expense_accno_id_2, " .
58 " income_accno_id_3, expense_accno_id_3) " .
62 " (SELECT id FROM chart WHERE accno = '3980'), " .
63 # 8400: Erlöse 16% USt.
64 # 3400: Wareneingang 16% Vorsteuer
65 " (SELECT id FROM chart WHERE accno = '8400'), " .
66 " (SELECT id FROM chart WHERE accno = '3400'), " .
67 # 8320: Erlöse aus im and.EG-Land steuerpfl.Lieferungen
68 # 3550: Steuerfreier innergem.Erwerb
69 " (SELECT id FROM chart WHERE accno = '8320'), " .
70 " (SELECT id FROM chart WHERE accno = '3550'), " .
71 # 8315: Erlös Inland stpfl.EG-Lieferung 16%
72 # 3425: Innergem.Erwerb 16% VorSt u. Ust
73 " (SELECT id FROM chart WHERE accno = '8315'), " .
74 " (SELECT id FROM chart WHERE accno = '3425'), " .
75 # 8120: Steuerfreie Umsätze §4Nr.1a UstG
76 # 3559: Steuerfreie Einfuhren
77 " (SELECT id FROM chart WHERE accno = '8120'), " .
78 " (SELECT id FROM chart WHERE accno = '3559'))";
79 $dbh->do($query) || mydberror($query);
82 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
83 "WHERE description = 'Standard 7%'";
84 my ($count) = $dbh->selectrow_array($query);
88 "INSERT INTO buchungsgruppen " .
89 "(description, inventory_accno_id, " .
90 " income_accno_id_0, expense_accno_id_0, " .
91 " income_accno_id_1, expense_accno_id_1, " .
92 " income_accno_id_2, expense_accno_id_2, " .
93 " income_accno_id_3, expense_accno_id_3) " .
97 " (SELECT id FROM chart WHERE accno = '3980'), " .
98 # 8300: Erlöse 7% USt.
99 # 3300: Wareneingang 7% Vorsteuer
100 " (SELECT id FROM chart WHERE accno = '8300'), " .
101 " (SELECT id FROM chart WHERE accno = '3300'), " .
102 # 8125: Steuerfrei innergem. Lieferungen §41bUStG
103 # 3550: Steuerfreier innergem.Erwerb
104 " (SELECT id FROM chart WHERE accno = '8125'), " .
105 " (SELECT id FROM chart WHERE accno = '3550'), " .
106 # 8310: Erlöse Inland stpfl. EG-Lieferung7%
107 # 3420: Innergemein.Erwerb 7% VorSt u. Ust
108 " (SELECT id FROM chart WHERE accno = '8310'), " .
109 " (SELECT id FROM chart WHERE accno = '3420'), " .
110 # 8120: Steuerfreie Umsätze §4Nr.1a UstG
111 # 3559: Steuerfreie Einfuhren
112 " (SELECT id FROM chart WHERE accno = '8120'), " .
113 " (SELECT id FROM chart WHERE accno = '3559'))";
114 $dbh->do($query) || mydberror($query);
120 sub create_standard_buchungsgruppen_skr04 {
123 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
124 "WHERE description = 'Standard 16%'";
125 my ($count) = $dbh->selectrow_array($query);
129 "INSERT INTO buchungsgruppen " .
130 "(description, inventory_accno_id, " .
131 " income_accno_id_0, expense_accno_id_0, " .
132 " income_accno_id_1, expense_accno_id_1, " .
133 " income_accno_id_2, expense_accno_id_2, " .
134 " income_accno_id_3, expense_accno_id_3) " .
136 "('Standard 16%', " .
137 # 1140: Bestand Waren
138 " (SELECT id FROM chart WHERE accno = '1140'), " .
139 # 4400: Erlöse 16% USt.
140 # 5400: Wareneingang 16% Vorsteuer
141 " (SELECT id FROM chart WHERE accno = '4400'), " .
142 " (SELECT id FROM chart WHERE accno = '5400'), " .
143 # 4125: Steuerfrei innergem. Lieferungen §41bUStG
144 # 5550: Steuerfreier innergem.Erwerb
145 " (SELECT id FROM chart WHERE accno = '4125'), " .
146 " (SELECT id FROM chart WHERE accno = '5550'), " .
147 # 4315: Erlös Inland stpfl.EG-Lieferung 16%
148 # 5425: Innergem.Erwerb 16% VorSt u. Ust
149 " (SELECT id FROM chart WHERE accno = '4315'), " .
150 " (SELECT id FROM chart WHERE accno = '5425'), " .
151 # 4150: Sonstige steuerfreie Umsätze §42-7UStG
152 # 5559: Steuerfreie Einfuhren
153 " (SELECT id FROM chart WHERE accno = '4150'), " .
154 " (SELECT id FROM chart WHERE accno = '5559'))";
155 $dbh->do($query) || mydberror($query);
158 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
159 "WHERE description = 'Standard 7%'";
160 my ($count) = $dbh->selectrow_array($query);
164 "INSERT INTO buchungsgruppen " .
165 "(description, inventory_accno_id, " .
166 " income_accno_id_0, expense_accno_id_0, " .
167 " income_accno_id_1, expense_accno_id_1, " .
168 " income_accno_id_2, expense_accno_id_2, " .
169 " income_accno_id_3, expense_accno_id_3) " .
172 # 1140: Bestand Waren
173 " (SELECT id FROM chart WHERE accno = '1140'), " .
175 # 5300: Wareneingang 7% Vorsteuer
176 " (SELECT id FROM chart WHERE accno = '4300'), " .
177 " (SELECT id FROM chart WHERE accno = '5300'), " .
178 # 4125: Steuerfrei innergem. Lieferungen §41bUStG
179 # 5550: Steuerfreier innergem.Erwerb
180 " (SELECT id FROM chart WHERE accno = '4125'), " .
181 " (SELECT id FROM chart WHERE accno = '5550'), " .
182 # 4310: Erlöse Inland stpfl. EG-Lieferung7%
183 # 5420: Innergemein.Erwerb 7% VorSt u. Ust
184 " (SELECT id FROM chart WHERE accno = '4310'), " .
185 " (SELECT id FROM chart WHERE accno = '5420'), " .
186 # 4150: Sonstige steuerfreie Umsätze §42-7UStG
187 # 5559; Steuerfreie Einfuhren
188 " (SELECT id FROM chart WHERE accno = '4150'), " .
189 " (SELECT id FROM chart WHERE accno = '5559'))";
190 $dbh->do($query) || mydberror($query);
196 sub create_standard_buchungsgruppen {
197 my $form = $main::form;
199 my $query = "SELECT coa FROM defaults";
200 my ($coa) = $dbh->selectrow_array($query);
202 if ($coa eq "Germany-DATEV-SKR03EU") {
204 return create_standard_buchungsgruppen_skr03();
206 } elsif ($coa eq "Germany-DATEV-SKR04EU") {
208 return create_standard_buchungsgruppen_skr04();
211 print($form->parse_html_template("dbupgrade/std_buchungsgruppen_unknown_coa", { "coa" => $coa }));
216 return create_standard_buchungsgruppen();