summaryrefslogtreecommitdiff
path: root/FS/FS
diff options
context:
space:
mode:
authorjeff <jeff>2008-06-04 13:27:43 +0000
committerjeff <jeff>2008-06-04 13:27:43 +0000
commit9b47beaf0df0a9451e9b530e22a1698cb4d94649 (patch)
treea892c5eb367df0df8cdc5825762f02f17a7f99fc /FS/FS
parent6be7872bb072adb8195a590ffd72d861b5f4f010 (diff)
service address on invoice
Diffstat (limited to 'FS/FS')
-rw-r--r--FS/FS/Conf.pm7
-rw-r--r--FS/FS/cust_bill.pm16
2 files changed, 23 insertions, 0 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 4a1760fd1..87897c32c 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -1952,6 +1952,13 @@ worry that config_items is freeside-specific and icky.
},
{
+ 'key' => 'invoice-ship_address',
+ 'section' => 'billing',
+ 'description' => 'Enable this switch to include the ship address on the invoice.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'batch-enable',
'section' => 'billing',
'description' => 'Enable credit card and/or ACH batching - leave disabled for real-time installations.',
diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm
index 8c53e7f83..7f2c18572 100644
--- a/FS/FS/cust_bill.pm
+++ b/FS/FS/cust_bill.pm
@@ -1796,6 +1796,7 @@ sub print_latex {
'date' => time2str('%b %o, %Y', $self->_date),
'today' => time2str('%b %o, %Y', $today),
'agent' => _latex_escape($cust_main->agent->agent),
+ 'agent_custid' => _latex_escape($cust_main->agent_custid),
'payname' => _latex_escape($cust_main->payname),
'company' => _latex_escape($cust_main->company),
'address1' => _latex_escape($cust_main->address1),
@@ -1812,8 +1813,15 @@ sub print_latex {
#'notes' => join("\n", $conf->config('invoice_latexnotes') ),
'conf_dir' => "$FS::UID::conf_dir/conf.$FS::UID::datasrc",
'balance' => $balance_due,
+ 'ship_enable' => $conf->exists('invoice-ship_address'),
);
+ 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);
+ }
+
my $countrydefault = $conf->config('countrydefault') || 'US';
if ( $cust_main->country eq $countrydefault ) {
$invoice_data{'country'} = '';
@@ -2173,6 +2181,7 @@ sub print_html {
'date' => time2str('%b&nbsp;%o,&nbsp;%Y', $self->_date),
'today' => time2str('%b %o, %Y', $today),
'agent' => encode_entities($cust_main->agent->agent),
+ 'agent_custid' => encode_entities($cust_main->agent_custid),
'payname' => encode_entities($cust_main->payname),
'company' => encode_entities($cust_main->company),
'address1' => encode_entities($cust_main->address1),
@@ -2184,9 +2193,16 @@ sub print_html {
|| 'Payable upon receipt',
'cid' => $cid,
'template' => $template,
+ 'ship_enable' => $conf->exists('invoice-ship_address'),
# 'conf_dir' => "$FS::UID::conf_dir/conf.$FS::UID::datasrc",
);
+ 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_$_"} = encode_entities($cust_main->$method);
+ }
+
if (
defined( $conf->config_orbase('invoice_htmlreturnaddress', $template) )
&& length( $conf->config_orbase('invoice_htmlreturnaddress', $template) )