3 <TITLE>FS::cust_bill - Object methods for cust_bill records</TITLE>
4 <LINK REV="made" HREF="mailto:perl@packages.debian.org">
9 <A NAME="__index__"></A>
14 <LI><A HREF="#name">NAME</A></LI>
15 <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
16 <LI><A HREF="#description">DESCRIPTION</A></LI>
17 <LI><A HREF="#methods">METHODS</A></LI>
18 <LI><A HREF="#version">VERSION</A></LI>
19 <LI><A HREF="#bugs">BUGS</A></LI>
20 <LI><A HREF="#see also">SEE ALSO</A></LI>
26 <H1><A NAME="name">NAME</A></H1>
27 <P>FS::cust_bill - Object methods for cust_bill records</P>
30 <H1><A NAME="synopsis">SYNOPSIS</A></H1>
32 use FS::cust_bill;</PRE>
34 $record = new FS::cust_bill \%hash;
35 $record = new FS::cust_bill { 'column' => 'value' };</PRE>
37 $error = $record->insert;</PRE>
39 $error = $new_record->replace($old_record);</PRE>
41 $error = $record->delete;</PRE>
43 $error = $record->check;</PRE>
45 ( $total_previous_balance, @previous_cust_bill ) = $record->previous;</PRE>
47 @cust_bill_pkg_objects = $cust_bill->cust_bill_pkg;</PRE>
49 ( $total_previous_credits, @previous_cust_credit ) = $record->cust_credit;</PRE>
51 @cust_pay_objects = $cust_bill->cust_pay;</PRE>
53 @lines = $cust_bill->print_text;
54 @lines = $cust_bill->print_text $time;</PRE>
57 <H1><A NAME="description">DESCRIPTION</A></H1>
58 <P>An FS::cust_bill object represents an invoice; a declaration that a customer
59 owes you money. The specific charges are itemized as <STRONG>cust_bill_pkg</STRONG> records
60 (see <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>). FS::cust_bill inherits from FS::Record. The
61 following fields are currently supported:</P>
63 <DT><STRONG><A NAME="item_key">invnum - primary key (assigned automatically for new invoices)</A></STRONG><BR>
65 <DT><STRONG><A NAME="item_customer">custnum - customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)</A></STRONG><BR>
67 <DT><STRONG><A NAME="item__date_%2D_specified_as_a_UNIX_timestamp%3B_see_per">_date - specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>. Also see
68 <A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</A></STRONG><BR>
70 <DT><STRONG><A NAME="item_charged_%2D_amount_of_this_invoice">charged - amount of this invoice</A></STRONG><BR>
72 <DT><STRONG><A NAME="item_automatically">printed - how many times this invoice has been printed automatically
73 (see <A HREF=".././FS/cust_main.html#collect">collect in the FS::cust_main manpage</A>).</A></STRONG><BR>
78 <H1><A NAME="methods">METHODS</A></H1>
80 <DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
82 Creates a new invoice. To add the invoice to the database, see <A HREF="#insert">insert</A>.
83 Invoices are normally created by calling the bill method of a customer object
84 (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).
86 <DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
88 Adds this invoice to the database (``Posts'' the invoice). If there is an error,
89 returns the error, otherwise returns false.
91 <DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
93 Currently unimplemented. I don't remove invoices because there would then be
94 no record you ever posted this invoice (which is bad, no?)
96 <DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
98 Replaces the OLD_RECORD with this one in the database. If there is an error,
99 returns the error, otherwise returns false.
100 <P>Only printed may be changed. printed is normally updated by calling the
101 collect method of a customer object (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).</P>
103 <DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
105 Checks all fields to make sure this is a valid invoice. If there is an error,
106 returns the error, otherwise returns false. Called by the insert and replace
109 <DT><STRONG><A NAME="item_previous">previous</A></STRONG><BR>
111 Returns a list consisting of the total previous balance for this customer,
112 followed by the previous outstanding invoices (as FS::cust_bill objects also).
114 <DT><STRONG><A NAME="item_cust_bill_pkg">cust_bill_pkg</A></STRONG><BR>
116 Returns the line items (see <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>) for this invoice.
118 <DT><STRONG><A NAME="item_cust_credit">cust_credit</A></STRONG><BR>
120 Returns a list consisting of the total previous credited (see
121 <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>) for this customer, followed by the previous outstanding
122 credits (FS::cust_credit objects).
124 <DT><STRONG><A NAME="item_cust_pay">cust_pay</A></STRONG><BR>
126 Returns all payments (see <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>) for this invoice.
128 <DT><STRONG><A NAME="item_owed">owed</A></STRONG><BR>
130 Returns the amount owed (still outstanding) on this invoice, which is charged
131 minus all payments (see <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>).
133 <DT><STRONG><A NAME="item_print_text_%5BTIME%5D%3B">print_text [TIME];</A></STRONG><BR>
135 Returns an text invoice, as a list of lines.
136 <P>TIME an optional value used to control the printing of overdue messages. The
137 default is now. It isn't the date of the invoice; that's the `_date' field.
138 It is specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>. Also see
139 <A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</P>
143 <H1><A NAME="version">VERSION</A></H1>
144 <P>$Id: cust_bill.html,v 1.1 2001-07-30 07:36:03 ivan Exp $</P>
147 <H1><A NAME="bugs">BUGS</A></H1>
148 <P>The delete method.</P>
149 <P>print_text formatting (and some logic :/) is in source, but needs to be
150 slurped in from a file. Also number of lines ($=).</P>
151 <P>missing print_ps for a nice postscript copy (maybe HylaFAX-cover-page-style
152 or something similar so the look can be completely customized?)</P>
155 <H1><A NAME="see also">SEE ALSO</A></H1>
156 <P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>, <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>,
157 <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>, schema.html from the base documentation.</P>