Skip to content

Commit

Permalink
Merge pull request #7580 from ehuelsmann/feature/taxform-codes
Browse files Browse the repository at this point in the history
Taxform report with tax identification codes
  • Loading branch information
ehuelsmann committed Aug 22, 2023
2 parents 8b0ecb1 + c907f4a commit 07c3ec1
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 5 deletions.
88 changes: 88 additions & 0 deletions UI/Reports/filters/taxforms.html
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,94 @@
<tr>
<td><hr size=3 noshade></td>
</tr>
<tr>
<th align="right" valign="top">[% text('Include in Report') %]</th>
</tr>
<tr>
<td>
<table>
<tr>
<td nowrap>[%
label_pos = 1;
PROCESS input element_data = {
name="col_legal_name"
class="checkbox"
type="checkbox"
value="1"
checked="checked"
label=text('Company') } %]</td>
</tr>
<tr>
<td nowrap>[%
PROCESS input element_data = {
name="col_account_type"
class="checkbox"
type="checkbox"
value="1"
checked="checked"
label=text('Account Type') } %]</td>
</tr>
<tr>
<td nowrap>[%
PROCESS input element_data = {
name="col_meta_number"
class="checkbox"
type="checkbox"
value="1"
checked="checked"
label=text('Account Number') } %]</td>
</tr>
<tr>
<td nowrap>[%
PROCESS input element_data = {
name="col_control_code"
class="checkbox"
type="checkbox"
value="1"
checked="checked"
label=text('Control Code') } %]</td>
</tr>
<tr>
<td nowrap>[%
PROCESS input element_data = {
name="col_tax_id"
class="checkbox"
type="checkbox"
value="1"
label=text('Tax ID') } %]</td>
</tr>
<tr>
<td nowrap>[%
PROCESS input element_data = {
name="col_sales_tax_id"
class="checkbox"
type="checkbox"
value="1"
label=text('Sales Tax ID') };
PROCESS input element_data={
name="col_acc_sum"
value="1"
type="hidden"
};
PROCESS input element_data={
name="col_invoice_sum"
value="1"
type="hidden"
};
PROCESS input element_data={
name="col_total"
value="1"
type="hidden"
};
%]
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><hr size=3 noshade></td>
</tr>
</table>

[% PROCESS input element_data = {
Expand Down
14 changes: 14 additions & 0 deletions lib/LedgerSMB/Report/Taxform/Summary.pm
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ has is_accrual => (is => 'rw', isa => 'Bool', required => 0, default => 0);
=item meta_number
=item control_code
=item tax_id
=item sales_tax_id
=item acc_sum
=item invoice_sum
Expand Down Expand Up @@ -86,6 +92,14 @@ sub columns {
type => 'text',
name => $self->Text('Control Code') },

{ col_id => 'tax_id',
type => 'text',
name => $self->Text('Tax ID'), },

{ col_id => 'sales_tax_id',
type => 'text',
name => $self->Text('Sales Tax ID') },

{ col_id => 'acc_sum',
type => 'text',
name => $self->Text('Transactions') },
Expand Down
2 changes: 1 addition & 1 deletion lib/LedgerSMB/Scripts/taxform.pm
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ sub generate_report {

my ($tf) =
$request->call_procedure(
funcname => 'tax_form__get', args => [$request->{id}]);
funcname => 'tax_form__get', args => [$request->{tax_form_id}]);

my $report;
if ($request->{meta_number}){
Expand Down
16 changes: 12 additions & 4 deletions sql/modules/1099_reports.sql
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ CREATE TYPE tax_form_report_item AS (
entity_class integer,
control_code text,
meta_number character varying(32),
tax_id text,
sales_tax_id text,
acc_sum numeric,
invoice_sum numeric,
total_sum numeric);
Expand All @@ -34,6 +36,8 @@ CREATE TYPE tax_form_report_detail_item AS (
entity_class integer,
control_code text,
meta_number character varying(32),
tax_id text,
sales_tax_id text,
acc_sum numeric,
invoice_sum numeric,
total_sum numeric,
Expand All @@ -48,6 +52,7 @@ RETURNS SETOF tax_form_report_item AS $BODY$
company.legal_name, company.entity_id,
entity_credit_account.entity_class, entity.control_code,
entity_credit_account.meta_number,
company.tax_id, company.sales_tax_id,
sum(CASE WHEN gl.amount_bc = 0 THEN 0
WHEN relation = 'acc_trans'
THEN ac.reportable_amount_bc * pmt.amount_bc
Expand Down Expand Up @@ -112,7 +117,7 @@ RETURNS SETOF tax_form_report_item AS $BODY$
JOIN company ON (entity.id = company.entity_id)
JOIN country_tax_form ON (entity_credit_account.taxform_id = country_tax_form.id)
WHERE country_tax_form.id = in_tax_form_id
GROUP BY legal_name, meta_number, company.entity_id, entity_credit_account.entity_class, entity.control_code, entity_credit_account.id
GROUP BY legal_name, meta_number, company.tax_id, company.sales_tax_id, company.entity_id, entity_credit_account.entity_class, entity.control_code, entity_credit_account.id
$BODY$ LANGUAGE SQL;

COMMENT ON FUNCTION tax_form_summary_report
Expand All @@ -127,6 +132,7 @@ RETURNS SETOF tax_form_report_detail_item AS $BODY$
company.legal_name, company.entity_id,
entity_credit_account.entity_class, entity.control_code,
entity_credit_account.meta_number,
company.tax_id, company.sales_tax_id,
sum(CASE WHEN gl.amount_bc = 0 then 0
when relation = 'acc_trans'
THEN ac.reportable_amount_bc * pmt.amount_bc
Expand Down Expand Up @@ -190,7 +196,7 @@ RETURNS SETOF tax_form_report_detail_item AS $BODY$
group by ac.trans_id
) pmt ON (pmt.trans_id = gl.id)
WHERE country_tax_form.id = in_tax_form_id AND meta_number = in_meta_number
GROUP BY legal_name, meta_number, company.entity_id, entity_credit_account.entity_class, entity.control_code, gl.invnumber, gl.duedate, gl.id, entity_credit_account.id
GROUP BY legal_name, meta_number, company.entity_id, company.tax_id, company.sales_tax_id, entity_credit_account.entity_class, entity.control_code, gl.invnumber, gl.duedate, gl.id, entity_credit_account.id
$BODY$ LANGUAGE SQL;

COMMENT ON FUNCTION tax_form_details_report
Expand All @@ -207,6 +213,7 @@ RETURNS SETOF tax_form_report_item AS $BODY$
company.legal_name, company.entity_id,
entity_credit_account.entity_class, entity.control_code,
entity_credit_account.meta_number,
company.tax_id, company.sales_tax_id,
sum(CASE WHEN gl.amount_bc = 0 THEN 0
WHEN relation = 'acc_trans'
THEN ac.reportable_amount_bc
Expand Down Expand Up @@ -259,7 +266,7 @@ RETURNS SETOF tax_form_report_item AS $BODY$
JOIN company ON (entity.id = company.entity_id)
JOIN country_tax_form ON (entity_credit_account.taxform_id = country_tax_form.id)
WHERE country_tax_form.id = in_tax_form_id
GROUP BY legal_name, meta_number, company.entity_id, entity_credit_account.entity_class, entity.control_code, entity_credit_account.id
GROUP BY legal_name, meta_number, company.entity_id, company.tax_id, company.sales_tax_id, entity_credit_account.entity_class, entity.control_code, entity_credit_account.id
$BODY$ LANGUAGE SQL;

COMMENT ON FUNCTION tax_form_summary_report_accrual
Expand All @@ -275,6 +282,7 @@ RETURNS SETOF tax_form_report_detail_item AS $BODY$
company.legal_name, company.entity_id,
entity_credit_account.entity_class, entity.control_code,
entity_credit_account.meta_number,
company.tax_id, company.sales_tax_id,
sum(CASE WHEN gl.amount_bc = 0 then 0
when relation = 'acc_trans'
THEN ac.reportable_amount_bc
Expand Down Expand Up @@ -327,7 +335,7 @@ RETURNS SETOF tax_form_report_detail_item AS $BODY$
JOIN company ON (entity.id = company.entity_id)
JOIN country_tax_form ON (entity_credit_account.taxform_id = country_tax_form.id)
WHERE country_tax_form.id = in_tax_form_id AND meta_number = in_meta_number
GROUP BY legal_name, meta_number, company.entity_id, entity_credit_account.entity_class, entity.control_code, gl.invnumber, gl.duedate, gl.id, entity_credit_account.id
GROUP BY legal_name, meta_number, company.entity_id, company.tax_id, company.sales_tax_id, entity_credit_account.entity_class, entity.control_code, gl.invnumber, gl.duedate, gl.id, entity_credit_account.id
$BODY$ LANGUAGE SQL;

COMMENT ON FUNCTION tax_form_details_report_accrual
Expand Down

0 comments on commit 07c3ec1

Please sign in to comment.