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 tax_zones tz ON (tz.id = c.taxzone_id)| .
- qq|LEFT JOIN payment_terms pt ON (pt.id = c.payment_id)| .
+ qq|LEFT JOIN tax_zones tz ON (tz.id = a.taxzone_id)| .
+ qq|LEFT JOIN payment_terms pt ON (pt.id = a.payment_id)| .
qq|LEFT JOIN business b ON (b.id = c.business_id)| .
qq|LEFT JOIN department d ON (d.id = a.department_id)|;
my $pages = {};
$pages->{per_page} = $::form->{per_page} || 20;
$pages->{max} = SL::DB::Helper::Paginated::ceil($num_rows, $pages->{per_page}) || 1;
- $pages->{cur} = $page < 1 ? 1
+ $pages->{page} = $page < 1 ? 1
: $page > $pages->{max} ? $pages->{max}
: $page;
- $pages->{common} = [ grep { $_->{visible} } @{ SL::DB::Helper::Paginated::make_common_pages($pages->{cur}, $pages->{max}) } ];
+ $pages->{common} = [ grep { $_->{visible} } @{ SL::DB::Helper::Paginated::make_common_pages($pages->{page}, $pages->{max}) } ];
$self->{report_numheaders} = $self->{report}->numheaders;
my $first_row_header = 0;
my $last_row_header = $self->{report_numheaders} - 1;
- my $first_row_data = $pages->{per_page} * ($pages->{cur}-1) + $self->{report_numheaders};
- my $last_row_data = min($pages->{per_page} * $pages->{cur}, $num_rows) + $self->{report_numheaders} - 1;
+ my $first_row_data = $pages->{per_page} * ($pages->{page}-1) + $self->{report_numheaders};
+ my $last_row_data = min($pages->{per_page} * $pages->{page}, $num_rows) + $self->{report_numheaders} - 1;
$self->{display_rows} = [
$first_row_header
..
sub handle_prices {
my ($self, $entry) = @_;
- foreach my $column (qw(sellprice listprice lastcost)) {
- next unless $self->controller->headers->{used}->{ $column };
-
+ foreach my $column (qw(sellprice)) {
+ my $object = $entry->{object_to_save} || $entry->{object};
my $adjustment = $self->settings->{sellprice_adjustment};
- my $value = $entry->{object}->$column;
+ my $value = $object->$column;
$value = $self->settings->{sellprice_adjustment_type} eq 'percent' ? $value * (100 + $adjustment) / 100 : $value + $adjustment;
- $entry->{object}->$column($::form->round_amount($value, $self->settings->{sellprice_places}));
+ $object->$column($::form->round_amount($value, $self->settings->{sellprice_places}));
}
}
my $chart = $item->part->get_chart(type => $data->{is_sales} ? 'income' : 'expense', taxzone => $self->taxzone_id);
$data->{amounts}->{ $chart->id } ||= { taxkey => $taxkey->taxkey_id, tax_id => $taxkey->tax_id, amount => 0 };
$data->{amounts}->{ $chart->id }->{amount} += $linetotal;
+ $data->{amounts}->{ $chart->id }->{amount} -= $tax_amount if $self->taxincluded;
push @{ $data->{assembly_items} }, [];
if ($item->part->is_assembly) {
} else {
$i = $form->{assembly_rows};
}
- $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
+ $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"} > 0);
$form->{sellprice} -= $form->{"sellprice_$i"} * $form->{"qty_$i"};
$form->{weight} -= $form->{"weight_$i"} * $form->{"qty_$i"};
# set values for last invoice/order item
$i = $form->{rowcount};
- $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
+ $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"} > 0);
map { $form->{"${_}_$i"} = $newform{$_} } qw(partnumber description bin unit listprice inventory_accno income_accno expense_accno sellprice lastcost price_factor_id);
map { $form->{"ic_${_}_$i"} = $newform{$_} } @ic_cvar_fields;
}
$form->{print_and_save} = 1;
my $formname = $form->{formname};
- &save();
+ save();
$form->{formname} = $formname;
- &edit();
+ edit();
$::lxdebug->leave_sub();
::end_of_request();
}
+ elsif (($form->{type} =~ /_order$/) || ($form->{type} =~ /_quotation$/)) {
+ $form->{print_and_save} = 1;
+ save();
+ }
+
&print_form($old_form);
. qq| $longcomparetodate|;
}
+ if ( $::instance_conf->get_profit_determination eq 'balance' ) {
+ $form->{income_statement_title} = $locale->text('Income Statement');
+ } elsif ( $::instance_conf->get_profit_determination eq 'income' ) {
+ $form->{income_statement_title} = $locale->text('Net Income Statement');
+ } else {
+ $form->{income_statement_title} = "";
+ };
+
+ if ( $form->{method} eq 'cash' ) {
+ $form->{accounting_method} = $locale->text('Cash accounting');
+ } elsif ( $form->{method} eq 'accrual' ) {
+ $form->{accounting_method} = $locale->text('Accrual accounting');
+ } else {
+ $form->{accounting_method} = "";
+ };
+
+ $::form->{report_date} = $locale->text('Report date') . ": " . $::form->current_date;
+
$form->{IN} = "income_statement.html";
$form->parse_template;
my $data = RP->balance_sheet(\%::myconfig, $::form);
- $::form->{asofdate} ||= $::form->current_date;
- $::form->{period} = $::locale->date(\%::myconfig, $::form->current_date, 1);
+ $::form->{asofdate} ||= $::form->current_date;
+ $::form->{report_title} = $::locale->text('Balance Sheet');
+ $::form->{report_date} ||= $::form->current_date;
($::form->{department}) = split /--/, $::form->{department};
$::form->{this_period} = $::locale->date(\%::myconfig, $::form->{asofdate}, 0);
$::form->{last_period} = $::locale->date(\%::myconfig, $::form->{compareasofdate}, 0);
+# balance sheet isn't read from print templates anymore,
+# instead use template in rp
# $::form->{IN} = "balance_sheet.html";
$::form->header;
- Punkt in Belegnummer korrekt für WebDAV File Feature escapt (Bug 2394)
- Stornierte Rechnungen (sowohl die Stornorechnung als auch das Storno nicht
Buchen oder Löschen, egal was in der Mandantenkonfiguration steht)
+ - Wiederkehrende Rechnung mit Steuer inklusive buchen Erlöse falsch (Bug 2314)
2012-12-10 - Release 3.0.0
'Background jobs and task server' => 'Hintergrund-Jobs und Task-Server',
'Balance' => 'Bilanz',
'Balance Sheet' => 'Bilanz',
+ 'Balance sheet date' => 'Bilanzstichtag',
'Balancing' => 'Bilanzierung',
'Bank' => 'Bank',
'Bank Code' => 'BLZ',
'Name and Street' => 'Name und Straße',
'National Expenses' => 'Aufwand Inland',
'National Revenues' => 'Erlöse Inland',
+ 'Net Income Statement' => 'Einnahmenüberschußrechnung',
'Net amount' => 'Nettobetrag',
'Net amount (for verification)' => 'Nettobetrag (zur Überprüfung)',
'Netto Terms' => 'Zahlungsziel netto',
'Report about warehouse contents' => 'Lagerbestand anzeigen',
'Report about warehouse transactions' => 'Lagerbuchungen anzeigen',
'Report and misc. Preferences' => 'Sonstige Einstellungen',
+ 'Report date' => 'Berichtsdatum',
'Report for' => 'Bericht für',
'Reports' => 'Berichte',
'Representative' => 'Vertreter',
+++ /dev/null
-
-<body bgcolor="#ffffff">
-
-<h2 align="center">
-<%company%>
-<br><%address%>
-
-<p>BILANZ
-<br><%period%>
-</h2>
-
-<table border="0">
-<tr>
- <th align="left" width="400" colspan="2">AKTIVA<br><hr align="left" width="250" size="5" noshade></th>
- <th><%this_period%></th>
- <th><%last_period%></th>
-</tr>
-
-<%foreach asset_account%>
-<tr>
- <td> </td>
- <td><%asset_account%></td>
- <td align="right"><%asset_this_period%></td>
- <td align="right"><%asset_last_period%></td>
-</tr>
-<%end asset_account%>
-
-<tr>
- <td colspan="2"> </td>
- <td><hr noshade size="1"></td>
- <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
- <th align="left" colspan="2">TOTAL</th>
- <td align="right"><%total_assets_this_period%><hr noshade size="2"></td>
- <td align="right"><%total_assets_last_period%><hr noshade size="2"></td>
-</tr>
-
-<tr>
- <th align="left" colspan="4">PASSIVA<b><hr align="left" width="250" size="5" noshade></th>
-</tr>
-
-<%foreach liability_account%>
-<tr>
- <td></td>
- <td><%liability_account%></td>
- <td align="right"><%liability_this_period%></td>
- <td align="right"><%liability_last_period%></td>
-</tr>
-<%end liability_account%>
-
-<tr>
- <td colspan="2"> </td>
- <td><hr noshade size="1"></td>
- <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
- <td></td>
- <th align="left">TOTAL</th>
- <td align="right"><%total_liabilities_this_period%><br><hr noshade size="2"</td>
- <td align="right"><%total_liabilities_last_period%><br><hr noshade size="2"</td>
-</tr>
-
-<tr>
- <th align="left" colspan="4">EIGENTUM<br><hr align="left" width="250" size="5" noshade></th>
-</tr>
-
-<%foreach equity_account%>
-<tr>
- <td></td>
- <td><%equity_account%></td>
- <td align="right"><%equity_this_period%></td>
- <td align="right"><%equity_last_period%></td>
-</tr>
-<%end equity_account%>
-
-<tr>
- <td colspan="2"> </td>
- <td><hr noshade size="1"></td>
- <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
- <td></td>
- <th align="left">TOTAL</th>
- <td align="right"><%total_equity_this_period%><br><hr noshade size="2"</td>
- <td align="right"><%total_equity_last_period%><br><hr noshade size="2"</td>
-</tr>
-
-<tr valign="top">
- <th align="left" colspan="2">TOTAL PASSIVA & EIGENTUM</th>
- <td align="right"><%total_this_period%><br><hr noshade size="2"></td>
- <td align="right"><%total_last_period%><br><hr noshade size="2"></td>
-</tr>
-</table>
-
-
-
+++ /dev/null
-<body>
-
-<h2 align=center>
-Einnahmenüberschußrechnung</h2>
-<h3 align=center>-EÜR- (Gewinnermittlung nach §4 Abs. 3 EStG)
-<br><%period%>
-</h3>
-
-<table width=100% border=0>
-<tr>
- <td width=75% align=left colspan=2><font size="+1"><b>A. Betriebseinnahmen</font></b><br></td>
- <td></td>
-</tr>
-
-<tr>
- <td>
- Umsatzerlöse
- </td>
- <td>
- <%eur1%>
- </td>
-</tr>
-<tr>
- <td>
- sonstige Erlöse
- </td>
- <td>
- <%eur2%>
- </td>
-</tr>
-<tr>
- <td>
- Privatanteile
- </td>
- <td>
- <%eur3%>
- </td>
-</tr>
-<tr>
- <td>
- Zinserträge
- </td>
- <td>
- <%eur4%>
- </td>
-</tr>
-<tr>
- <td>
- Außerordentliche Erträge
- </td>
- <td>
- <%eur5%>
- </td>
-</tr>
-<tr>
- <td>
- Vereinnahmte Umsatzsteuer
- </td>
- <td>
- <%eur6%>
- </td>
-</tr>
-<tr>
- <td>
- Umsatzsteuererstattungen
- </td>
- <td>
- <%eur7%>
- </td>
-</tr>
-
-
-<tr>
- <td> </td>
- <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
- <th align=left><b>Summe Einnahmen</b></th>
- <td align=right><%sumeura%><hr noshade size=2></td>
-</tr>
-<tr>
- <td></td>
- <td><br><br></td>
-</tr>
-<tr>
- <td align=left><font size="+1"><b>B. Betriebsausgaben</font></b><br></td>
- <td></td>
-</tr>
-
-<tr>
- <td>
- Wareneingänge
- </td>
- <td>
- <%eur8%>
- </td>
-</tr>
-<tr>
- <td>
- Löhne und Gehäter
- </td>
- <td>
- <%eur9%>
- </td>
-</tr>
-<tr>
- <td>
- Gesetzlicher sozialer Aufwand
- </td>
- <td>
- <%eur10%>
- </td>
-</tr>
-<tr>
- <td>
- Mieten
- </td>
- <td>
- <%eur11%>
- </td>
-</tr>
-<tr>
- <td>
- Gas, Strom, Wasser
- </td>
- <td>
- <%eur12%>
- </td>
-</tr>
-<tr>
- <td>
- Instandhaltung
- </td>
- <td>
- <%eur13%>
- </td>
-</tr>
-<tr>
- <td>
- Steuern, Versicherungen, Beiträge
- </td>
- <td>
- <%eur14%>
- </td>
-</tr>
-<tr>
- <td>
- Kfz-Steuern
- </td>
- <td>
- <%eur15%>
- </td>
-</tr><tr>
- <td>
- Kfz-Versicherungen
- </td>
- <td>
- <%eur16%>
- </td>
-</tr><tr>
- <td>
- Sonstige Fahrzeugkosten
- </td>
- <td>
- <%eur17%>
- </td>
-</tr><tr>
- <td>
- Werbe- und Reisekosten
- </td>
- <td>
- <%eur18%>
- </td>
-</tr><tr>
- <td>
- Instandhaltung und Werkzeuge
- </td>
- <td>
- <%eur19%>
- </td>
-</tr><tr>
- <td>
- Fachzeitschriften, Bücher
- </td>
- <td>
- <%eur20%>
- </td>
-</tr><tr>
- <td>
- Miete für Einrichtungen
- </td>
- <td>
- <%eur21%>
- </td>
-</tr><tr>
- <td>
- Rechts- und Beratungskosten
- </td>
- <td>
- <%eur22%>
- </td>
-</tr><tr>
- <td>
- Bürobedarf, Porto, Telefon
- </td>
- <td>
- <%eur23%>
- </td>
-</tr><tr>
- <td>
- Sonstige Aufwendungen
- </td>
- <td>
- <%eur24%>
- </td>
-</tr><tr>
- <td>
- Abschreibungen auf Anlagevermögen
- </td>
- <td>
- <%eur25%>
- </td>
-</tr><tr>
- <td>
- Abschreibungen auf GWG
- </td>
- <td>
- <%eur26%>
- </td>
-</tr><tr>
- <td>
- Vorsteuer
- </td>
- <td>
- <%eur27%>
- </td>
-</tr><tr>
- <td>
- Umsatzsteuerzahlungen
- </td>
- <td>
- <%eur28%>
- </td>
-</tr><tr>
- <td>
- Zinsaufwand
- </td>
- <td>
- <%eur29%>
- </td>
-</tr><tr>
- <td>
- Außerordentlicher Aufwand
- </td>
- <td>
- <%eur30%>
- </td>
-</tr><tr>
- <td>
- Betriebliche Steuern
- </td>
- <td>
- <%eur31%>
- </td>
-</tr>
-
-
-<tr>
- <td> </td>
- <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
- <th align=left><b>Summe Ausgaben</b></th>
- <td align=right><%sumeurb%> <br><hr noshade size=2</td>
-</tr>
-<tr>
- <td></td>
- <td><br><br></td>
-</tr>
-<tr valign=top>
- <td align=left>GEWINN / VERLUST</td>
- <td align=right><%guvsumme%><br><hr noshade size=2></td>
-</tr>
-
-</table>
-
-</body>
-</html>
-
--- /dev/null
+../../../templates/print/Standard/income_statement.html
\ No newline at end of file
+++ /dev/null
-
-<body bgcolor="#ffffff">
-
-<h2 align="center">
-<%company%>
-<br><%address%>
-
-<p>BILANZ
-<br><%period%>
-</h2>
-
-<table border="0">
-<tr>
- <th align="left" width="400" colspan="2">AKTIVA<br><hr align="left" width="250" size="5" noshade></th>
- <th><%this_period%></th>
- <th><%last_period%></th>
-</tr>
-
-<%foreach asset_account%>
-<tr>
- <td> </td>
- <td><%asset_account%></td>
- <td align="right"><%asset_this_period%></td>
- <td align="right"><%asset_last_period%></td>
-</tr>
-<%end asset_account%>
-
-<tr>
- <td colspan="2"> </td>
- <td><hr noshade size="1"></td>
- <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
- <th align="left" colspan="2">TOTAL</th>
- <td align="right"><%total_assets_this_period%><hr noshade size="2"></td>
- <td align="right"><%total_assets_last_period%><hr noshade size="2"></td>
-</tr>
-
-<tr>
- <th align="left" colspan="4">PASSIVA<b><hr align="left" width="250" size="5" noshade></th>
-</tr>
-
-<%foreach liability_account%>
-<tr>
- <td></td>
- <td><%liability_account%></td>
- <td align="right"><%liability_this_period%></td>
- <td align="right"><%liability_last_period%></td>
-</tr>
-<%end liability_account%>
-
-<tr>
- <td colspan="2"> </td>
- <td><hr noshade size="1"></td>
- <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
- <td></td>
- <th align="left">TOTAL</th>
- <td align="right"><%total_liabilities_this_period%><br><hr noshade size="2"</td>
- <td align="right"><%total_liabilities_last_period%><br><hr noshade size="2"</td>
-</tr>
-
-<tr>
- <th align="left" colspan="4">EIGENTUM<br><hr align="left" width="250" size="5" noshade></th>
-</tr>
-
-<%foreach equity_account%>
-<tr>
- <td></td>
- <td><%equity_account%></td>
- <td align="right"><%equity_this_period%></td>
- <td align="right"><%equity_last_period%></td>
-</tr>
-<%end equity_account%>
-
-<tr>
- <td colspan="2"> </td>
- <td><hr noshade size="1"></td>
- <td><hr noshade size="1"></td>
-</tr>
-
-<tr valign="top">
- <td></td>
- <th align="left">TOTAL</th>
- <td align="right"><%total_equity_this_period%><br><hr noshade size="2"</td>
- <td align="right"><%total_equity_last_period%><br><hr noshade size="2"</td>
-</tr>
-
-<tr valign="top">
- <th align="left" colspan="2">TOTAL PASSIVA & EIGENTUM</th>
- <td align="right"><%total_this_period%><br><hr noshade size="2"></td>
- <td align="right"><%total_last_period%><br><hr noshade size="2"></td>
-</tr>
-</table>
-
-
-
<body>
-<h2 align=center>
-Einnahmenüberschußrechnung</h2>
-<h3 align=center>-EÜR- (Gewinnermittlung nach §4 Abs. 3 EStG)
-<br><%period%>
+<h2 align=center> <%income_statement_title%></h2>
+<h3 align=center>
+<%period%><br>
+<%accounting_method%><br>
+
+<br><%report_date%>
</h3>
<table width=100% border=0>
+++ /dev/null
-
-<body bgcolor=ffffff>
-
-<h2 align=center>
-<%company%>
-<br><%address%>
-
-<p>BALANCE SHEET
-<br><%period%>
-</h2>
-
-<table border=0>
-<tr>
- <th align=left width=400 colspan=2>ASSETS<br><hr align=left width=250 size=5 noshade></th>
- <th><%this_period%></th>
- <th><%last_period%></th>
-</tr>
-
-<%foreach asset_account%>
-<tr>
- <td> </td>
- <td><%asset_account%></td>
- <td align=right><%asset_this_period%></td>
- <td align=right><%asset_last_period%></td>
-</tr>
-<%end asset_account%>
-
-<tr>
- <td colspan=2> </td>
- <td><hr noshade size=1></td>
- <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
- <th align=left colspan=2>TOTAL ASSETS</th>
- <td align=right><%total_assets_this_period%><hr noshade size=2></td>
- <td align=right><%total_assets_last_period%><hr noshade size=2></td>
-</tr>
-
-<tr>
- <th align=left colspan=4>LIABILITIES<b><hr align=left width=250 size=5 noshade></th>
-</tr>
-
-<%foreach liability_account%>
-<tr>
- <td></td>
- <td><%liability_account%></td>
- <td align=right><%liability_this_period%></td>
- <td align=right><%liability_last_period%></td>
-</tr>
-<%end liability_account%>
-
-<tr>
- <td colspan=2> </td>
- <td><hr noshade size=1></td>
- <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
- <td></td>
- <th align=left>Total Liabilities</th>
- <td align=right><%total_liabilities_this_period%><br><hr noshade size=2</td>
- <td align=right><%total_liabilities_last_period%><br><hr noshade size=2</td>
-</tr>
-
-<tr>
- <th align=left colspan=4>SHAREHOLDER'S EQUITY<br><hr align=left width=250 size=5 noshade></th>
-</tr>
-
-<%foreach equity_account%>
-<tr>
- <td></td>
- <td><%equity_account%></td>
- <td align=right><%equity_this_period%></td>
- <td align=right><%equity_last_period%></td>
-</tr>
-<%end equity_account%>
-
-<tr>
- <td colspan=2> </td>
- <td><hr noshade size=1></td>
- <td><hr noshade size=1></td>
-</tr>
-
-<tr valign=top>
- <td></td>
- <th align=left>Total Equity</th>
- <td align=right><%total_equity_this_period%><br><hr noshade size=2</td>
- <td align=right><%total_equity_last_period%><br><hr noshade size=2</td>
-</tr>
-
-<tr valign=top>
- <th align=left colspan=2>TOTAL LIABILITIES & EQUITY</th>
- <td align=right><%total_this_period%><br><hr noshade size=2></td>
- <td align=right><%total_last_period%><br><hr noshade size=2></td>
-</tr>
-</table>
-
-
-
[% company %]
<br>[% address %]
<p>[% 'BALANCE SHEET' | $T8 %]
-<br>[% period %]
+<br>[% 'Balance sheet date' | $T8 %]: [% this_period %]
+<br>[% 'Report date' | $T8 %]: [% report_date %]
</h2>
<table border="0">
<tr>
<th align="left" width="400" colspan="2">[% 'ASSETS' | $T8 %]<br><hr align="left" width="250" size="5" noshade></th>
- <th>[% this_period %]</th>
- <th>[% last_period %]</th>
+ <th><b>[% this_period %]<b></th>
+ <th><b>[% last_period %]<b></th>
</tr>
[% FOREACH row = A %]