};
$self->{subs} = {
+ 'assign_buchungsgruppen_for_assemblies' => 'assign_buchungsgruppen_for_assemblies',
'create_buchungsgruppen' => 'create_buchungsgruppen',
'display_create_bgs_dialog' => 'display_create_bgs_dialog',
'do_update' => 'do_update',
'set_ic_links' => 'set_ic_links',
'set_taxzone_ids' => 'set_taxzone_ids',
'update_known_buchungsgruppen' => 'update_known_buchungsgruppen',
+ 'buchungsgruppe_erfassen' => 'create_buchungsgruppen',
};
1;
'Could not transfer Inventory!' => 'Konnte Waren nicht umlagern!',
'Could not update prices!' => 'Preise konnten nicht aktualisiert werden!',
'Country' => 'Land',
+ 'Create Buchungsgruppen' => 'Buchungsgruppe erfassen',
'Create Chart of Accounts' => 'Kontenplan anlegen',
'Create Dataset' => 'Datenbank anlegen',
'Credit' => 'Haben',
'E-mailed' => 'eMail gesendet.',
'ELSTER Export nach Winston' => 'ELSTER Export nach Winston',
'ELSTER-Steuernummer: ' => 'ELSTER-Steuernummer: ',
+ 'EU with VAT ID' => 'EU mit UstId-Nummer',
+ 'EU without VAT ID' => 'EU ohne UstId-Nummer',
'EUER' => 'Einnahmen-/Überschussrechnung',
'EUR' => 'E/Ü-Rechnung',
'Edit' => 'Bearbeiten',
'Exchangerate Difference' => 'Wechselkursunterschied',
'Exchangerate for payment missing!' => 'Es fehlt der Wechselkurs für die Bezahlung!',
'Exchangerate missing!' => 'Es fehlt der Wechselkurs!',
+ 'Existing Buchungsgruppen' => 'Existierende Buchungsgruppen',
'Existing Datasets' => 'existierende Datenbanken',
'Expense' => 'Aufwandskonto',
'Expense Account' => 'Aufwandskonto',
+ 'Expense accno' => 'Aufwandskonto',
'Expense/Asset' => 'Aufwand/Anlagen',
'Expired licenses' => 'Abgelaufene Lizenzen',
'Expiring in x month(s)' => 'Die in x Monat(en) ablaufen',
'Include in Report' => 'In Bericht aufnehmen',
'Include in drop-down menus' => 'In Aufklappmenü aufnehmen',
'Income Statement' => 'GuV',
+ 'Income accno' => 'Erlöskonto',
'Incoming Payments' => 'Zahlungseingänge',
'Incorrect Password!' => 'Ungültiges Passwort!',
'Incorrect username or password!' => 'Ungültiger Benutzername oder falsches Passwort!',
'Input Number Format' => 'Zahlenformat (Eingabe)',
'Interest Rate' => 'Zinssatz',
'Internal Notes' => 'interne Bemerkungen',
+ 'International' => 'Ausland',
'Internet' => 'Internet',
'Introduction of Buchungsgruppen' => 'Einführung von Buchungsgruppen',
'Introduction of units' => 'Einführung von Einheiten',
'Inventory quantity must be zero before you can set this part obsolete!' => 'Bevor diese Ware als ungültig markiert werden kann, muÃ\9f das Inventar Null sein!',
'Inventory saved!' => 'Inventar gespeichert.',
'Inventory transferred!' => 'Inventar umgelagert.',
+ 'Invetory' => 'Inventar',
'Invno.' => '',
'Invnumber' => 'Rechnungsnummer',
'Invoice' => 'Rechnung',
'N/A' => 'N.Z.',
'Name' => 'Name',
'Name missing!' => 'Name fehlt!',
+ 'National' => 'Inand',
'Netto Terms' => 'Zahlungsziel netto',
+ 'New Buchungsgruppe <TMPL_VAR __counter__>' => 'Neue Buchungsgruppe <TMPL_VAR __counter__>',
'New Templates' => 'neue Vorlagen',
'New unit' => 'Neue Einheit',
'Next Dunning Level' => 'Nächste Mahnstufe',
'Statements sent to printer!' => 'Sammelrechnungen an Drucker geschickt!',
'Step 1 of 3: Parts' => 'Schritt 1 von 3: Waren',
'Step 2 of 3: Services' => 'Schritt 2 von 3: Dienstleistungen',
+ 'Step 3 of 3: Assemblies' => 'Schritt 3 von 3: Erzeugnisse',
'Step 3 of 3: Default units' => 'Schritt 3 von 3: Standardeinheiten',
'Steuerberater/-in' => 'Steuerberater/-in',
'Steuernummer' => 'Steuernummer',
'The database upgrade for the introduction of units is now complete.' => 'Das Datenbankupgrade zwecks Einführung von Einheiten ist nun beendet.',
'The factor is missing in row %d.' => 'Der Faktor fehlt in Zeile %d.',
'The factor is missing.' => 'Der Faktor fehlt.',
+ 'The following Buchungsgruppen have already been created:' => 'Die folgenden Buchungsgruppen wurden bereits angelegt:',
'The following Datasets are not in use and can be deleted' => 'Die folgenden Datenbanken sind nicht in Verwendung und können gelöscht werden',
'The following Datasets need to be updated' => 'Folgende Datenbanken müssen aktualisiert werden',
'The following units are unknown.' => 'Die folgenden Einheiten sind unbekannt.',
'The units have been saved.' => 'Die Einheiten wurden gespeichert.',
'There are four tax zones.' => 'Es gibt vier Steuerzonen.',
'There are still entries in the database for which no unit has been assigned.' => 'Es gibt noch Einträge in der Datenbank, für die keine Einheit zugeordnet ist.',
+ 'There is nothing to do in this step.' => 'In diesem Schritt gibt es nichts mehr zu tun.',
'Therefore there\'s no need to create the same article more than once if it is sold or bought in/from another tax zone.' => 'Deswegen muss man den gleichen Artikel nicht mehr mehrmals anlegen, wenn er in verschiedenen Steuerzonen gehandelt werden soll.',
'These units can be based on other units so that Lx-Office can convert prices when the user switches from one unit to another.' => 'Diese Einheiten können auf anderen Einheiten basieren, sodass Lx-Office Preise umrechnen kann, wenn der Benutzer von einer Einheit zu einer anderen Wechselt.',
'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => 'In diesem Schritt werden bestehende Datenbanken gesucht. Es werden noch keine Änderungen vorgenommen!',
#!/usr/bin/perl
+# Datenbankupgrade: Einfuehrung von Buchungsgruppen
+
die("This script cannot be run from the command line.") unless ($main::form);
sub mydberror {
sub force_inventory_accno_id_for_parts {
my $query =
- "UPDATE parts SET inventory_accno_id = " .
- "(SELECT bg.inventory_accno_id " .
- " FROM buchungsgruppen bg " .
- " WHERE bg.description = 'Standard 16%') " .
- "WHERE (NOT inventory_accno_id ISNULL) AND (inventory_accno_id > 0)";
+ "SELECT inventory_accno_id " .
+ "FROM buchungsgruppen " .
+ "WHERE description = 'Standard 16%'";
+
+ my ($bg_id) = $dbh->selectrow_array($query);
- $dbh->do($query) || mydberror($query);
+ if ($bg_id) {
+ $query =
+ "UPDATE parts SET inventory_accno_id = $bg_id " .
+ "WHERE (NOT inventory_accno_id ISNULL) AND (inventory_accno_id > 0)";
+ $dbh->do($query) || mydberror($query);
+ }
}
sub retrieve_accounts {
my $query =
"SELECT id, inventory_accno_id, income_accno_id, expense_accno_id " .
"FROM parts " .
- "WHERE NOT inventory_accno_id ISNULL AND (inventory_accno_id > 0)";
+ "WHERE NOT inventory_accno_id ISNULL AND (inventory_accno_id > 0) ";
my $sth = $dbh->prepare($query);
$sth->execute() || mydberror($query);
my $query =
"SELECT id, inventory_accno_id, income_accno_id, expense_accno_id " .
"FROM parts " .
- "WHERE inventory_accno_id ISNULL OR (inventory_accno_id = 0)";
+ "WHERE (inventory_accno_id ISNULL OR (inventory_accno_id = 0)) AND " .
+ " NOT assembly";
my $sth = $dbh->prepare($query);
$sth->execute() || mydberror($query);
sub retrieve_unknown_accno_combinations {
my ($buchungsgruppen) = @_;
- my (@parts, @services, $sth, $query, $ref);
+ my (@parts, @services, @assemblies, $sth, $query, $ref);
$query =
"SELECT DISTINCT " .
"c2.accno AS income_accno, c2.description AS income_description, " .
"c3.accno AS expense_accno, c3.description AS expense_description " .
"FROM parts p " .
- "LEFT JOIN chart c1 ON p.inventory_accno_id = c1.id " .
"LEFT JOIN chart c2 ON p.income_accno_id = c2.id " .
"LEFT JOIN chart c3 ON p.expense_accno_id = c3.id " .
- "WHERE inventory_accno_id ISNULL OR (inventory_accno_id = 0)";
+ "WHERE (inventory_accno_id ISNULL OR (inventory_accno_id = 0)) AND " .
+ " NOT assembly";
$sth = $dbh->prepare($query);
$sth->execute() || mydberror($query);
}
$sth->finish();
- return (\@parts, \@services);
+ $query =
+ "SELECT DISTINCT " .
+ "p.income_accno_id, " .
+ "c.accno AS income_accno, c.description AS income_description " .
+ "FROM parts p " .
+ "LEFT JOIN chart c ON p.income_accno_id = c.id " .
+ "WHERE p.assembly AND " .
+ " (p.buchungsgruppen_id ISNULL OR (p.buchungsgruppen_id = 0))";
+
+ $sth = $dbh->prepare($query);
+ $sth->execute() || mydberror($query);
+
+ while ($ref = $sth->fetchrow_hashref()) {
+ push(@assemblies, $ref);
+ }
+
+ return (\@parts, \@services, \@assemblies);
}
sub display_create_bgs_dialog {
$entry->{"eur"} = $main::eur;
}
+ # $form->parse_html_template("dbupgrade/buchungsgruppen_parts")
+ # $form->parse_html_template("dbupgrade/buchungsgruppen_services")
+ # $form->parse_html_template("dbupgrade/buchungsgruppen_assemblies")
+
print($form->parse_html_template("dbupgrade/buchungsgruppen_${type}",
{ "LIST" => $list,
"BUCHUNGSGRUPPEN" => $buchungsgruppen,
$form->{"income_accno_id_3_$i"} &&
$form->{"expense_accno_id_3_$i"});
- my $query =
+ my $query = "SELECT nextval('id')";
+ my ($id) = $dbh->selectrow_array($query);
+ $query =
"INSERT INTO buchungsgruppen (" .
- "description, inventory_accno_id, " .
+ "id, description, inventory_accno_id, " .
"income_accno_id_0, expense_accno_id_0, " .
"income_accno_id_1, expense_accno_id_1, " .
"income_accno_id_2, expense_accno_id_2, " .
"income_accno_id_3, expense_accno_id_3) " .
- "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
- my @values = ($form->{"description_$i"});
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+ my @values = ($id, $form->{"description_$i"});
foreach my $acc (qw(inventory_accno_id
income_accno_id_0 expense_accno_id_0
}
mydoquery($query, @values);
+
+ $form->{"new_buchungsgruppen_id_$i"} = $id;
+ }
+
+ $dbh->commit();
+ $dbh->begin_work();
+}
+
+sub assign_buchungsgruppen_for_assemblies {
+ my ($query, $sth, $i);
+
+ $query =
+ "UPDATE parts " .
+ "SET buchungsgruppen_id = ? " .
+ "WHERE assembly AND " .
+ "(buchungsgruppen_id ISNULL OR (buchungsgruppen_id = 0)) AND " .
+ "(income_accno_id = ?)";
+ $sth = $dbh->prepare($query);
+
+ for ($i = 1; $i <= $form->{"rowcount"}; $i++) {
+ next unless ($form->{"new_buchungsgruppen_id_$i"});
+
+ my @values = ($form->{"new_buchungsgruppen_id_$i"},
+ $form->{"income_accno_id_0_$i"});
+ $sth->execute(@values) ||
+ mydberror($query . " (" . join(", ", @values) . ")");
}
+ $sth->finish();
+
$dbh->commit();
$dbh->begin_work();
}
$sth->finish();
}
+ $inventory_accno_id = 1 unless ($inventory_accno_id);
+
$form->{"std_inventory_accno_id"} = $inventory_accno_id;
}
create_buchungsgruppen();
}
+ if ($main::form->{"action2"} eq "create_buchungsgruppen_assemblies") {
+ create_buchungsgruppen();
+ assign_buchungsgruppen_for_assemblies();
+ }
+
retrieve_std_inventory_accno_id();
# Set all taxzone_id columns = 0.
# Retrieve all distinct combinations of inventory_accno_id,
# income_accno_id and expense_accno_id for which there's no
# Buchungsgruppe. Then let the user create new ones.
- ($parts, $services) = retrieve_unknown_accno_combinations($buchungsgruppen);
+ ($parts, $services, $assemblies) =
+ retrieve_unknown_accno_combinations($buchungsgruppen);
my ($acc_inventory, $acc_income, $acc_expense) = retrieve_accounts();
$acc_inventory, $acc_income, $acc_expense,
$buchungsgruppen);
return 2;
+ } else {
+ print($form->parse_html_template("dbupgrade/buchungsgruppen_parts_done"));
}
if (scalar(@{$services})) {
$acc_inventory, $acc_income, $acc_expense,
$buchungsgruppen);
return 2;
+ } else {
+ print($form->parse_html_template("dbupgrade/buchungsgruppen_services_done"));
+ }
+
+ if (scalar(@{$assemblies})) {
+ display_create_bgs_dialog("assemblies", $assemblies,
+ $acc_inventory, $acc_income, $acc_expense,
+ $buchungsgruppen);
+ return 2;
+ } else {
+ print($form->parse_html_template("dbupgrade/buchungsgruppen_assemblies_done"));
}
print($form->parse_html_template("dbupgrade/buchungsgruppen_footer"));
--- /dev/null
+<div class="listtop">Schritt 3 von 3: Erzeugnisse</div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="path" value="<TMPL_VAR path ESCAPE=HTML>">
+ <input type="hidden" name="login" value="<TMPL_VAR login ESCAPE=HTML>">
+ <input type="hidden" name="hashed_password" value="<TMPL_VAR password ESCAPE=HTML>">
+ <input type="hidden" name="type" value="parts">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="create_buchungsgruppen_assemblies">
+
+ <TMPL_IF saved_message>
+ <p><TMPL_VAR saved_message></p>
+ </TMPL_IF>
+
+ <div class="subsubheading">Existierende Buchungsgruppen</div>
+
+ <p>
+ Die folgenden Buchungsgruppen wurden bereits angelegt:
+ <br>
+ <ul>
+ <TMPL_LOOP BUCHUNGSGRUPPEN>
+ <li>
+ <TMPL_VAR description ESCAPE=HTML>:
+ Inventar: <TMPL_VAR inventory_accno>;
+
+ Erlöskonto/Aufwandskonto
+ Inand: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
+
+ Erlöskonto/Aufwandskonto
+ EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
+
+ Erlöskonto/Aufwandskonto
+ EU ohne UstId-Nummer: <TMPL_VAR income_accno_2>/<TMPL_VAR expense_accno_2>;
+
+ Erlöskonto/Aufwandskonto
+ Ausland: <TMPL_VAR income_accno_3>/<TMPL_VAR expense_accno_3>
+ </li>
+ </TMPL_LOOP>
+ </ul>
+ </p>
+
+ <TMPL_LOOP LIST>
+ <div class="subsubheading">Neue Buchungsgruppe <TMPL_VAR __counter__></div>
+
+ <table>
+ <tr>
+ <td>Beschreibung:</td>
+ <td><input name="description_<TMPL_VAR __counter__>"></td>
+ </tr>
+
+ <TMPL_IF eur>
+ <input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR std_inventory_accno_id>">
+ <TMPL_ELSE>
+ <tr>
+ <td>Inventar:</td>
+ <td>
+ <input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR inventory_accno_id ESCAPE=HTML>">
+ <TMPL_VAR inventory_accno ESCAPE=HTML>--<TMPL_VAR inventory_description ESCAPE=HTML>
+ </td>
+ </tr>
+ </TMPL_IF>
+
+ <tr>
+ <td>Erlöskonto Inand:</td>
+ <td>
+ <input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
+ <TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Aufwandskonto EU mit UstId-Nummer:</td>
+ <td>
+ <select name="expense_accno_id_0_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Erlöskonto EU mit UstId-Nummer:</td>
+ <td>
+ <select name="income_accno_id_1_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Aufwandskonto EU mit UstId-Nummer:</td>
+ <td>
+ <select name="expense_accno_id_1_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Erlöskonto EU ohne UstId-Nummer:</td>
+ <td>
+ <select name="income_accno_id_2_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Aufwandskonto EU ohne UstId-Nummer:</td>
+ <td>
+ <select name="expense_accno_id_2_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Erlöskonto Ausland:</td>
+ <td>
+ <select name="income_accno_id_3_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td>Aufwandskonto Ausland:</td>
+ <td>
+ <select name="expense_accno_id_3_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ <TMPL_IF __last__>
+ <input type="hidden" name="rowcount" value="<TMPL_VAR __counter__>">
+ </TMPL_IF>
+
+ <hr>
+ </TMPL_LOOP>
+
+ <input type="submit" name="dummy" value="Buchungsgruppe erfassen">
+
+</form>
+
--- /dev/null
+<div class="listtop">Schritt 3 von 3: Erzeugnisse</div>
+
+<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
--- /dev/null
+<div class="listtop"><translate>Step 3 of 3: Assemblies</translate></div>
+
+<p><translate>There is nothing to do in this step.</translate></p>
--- /dev/null
+<div class="listtop"><translate>Step 3 of 3: Assemblies</translate></div>
+
+<form name="Form" method="post" action="login.pl">
+
+ <input type="hidden" name="path" value="<TMPL_VAR path ESCAPE=HTML>">
+ <input type="hidden" name="login" value="<TMPL_VAR login ESCAPE=HTML>">
+ <input type="hidden" name="hashed_password" value="<TMPL_VAR password ESCAPE=HTML>">
+ <input type="hidden" name="type" value="parts">
+ <input type="hidden" name="action" value="login">
+ <input type="hidden" name="action2" value="create_buchungsgruppen_assemblies">
+
+ <TMPL_IF saved_message>
+ <p><TMPL_VAR saved_message></p>
+ </TMPL_IF>
+
+ <div class="subsubheading"><translate>Existing Buchungsgruppen</translate></div>
+
+ <p>
+ <translate>The following Buchungsgruppen have already been created:</translate>
+ <br>
+ <ul>
+ <TMPL_LOOP BUCHUNGSGRUPPEN>
+ <li>
+ <TMPL_VAR description ESCAPE=HTML>:
+ <translate>Invetory</translate>: <TMPL_VAR inventory_accno>;
+
+ <translate>Income accno</translate>/<translate>Expense accno</translate>
+ <translate>National</translate>: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
+
+ <translate>Income accno</translate>/<translate>Expense accno</translate>
+ <translate>EU with VAT ID</translate>: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
+
+ <translate>Income accno</translate>/<translate>Expense accno</translate>
+ <translate>EU without VAT ID</translate>: <TMPL_VAR income_accno_2>/<TMPL_VAR expense_accno_2>;
+
+ <translate>Income accno</translate>/<translate>Expense accno</translate>
+ <translate>International</translate>: <TMPL_VAR income_accno_3>/<TMPL_VAR expense_accno_3>
+ </li>
+ </TMPL_LOOP>
+ </ul>
+ </p>
+
+ <TMPL_LOOP LIST>
+ <div class="subsubheading"><translate>New Buchungsgruppe <TMPL_VAR __counter__></translate></div>
+
+ <table>
+ <tr>
+ <td><translate>Description</translate>:</td>
+ <td><input name="description_<TMPL_VAR __counter__>"></td>
+ </tr>
+
+ <TMPL_IF eur>
+ <input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR std_inventory_accno_id>">
+ <TMPL_ELSE>
+ <tr>
+ <td><translate>Inventory</translate>:</td>
+ <td>
+ <input type="hidden" name="inventory_accno_id_<TMPL_VAR __counter__>" value="<TMPL_VAR inventory_accno_id ESCAPE=HTML>">
+ <TMPL_VAR inventory_accno ESCAPE=HTML>--<TMPL_VAR inventory_description ESCAPE=HTML>
+ </td>
+ </tr>
+ </TMPL_IF>
+
+ <tr>
+ <td><translate>Income accno</translate> <translate>National</translate>:</td>
+ <td>
+ <input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
+ <TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
+ </td>
+ </tr>
+
+ <tr>
+ <td><translate>Expense accno</translate> <translate>EU with VAT ID</translate>:</td>
+ <td>
+ <select name="expense_accno_id_0_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><translate>Income accno</translate> <translate>EU with VAT ID</translate>:</td>
+ <td>
+ <select name="income_accno_id_1_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><translate>Expense accno</translate> <translate>EU with VAT ID</translate>:</td>
+ <td>
+ <select name="expense_accno_id_1_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><translate>Income accno</translate> <translate>EU without VAT ID</translate>:</td>
+ <td>
+ <select name="income_accno_id_2_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><translate>Expense accno</translate> <translate>EU without VAT ID</translate>:</td>
+ <td>
+ <select name="expense_accno_id_2_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><translate>Income accno</translate> <translate>International</translate>:</td>
+ <td>
+ <select name="income_accno_id_3_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_INCOME><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><translate>Expense accno</translate> <translate>International</translate>:</td>
+ <td>
+ <select name="expense_accno_id_3_<TMPL_VAR __counter__>">
+ <TMPL_LOOP ACC_EXPENSE><option value="<TMPL_VAR id>" <TMPL_VAR selected>><TMPL_VAR accno ESCAPE=HTML>--<TMPL_VAR description ESCAPE=HTML></option></TMPL_LOOP>
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ <TMPL_IF __last__>
+ <input type="hidden" name="rowcount" value="<TMPL_VAR __counter__>">
+ </TMPL_IF>
+
+ <hr>
+ </TMPL_LOOP>
+
+ <input type="submit" name="dummy" value="<translate>Create Buchungsgruppen</translate>">
+
+</form>
+
-<div class="listtop">Schritt 1 von 2: Waren</div>
+<div class="listtop">Schritt 1 von 3: Waren</div>
<form name="Form" method="post" action="login.pl">
<p><TMPL_VAR saved_message></p>
</TMPL_IF>
- <div class="subsubheading">Bestehende Buchungsgruppen</div>
+ <div class="subsubheading">Existierende Buchungsgruppen</div>
<p>
Die folgenden Buchungsgruppen wurden bereits angelegt:
Inventar: <TMPL_VAR inventory_accno>;
Erlöskonto/Aufwandskonto
- Inland: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
+ Inand: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
Erlöskonto/Aufwandskonto
EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
</TMPL_IF>
<tr>
- <td>Erlöskonto Inland:</td>
+ <td>Erlöskonto Inand:</td>
<td>
<input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
<TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
</tr>
<tr>
- <td>Aufwandskonto Inland:</td>
+ <td>Aufwandskonto Inand:</td>
<td>
<input type="hidden" name="expense_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR expense_accno_id ESCAPE=HTML>">
<TMPL_VAR expense_accno ESCAPE=HTML>--<TMPL_VAR expense_description ESCAPE=HTML>
<hr>
</TMPL_LOOP>
- <input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppen erfassen">
+ <input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppe erfassen">
</form>
--- /dev/null
+<div class="listtop">Schritt 1 von 3: Waren</div>
+
+<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
--- /dev/null
+<div class="listtop"><translate>Step 1 of 3: Parts</translate></div>
+
+<p><translate>There is nothing to do in this step.</translate></p>
-<div class="listtop"><translate>Step 1 of 2: Parts</translate></div>
+<div class="listtop"><translate>Step 1 of 3: Parts</translate></div>
<form name="Form" method="post" action="login.pl">
-<div class="listtop">Schritt 2 von 2: Dienstleistungen</div>
+<div class="listtop">Schritt 2 von 3: Dienstleistungen</div>
<form name="Form" method="post" action="login.pl">
<p><TMPL_VAR saved_message></p>
</TMPL_IF>
- <div class="subsubheading">Bestehende Buchungsgruppen</div>
+ <div class="subsubheading">Existierende Buchungsgruppen</div>
<p>
Die folgenden Buchungsgruppen wurden bereits angelegt:
Inventar: <TMPL_VAR inventory_accno>;
Erlöskonto/Aufwandskonto
- Inland: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
+ Inand: <TMPL_VAR income_accno_0>/<TMPL_VAR expense_accno_0>;
Erlöskonto/Aufwandskonto
EU mit UstId-Nummer: <TMPL_VAR income_accno_1>/<TMPL_VAR expense_accno_1>;
</TMPL_IF>
<tr>
- <td>Erlöskonto Inland:</td>
+ <td>Erlöskonto Inand:</td>
<td>
<input type="hidden" name="income_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR income_accno_id ESCAPE=HTML>">
<TMPL_VAR income_accno ESCAPE=HTML>--<TMPL_VAR income_description ESCAPE=HTML>
</tr>
<tr>
- <td>Aufwandskonto Inland:</td>
+ <td>Aufwandskonto Inand:</td>
<td>
<input type="hidden" name="expense_accno_id_0_<TMPL_VAR __counter__>" value="<TMPL_VAR expense_accno_id ESCAPE=HTML>">
<TMPL_VAR expense_accno ESCAPE=HTML>--<TMPL_VAR expense_description ESCAPE=HTML>
<hr>
</TMPL_LOOP>
- <input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppen erfassen">
+ <input type="submit" onclick="document.Form.action2.value = 'create_buchungsgruppen'; document.Form.submit();" name="dummy" value="Buchungsgruppe erfassen">
</form>
--- /dev/null
+<div class="listtop">Schritt 2 von 3: Dienstleistungen</div>
+
+<p>In diesem Schritt gibt es nichts mehr zu tun.</p>
--- /dev/null
+<div class="listtop"><translate>Step 2 of 3: Services</translate></div>
+
+<p><translate>There is nothing to do in this step.</translate></p>
-<div class="listtop"><translate>Step 2 of 2: Services</translate></div>
+<div class="listtop"><translate>Step 2 of 3: Services</translate></div>
<form name="Form" method="post" action="login.pl">