my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh = $form->dbconnect($myconfig);
+ my $dbh = $form->get_standard_dbh($myconfig);
my $query =
qq|SELECT a.id, a.invnumber, a.transdate, a.duedate, a.amount, a.paid, | .
qq| a.ordnumber, v.name, a.invoice, a.netamount, a.datepaid, a.notes, | .
qq| a.globalproject_id, a.storno, a.storno_id, | .
qq| pr.projectnumber AS globalprojectnumber, | .
- qq| e.name AS employee | .
+ qq| e.name AS employee, | .
+ qq| v.vendornumber, v.country, v.ustid, | .
+ qq| tz.description AS taxzone, | .
+ qq| pt.description AS payment_terms, | .
+ qq{ ch.accno || ' -- ' || ch.description AS charts } .
qq|FROM ap a | .
qq|JOIN vendor v ON (a.vendor_id = v.id) | .
qq|LEFT JOIN employee e ON (a.employee_id = e.id) | .
- qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id) |;
+ qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id) | .
+ qq|LEFT JOIN tax_zones tz ON (tz.id = v.taxzone_id)| .
+ qq|LEFT JOIN payment_terms pt ON (pt.id = v.payment_id)| .
+ qq|LEFT JOIN acc_trans at ON (at.trans_id = a.id)| .
+ qq|INNER JOIN chart ch ON (ch.id = at.chart_id AND ch.link ~ 'AP[[:>:]]')|;
my $where = '';
my @values;
$query .= " ORDER BY $sortorder";
- my $sth = $dbh->prepare($query);
- $sth->execute(@values) ||
- $form->dberror($query . " (" . join(", ", @values) . ")");
+ my @result = selectall_hashref_query($form, $dbh, $query, @values);
- $form->{AP} = [];
- while (my $ap = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{AP} }, $ap;
- }
-
- $sth->finish;
- $dbh->disconnect;
+ $form->{AP} = [ @result ];
$main::lxdebug->leave_sub();
}
# now copy acc_trans entries
$query = qq|SELECT a.*, c.link FROM acc_trans a LEFT JOIN chart c ON a.chart_id = c.id WHERE a.trans_id = ? ORDER BY a.acc_trans_id|;
- my $rowref = selectall_hashref_query($form, $dbh, $query, $id);
+ my $rowref = selectall_hashref_query($form, $dbh, $query, $id);
# kill all entries containing payments, which are the last 2n rows, of which the last has link =~ /paid/
while ($rowref->[-1]{link} =~ /paid/) {
my ($self, $myconfig, $form) = @_;
# connect to database
- my $dbh = $form->dbconnect($myconfig);
+ my $dbh = $form->get_standard_dbh($myconfig);
my @values;
my $query =
- qq|SELECT a.id, a.invnumber, a.ordnumber, a.transdate, | .
+ qq|SELECT DISTINCT a.id, a.invnumber, a.ordnumber, a.transdate, | .
qq| a.duedate, a.netamount, a.amount, a.paid, | .
qq| a.invoice, a.datepaid, a.terms, a.notes, a.shipvia, | .
qq| a.shippingpoint, a.storno, a.storno_id, a.globalproject_id, | .
qq| a.marge_total, a.marge_percent, | .
qq| a.transaction_description, | .
qq| pr.projectnumber AS globalprojectnumber, | .
- qq| c.name, | .
+ qq| c.name, c.customernumber, c.country, c.ustid, | .
qq| e.name AS employee, | .
- qq| e2.name AS salesman | .
+ qq| e2.name AS salesman, | .
+ qq| tz.description AS taxzone, | .
+ qq| pt.description AS payment_terms, | .
+ qq{ ch.accno || ' -- ' || ch.description AS charts } .
qq|FROM ar a | .
qq|JOIN customer c ON (a.customer_id = c.id) | .
qq|LEFT JOIN employee e ON (a.employee_id = e.id) | .
qq|LEFT JOIN employee e2 ON (a.salesman_id = e2.id) | .
- qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id)|;
+ qq|LEFT JOIN project pr ON (a.globalproject_id = pr.id)| .
+ qq|LEFT JOIN tax_zones tz ON (tz.id = c.taxzone_id)| .
+ qq|LEFT JOIN payment_terms pt ON (pt.id = c.payment_id)| .
+ qq|LEFT JOIN acc_trans at ON (at.trans_id = a.id)| .
+ qq|INNER JOIN chart ch ON (ch.id = at.chart_id AND ch.link ~ 'AR[[:>:]]')|;
my $where = "1 = 1";
if ($form->{customer_id}) {
}
}
- my @a = (transdate, invnumber, name);
+ my @a = qw(transdate invnumber name);
push @a, "employee" if $form->{l_employee};
my $sortdir = !defined $form->{sortdir} ? 'ASC' : $form->{sortdir} ? 'ASC' : 'DESC';
my $sortorder = join(', ', map { "$_ $sortdir" } @a);
$query .= " WHERE $where ORDER BY $sortorder";
- my $sth = $dbh->prepare($query);
- $sth->execute(@values) ||
- $form->dberror($query . " (" . join(", ", @values) . ")");
+ my @result = selectall_hashref_query($form, $dbh, $query, @values);
- $form->{AR} = [];
- while (my $ar = $sth->fetchrow_hashref(NAME_lc)) {
- push @{ $form->{AR} }, $ar;
- }
-
- $sth->finish;
- $dbh->disconnect;
+ $form->{AR} = [ @result ];
$main::lxdebug->leave_sub();
}
# now copy acc_trans entries
$query = qq|SELECT a.*, c.link FROM acc_trans a LEFT JOIN chart c ON a.chart_id = c.id WHERE a.trans_id = ? ORDER BY a.acc_trans_id|;
- my $rowref = selectall_hashref_query($form, $dbh, $query, $id);
+ my $rowref = selectall_hashref_query($form, $dbh, $query, $id);
# kill all entries containing payments, which are the last 2n rows, of which the last has link =~ /paid/
while ($rowref->[-1]{link} =~ /paid/) {
$sth = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
$form->{assembly_rows} = 0;
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
$form->{assembly_rows}++;
foreach my $key (keys %{$ref}) {
$form->{"${key}_$form->{assembly_rows}"} = $ref->{$key};
FROM translation
WHERE parts_id = ?|;
my $trq = prepare_execute_query($form, $dbh, $query, conv_i($form->{id}));
- while (my $tr = $trq->fetchrow_hashref(NAME_lc)) {
+ while (my $tr = $trq->fetchrow_hashref("NAME_lc")) {
$form->{language_values} .= "---+++---" . join('--++--', @{$tr}{qw(language_id translation longdescription)});
}
$trq->finish;
}
#set expense_accno=inventory_accno if they are different => bilanz
- $vendor_accno =
+ my $vendor_accno =
($form->{expense_accno} != $form->{inventory_accno})
? $form->{inventory_accno}
: $form->{expense_accno};
# get tax rates and description
- $accno_id =
+ my $accno_id =
($form->{vc} eq "customer") ? $form->{income_accno} : $vendor_accno;
$query =
qq|SELECT c.accno, c.description, t.rate, t.taxnumber
my $stw = prepare_execute_query($form, $dbh, $query, $accno_id);
$form->{taxaccount} = "";
- while (my $ptr = $stw->fetchrow_hashref(NAME_lc)) {
+ while (my $ptr = $stw->fetchrow_hashref("NAME_lc")) {
$form->{taxaccount} .= "$ptr->{accno} ";
if (!($form->{taxaccount2} =~ /\Q$ptr->{accno}\E/)) {
$form->{"$ptr->{accno}_rate"} = $ptr->{rate};
$query =
qq|UPDATE parts SET sellprice = sellprice + ?, weight = weight + ?
WHERE id = ?|;
- @values = ($qty * ($form->{sellprice} - $sellprice),
+ my @values = ($qty * ($form->{sellprice} - $sellprice),
$qty * ($form->{weight} - $weight), conv_i($id));
do_query($form, $dbh, $query, @values);
push(@values, conv_i($form->{id}));
}
- if ($partnumber) {
+ if ($form->{partnumber}) {
$where .= qq| ORDER BY p.partnumber|;
} else {
$where .= qq| ORDER BY p.description|;
) AS cv ON cv.id = apoe.customer_id OR cv.id = apoe.vendor_id|,
);
my @join_order = qw(partsgroup makemodel invoice_oi apoe cv pfac);
+
+ my %table_prefix = (
+ deliverydate => 'apoe.', serialnumber => 'ioi.',
+ transdate => 'apoe.', trans_id => 'ioi.',
+ module => 'apoe.', name => 'cv.',
+ ordnumber => 'apoe.', make => 'mm.',
+ quonumber => 'apoe.', model => 'mm.',
+ invnumber => 'apoe.', partsgroup => 'pg.',
+ lastcost => ' ',
+ factor => 'pfac.',
+ 'SUM(ioi.qty)' => ' ',
+ );
+
+ my %renamed_columns = (
+ 'factor' => 'price_factor',
+ 'SUM(ioi.qty)' => 'soldtotal',
+ );
+
my %joins_needed;
- my %table_prefix;
- my %renamed_columns;
if (($form->{searchitems} eq 'assembly') && $form->{l_lastcost}) {
@simple_l_switches = grep { $_ ne 'lastcost' } @simple_l_switches;
#============= build query ================#
- %table_prefix = (
- %table_prefix,
- deliverydate => 'apoe.', serialnumber => 'ioi.',
- transdate => 'apoe.', trans_id => 'ioi.',
- module => 'apoe.', name => 'cv.',
- ordnumber => 'apoe.', make => 'mm.',
- quonumber => 'apoe.', model => 'mm.',
- invnumber => 'apoe.', partsgroup => 'pg.',
- lastcost => ' ',
- factor => 'pfac.',
- 'SUM(ioi.qty)' => ' ',
- );
-
$table_prefix{$q_assembly_lastcost} = ' ';
- %renamed_columns = (
- %renamed_columns,
- 'factor' => 'price_factor',
- 'SUM(ioi.qty)' => 'soldtotal',
- );
-
map { $table_prefix{$_} = 'ioi.' } qw(description serialnumber qty unit) if $joins_needed{invoice_oi};
map { $renamed_columns{$_} = ' AS ' . $renamed_columns{$_} } keys %renamed_columns;
push(@assemblies, $item);
do_statement($form, $sth, $query, conv_i($item->{id}));
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
$ref->{assemblyitem} = 1;
map { $ref->{$_} /= $ref->{factor} || 1 } qw(sellprice listprice lastcost);
push(@assemblies, $ref);
}
my $sth = prepare_execute_query($form, $dbh, $query, @values);
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
foreach my $key (split(/:/, $ref->{link})) {
if ($key =~ /\Q$module\E/) {
if ( ($ref->{id} eq $ref->{inventory_accno_id})
my $sth = prepare_execute_query($form, $dbh, $query, @values);
my $j = 0;
- while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
if (($ref->{partnumber} eq "*") && ($ref->{description} eq "")) {
next;
}
my ($dbh, $id) = @_;
my $query = qq|SELECT sum(qty) FROM invoice WHERE parts_id = ?|;
- my ($sum) = selectrow_query($form, $dbh, $query, conv_i($id));
+ my ($sum) = selectrow_query($main::form, $dbh, $query, conv_i($id));
$sum ||= 0;
$main::lxdebug->leave_sub();
<td align=right><input name="l_globalprojectnumber" class=checkbox type=checkbox value=Y></td>
<td nowrap>| . $locale->text('Project Number') . qq|</td>
</tr>
+ <tr>
+ <td colspan=4 align=left><b>| . $locale->text('Vendor') . qq| </td>
+ </tr>
+ <tr>
+ <td align=right><input name="l_vendornumber" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Vendor Number') . qq|</td>
+ <td align=right><input name="l_country" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Country') . qq|</td>
+ <td align=right><input name="l_ustid" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('USt-IdNr.') . qq|</td>
+ <td align=right><input name="l_taxzone" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Steuersatz') . qq|</td>
+ </tr>
+ <tr>
+ <td align=right><input name="l_payment_terms" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Payment Terms') . qq|</td>
+ <td align=right><input name="l_charts" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Buchungskonto') . qq|</td>
+ </tr>
</table>
</td>
</tr>
my @columns =
qw(transdate id type invnumber ordnumber name netamount tax amount paid datepaid
- due duedate transaction_description notes employee globalprojectnumber);
+ due duedate transaction_description notes employee globalprojectnumber
+ vendornumber country ustid taxzone payment_terms charts);
my @hidden_variables = map { "l_${_}" } @columns;
push @hidden_variables, "l_subtotal", qw(open closed vendor invnumber ordnumber transaction_description notes project_id transdatefrom transdateto);
'notes' => { 'text' => $locale->text('Notes'), },
'employee' => { 'text' => $locale->text('Salesperson'), },
'globalprojectnumber' => { 'text' => $locale->text('Project Number'), },
+ 'vendornumber' => { 'text' => $locale->text('Vendor Number'), },
+ 'country' => { 'text' => $locale->text('Country'), },
+ 'ustid' => { 'text' => $locale->text('USt-IdNr.'), },
+ 'taxzone' => { 'text' => $locale->text('Steuersatz'), },
+ 'payment_terms' => { 'text' => $locale->text('Payment Terms'), },
+ 'charts' => { 'text' => $locale->text('Buchungskonto'), },
);
foreach my $name (qw(id transdate duedate invnumber ordnumber name datepaid employee shippingpoint shipvia transaction_description)) {
$form->{addition} = "ADDED";
$form->save_history($form->dbconnect(\%myconfig));
}
- # /saving the history
-
+ # /saving the history
+
$form->{title} = "Add";
$form->{callback} = "ar.pl?action=add" unless $form->{callback};
my $n = ($form->{creditremaining} =~ /-/) ? "0" : "1";
- $customer = ($form->{selectcustomer})
- ? qq|<select name="customer" onchange="document.getElementById('update_button').click();">$form->{selectcustomer}</select>|
+ $customer = ($form->{selectcustomer})
+ ? qq|<select name="customer" onchange="document.getElementById('update_button').click();">$form->{selectcustomer}</select>|
: qq|<input name=customer value="$form->{customer}" size=35>|;
$employee = qq|
$column_data{exchangerate} = "<th>" . $locale->text('Exch') . "</th>";
$column_data{AR_paid} = "<th>" . $locale->text('Account') . "</th>";
$column_data{source} = "<th>" . $locale->text('Source') . "</th>";
- $column_data{memo} = "<th>" . $locale->text('Memo') . "</th>";
- $column_data{paid_project_id} = "<th>" . $locale->text('Project Number') . "</th>";
+ $column_data{memo} = "<th>" . $locale->text('Memo') . "</th>";
+ $column_data{paid_project_id} = "<th>" . $locale->text('Project Number') . "</th>";
print "
<tr>
print qq| <input type=button class=submit onclick=set_history_window($form->{id}); name=history id=history value=| . $locale->text('history') . qq|> |;
}
# /button for saving history
- # mark_as_paid button
- if($form->{id} ne "") {
- print qq|<input type="submit" class="submit" name="action" value="|
+ # mark_as_paid button
+ if($form->{id} ne "") {
+ print qq|<input type="submit" class="submit" name="action" value="|
. $locale->text('mark as paid') . qq|">|;
}
# /mark_as_paid button
$auth->assert('general_ledger');
- &mark_as_paid_common(\%myconfig,"ar");
+ &mark_as_paid_common(\%myconfig,"ar");
$lxdebug->leave_sub();
}
my $transdate = $form->datetonum($form->{transdate}, \%myconfig);
$form->error($locale->text('Cannot post transaction for a closed period!')) if ($form->date_closed($form->{"transdate"}, \%myconfig));
- $form->error($locale->text('Zero amount posting!'))
+ $form->error($locale->text('Zero amount posting!'))
unless grep $_*1, map $form->parse_amount(\%myconfig, $form->{"amount_$_"}), 1..$form->{rowcount};
$form->isblank("exchangerate", $locale->text('Exchangerate missing!'))
$form->{addition} = "POSTED";
$form->save_history($form->dbconnect(\%myconfig));
}
- # /saving the history
+ # /saving the history
remove_draft() if $form->{remove_draft};
$form->redirect($locale->text('Transaction posted!')) unless $inline;
$form->{addition} = "POSTED AS NEW";
$form->save_history($form->dbconnect(\%myconfig));
}
- # /saving the history
+ # /saving the history
&post;
$lxdebug->leave_sub();
$form->{addition} = "DELETED";
$form->save_history($form->dbconnect(\%myconfig));
}
- # /saving the history
+ # /saving the history
$form->redirect($locale->text('Transaction deleted!'));
}
$form->error($locale->text('Cannot delete transaction!'));
| if $form->{selectdepartment};
$form->{title} = $locale->text('AR Transactions');
-
+
$form->{javascript} .= qq|<script type="text/javascript" src="js/common.js"></script>|;
-
+
# use JavaScript Calendar or not
$form->{jsscript} = 1;
$jsscript = "";
<td align=right><input name="l_transaction_description" class=checkbox type=checkbox value=Y></td>
<td nowrap>| . $locale->text('Transaction description') . qq|</td>
</tr>
+ <tr>
+ <td colspan=4 align=left><b>| . $locale->text('Customer') . qq| </td>
+ </tr>
+ <tr>
+ <td align=right><input name="l_customernumber" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Customer Number') . qq|</td>
+ <td align=right><input name="l_country" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Country') . qq|</td>
+ <td align=right><input name="l_ustid" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('USt-IdNr.') . qq|</td>
+ <td align=right><input name="l_taxzone" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Steuersatz') . qq|</td>
+ </tr>
+ <tr>
+ <td align=right><input name="l_payment_terms" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Payment Terms') . qq|</td>
+ <td align=right><input name="l_charts" class=checkbox type=checkbox value=Y></td>
+ <td nowrap>| . $locale->text('Buchungskonto') . qq|</td>
+ </tr>
+
</table>
</td>
</tr>
@columns =
qw(transdate id type invnumber ordnumber name netamount tax amount paid
datepaid due duedate transaction_description notes salesman employee shippingpoint shipvia
- marge_total marge_percent globalprojectnumber);
+ marge_total marge_percent globalprojectnumber customernumber country ustid taxzone payment_terms charts);
my @hidden_variables = map { "l_${_}" } @columns;
push @hidden_variables, "l_subtotal", qw(open closed customer invnumber ordnumber transaction_description notes project_id transdatefrom transdateto);
'globalprojectnumber' => { 'text' => $locale->text('Project Number'), },
'marge_total' => { 'text' => $locale->text('Ertrag'), },
'marge_percent' => { 'text' => $locale->text('Ertrag prozentual'), },
+ 'customernumber' => { 'text' => $locale->text('Customer Number'), },
+ 'country' => { 'text' => $locale->text('Country'), },
+ 'ustid' => { 'text' => $locale->text('USt-IdNr.'), },
+ 'taxzone' => { 'text' => $locale->text('Steuersatz'), },
+ 'payment_terms' => { 'text' => $locale->text('Payment Terms'), },
+ 'charts' => { 'text' => $locale->text('Buchungskonto'), },
);
foreach my $name (qw(id transdate duedate invnumber ordnumber name datepaid employee shippingpoint shipvia transaction_description)) {
$form->{addition} = "STORNO";
$form->save_history($form->dbconnect(\%myconfig));
}
- # /saving the history
+ # /saving the history
- $form->redirect(sprintf $locale->text("Transaction %d cancelled."), $form->{storno_id});
+ $form->redirect(sprintf $locale->text("Transaction %d cancelled."), $form->{storno_id});
$lxdebug->leave_sub();
}
'Buchungsdatum' => 'Buchungsdatum',
'Buchungsgruppe' => 'Buchungsgruppe',
'Buchungsgruppen' => 'Buchungsgruppen',
+ 'Buchungskonto' => 'Buchungskonto',
'Buchungsnummer' => 'Buchungsnummer',
'Business Number' => 'Firmennummer',
'Business Volume' => 'Geschäftsvolumen',
'Bin List' => 'Lagerliste',
'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte überprüfen Sie die Angaben in config/authentication.pl.',
'Bis' => 'bis',
+ 'Buchungskonto' => 'Buchungskonto',
'CANCELED' => 'Storniert',
'CR' => 'H',
'CRM admin' => 'Administration',
'Contact' => 'Kontakt',
'Continue' => 'Weiter',
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.',
+ 'Country' => 'Land',
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten',
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten',
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten',
'Paid' => 'bezahlt',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Payment Terms' => 'Zahlungskonditionen',
'Payment date missing!' => 'Tag der Zahlung fehlt!',
'Payment posted!' => 'Zahlung gebucht!',
'Payments' => 'Zahlungsausgänge',
'September' => 'September',
'Skip' => 'Überspringen',
'Source' => 'Beleg',
+ 'Steuersatz' => 'Steuersatz',
'Storno' => 'Storno',
'Storno (one letter abbreviation)' => 'S',
'Storno Invoice' => 'Stornorechnung',
'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Type' => 'Typ',
+ 'USt-IdNr.' => 'USt-IdNr.',
'Unit' => 'Einheit',
'Unknown dependency \'%s\'.' => 'Unbekannte Abhängigkeit \'%s\'.',
'Update' => 'Erneuern',
'Variable' => 'Variable',
'Vendor' => 'Lieferant',
'Vendor Invoice' => 'Einkaufsrechnung',
+ 'Vendor Number' => 'Lieferantennummer',
'Vendor details' => 'Lieferantendetails',
'Vendor missing!' => 'Lieferant fehlt!',
'Vendor not on file or locked!' => 'Dieser Lieferant existiert nicht oder ist gesperrt.',
'Bin List' => 'Lagerliste',
'Binding to the LDAP server as "#1" failed. Please check config/authentication.pl.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte überprüfen Sie die Angaben in config/authentication.pl.',
'Bis' => 'bis',
+ 'Buchungskonto' => 'Buchungskonto',
'CANCELED' => 'Storniert',
'CR' => 'H',
'CRM admin' => 'Administration',
'Contact' => 'Kontakt',
'Continue' => 'Weiter',
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.',
+ 'Country' => 'Land',
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten',
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten',
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten',
'Paid' => 'bezahlt',
'Part Number' => 'Artikelnummer',
'Part description' => 'Artikelbeschreibung',
+ 'Payment Terms' => 'Zahlungskonditionen',
'Payment date missing!' => 'Tag der Zahlung fehlt!',
'Payment posted!' => 'Zahlung gebucht!',
'Pick List' => 'Sammelliste',
'Shipping Point' => 'Versandort',
'Skip' => 'Überspringen',
'Source' => 'Beleg',
+ 'Steuersatz' => 'Steuersatz',
'Storno' => 'Storno',
'Storno (one letter abbreviation)' => 'S',
'Storno Invoice' => 'Stornorechnung',
'Transactions, AR transactions, AP transactions' => 'Dialogbuchen, Debitorenrechnungen, Kreditorenrechnungen',
'Trying to call a sub without a name' => 'Es wurde versucht, eine Unterfunktion ohne Namen aufzurufen.',
'Type' => 'Typ',
+ 'USt-IdNr.' => 'USt-IdNr.',
'Unit' => 'Einheit',
'Unknown dependency \'%s\'.' => 'Unbekannte Abhängigkeit \'%s\'.',
'Update' => 'Erneuern',