diff options
Diffstat (limited to 'httemplate/docs/man/FS/cust_main.html')
-rw-r--r-- | httemplate/docs/man/FS/cust_main.html | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/httemplate/docs/man/FS/cust_main.html b/httemplate/docs/man/FS/cust_main.html new file mode 100644 index 000000000..f8e9a8cfb --- /dev/null +++ b/httemplate/docs/man/FS/cust_main.html @@ -0,0 +1,279 @@ +<HTML> +<HEAD> +<TITLE>FS::cust_main - Object methods for cust_main records</TITLE> +<LINK REV="made" HREF="mailto:perl@packages.debian.org"> +</HEAD> + +<BODY> + +<A NAME="__index__"></A> +<!-- INDEX BEGIN --> + +<UL> + + <LI><A HREF="#name">NAME</A></LI> + <LI><A HREF="#synopsis">SYNOPSIS</A></LI> + <LI><A HREF="#description">DESCRIPTION</A></LI> + <LI><A HREF="#methods">METHODS</A></LI> + <LI><A HREF="#version">VERSION</A></LI> + <LI><A HREF="#bugs">BUGS</A></LI> + <LI><A HREF="#see also">SEE ALSO</A></LI> +</UL> +<!-- INDEX END --> + +<HR> +<P> +<H1><A NAME="name">NAME</A></H1> +<P>FS::cust_main - Object methods for cust_main records</P> +<P> +<HR> +<H1><A NAME="synopsis">SYNOPSIS</A></H1> +<PRE> + use FS::cust_main;</PRE> +<PRE> + $record = new FS::cust_main \%hash; + $record = new FS::cust_main { 'column' => 'value' };</PRE> +<PRE> + $error = $record->insert;</PRE> +<PRE> + $error = $new_record->replace($old_record);</PRE> +<PRE> + $error = $record->delete;</PRE> +<PRE> + $error = $record->check;</PRE> +<PRE> + @cust_pkg = $record->all_pkgs;</PRE> +<PRE> + @cust_pkg = $record->ncancelled_pkgs;</PRE> +<PRE> + $error = $record->bill; + $error = $record->bill %options; + $error = $record->bill 'time' => $time;</PRE> +<PRE> + $error = $record->collect; + $error = $record->collect %options; + $error = $record->collect 'invoice_time' => $time, + 'batch_card' => 'yes', + 'report_badcard' => 'yes', + ;</PRE> +<P> +<HR> +<H1><A NAME="description">DESCRIPTION</A></H1> +<P>An FS::cust_main object represents a customer. FS::cust_main inherits from +FS::Record. The following fields are currently supported:</P> +<DL> +<DT><STRONG><A NAME="item_key">custnum - primary key (assigned automatically for new customers)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_agent">agentnum - agent (see <A HREF=".././FS/agent.html">the FS::agent manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_referral">refnum - referral (see <A HREF=".././FS/part_referral.html">the FS::part_referral manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_first_%2D_name">first - name</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_last_%2D_name">last - name</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_number">ss - social security number (optional)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_company_%2D_%28optional%29">company - (optional)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_address1">address1</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_address2_%2D_%28optional%29">address2 - (optional)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_city">city</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_county_%2D_%28optional%2C_see_FS%3A%3Acust_main_co">county - (optional, see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_state_%2D_%28see_FS%3A%3Acust_main_county%29">state - (see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_zip">zip</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_country_%2D_%28see_FS%3A%3Acust_main_county%29">country - (see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_phone">daytime - phone (optional)</A></STRONG><BR> +<DD> +<DT><STRONG>night - phone (optional)</STRONG><BR> +<DD> +<DT><STRONG>fax - phone (optional)</STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_first_%2D_name">ship_first - name</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_last_%2D_name">ship_last - name</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_company_%2D_%28optional%29">ship_company - (optional)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_address1">ship_address1</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_address2_%2D_%28optional%29">ship_address2 - (optional)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_city">ship_city</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_county_%2D_%28optional%2C_see_FS%3A%3Acust_ma">ship_county - (optional, see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_state_%2D_%28see_FS%3A%3Acust_main_county%29">ship_state - (see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_zip">ship_zip</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_ship_country_%2D_%28see_FS%3A%3Acust_main_county%2">ship_country - (see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG>ship_daytime - phone (optional)</STRONG><BR> +<DD> +<DT><STRONG>ship_night - phone (optional)</STRONG><BR> +<DD> +<DT><STRONG>ship_fax - phone (optional)</STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_payby_%2D_%60CARD%27_%28credit_cards%29%2C_%60BILL">payby - `CARD' (credit cards), `BILL' (billing), `COMP' (free), or `PREPAY' (special billing type: applies a credit - see <A HREF=".././FS/prepay_credit.html">the FS::prepay_credit manpage</A> and sets billing type to BILL)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_issuer">payinfo - card number, P.O., comp issuer (4-8 lowercase alphanumerics; think username) or prepayment identifier (see <A HREF=".././FS/prepay_credit.html">the FS::prepay_credit manpage</A>)</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_paydate_%2D_expiration_date%2C_mm%2Fyyyy%2C_m%2Fyy">paydate - expiration date, mm/yyyy, m/yyyy, mm/yy or m/yy</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_payname_%2D_name_on_card_or_billing_name">payname - name on card or billing name</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_tax_%2D_tax_exempt%2C_empty_or_%60Y%27">tax - tax exempt, empty or `Y'</A></STRONG><BR> +<DD> +<DT><STRONG><A NAME="item_taker">otaker - order taker (assigned automatically, see <A HREF=".././FS/UID.html">the FS::UID manpage</A>)</A></STRONG><BR> +<DD> +</DL> +<P> +<HR> +<H1><A NAME="methods">METHODS</A></H1> +<DL> +<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR> +<DD> +Creates a new customer. To add the customer to the database, see <A HREF="#insert">insert</A>. +<P>Note that this stores the hash reference, not a distinct copy of the hash it +points to. You can ask the object for a copy with the <EM>hash</EM> method.</P> +<P></P> +<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR> +<DD> +Adds this customer to the database. If there is an error, returns the error, +otherwise returns false. +<P>There is a special insert mode in which you pass a data structure to the insert +method containing FS::cust_pkg and FS::svc_<EM>tablename</EM> objects. When +running under a transactional database, all records are inserted atomicly, or +the transaction is rolled back. There should be a better explanation of this, +but until then, here's an example:</P> +<PRE> + use Tie::RefHash; + tie %hash, 'Tie::RefHash'; #this part is important + %hash = ( + $cust_pkg => [ $svc_acct ], + ... + ); + $cust_main->insert( \%hash );</PRE> +<P></P> +<DT><STRONG><A NAME="item_delete_NEW_CUSTNUM">delete NEW_CUSTNUM</A></STRONG><BR> +<DD> +This deletes the customer. If there is an error, returns the error, otherwise +returns false. +<P>This will completely remove all traces of the customer record. This is not +what you want when a customer cancels service; for that, cancel all of the +customer's packages (see <A HREF=".././FS/cust_pkg.html#cancel">cancel in the FS::cust_pkg manpage</A>).</P> +<P>If the customer has any packages, you need to pass a new (valid) customer +number for those packages to be transferred to.</P> +<P>You can't delete a customer with invoices (see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>), +or credits (see <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>).</P> +<P></P> +<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR> +<DD> +Replaces the OLD_RECORD with this one in the database. If there is an error, +returns the error, otherwise returns false. +<P></P> +<DT><STRONG><A NAME="item_check">check</A></STRONG><BR> +<DD> +Checks all fields to make sure this is a valid customer record. If there is +an error, returns the error, otherwise returns false. Called by the insert +and repalce methods. +<P></P> +<DT><STRONG><A NAME="item_all_pkgs">all_pkgs</A></STRONG><BR> +<DD> +Returns all packages (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>) for this customer. +<P></P> +<DT><STRONG><A NAME="item_ncancelled_pkgs">ncancelled_pkgs</A></STRONG><BR> +<DD> +Returns all non-cancelled packages (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>) for this customer. +<P></P> +<DT><STRONG><A NAME="item_bill">bill OPTIONS</A></STRONG><BR> +<DD> +Generates invoices (see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>) for this customer. Usually used in +conjunction with the collect method. +<P>The only currently available option is `time', which bills the customer as if +it were that time. It is specified as a UNIX timestamp; see +<EM>perlfunc/``time''</EM>). Also see <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> +<P>If there is an error, returns the error, otherwise returns false.</P> +<P></P> +<DT><STRONG><A NAME="item_collect">collect OPTIONS</A></STRONG><BR> +<DD> +(Attempt to) collect money for this customer's outstanding invoices (see +<A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>). Usually used after the bill method. +<P>Depending on the value of `payby', this may print an invoice (`BILL'), charge +a credit card (`CARD'), or just add any necessary (pseudo-)payment (`COMP').</P> +<P>If there is an error, returns the error, otherwise returns false.</P> +<P>Currently available options are:</P> +<P>invoice_time - Use this time when deciding when to print invoices and +late notices on those invoices. The default is now. It is specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>). Also see <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> +<P>batch_card - Set this true to batch cards (see <A HREF=".././FS/cust_pay_batch.html">the cust_pay_batch manpage</A>). By +default, cards are processed immediately, which will generate an error if +CyberCash is not installed.</P> +<P>report_badcard - Set this true if you want bad card transactions to +return an error. By default, they don't.</P> +<P></P> +<DT><STRONG><A NAME="item_total_owed">total_owed</A></STRONG><BR> +<DD> +Returns the total owed for this customer on all invoices +(see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>). +<P></P> +<DT><STRONG><A NAME="item_total_credited">total_credited</A></STRONG><BR> +<DD> +Returns the total credits (see <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>) for this customer. +<P></P> +<DT><STRONG><A NAME="item_balance">balance</A></STRONG><BR> +<DD> +Returns the balance for this customer (total owed minus total credited). +<P></P> +<DT><STRONG><A NAME="item_invoicing_list_%5B_ARRAYREF_%5D">invoicing_list [ ARRAYREF ]</A></STRONG><BR> +<DD> +If an arguement is given, sets these email addresses as invoice recipients +(see <A HREF=".././FS/cust_main_invoice.html">the FS::cust_main_invoice manpage</A>). Errors are not fatal and are not reported +(except as warnings), so use check_invoicing_list first. +<P>Returns a list of email addresses (with svcnum entries expanded).</P> +<P>Note: You can clear the invoicing list by passing an empty ARRAYREF. You can +check it without disturbing anything by passing nothing.</P> +<P>This interface may change in the future.</P> +<P></P> +<DT><STRONG><A NAME="item_check_invoicing_list_ARRAYREF">check_invoicing_list ARRAYREF</A></STRONG><BR> +<DD> +Checks these arguements as valid input for the invoicing_list method. If there +is an error, returns the error, otherwise returns false. +<P></P></DL> +<P> +<HR> +<H1><A NAME="version">VERSION</A></H1> +<P>$Id: cust_main.html,v 1.1 2001-07-30 07:36:03 ivan Exp $</P> +<P> +<HR> +<H1><A NAME="bugs">BUGS</A></H1> +<P>The delete method.</P> +<P>The delete method should possibly take an FS::cust_main object reference +instead of a scalar customer number.</P> +<P>Bill and collect options should probably be passed as references instead of a +list.</P> +<P>CyberCash v2 forces us to define some variables in package main.</P> +<P>There should probably be a configuration file with a list of allowed credit +card types.</P> +<P>CyberCash is the only processor.</P> +<P>No multiple currency support (probably a larger project than just this module).</P> +<P> +<HR> +<H1><A NAME="see also">SEE ALSO</A></H1> +<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>, <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A> +<A HREF=".././FS/cust_pay_batch.html">the FS::cust_pay_batch manpage</A>, <A HREF=".././FS/agent.html">the FS::agent manpage</A>, <A HREF=".././FS/part_referral.html">the FS::part_referral manpage</A>, +<A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>, <A HREF=".././FS/cust_main_invoice.html">the FS::cust_main_invoice manpage</A>, +<A HREF=".././FS/UID.html">the FS::UID manpage</A>, schema.html from the base documentation.</P> + +</BODY> + +</HTML> |