- web interface for hourly account charges!
[freeside.git] / httemplate / docs / man / FS / cust_bill.html
1 <HTML>
2 <HEAD>
3 <TITLE>FS::cust_bill - Object methods for cust_bill records</TITLE>
4 <LINK REV="made" HREF="mailto:perl@packages.debian.org">
5 </HEAD>
6
7 <BODY>
8
9 <A NAME="__index__"></A>
10 <!-- INDEX BEGIN -->
11
12 <UL>
13
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>
21 </UL>
22 <!-- INDEX END -->
23
24 <HR>
25 <P>
26 <H1><A NAME="name">NAME</A></H1>
27 <P>FS::cust_bill - Object methods for cust_bill records</P>
28 <P>
29 <HR>
30 <H1><A NAME="synopsis">SYNOPSIS</A></H1>
31 <PRE>
32   use FS::cust_bill;</PRE>
33 <PRE>
34   $record = new FS::cust_bill \%hash;
35   $record = new FS::cust_bill { 'column' =&gt; 'value' };</PRE>
36 <PRE>
37   $error = $record-&gt;insert;</PRE>
38 <PRE>
39   $error = $new_record-&gt;replace($old_record);</PRE>
40 <PRE>
41   $error = $record-&gt;delete;</PRE>
42 <PRE>
43   $error = $record-&gt;check;</PRE>
44 <PRE>
45   ( $total_previous_balance, @previous_cust_bill ) = $record-&gt;previous;</PRE>
46 <PRE>
47   @cust_bill_pkg_objects = $cust_bill-&gt;cust_bill_pkg;</PRE>
48 <PRE>
49   ( $total_previous_credits, @previous_cust_credit ) = $record-&gt;cust_credit;</PRE>
50 <PRE>
51   @cust_pay_objects = $cust_bill-&gt;cust_pay;</PRE>
52 <PRE>
53   $tax_amount = $record-&gt;tax;</PRE>
54 <PRE>
55   @lines = $cust_bill-&gt;print_text;
56   @lines = $cust_bill-&gt;print_text $time;</PRE>
57 <P>
58 <HR>
59 <H1><A NAME="description">DESCRIPTION</A></H1>
60 <P>An FS::cust_bill object represents an invoice; a declaration that a customer
61 owes you money.  The specific charges are itemized as <STRONG>cust_bill_pkg</STRONG> records
62 (see <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>).  FS::cust_bill inherits from FS::Record.  The
63 following fields are currently supported:</P>
64 <DL>
65 <DT><STRONG><A NAME="item_key">invnum - primary key (assigned automatically for new invoices)</A></STRONG><BR>
66 <DD>
67 <DT><STRONG><A NAME="item_customer">custnum - customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)</A></STRONG><BR>
68 <DD>
69 <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
70 <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>
71 <DD>
72 <DT><STRONG><A NAME="item_charged_%2D_amount_of_this_invoice">charged - amount of this invoice</A></STRONG><BR>
73 <DD>
74 <DT><STRONG><A NAME="item_automatically">printed - how many times this invoice has been printed automatically
75 (see <A HREF=".././FS/cust_main.html#collect">collect in the FS::cust_main manpage</A>).</A></STRONG><BR>
76 <DD>
77 <DT><STRONG><A NAME="item_closed_%2D_books_closed_flag%2C_empty_or_%60Y%27">closed - books closed flag, empty or `Y'</A></STRONG><BR>
78 <DD>
79 </DL>
80 <P>
81 <HR>
82 <H1><A NAME="methods">METHODS</A></H1>
83 <DL>
84 <DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
85 <DD>
86 Creates a new invoice.  To add the invoice to the database, see <A HREF="#insert">insert</A>.
87 Invoices are normally created by calling the bill method of a customer object
88 (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).
89 <P></P>
90 <DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
91 <DD>
92 Adds this invoice to the database (``Posts'' the invoice).  If there is an error,
93 returns the error, otherwise returns false.
94 <P></P>
95 <DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
96 <DD>
97 Currently unimplemented.  I don't remove invoices because there would then be
98 no record you ever posted this invoice (which is bad, no?)
99 <P></P>
100 <DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
101 <DD>
102 Replaces the OLD_RECORD with this one in the database.  If there is an error,
103 returns the error, otherwise returns false.
104 <P>Only printed may be changed.  printed is normally updated by calling the
105 collect method of a customer object (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).</P>
106 <P></P>
107 <DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
108 <DD>
109 Checks all fields to make sure this is a valid invoice.  If there is an error,
110 returns the error, otherwise returns false.  Called by the insert and replace
111 methods.
112 <P></P>
113 <DT><STRONG><A NAME="item_previous">previous</A></STRONG><BR>
114 <DD>
115 Returns a list consisting of the total previous balance for this customer, 
116 followed by the previous outstanding invoices (as FS::cust_bill objects also).
117 <P></P>
118 <DT><STRONG><A NAME="item_cust_bill_pkg">cust_bill_pkg</A></STRONG><BR>
119 <DD>
120 Returns the line items (see <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>) for this invoice.
121 <P></P>
122 <DT><STRONG><A NAME="item_cust_credit">cust_credit</A></STRONG><BR>
123 <DD>
124 Depreciated.  See the cust_credited method.
125 <PRE>
126  #Returns a list consisting of the total previous credited (see
127  #L&lt;FS::cust_credit&gt;) and unapplied for this customer, followed by the previous
128  #outstanding credits (FS::cust_credit objects).</PRE>
129 <P></P>
130 <DT><STRONG><A NAME="item_cust_pay">cust_pay</A></STRONG><BR>
131 <DD>
132 Depreciated.  See the cust_bill_pay method.
133 <P>#Returns all payments (see <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>) for this invoice.</P>
134 <P></P>
135 <DT><STRONG><A NAME="item_cust_bill_pay">cust_bill_pay</A></STRONG><BR>
136 <DD>
137 Returns all payment applications (see <A HREF=".././FS/cust_bill_pay.html">the FS::cust_bill_pay manpage</A>) for this invoice.
138 <P></P>
139 <DT><STRONG><A NAME="item_cust_credited">cust_credited</A></STRONG><BR>
140 <DD>
141 Returns all applied credits (see <A HREF=".././FS/cust_credit_bill.html">the FS::cust_credit_bill manpage</A>) for this invoice.
142 <P></P>
143 <DT><STRONG><A NAME="item_tax">tax</A></STRONG><BR>
144 <DD>
145 Returns the tax amount (see <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>) for this invoice.
146 <P></P>
147 <DT><STRONG><A NAME="item_owed">owed</A></STRONG><BR>
148 <DD>
149 Returns the amount owed (still outstanding) on this invoice, which is charged
150 minus all payment applications (see <A HREF=".././FS/cust_bill_pay.html">the FS::cust_bill_pay manpage</A>) and credit
151 applications (see <A HREF=".././FS/cust_credit_bill.html">the FS::cust_credit_bill manpage</A>).
152 <P></P>
153 <DT><STRONG><A NAME="item_print_text_%5BTIME%5D%3B">print_text [TIME];</A></STRONG><BR>
154 <DD>
155 Returns an text invoice, as a list of lines.
156 <P>TIME an optional value used to control the printing of overdue messages.  The
157 default is now.  It isn't the date of the invoice; that's the `_date' field.
158 It is specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>.  Also see
159 <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>
160 <P></P></DL>
161 <P>
162 <HR>
163 <H1><A NAME="version">VERSION</A></H1>
164 <P>$Id: cust_bill.html,v 1.3 2002-01-29 17:42:46 ivan Exp $</P>
165 <P>
166 <HR>
167 <H1><A NAME="bugs">BUGS</A></H1>
168 <P>The delete method.</P>
169 <P>print_text formatting (and some logic :/) is in source, but needs to be
170 slurped in from a file.  Also number of lines ($=).</P>
171 <P>missing print_ps for a nice postscript copy (maybe HylaFAX-cover-page-style
172 or something similar so the look can be completely customized?)</P>
173 <P>
174 <HR>
175 <H1><A NAME="see also">SEE ALSO</A></H1>
176 <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_bill_pay.html">the FS::cust_bill_pay manpage</A>, <EM>FS:;cust_pay</EM>,
177 <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>, <A HREF="../FS/cust_bill_credit.html">the FS::cust_bill_credit manpage</A>, schema.html from the base
178 documentation.</P>
179
180 </BODY>
181
182 </HTML>