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();