FS::cust_bill - Object methods for cust_bill records
use FS::cust_bill;
$record = new FS::cust_bill \%hash;
$record = new FS::cust_bill { 'column' => 'value' };
$error = $record->insert;
$error = $new_record->replace($old_record);
$error = $record->delete;
$error = $record->check;
( $total_previous_balance, @previous_cust_bill ) = $record->previous;
@cust_bill_pkg_objects = $cust_bill->cust_bill_pkg;
( $total_previous_credits, @previous_cust_credit ) = $record->cust_credit;
@cust_pay_objects = $cust_bill->cust_pay;
@lines = $cust_bill->print_text;
@lines = $cust_bill->print_text $time;
An FS::cust_bill object represents an invoice; a declaration that a customer
owes you money. The specific charges are itemized as cust_bill_pkg records
(see the FS::cust_bill_pkg manpage). FS::cust_bill inherits from FS::Record. The
following fields are currently supported:
- invnum - primary key (assigned automatically for new invoices)
-
- custnum - customer (see the FS::cust_main manpage)
-
- _date - specified as a UNIX timestamp; see perlfunc/``time''. Also see
the Time::Local manpage and the Date::Parse manpage for conversion functions.
-
- charged - amount of this invoice
-
- printed - how many times this invoice has been printed automatically
(see collect in the FS::cust_main manpage).
-
- new HASHREF
-
Creates a new invoice. To add the invoice to the database, see insert.
Invoices are normally created by calling the bill method of a customer object
(see the FS::cust_main manpage).
- insert
-
Adds this invoice to the database (``Posts'' the invoice). If there is an error,
returns the error, otherwise returns false.
- delete
-
Currently unimplemented. I don't remove invoices because there would then be
no record you ever posted this invoice (which is bad, no?)
- replace OLD_RECORD
-
Replaces the OLD_RECORD with this one in the database. If there is an error,
returns the error, otherwise returns false.
Only printed may be changed. printed is normally updated by calling the
collect method of a customer object (see the FS::cust_main manpage).
- check
-
Checks all fields to make sure this is a valid invoice. If there is an error,
returns the error, otherwise returns false. Called by the insert and replace
methods.
- previous
-
Returns a list consisting of the total previous balance for this customer,
followed by the previous outstanding invoices (as FS::cust_bill objects also).
- cust_bill_pkg
-
Returns the line items (see the FS::cust_bill_pkg manpage) for this invoice.
- cust_credit
-
Returns a list consisting of the total previous credited (see
the FS::cust_credit manpage) for this customer, followed by the previous outstanding
credits (FS::cust_credit objects).
- cust_pay
-
Returns all payments (see the FS::cust_pay manpage) for this invoice.
- owed
-
Returns the amount owed (still outstanding) on this invoice, which is charged
minus all payments (see the FS::cust_pay manpage).
- print_text [TIME];
-
Returns an text invoice, as a list of lines.
TIME an optional value used to control the printing of overdue messages. The
default is now. It isn't the date of the invoice; that's the `_date' field.
It is specified as a UNIX timestamp; see perlfunc/``time''. Also see
the Time::Local manpage and the Date::Parse manpage for conversion functions.
$Id: cust_bill.html,v 1.3 2001-04-23 12:40:31 ivan Exp $
The delete method.
print_text formatting (and some logic :/) is in source, but needs to be
slurped in from a file. Also number of lines ($=).
missing print_ps for a nice postscript copy (maybe HylaFAX-cover-page-style
or something similar so the look can be completely customized?)
the FS::Record manpage, the FS::cust_main manpage, the FS::cust_pay manpage, the FS::cust_bill_pkg manpage,
the FS::cust_credit manpage, schema.html from the base documentation.