Revision c5ebebfb
Von Hans Peter Schlaepfer vor fast 6 Jahren hinzugefügt
templates/webpages/acc_trans/_mini_ledger.html | ||
---|---|---|
1 |
[% USE L %] [%- USE LxERP %] [%- USE HTML %] |
|
2 |
<div class="listtop">[%- HTML.escape(title) %]</div> |
|
1 |
[% USE L %] |
|
2 |
[% USE LxERP %] |
|
3 |
[% USE HTML %] |
|
3 | 4 |
|
4 |
<div style="padding-bottom: 15px"> |
|
5 |
<table id="acc_trans"> |
|
5 |
<div class="wrapper"> |
|
6 |
|
|
7 |
<table id="acc_trans" class="tbl-list"> |
|
8 |
<caption>[% HTML.escape(title) %]</caption> |
|
6 | 9 |
<thead> |
7 |
<tr> |
|
8 |
<th class="listheading">[%- LxERP.t8("Date") %]</th>
|
|
9 |
<th class="listheading">[%- LxERP.t8("Chart") %]</th>
|
|
10 |
<th class="listheading">[%- LxERP.t8("Description") %]</th>
|
|
11 |
<th class="listheading">[%- LxERP.t8("Debit") %]</th>
|
|
12 |
<th class="listheading">[%- LxERP.t8("Credit") %]</th>
|
|
13 |
</tr> |
|
10 |
<tr>
|
|
11 |
<th class="date">[% LxERP.t8("Date") %]</th>
|
|
12 |
<th class="center">[% LxERP.t8("Chart") %]</th>
|
|
13 |
<th>[% LxERP.t8("Description") %]</th>
|
|
14 |
<th class="right">[% LxERP.t8("Debit") %]</th>
|
|
15 |
<th class="right">[% LxERP.t8("Credit") %]</th>
|
|
16 |
</tr>
|
|
14 | 17 |
</thead> |
15 |
|
|
16 | 18 |
<tbody> |
17 |
[%- FOREACH transaction = TRANSACTIONS %] |
|
18 |
<tr class="listrow[% loop.count % 2 %]"> |
|
19 |
<td>[%- transaction.transdate.to_kivitendo -%]</td> |
|
20 |
<td align="right">[%- transaction.chart.accno -%]</td> |
|
21 |
<td>[%- transaction.chart.description -%]</td> |
|
22 |
<td align="right">[%- IF transaction.amount < 0 %] [%- LxERP.format_amount(transaction.amount * -1, 2) %] [% END %]</td> |
|
23 |
<td align="right">[%- IF transaction.amount > 0 %] [%- LxERP.format_amount(transaction.amount , 2) %] [%- END -%]</td> |
|
24 |
</tr> |
|
25 |
[%- END %] |
|
26 |
<td colspan="2"></td> |
|
27 |
<td align="right"><b>[%- LxERP.t8("Total") %]:</b></td> |
|
28 |
<td align="right"><b>[%- LxERP.format_amount(debit_sum * -1, 2) %]</b></td> |
|
29 |
<td align="right"><b>[%- LxERP.format_amount(credit_sum, 2) %]</b></td> |
|
30 |
</tr> |
|
19 |
[% FOREACH transaction = TRANSACTIONS %] |
|
20 |
<tr> |
|
21 |
<td class="date">[% transaction.transdate.to_kivitendo %]</td> |
|
22 |
<td class="center">[% transaction.chart.accno %]</td> |
|
23 |
<td>[% transaction.chart.description %]</td> |
|
24 |
<td class="numeric">[% IF transaction.amount < 0 %] [% LxERP.format_amount(transaction.amount * -1, 2) %] [% END %]</td> |
|
25 |
<td class="numeric">[% IF transaction.amount > 0 %] [% LxERP.format_amount(transaction.amount , 2) %] [% END %]</td> |
|
26 |
</tr> |
|
27 |
[% END %] |
|
31 | 28 |
</tbody> |
32 |
</table> |
|
33 |
<div> |
|
29 |
<tfoot> |
|
30 |
<td colspan="2"></td> |
|
31 |
<th>[% LxERP.t8("Total") %]</th> |
|
32 |
<td class="numeric">[% LxERP.format_amount(debit_sum * -1, 2) %]</td> |
|
33 |
<td class="numeric">[% LxERP.format_amount(credit_sum, 2) %]</td> |
|
34 |
</tr> |
|
35 |
</tfoot> |
|
36 |
</table> |
|
37 |
|
|
38 |
</div><!-- /.wrapper --> |
|
39 |
|
templates/webpages/acc_trans/_mini_trial_balance.html | ||
---|---|---|
1 |
[% USE L %] [%- USE LxERP %] [%- USE HTML %] |
|
2 |
<div class="listtop">[%- HTML.escape(title) %]</div> |
|
1 |
[% USE L %] |
|
2 |
[% USE LxERP %] |
|
3 |
[% USE HTML %] |
|
3 | 4 |
|
4 |
<table id="balances"> |
|
5 |
<div class="wrapper"> |
|
6 |
|
|
7 |
<table id="balances" class="tbl-list"> |
|
8 |
<caption>[% HTML.escape(title) %]</caption> |
|
5 | 9 |
<thead> |
6 |
<tr> |
|
7 |
<th class="listheading">[%- LxERP.t8("Chart") %]</th>
|
|
8 |
<th class="listheading">[%- LxERP.t8("Description") %]</th>
|
|
9 |
<th class="listheading">[%- LxERP.t8("Debit") %]</th>
|
|
10 |
<th class="listheading">[%- LxERP.t8("Credit") %]</th>
|
|
11 |
</tr> |
|
10 |
<tr>
|
|
11 |
<th class="numeric-centered">[% LxERP.t8("Chart") %]</th>
|
|
12 |
<th>[% LxERP.t8("Description") %]</th>
|
|
13 |
<th class="right">[% LxERP.t8("Debit") %]</th>
|
|
14 |
<th class="right">[% LxERP.t8("Credit") %]</th>
|
|
15 |
</tr>
|
|
12 | 16 |
</thead> |
13 |
|
|
14 | 17 |
<tbody> |
15 |
[%- FOREACH balance = BALANCES %]
|
|
16 |
<tr class="listrow[% loop.count % 2 %]">
|
|
17 |
<td align="right">[%- balance.accno -%]</td>
|
|
18 |
<td>[%- balance.description -%]</td>
|
|
19 |
<td align="right">[%- IF balance.balance < 0 %] [%- LxERP.format_amount(balance.balance * -1, 2) %] [% END %]</td>
|
|
20 |
<td align="right">[%- IF balance.balance > 0 %] [%- LxERP.format_amount(balance.balance, 2) %] [%- END -%]</td>
|
|
21 |
</tr> |
|
22 |
[%- END %]
|
|
18 |
[% FOREACH balance = BALANCES %]
|
|
19 |
<tr>
|
|
20 |
<td class="numeric-centered">[% balance.accno %]</td>
|
|
21 |
<td>[% balance.description %]</td>
|
|
22 |
<td class="numeric">[% IF balance.balance < 0 %] [% LxERP.format_amount(balance.balance * -1, 2) %] [% END %]</td>
|
|
23 |
<td class="numeric">[% IF balance.balance > 0 %] [% LxERP.format_amount(balance.balance, 2) %] [% END %]</td>
|
|
24 |
</tr>
|
|
25 |
[% END %]
|
|
23 | 26 |
</tbody> |
24 |
</table> |
|
27 |
</table> |
|
28 |
|
|
29 |
</div><!-- /.wrapper --> |
|
25 | 30 |
</div> |
templates/webpages/acctranscorrections/analyze_overview.html | ||
---|---|---|
1 |
[%- USE T8 %]
|
|
1 |
[% USE T8 %] |
|
2 | 2 |
[% USE HTML %][% USE LxERP %] |
3 | 3 |
<h1>[% title %]</h1> |
4 | 4 |
|
... | ... | |
6 | 6 |
|
7 | 7 |
<p> |
8 | 8 |
[% 'Period' | $T8 %]: |
9 |
[%- IF transdate_from || transdate_to %]
|
|
10 |
[%- IF transdate_from %]
|
|
9 |
[% IF transdate_from || transdate_to %] |
|
10 |
[% IF transdate_from %] |
|
11 | 11 |
[% 'from (time)' | $T8 %] [% transdate_from %] |
12 |
[%- END %]
|
|
13 |
[%- IF transdate_to %]
|
|
12 |
[% END %] |
|
13 |
[% IF transdate_to %] |
|
14 | 14 |
[% 'to (time)' | $T8 %] [% transdate_to %] |
15 |
[%- END %]
|
|
16 |
[%- ELSE %]
|
|
15 |
[% END %] |
|
16 |
[% ELSE %] |
|
17 | 17 |
[% 'all entries' | $T8 %] |
18 |
[%- END %]
|
|
18 |
[% END %] |
|
19 | 19 |
</p> |
20 | 20 |
|
21 |
<p> |
|
22 | 21 |
<table width="100%"> |
23 | 22 |
<tr> |
24 |
<th class="listheading">[% 'Transaction' | $T8 %]</th>
|
|
25 |
<th class="listheading">[% 'Problem' | $T8 %]</th>
|
|
26 |
<th class="listheading">[% 'Solution' | $T8 %]</th>
|
|
23 |
<th>[% 'Transaction' | $T8 %]</th> |
|
24 |
<th>[% 'Problem' | $T8 %]</th> |
|
25 |
<th>[% 'Solution' | $T8 %]</th> |
|
27 | 26 |
</tr> |
28 | 27 |
|
29 |
[%- FOREACH problem = PROBLEMS %]
|
|
28 |
[% FOREACH problem = PROBLEMS %] |
|
30 | 29 |
<tr class="listrow[% loop.count % 2 %]"> |
31 |
<td valign="top">
|
|
32 |
[%- IF problem.type == 'ap_ar_wrong_taxkeys' %]
|
|
33 |
[%- IF problem.ap_problems.size %]
|
|
30 |
<td> |
|
31 |
[% IF problem.type == 'ap_ar_wrong_taxkeys' %] |
|
32 |
[% IF problem.ap_problems.size %] |
|
34 | 33 |
[% 'AP Transactions' | $T8 %] |
35 |
[%- FOREACH ap = problem.ap_problems %]
|
|
36 |
[%- UNLESS loop.first %], [%- END %]
|
|
34 |
[% FOREACH ap = problem.ap_problems %] |
|
35 |
[% UNLESS loop.first %], [% END %]
|
|
37 | 36 |
<a href="[% ap.link %]">[% HTML.escape(ap.data.reference) %]</a> |
38 |
[%- END %]
|
|
39 |
[%- END %]
|
|
37 |
[% END %] |
|
38 |
[% END %] |
|
40 | 39 |
|
41 |
[%- IF problem.ar_problems.size %]
|
|
42 |
[%- IF problem.ap_problems.size %]; [%- END %]
|
|
40 |
[% IF problem.ar_problems.size %] |
|
41 |
[% IF problem.ap_problems.size %]; [% END %]
|
|
43 | 42 |
[% 'AR Transactions' | $T8 %] |
44 |
[%- FOREACH ar = problem.ar_problems %]
|
|
45 |
[%- UNLESS loop.first %], [%- END %]
|
|
43 |
[% FOREACH ar = problem.ar_problems %] |
|
44 |
[% UNLESS loop.first %], [% END %]
|
|
46 | 45 |
<a href="[% ar.link %]">[% HTML.escape(ar.data.reference) %]</a> |
47 |
[%- END %]
|
|
48 |
[%- END %]
|
|
46 |
[% END %] |
|
47 |
[% END %] |
|
49 | 48 |
|
50 | 49 |
|
51 |
[%- ELSIF problem.type == 'invoice_inventory_with_taxkeys' %]
|
|
52 |
[%- IF problem.ar_problems.size %]
|
|
50 |
[% ELSIF problem.type == 'invoice_inventory_with_taxkeys' %] |
|
51 |
[% IF problem.ar_problems.size %] |
|
53 | 52 |
[% 'Sales invoices' | $T8 %] |
54 |
[%- FOREACH subproblem = problem.ar_problems %]
|
|
55 |
[%- UNLESS loop.first %], [%- END %]
|
|
53 |
[% FOREACH subproblem = problem.ar_problems %] |
|
54 |
[% UNLESS loop.first %], [% END %]
|
|
56 | 55 |
<a href="[% subproblem.link %]">[% HTML.escape(subproblem.data.reference) %]</a> |
57 |
[%- END %]
|
|
58 |
[%- END %]
|
|
56 |
[% END %] |
|
57 |
[% END %] |
|
59 | 58 |
|
60 |
[%- IF problem.ap_problems.size %]
|
|
61 |
[%- IF problem.ar_problems.size %]; [%- END %]
|
|
59 |
[% IF problem.ap_problems.size %] |
|
60 |
[% IF problem.ar_problems.size %]; [% END %]
|
|
62 | 61 |
[% 'Purchase invoices' | $T8 %] |
63 |
[%- FOREACH subproblem = problem.ap_problems %]
|
|
64 |
[%- UNLESS loop.first %], [%- END %]
|
|
62 |
[% FOREACH subproblem = problem.ap_problems %] |
|
63 |
[% UNLESS loop.first %], [% END %]
|
|
65 | 64 |
<a href="[% subproblem.link %]">[% HTML.escape(subproblem.data.reference) %]</a> |
66 |
[%- END %]
|
|
67 |
[%- END %]
|
|
65 |
[% END %] |
|
66 |
[% END %] |
|
68 | 67 |
|
69 |
[%- ELSIF problem.type == 'missing_taxkeys_in_invoices' %]
|
|
70 |
[%- IF problem.ar_problems.size %]
|
|
68 |
[% ELSIF problem.type == 'missing_taxkeys_in_invoices' %] |
|
69 |
[% IF problem.ar_problems.size %] |
|
71 | 70 |
[% 'Sales invoices' | $T8 %] |
72 |
[%- FOREACH subproblem = problem.ar_problems %]
|
|
73 |
[%- UNLESS loop.first %], [%- END %]
|
|
71 |
[% FOREACH subproblem = problem.ar_problems %] |
|
72 |
[% UNLESS loop.first %], [% END %]
|
|
74 | 73 |
<a href="[% subproblem.link %]">[% HTML.escape(subproblem.data.reference) %]</a> |
75 |
[%- END %]
|
|
76 |
[%- END %]
|
|
74 |
[% END %] |
|
75 |
[% END %] |
|
77 | 76 |
|
78 |
[%- IF problem.ap_problems.size %]
|
|
79 |
[%- IF problem.ar_problems.size %]; [%- END %]
|
|
77 |
[% IF problem.ap_problems.size %] |
|
78 |
[% IF problem.ar_problems.size %]; [% END %]
|
|
80 | 79 |
[% 'Purchase invoices' | $T8 %] |
81 |
[%- FOREACH subproblem = problem.ap_problems %]
|
|
82 |
[%- UNLESS loop.first %], [%- END %]
|
|
80 |
[% FOREACH subproblem = problem.ap_problems %] |
|
81 |
[% UNLESS loop.first %], [% END %]
|
|
83 | 82 |
<a href="[% subproblem.link %]">[% HTML.escape(subproblem.data.reference) %]</a> |
84 |
[%- END %]
|
|
85 |
[%- END %]
|
|
83 |
[% END %] |
|
84 |
[% END %] |
|
86 | 85 |
|
87 |
[%- ELSE %]
|
|
86 |
[% ELSE %] |
|
88 | 87 |
|
89 | 88 |
<a href="[% problem.link %]"> |
90 |
[%- IF problem.data.module == 'ar' %]
|
|
89 |
[% IF problem.data.module == 'ar' %] |
|
91 | 90 |
[% 'AR Transaction' | $T8 %] |
92 |
[%- ELSIF problem.data.module == 'ap' %]
|
|
91 |
[% ELSIF problem.data.module == 'ap' %] |
|
93 | 92 |
[% 'AP Transaction' | $T8 %] |
94 |
[%- ELSE %]
|
|
93 |
[% ELSE %] |
|
95 | 94 |
[% 'General Ledger Transaction' | $T8 %] |
96 |
[%- END %]
|
|
95 |
[% END %] |
|
97 | 96 |
[% HTML.escape(problem.data.reference) %] |
98 | 97 |
</a> |
99 | 98 |
|
100 | 99 |
<!-- ( [% problem.data.module %].id = acc_trans.trans_id = [% HTML.escape(problem.data.trans_id) %] ) --> |
101 | 100 |
|
102 |
[%- END %]
|
|
101 |
[% END %] |
|
103 | 102 |
</td> |
104 | 103 |
|
105 |
<td valign="top">
|
|
106 |
[%- IF problem.type == 'split_multiple_credit_and_debit' %]
|
|
104 |
<td> |
|
105 |
[% IF problem.type == 'split_multiple_credit_and_debit' %] |
|
107 | 106 |
[% 'Transaction has been split on both the credit and the debit side' | $T8 %] |
108 | 107 |
|
109 |
[%- ELSIF problem.type == 'wrong_taxkeys' %]
|
|
108 |
[% ELSIF problem.type == 'wrong_taxkeys' %] |
|
110 | 109 |
[% 'Wrong tax keys recorded' | $T8 %] |
111 | 110 |
|
112 |
[%- ELSIF problem.type == 'wrong_taxes' %]
|
|
111 |
[% ELSIF problem.type == 'wrong_taxes' %] |
|
113 | 112 |
[% 'Wrong taxes recorded' | $T8 %] |
114 | 113 |
|
115 |
[%- ELSIF problem.type == 'ap_ar_wrong_taxkeys' %]
|
|
114 |
[% ELSIF problem.type == 'ap_ar_wrong_taxkeys' %] |
|
116 | 115 |
[% 'AP transactions with sales taxkeys and/or AR transactions with input taxkeys' | $T8 %] |
117 | 116 |
|
118 |
[%- ELSIF problem.type == 'invoice_inventory_with_taxkeys' %]
|
|
117 |
[% ELSIF problem.type == 'invoice_inventory_with_taxkeys' %] |
|
119 | 118 |
[% 'Sales and purchase invoices with inventory transactions with taxkeys' | $T8 %] |
120 | 119 |
|
121 |
[%- ELSIF problem.type == 'missing_taxkeys_in_invoices' %]
|
|
120 |
[% ELSIF problem.type == 'missing_taxkeys_in_invoices' %] |
|
122 | 121 |
[% 'Missing taxkeys in invoices with taxes.' | $T8 %] |
123 | 122 |
|
124 |
[%- END %]
|
|
123 |
[% END %] |
|
125 | 124 |
</td> |
126 | 125 |
|
127 |
<td valign="top">
|
|
128 |
[%- IF problem.type == 'split_multiple_credit_and_debit' %]
|
|
126 |
<td> |
|
127 |
[% IF problem.type == 'split_multiple_credit_and_debit' %] |
|
129 | 128 |
[% 'This transaction has to be split into several transactions manually.' | $T8 %] |
130 | 129 |
|
131 |
[%- ELSIF (problem.type == 'wrong_taxkeys') || (problem.type == 'wrong_taxes') %]
|
|
130 |
[% ELSIF (problem.type == 'wrong_taxkeys') || (problem.type == 'wrong_taxes') %] |
|
132 | 131 |
<a href="acctranscorrections.pl?action=assistant&trans_id=[% HTML.url(problem.data.trans_id) %]&trans_module=[% HTML.url(problem.data.module) %]&trans_reference=[% HTML.url(problem.data.reference) %]&callback=[% callback %]"> |
133 | 132 |
[% 'Start the correction assistant' | $T8 %] |
134 | 133 |
</a> |
135 | 134 |
|
136 |
[%- ELSIF problem.type == 'ap_ar_wrong_taxkeys' %]
|
|
135 |
[% ELSIF problem.type == 'ap_ar_wrong_taxkeys' %] |
|
137 | 136 |
<a href="acctranscorrections.pl?action=assistant_for_ap_ar_wrong_taxkeys&callback=[% callback %]"> |
138 | 137 |
[% 'Start the correction assistant' | $T8 %] |
139 | 138 |
</a> |
140 | 139 |
|
141 |
[%- ELSIF problem.type == 'invoice_inventory_with_taxkeys' %]
|
|
140 |
[% ELSIF problem.type == 'invoice_inventory_with_taxkeys' %] |
|
142 | 141 |
<a href="acctranscorrections.pl?action=assistant_for_invoice_inventory_with_taxkeys&callback=[% callback %]"> |
143 | 142 |
[% 'Start the correction assistant' | $T8 %] |
144 | 143 |
</a> |
145 | 144 |
|
146 |
[%- END %]
|
|
145 |
[% END %] |
|
147 | 146 |
</td> |
148 | 147 |
</tr> |
149 |
[%- END %]
|
|
148 |
[% END %] |
|
150 | 149 |
|
151 | 150 |
</table> |
152 |
</p> |
|
151 |
|
|
153 | 152 |
|
154 | 153 |
<hr> |
155 | 154 |
|
templates/webpages/acctranscorrections/assistant_for_ap_ar_wrong_taxkeys.html | ||
---|---|---|
1 |
[%- USE T8 %] |
|
2 |
[% USE HTML %][% USE LxERP %] |
|
1 |
[% USE T8 %] |
|
2 |
[% USE HTML %] |
|
3 |
[% USE LxERP %] |
|
4 |
|
|
3 | 5 |
<h1>[% title %]</h1> |
4 | 6 |
|
5 |
<p>
|
|
7 |
<p> |
|
6 | 8 |
[% 'There is at least one transaction for which the user has chosen a logically wrong taxkey.' | $T8 %] |
7 |
|
|
8 | 9 |
[% 'This means that the user has created an AP transaction and chosen a taxkey for sales taxes, or that he has created an AR transaction and chosen a taxkey for input taxes.' | $T8 %] |
9 |
</p> |
|
10 |
|
|
11 |
<p> |
|
10 |
</p> |
|
11 |
<p> |
|
12 | 12 |
[% 'kivitendo can fix these problems automatically.' | $T8 %] |
13 |
|
|
14 | 13 |
[% 'For AP transactions it will replace the sales taxkeys with input taxkeys with the same tax rate.' | $T8 %] |
15 |
|
|
16 | 14 |
[% 'For AR transactions it will replace the input taxkeys with sales taxkeys with the same tax rate.' | $T8 %] |
17 |
</p>
|
|
15 |
</p> |
|
18 | 16 |
|
19 |
<form name="Form" action="acctranscorrections.pl" method="post">
|
|
17 |
<form name="Form" action="acctranscorrections.pl" method="post"> |
|
20 | 18 |
|
21 |
<p>
|
|
22 |
<input type="hidden" name="action" value="fix_ap_ar_wrong_taxkeys">
|
|
23 |
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]">
|
|
24 |
<input type="submit" class="submit" value="[% 'Fix transactions' | $T8 %]">
|
|
25 |
<input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]">
|
|
26 |
</p>
|
|
27 |
</form>
|
|
19 |
<p> |
|
20 |
<input type="hidden" name="action" value="fix_ap_ar_wrong_taxkeys"> |
|
21 |
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]"> |
|
22 |
<input type="submit" class="submit" value="[% 'Fix transactions' | $T8 %]"> |
|
23 |
<input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]"> |
|
24 |
</p> |
|
25 |
</form> |
|
28 | 26 |
|
templates/webpages/acctranscorrections/assistant_for_invoice_inventory_with_taxkeys.html | ||
---|---|---|
1 |
[%- USE T8 %] |
|
2 |
[% USE HTML %][% USE LxERP %] |
|
3 |
<h1>[% title %]</h1> |
|
4 |
|
|
5 |
<p> |
|
6 |
[% 'There is at least one sales or purchase invoice for which kivitendo recorded an inventory transaction with taxkeys even though no tax was recorded.' | $T8 %] |
|
7 |
</p> |
|
1 |
[% USE T8 %] |
|
2 |
[% USE HTML %] |
|
3 |
[% USE LxERP %] |
|
8 | 4 |
|
9 |
<p> |
|
10 |
[% 'kivitendo can fix these problems automatically.' | $T8 %] |
|
11 |
|
|
12 |
[% 'It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.' | $T8 %] |
|
13 |
</p> |
|
5 |
<h1>[% title %]</h1> |
|
14 | 6 |
|
15 |
<form name="Form" action="acctranscorrections.pl" method="post"> |
|
7 |
<p>[% 'There is at least one sales or purchase invoice for which kivitendo recorded an inventory transaction with taxkeys even though no tax was recorded.' | $T8 %] </p> |
|
8 |
<p>[% 'kivitendo can fix these problems automatically.' | $T8 %] [% 'It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.' | $T8 %] </p> |
|
16 | 9 |
|
17 |
<p> |
|
18 |
<input type="hidden" name="action" value="fix_invoice_inventory_with_taxkeys"> |
|
19 |
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]"> |
|
20 |
<input type="submit" class="submit" value="[% 'Fix transactions' | $T8 %]"> |
|
21 |
<input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]"> |
|
22 |
</p> |
|
23 |
</form> |
|
10 |
<form name="Form" action="acctranscorrections.pl" method="post"> |
|
11 |
<div class="buttons"> |
|
12 |
<input type="hidden" name="action" value="fix_invoice_inventory_with_taxkeys"> |
|
13 |
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]"> |
|
14 |
<input type="submit" value="[% 'Fix transactions' | $T8 %]"> |
|
15 |
<input type="button" onclick="history.back()" value="[% 'Back' | $T8 %]"> |
|
16 |
</div> |
|
17 |
</form> |
|
24 | 18 |
|
templates/webpages/acctranscorrections/assistant_for_wrong_taxes.html | ||
---|---|---|
1 |
[%- USE T8 %]
|
|
2 |
[% USE HTML %][% USE LxERP %]
|
|
3 |
<h1>[% title %]</h1>
|
|
1 |
[% USE T8 %] |
|
2 |
[% USE HTML %] |
|
3 |
[% USE LxERP %]
|
|
4 | 4 |
|
5 |
<p> |
|
6 |
[% 'The following transaction contains wrong taxes:' | $T8 %] |
|
7 |
<a href="[% problem.link %]"> |
|
8 |
[%- IF problem.data.module == 'ar' %] |
|
9 |
[% 'AR Transaction' | $T8 %] |
|
10 |
[%- ELSIF problem.data.module == 'ap' %] |
|
11 |
[% 'AP Transaction' | $T8 %] |
|
12 |
[%- ELSE %] |
|
13 |
[% 'General Ledger Transaction' | $T8 %] |
|
14 |
[%- END %] |
|
15 |
[% HTML.escape(problem.data.reference) %] |
|
16 |
</a> |
|
17 |
</p> |
|
5 |
<h1>[% title %]</h1> |
|
18 | 6 |
|
19 |
<p>[% 'At the moment the transaction looks like this:' | $T8 %]</p> |
|
7 |
<p>[% 'The following transaction contains wrong taxes:' | $T8 %] <a href="[% problem.link %]"> |
|
8 |
[% IF problem.data.module == 'ar' %][% 'AR Transaction' | $T8 %] |
|
9 |
[% ELSIF problem.data.module == 'ap' %][% 'AP Transaction' | $T8 %] |
|
10 |
[% ELSE %][% 'General Ledger Transaction' | $T8 %][% END %] |
|
11 |
[% HTML.escape(problem.data.reference) %] |
|
12 |
</a></p> |
|
20 | 13 |
|
21 |
<p> |
|
22 |
<table> |
|
23 |
<tr> |
|
24 |
<th class="listheading">[% 'Account' | $T8 %]</th> |
|
25 |
<th class="listheading">[% 'Debit' | $T8 %]</th> |
|
26 |
<th class="listheading">[% 'Credit' | $T8 %]</th> |
|
27 |
<th class="listheading">[% 'Taxkey' | $T8 %]</th> |
|
28 |
<th class="listheading">[% 'Recorded Tax' | $T8 %]</th> |
|
29 |
<th class="listheading">[% 'Expected Tax' | $T8 %]</th> |
|
30 |
<th class="listheading"></th> |
|
31 |
</tr> |
|
14 |
<p>[% 'At the moment the transaction looks like this:' | $T8 %]</p> |
|
32 | 15 |
|
33 |
[%- SET curr_row = 0 %] |
|
34 |
[%- IF problem.acc_trans.credit.entries.size > problem.acc_trans.debit.entries.size %] |
|
35 |
[%- SET order = [ 'credit', 'debit' ] %] |
|
36 |
[%- SET other_side = 'debit' %] |
|
37 |
[%- ELSE %] |
|
38 |
[%- SET order = [ 'debit', 'credit' ] %] |
|
39 |
[%- SET other_side = 'credit' %] |
|
40 |
[%- END %] |
|
16 |
<table class="tbl-List"> |
|
17 |
<thead> |
|
18 |
<tr> |
|
19 |
<th>[% 'Account' | $T8 %]</th> |
|
20 |
<th>[% 'Debit' | $T8 %]</th> |
|
21 |
<th>[% 'Credit' | $T8 %]</th> |
|
22 |
<th>[% 'Taxkey' | $T8 %]</th> |
|
23 |
<th>[% 'Recorded Tax' | $T8 %]</th> |
|
24 |
<th>[% 'Expected Tax' | $T8 %]</th> |
|
25 |
<th></th> |
|
26 |
</tr> |
|
27 |
</thead> |
|
41 | 28 |
|
42 |
[%- FOREACH idx = order %] |
|
43 |
[%- FOREACH row = problem.acc_trans.$idx.entries %] |
|
44 |
[%- SET curr_row = curr_row + 1 %] |
|
45 |
<tr class="listrow[% curr_row % 2 %]"> |
|
46 |
<td>[% HTML.escape(row.accno) %]--[% HTML.escape(row.chartdescription) %]</td> |
|
47 |
<td align="right"> |
|
48 |
[%- IF idx == 'debit' %] |
|
49 |
[% LxERP.format_amount(row.display_amount, 2) %] |
|
50 |
[%- END %] |
|
51 |
</td> |
|
52 |
<td align="right"> |
|
53 |
[%- IF idx == 'credit' %] |
|
54 |
[% LxERP.format_amount(row.display_amount, 2) %] |
|
55 |
[%- END %] |
|
56 |
</td> |
|
57 |
<td>[% IF idx != other_side %][% HTML.escape(row.taxdescription) %][% END %]</td> |
|
58 |
<td align="right">[% IF row.actual_tax %][% LxERP.format_amount(row.actual_tax, 2) %][% END %]</td> |
|
59 |
<td align="right">[% IF row.expected_tax %][% LxERP.format_amount(row.expected_tax, 2) %][% END %]</td> |
|
60 |
<td align="center" valign="center"><img src="image/[% IF row.tax_error %]error[% ELSE %]ok[% END %].png"></td> |
|
61 |
</tr> |
|
62 |
[%- END %] |
|
63 |
[%- END %] |
|
29 |
[% SET curr_row = 0 %] |
|
30 |
[% IF problem.acc_trans.credit.entries.size > problem.acc_trans.debit.entries.size %] |
|
31 |
[% SET order = [ 'credit', 'debit' ] %] |
|
32 |
[% SET other_side = 'debit' %] |
|
33 |
[% ELSE %] |
|
34 |
[% SET order = [ 'debit', 'credit' ] %] |
|
35 |
[% SET other_side = 'credit' %] |
|
36 |
[% END %] |
|
64 | 37 |
|
65 |
</table> |
|
66 |
</p> |
|
67 |
<hr> |
|
38 |
<tbody> |
|
39 |
[% FOREACH idx = order %] |
|
40 |
[% FOREACH row = problem.acc_trans.$idx.entries %] |
|
41 |
[% SET curr_row = curr_row + 1 %] |
|
42 |
<tr class="listrow[% curr_row % 2 %]"> |
|
43 |
<td>[% HTML.escape(row.accno) %]--[% HTML.escape(row.chartdescription) %]</td> |
|
44 |
<td>[% IF idx == 'debit' %][% LxERP.format_amount(row.display_amount, 2) %][% END %]</td> |
|
45 |
<td>[% IF idx == 'credit' %][% LxERP.format_amount(row.display_amount, 2) %][% END %]</td> |
|
46 |
<td>[% IF idx != other_side %][% HTML.escape(row.taxdescription) %][% END %]</td> |
|
47 |
<td>[% IF row.actual_tax %][% LxERP.format_amount(row.actual_tax, 2) %][% END %]</td> |
|
48 |
<td>[% IF row.expected_tax %][% LxERP.format_amount(row.expected_tax, 2) %][% END %]</td> |
|
49 |
<td><img src="image/[% IF row.tax_error %]error[% ELSE %]ok[% END %].png"></td> |
|
50 |
</tr> |
|
51 |
[% END %] |
|
52 |
[% END %] |
|
53 |
</tbody> |
|
54 |
</table> |
|
68 | 55 |
|
69 |
<form method="post" action="acctranscorrections.pl">
|
|
70 |
<p>
|
|
71 |
<input type="hidden" name="action" value="delete_transaction"> |
|
72 |
<input type="hidden" name="trans_id" value="[% HTML.escape(problem.data.trans_id) %]"> |
|
73 |
<input type="submit" class="submit" value="[% 'Delete transaction' | $T8 %]">
|
|
74 |
<input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]">
|
|
75 |
</p>
|
|
76 |
</form>
|
|
56 |
<form method="post" action="acctranscorrections.pl"> |
|
57 |
<div class="buttons">
|
|
58 |
<input type="hidden" name="action" value="delete_transaction">
|
|
59 |
<input type="hidden" name="trans_id" value="[% HTML.escape(problem.data.trans_id) %]">
|
|
60 |
<input type="submit" value="[% 'Delete transaction' | $T8 %]">
|
|
61 |
<input type="button" onclick="history.back()" value="[% 'Back' | $T8 %]">
|
|
62 |
</div>
|
|
63 |
</form> |
|
77 | 64 |
|
templates/webpages/acctranscorrections/assistant_for_wrong_taxkeys.html | ||
---|---|---|
1 |
[%- USE T8 %] |
|
2 |
[% USE HTML %][% USE LxERP %] |
|
1 |
[% USE T8 %] |
|
2 |
[% USE HTML %] |
|
3 |
[% USE LxERP %] |
|
4 |
|
|
3 | 5 |
<h1>[% title %]</h1> |
4 | 6 |
|
5 |
<p> |
|
6 |
[% 'The following transaction contains wrong taxkeys:' | $T8 %] |
|
7 |
<a href="[% problem.link %]"> |
|
8 |
[%- IF problem.data.module == 'ar' %] |
|
9 |
[% 'AR Transaction' | $T8 %] |
|
10 |
[%- ELSIF problem.data.module == 'ap' %] |
|
11 |
[% 'AP Transaction' | $T8 %] |
|
12 |
[%- ELSE %] |
|
13 |
[% 'General Ledger Transaction' | $T8 %] |
|
14 |
[%- END %] |
|
15 |
[% HTML.escape(problem.data.reference) %] |
|
16 |
</a> |
|
17 |
</p> |
|
7 |
<p>[% 'The following transaction contains wrong taxkeys:' | $T8 %]<a href="[% problem.link %]"> |
|
8 |
[% IF problem.data.module == 'ar' %][% 'AR Transaction' | $T8 %] |
|
9 |
[% ELSIF problem.data.module == 'ap' %][% 'AP Transaction' | $T8 %] |
|
10 |
[% ELSE %][% 'General Ledger Transaction' | $T8 %][% END %] |
|
11 |
[% HTML.escape(problem.data.reference) %] |
|
12 |
</a></p> |
|
18 | 13 |
|
19 |
<p>
|
|
14 |
<p> |
|
20 | 15 |
[% 'This could have happened for two reasons:' | $T8 %] |
21 |
|
|
22 | 16 |
[% 'The first reason is that kivitendo contained a bug which resulted in the wrong taxkeys being recorded for transactions in which two entries are posted for the same chart with different taxkeys.' | $T8 %] |
23 |
|
|
24 | 17 |
[% 'The second reason is that kivitendo allowed the user to enter the tax amount manually regardless of the taxkey used.' | $T8 %] |
25 |
|
|
26 | 18 |
[% 'The third reason is that wrong (taxkey) settings for the credit / debit CSV-import were used.' | $T8 %] |
27 |
|
|
28 | 19 |
[% 'Such entries cannot be exported into the DATEV format and have to be fixed as well.' | $T8 %] |
29 |
</p> |
|
30 |
|
|
31 |
<p> |
|
20 |
</p> |
|
21 |
<p> |
|
32 | 22 |
[% 'The transaction is shown below in its current state.' | $T8 %] |
33 |
|
|
34 | 23 |
[% 'You can correct this transaction by chosing the correct taxkeys from the drop down boxes and hitting the button "Fix transaction" afterwards.' | $T8 %] |
35 |
|
|
36 |
[%- 'It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don\'t match the selected taxkey). Therefore you should re-run the general ledger analysis.' | $T8 %] |
|
37 |
</p> |
|
38 |
|
|
39 |
<p> |
|
24 |
[% 'It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don\'t match the selected taxkey). Therefore you should re-run the general ledger analysis.' | $T8 %] |
|
25 |
</p> |
|
26 |
<p> |
|
40 | 27 |
[% 'You can also delete this transaction and re-enter it manually.' | $T8 %] |
41 |
|
|
42 | 28 |
[% 'In order to do that hit the button "Delete transaction".' | $T8 %] |
43 |
</p> |
|
44 |
|
|
45 |
<p>[% 'At the moment the transaction looks like this:' | $T8 %]</p> |
|
29 |
</p> |
|
30 |
<p>[% 'At the moment the transaction looks like this:' | $T8 %]</p> |
|
46 | 31 |
|
47 | 32 |
<form method="post" action="acctranscorrections.pl" name="Form"> |
48 |
<p> |
|
49 | 33 |
<table> |
50 | 34 |
<tr> |
51 |
<th class="listheading">[% 'Account' | $T8 %]</th>
|
|
52 |
<th class="listheading">[% 'Debit' | $T8 %]</th>
|
|
53 |
<th class="listheading">[% 'Credit' | $T8 %]</th>
|
|
54 |
<th class="listheading">[% 'Recorded Tax' | $T8 %]</th>
|
|
55 |
<th class="listheading">[% 'Recorded taxkey' | $T8 %]</th>
|
|
56 |
<th class="listheading">[% 'Expected Tax' | $T8 %]</th>
|
|
57 |
<th class="listheading"></th>
|
|
58 |
<th class="listheading">[% 'Correct taxkey' | $T8 %]</th>
|
|
35 |
<th>[% 'Account' | $T8 %]</th> |
|
36 |
<th>[% 'Debit' | $T8 %]</th> |
|
37 |
<th>[% 'Credit' | $T8 %]</th> |
|
38 |
<th>[% 'Recorded Tax' | $T8 %]</th> |
|
39 |
<th>[% 'Recorded taxkey' | $T8 %]</th> |
|
40 |
<th>[% 'Expected Tax' | $T8 %]</th> |
|
41 |
<th></th> |
|
42 |
<th>[% 'Correct taxkey' | $T8 %]</th> |
|
59 | 43 |
</tr> |
60 | 44 |
|
61 |
[%- SET curr_row = 0 %]
|
|
62 |
[%- IF (problem.data.module == 'ar') || ((problem.data.module == 'gl') && (problem.acc_trans.credit.entries.first.acc_trans_id < problem.acc_trans.debit.entries.first.acc_trans_id)) %]
|
|
63 |
[%- SET order = [ 'credit', 'debit' ] %]
|
|
64 |
[%- SET other_side = 'debit' %]
|
|
65 |
[%- ELSE %]
|
|
66 |
[%- SET order = [ 'debit', 'credit' ] %]
|
|
67 |
[%- SET other_side = 'credit' %]
|
|
68 |
[%- END %]
|
|
45 |
[% SET curr_row = 0 %] |
|
46 |
[% IF (problem.data.module == 'ar') || ((problem.data.module == 'gl') && (problem.acc_trans.credit.entries.first.acc_trans_id < problem.acc_trans.debit.entries.first.acc_trans_id)) %] |
|
47 |
[% SET order = [ 'credit', 'debit' ] %] |
|
48 |
[% SET other_side = 'debit' %] |
|
49 |
[% ELSE %] |
|
50 |
[% SET order = [ 'debit', 'credit' ] %] |
|
51 |
[% SET other_side = 'credit' %] |
|
52 |
[% END %] |
|
69 | 53 |
|
70 | 54 |
|
71 |
[%- IF problem.acc_trans.credit.entries.size > problem.acc_trans.debit.entries.size %]
|
|
72 |
[%- ELSE %]
|
|
73 |
[%- END %]
|
|
55 |
[% IF problem.acc_trans.credit.entries.size > problem.acc_trans.debit.entries.size %] |
|
56 |
[% ELSE %] |
|
57 |
[% END %] |
|
74 | 58 |
|
75 | 59 |
|
76 |
[%- FOREACH idx = order %]
|
|
77 |
[%- FOREACH row = problem.acc_trans.$idx.entries %]
|
|
78 |
[%- SET curr_row = curr_row + 1 %]
|
|
60 |
[% FOREACH idx = order %] |
|
61 |
[% FOREACH row = problem.acc_trans.$idx.entries %] |
|
62 |
[% SET curr_row = curr_row + 1 %] |
|
79 | 63 |
<tr class="listrow[% curr_row % 2 %]"> |
80 | 64 |
<td>[% HTML.escape(row.accno) %]--[% HTML.escape(row.chartdescription) %]</td> |
81 |
<td align="right">
|
|
82 |
[%- IF idx == 'debit' %]
|
|
65 |
<td> |
|
66 |
[% IF idx == 'debit' %] |
|
83 | 67 |
[% LxERP.format_amount(row.display_amount, 2) %] |
84 |
[%- END %]
|
|
68 |
[% END %] |
|
85 | 69 |
</td> |
86 |
<td align="right">
|
|
87 |
[%- IF idx == 'credit' %]
|
|
70 |
<td> |
|
71 |
[% IF idx == 'credit' %] |
|
88 | 72 |
[% LxERP.format_amount(row.display_amount, 2) %] |
89 |
[%- END %]
|
|
73 |
[% END %] |
|
90 | 74 |
</td> |
91 |
<td align="right">[% IF row.actual_tax %][% LxERP.format_amount(row.display_actual_tax, 2) %][% END %]</td>
|
|
75 |
<td>[% IF row.actual_tax %][% LxERP.format_amount(row.display_actual_tax, 2) %][% END %]</td> |
|
92 | 76 |
<td>[% IF (problem.data.module == 'gl') || (idx != other_side) %][% HTML.escape(row.taxdescription) %][% END %]</td> |
93 |
<td align="right">[% IF row.expected_tax %][% LxERP.format_amount(row.display_expected_tax, 2) %][% END %]</td>
|
|
94 |
<td align="center" valign="center"><img src="image/[% IF row.taxkey_error %]error[% ELSE %]ok[% END %].png"></td>
|
|
77 |
<td>[% IF row.expected_tax %][% LxERP.format_amount(row.display_expected_tax, 2) %][% END %]</td> |
|
78 |
<td><img src="image/[% IF row.taxkey_error %]error[% ELSE %]ok[% END %].png"></td> |
|
95 | 79 |
|
96 | 80 |
<td> |
97 |
[%- IF row.taxkey_error %]
|
|
81 |
[% IF row.taxkey_error %] |
|
98 | 82 |
<input type="hidden" name="fixes[+].acc_trans_id" value="[% HTML.escape(row.acc_trans_id) %]"> |
99 | 83 |
<input type="hidden" name="fixes[].tax_entry_acc_trans_id" value="[% HTML.escape(row.tax_entry_acc_trans_id) %]"> |
100 | 84 |
<select name="fixes[].taxkey" style="width: 250px" onchange="enable_fix_button_maybe()"> |
101 | 85 |
<option value="">[% '---please select---' | $T8 %]</option> |
102 |
[%- FOREACH taxkey = row.correct_taxkeys %]
|
|
86 |
[% FOREACH taxkey = row.correct_taxkeys %] |
|
103 | 87 |
<option value="[% HTML.escape(taxkey.taxkey) %]">[% HTML.escape(taxkey.description) %]</option> |
104 |
[%- END %]
|
|
105 |
[%- ELSE %]
|
|
88 |
[% END %] |
|
89 |
[% ELSE %] |
|
106 | 90 |
|
107 |
[%- END %]
|
|
91 |
[% END %] |
|
108 | 92 |
</tr> |
109 |
[%- END %]
|
|
110 |
[%- END %]
|
|
93 |
[% END %] |
|
94 |
[% END %] |
|
111 | 95 |
|
112 | 96 |
</table> |
113 |
</p> |
|
114 | 97 |
<hr> |
115 | 98 |
|
116 | 99 |
<p> |
117 | 100 |
<input type="hidden" name="callback" value="[% HTML.escape(callback) %]"> |
118 |
|
|
119 | 101 |
<input type="hidden" name="action" value="dispatcher"> |
120 | 102 |
<input type="hidden" name="trans_id" value="[% HTML.escape(problem.data.trans_id) %]"> |
121 | 103 |
<input type="hidden" name="module" value="[% HTML.escape(problem.data.module) %]"> |
122 | 104 |
<input type="hidden" name="reference" value="[% HTML.escape(problem.data.reference) %]"> |
123 |
<input type="submit" class="submit" id="fix_transaction_button" name="action_fix_wrong_taxkeys" value="[% 'Fix transaction' | $T8 %]" disabled>
|
|
124 |
<input type="submit" class="submit" name="action_delete_transaction" value="[% 'Delete transaction' | $T8 %]">
|
|
125 |
<input type="button" class="submit" onclick="history.back()" value="[% 'Back' | $T8 %]">
|
|
105 |
<input type="submit" id="fix_transaction_button" name="action_fix_wrong_taxkeys" value="[% 'Fix transaction' | $T8 %]" disabled> |
|
106 |
<input type="submit" name="action_delete_transaction" value="[% 'Delete transaction' | $T8 %]"> |
|
107 |
<input type="button" onclick="history.back()" value="[% 'Back' | $T8 %]"> |
|
126 | 108 |
</p> |
127 | 109 |
</form> |
128 | 110 |
|
Auch abrufbar als: Unified diff
Neues kivitendo Design Aenderungen in templates/webpages/acc*
Dateien in acc_trans/* und acctranscorrections/*