summaryrefslogtreecommitdiff
path: root/FS/FS/cust_credit.pm
diff options
context:
space:
mode:
authorjeff <jeff>2001-09-01 21:52:20 +0000
committerjeff <jeff>2001-09-01 21:52:20 +0000
commit6412f71a3557249225abf5eb2096ebad1729c585 (patch)
treee8365251d39c29387ba68dce8a3fb56564d407b7 /FS/FS/cust_credit.pm
parentcdd5aa1d86cd5b266e02bed58570c97c2d7698ba (diff)
add cust_credit_bill relating multiple invoices to credits
Diffstat (limited to 'FS/FS/cust_credit.pm')
-rw-r--r--FS/FS/cust_credit.pm23
1 files changed, 20 insertions, 3 deletions
diff --git a/FS/FS/cust_credit.pm b/FS/FS/cust_credit.pm
index d6de27c..ec3a7ce 100644
--- a/FS/FS/cust_credit.pm
+++ b/FS/FS/cust_credit.pm
@@ -6,6 +6,7 @@ use FS::UID qw( getotaker );
use FS::Record qw( qsearch qsearchs );
use FS::cust_main;
use FS::cust_refund;
+use FS::cust_credit_bill;
@ISA = qw( FS::Record );
@@ -132,10 +133,25 @@ sub cust_refund {
;
}
+=item cust_credit_bill
+
+Returns all application to invoices (see L<FS::cust_credit_bill>) for this
+credit.
+
+=cut
+
+sub cust_credit_bill {
+ my $self = shift;
+ sort { $a->_date <=> $b->_date }
+ qsearch( 'cust_credit_bill', { 'crednum' => $self->crednum } )
+ ;
+}
+
=item credited
Returns the amount of this credit that is still outstanding; which is
-amount minus all refunds (see L<FS::cust_refund>).
+amount minus all refunds (see L<FS::cust_refund>) and applications to
+invoices (see L<FS::cust_credit_bill>).
=cut
@@ -143,14 +159,15 @@ sub credited {
my $self = shift;
my $amount = $self->amount;
$amount -= $_->refund foreach ( $self->cust_refund );
- $amount;
+ $amount -= $_->amount foreach ( $self->cust_credit_bill );
+ sprintf( "%.2f", $amount );
}
=back
=head1 VERSION
-$Id: cust_credit.pm,v 1.8 2001-08-26 05:06:19 ivan Exp $
+$Id: cust_credit.pm,v 1.9 2001-09-01 21:52:19 jeff Exp $
=head1 BUGS