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",
15 { "message" => $msg }));
19 sub create_standard_buchungsgruppen_skr03 {
22 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
23 "WHERE description = 'Standard 16%'";
24 my ($count) = $dbh->selectrow_array($query);
28 "INSERT INTO buchungsgruppen " .
29 "(description, inventory_accno_id, " .
30 " income_accno_id_0, expense_accno_id_0, " .
31 " income_accno_id_1, expense_accno_id_1, " .
32 " income_accno_id_2, expense_accno_id_2, " .
33 " income_accno_id_3, expense_accno_id_3) " .
37 "(SELECT id FROM chart WHERE link = 'IC' " .
38 " ORDER BY id ASC LIMIT 1), "
41 " (SELECT id FROM chart WHERE accno = '3980'), ") .
42 # 8400: Erlöse 16% USt.
43 # 3400: Wareneingang 16% Vorsteuer
44 " (SELECT id FROM chart WHERE accno = '8400'), " .
45 " (SELECT id FROM chart WHERE accno = '3400'), " .
46 # 8125: Steuerfrei innergem. Lieferungen §41bUStG
47 # 3550: Steuerfreier innergem.Erwerb
48 " (SELECT id FROM chart WHERE accno = '8125'), " .
49 " (SELECT id FROM chart WHERE accno = '3550'), " .
50 # 8400: Erlöse 16% USt.
51 # 3400: Wareneingang 16% Vorsteuer
52 " (SELECT id FROM chart WHERE accno = '8400'), " .
53 " (SELECT id FROM chart WHERE accno = '3400'), " .
54 # 8120: Steuerfreie Umsätze §4Nr.1a UstG
55 # 3550: Steuerfreier innergem.Erwerb
56 " (SELECT id FROM chart WHERE accno = '8120'), " .
57 " (SELECT id FROM chart WHERE accno = '3550'))";
58 $dbh->do($query) || mydberror($query);
61 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
62 "WHERE description = 'Standard 7%'";
63 my ($count) = $dbh->selectrow_array($query);
67 "INSERT INTO buchungsgruppen " .
68 "(description, inventory_accno_id, " .
69 " income_accno_id_0, expense_accno_id_0, " .
70 " income_accno_id_1, expense_accno_id_1, " .
71 " income_accno_id_2, expense_accno_id_2, " .
72 " income_accno_id_3, expense_accno_id_3) " .
76 "(SELECT id FROM chart WHERE link = 'IC' " .
77 " ORDER BY id ASC LIMIT 1), "
80 " (SELECT id FROM chart WHERE accno = '3980'), ") .
81 # 8300: Erlöse 7% USt.
82 # 3300: Wareneingang 7% Vorsteuer
83 " (SELECT id FROM chart WHERE accno = '8300'), " .
84 " (SELECT id FROM chart WHERE accno = '3300'), " .
85 # 8125: Steuerfrei innergem. Lieferungen §41bUStG
86 # 3550: Steuerfreier innergem.Erwerb
87 " (SELECT id FROM chart WHERE accno = '8125'), " .
88 " (SELECT id FROM chart WHERE accno = '3550'), " .
89 # 8300: Erlöse 7% USt.
90 # 3420: Innergemein.Erwerb 7% VorSt u. Ust
91 " (SELECT id FROM chart WHERE accno = '8300'), " .
92 " (SELECT id FROM chart WHERE accno = '3420'), " .
93 # 8120: Steuerfreie Umsätze §4Nr.1a UstG
94 # 3300: Wareneingang 7% Vorsteuer
95 " (SELECT id FROM chart WHERE accno = '8120'), " .
96 " (SELECT id FROM chart WHERE accno = '3300'))";
97 $dbh->do($query) || mydberror($query);
103 sub create_standard_buchungsgruppen_skr04 {
106 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
107 "WHERE description = 'Standard 16%'";
108 my ($count) = $dbh->selectrow_array($query);
112 "INSERT INTO buchungsgruppen " .
113 "(description, inventory_accno_id, " .
114 " income_accno_id_0, expense_accno_id_0, " .
115 " income_accno_id_1, expense_accno_id_1, " .
116 " income_accno_id_2, expense_accno_id_2, " .
117 " income_accno_id_3, expense_accno_id_3) " .
119 "('Standard 16%', " .
121 "(SELECT id FROM chart WHERE link = 'IC' " .
122 " ORDER BY id ASC LIMIT 1), "
124 # 1140: Bestand Waren
125 " (SELECT id FROM chart WHERE accno = '1140'), ") .
126 # 4400: Erlöse 16% USt.
127 # 5400: Wareneingang 16% Vorsteuer
128 " (SELECT id FROM chart WHERE accno = '4400'), " .
129 " (SELECT id FROM chart WHERE accno = '5400'), " .
130 # 4125: Steuerfrei innergem. Lieferungen §41bUStG
131 # 5550: Steuerfreier innergem.Erwerb
132 " (SELECT id FROM chart WHERE accno = '4125'), " .
133 " (SELECT id FROM chart WHERE accno = '5550'), " .
134 # 4315: Erlös Inland stpfl.EG-Lieferung 16%
135 # 5425: Innergem.Erwerb 16% VorSt u. Ust
136 " (SELECT id FROM chart WHERE accno = '4315'), " .
137 " (SELECT id FROM chart WHERE accno = '5425'), " .
138 # 4150: Sonstige steuerfreie Umsätze §42-7UStG
139 # 5550: Steuerfreier innergem.Erwerb
140 " (SELECT id FROM chart WHERE accno = '4150'), " .
141 " (SELECT id FROM chart WHERE accno = '5550'))";
142 $dbh->do($query) || mydberror($query);
145 $query = "SELECT COUNT(*) FROM buchungsgruppen " .
146 "WHERE description = 'Standard 7%'";
147 my ($count) = $dbh->selectrow_array($query);
151 "INSERT INTO buchungsgruppen " .
152 "(description, inventory_accno_id, " .
153 " income_accno_id_0, expense_accno_id_0, " .
154 " income_accno_id_1, expense_accno_id_1, " .
155 " income_accno_id_2, expense_accno_id_2, " .
156 " income_accno_id_3, expense_accno_id_3) " .
160 "(SELECT id FROM chart WHERE link = 'IC' " .
161 " ORDER BY id ASC LIMIT 1), "
163 # 1140: Bestand Waren
164 " (SELECT id FROM chart WHERE accno = '1140'), ") .
166 # 5300: Wareneingang 7% Vorsteuer
167 " (SELECT id FROM chart WHERE accno = '4300'), " .
168 " (SELECT id FROM chart WHERE accno = '5300'), " .
169 # 4125: Steuerfrei innergem. Lieferungen §41bUStG
170 # 5550: Steuerfreier innergem.Erwerb
171 " (SELECT id FROM chart WHERE accno = '4125'), " .
172 " (SELECT id FROM chart WHERE accno = '5550'), " .
173 # 4310: Erlöse Inland stpfl. EG-Lieferung7%
174 # 5420: Innergemein.Erwerb 7% VorSt u. Ust
175 " (SELECT id FROM chart WHERE accno = '4310'), " .
176 " (SELECT id FROM chart WHERE accno = '5420'), " .
177 # 4150: Sonstige steuerfreie Umsätze §42-7UStG
178 # 5550: Steuerfreier innergem.Erwerb
179 " (SELECT id FROM chart WHERE accno = '4150'), " .
180 " (SELECT id FROM chart WHERE accno = '5550'))";
181 $dbh->do($query) || mydberror($query);
187 sub create_standard_buchungsgruppen {
188 my $form = $main::form;
190 my $query = "SELECT coa FROM defaults";
191 my ($coa) = $dbh->selectrow_array($query);
193 if ($coa eq "Germany-DATEV-SKR03EU") {
194 return create_standard_buchungsgruppen_skr03();
195 } elsif ($coa eq "Germany-DATEV-SKR04EU") {
196 return create_standard_buchungsgruppen_skr04();
199 print($form->parse_html_template("dbupgrade/" .
200 "std_buchungsgruppen_unknown_coa",
206 return create_standard_buchungsgruppen();