my @invoicing_list = $self->cust_main->invoicing_list;
+ #$self->email_invoice($template, $invoice_from)
$self->email($template, $invoice_from)
if grep { $_ !~ /^(POST|FAX)$/ } @invoicing_list or !@invoicing_list;
+ #$self->print_invoice($template)
$self->print($template)
if grep { $_ eq 'POST' } @invoicing_list; #postal
- $self->fax($template)
+ $self->fax_invoice($template)
if grep { $_ eq 'FAX' } @invoicing_list; #fax
'';
}
+#sub email_invoice {
sub email {
my $self = shift;
my $template = scalar(@_) ? shift : '';
=cut
+#sub print_invoice {
sub print {
my $self = shift;
my $template = scalar(@_) ? shift : '';
do_print $self->lpr_data($template);
}
-=item fax [ TEMPLATENAME ]
+=item fax_invoice [ TEMPLATENAME ]
Faxes this invoice.
=cut
-sub fax {
+sub fax_invoice {
my $self = shift;
my $template = scalar(@_) ? shift : '';
'date' => time2str($date_format, $self->_date),
'today' => time2str('%b %o, %Y', $today),
'agent' => &$escape_function($cust_main->agent->agent),
+ 'agent_custid' => &$escape_function($cust_main->agent_custid),
'payname' => &$escape_function($cust_main->payname),
'company' => &$escape_function($cust_main->company),
'address1' => &$escape_function($cust_main->address1),
'state' => &$escape_function($cust_main->state),
'zip' => &$escape_function($cust_main->zip),
'returnaddress' => $returnaddress,
- 'quantity' => 1,
+ #'quantity' => 1,
'terms' => $self->terms,
'template' => $params{'template'},
#'notes' => join("\n", $conf->config('invoice_latexnotes') ),
'conf_dir' => "$FS::UID::conf_dir/conf.$FS::UID::datasrc",
'page' => 1,
'total_pages' => 1,
+ 'ship_enable' => $conf->exists('invoice-ship_address'),
+ 'unitprices' => $conf->exists('invoice-unitprice'),
);
+ my $prefix = $cust_main->has_ship_address ? 'ship_' : '';
+ foreach ( qw( contact company address1 address2 city state zip country fax) ){
+ my $method = $prefix.$_;
+ $invoice_data{"ship_$_"} = _latex_escape($cust_main->$method);
+ }
+
$invoice_data{'cid'} = $params{'cid'}
if $params{'cid'};
&$escape_function($_);
} @{$line_item->{'ext_description'}};
}
- {
- my $money = $old_latex ? '' : $money_char;
- $detail->{'amount'} = $money. $line_item->{'amount'};
- }
+ $detail->{'amount'} = ( $old_latex ? '' : $money_char).
+ $line_item->{'amount'};
$detail->{'product_code'} = $line_item->{'pkgpart'} || 'N/A';
push @detail_items, $detail;
ext_description => [],
};
$detail->{'ref'} = $line_item->{'pkgnum'};
- $detail->{'quantity'} = 1;
+ $detail->{'quantity'} = $line_item->{'quantity'};
$detail->{'section'} = $section;
$detail->{'description'} = &$escape_function($line_item->{'description'});
if ( exists $line_item->{'ext_description'} ) {
@{$detail->{'ext_description'}} = @{$line_item->{'ext_description'}};
}
- {
- my $money = $old_latex ? '' : $money_char;
- $detail->{'amount'} = $money. $line_item->{'amount'};
- }
+ $detail->{'amount'} = ( $old_latex ? '' : $money_char ).
+ $line_item->{'amount'};
+ $detail->{'unit_amount'} = ( $old_latex ? '' : $money_char ).
+ $line_item->{'unit_amount'};
$detail->{'product_code'} = $line_item->{'pkgpart'} || 'N/A';
push @detail_items, $detail;
if ( $cust_bill_pkg->pkgnum > 0 ) {
- my $desc = $cust_bill_pkg->part_pkg->classname;
+ my $desc = $cust_bill_pkg->part_pkg->categoryname;
$s{$desc} += $cust_bill_pkg->setup
if ( $cust_bill_pkg->setup != 0 );
my @cust_bill_pkg =
grep { $_->pkgnum &&
( defined($section)
- ? $_->part_pkg->classname eq $section->{'description'}
+ ? $_->part_pkg->categoryname eq $section->{'description'}
: 1
)
} $self->cust_bill_pkg;
#pkgpart => $part_pkg->pkgpart,
pkgnum => $cust_bill_pkg->pkgnum,
amount => sprintf("%.2f", $cust_bill_pkg->setup),
+ unit_amount => sprintf("%.2f", $cust_bill_pkg->unitsetup),
+ quantity => $cust_bill_pkg->quantity,
ext_description => \@d,
};
}
#pkgpart => $part_pkg->pkgpart,
pkgnum => $cust_bill_pkg->pkgnum,
amount => sprintf("%.2f", $cust_bill_pkg->recur),
+ unit_amount => sprintf("%.2f", $cust_bill_pkg->unitrecur),
+ quantity => $cust_bill_pkg->quantity,
ext_description => \@d,
-
};
}