summaryrefslogtreecommitdiff
path: root/htdocs/docs/man/cust_bill.txt
diff options
context:
space:
mode:
authorivan <ivan>1998-09-25 08:52:48 +0000
committerivan <ivan>1998-09-25 08:52:48 +0000
commit08f52e31c5f777963d565085d077c9d8d9734e17 (patch)
tree12cadac5ed336b42861b7df1907fd74c0bda5944 /htdocs/docs/man/cust_bill.txt
parent693939e7879f77a52b9e482a0f6bf2e80f8f7020 (diff)
Initial revision
Diffstat (limited to 'htdocs/docs/man/cust_bill.txt')
-rw-r--r--htdocs/docs/man/cust_bill.txt140
1 files changed, 140 insertions, 0 deletions
diff --git a/htdocs/docs/man/cust_bill.txt b/htdocs/docs/man/cust_bill.txt
new file mode 100644
index 000000000..9762dd3ca
--- /dev/null
+++ b/htdocs/docs/man/cust_bill.txt
@@ -0,0 +1,140 @@
+NAME
+ FS::cust_bill - Object methods for cust_bill records
+
+SYNOPSIS
+ use FS::cust_bill;
+
+ $record = create FS::cust_bill \%hash;
+ $record = create 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;
+
+DESCRIPTION
+ An FS::cust_bill object represents an invoice. 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 the section on "time" in the perlfunc manpage. Also see
+ the Time::Local manpage and the Date::Parse manpage for conversion functions.
+ charged - amount of this invoice
+ owed - amount still outstanding on this invoice, which is charged minus
+ all payments (see the FS::cust_pay manpage).
+ printed - how many times this invoice has been printed automatically
+ (see the section on "collect" in the FS::cust_main manpage).
+METHODS
+ create HASHREF
+ Creates a new invoice. To add the invoice to the database,
+ see the section on "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.
+
+ When adding new invoices, owed must be charged (or null, in
+ which case it is automatically set to charged).
+
+ 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 owed and printed may be changed. Owed is normally
+ updated by creating and inserting a payment (see the
+ FS::cust_pay manpage). 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.
+
+ print_text [TIME];
+ Returns an ASCII 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 the section on "time" in the perlfunc
+ manpage. Also see the Time::Local manpage and the
+ Date::Parse manpage for conversion functions.
+
+BUGS
+ The delete method.
+
+ It doesn't properly override FS::Record yet.
+
+ print_text formatting (and some logic :/) is in source as a
+ format declaration, which needs to be slurped in from a file.
+ the fork is rather kludgy as well. It could be cleaned with
+ swrite from man perlform, and the picture could be put in a
+ /var/spool/freeside/conf 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?)
+
+ There is an off-by-one error in print_text which causes a visual
+ error: "Page 1 of 2" printed on some single-page invoices?
+
+SEE ALSO
+ 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.
+
+HISTORY
+ ivan@voicenet.com 97-jul-1
+
+ small fix for new API ivan@sisd.com 98-mar-14
+
+ charges can be negative ivan@sisd.com 98-jul-13
+
+ pod, ingegrate with FS::Invoice ivan@sisd.com 98-sep-20
+