X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=htdocs%2Fdocs%2Fman%2FFS%2Fcust_main.html;fp=htdocs%2Fdocs%2Fman%2FFS%2Fcust_main.html;h=0000000000000000000000000000000000000000;hp=c5df1da1253667479da74cff1b1ad0fcd8976526;hb=1d758388ce3b17b8de1ae1d3a8ec39c1026baefc;hpb=e6cf4af2b9d3ffefebe1a3e358f0674f566b56bc diff --git a/htdocs/docs/man/FS/cust_main.html b/htdocs/docs/man/FS/cust_main.html deleted file mode 100644 index c5df1da12..000000000 --- a/htdocs/docs/man/FS/cust_main.html +++ /dev/null @@ -1,252 +0,0 @@ - - -FS::cust_main - Object methods for cust_main records - - - - - - - - - - - -
-

-

NAME

-

FS::cust_main - Object methods for cust_main records

-

-


-

SYNOPSIS

-
-  use FS::cust_main;
-
-  $record = new FS::cust_main \%hash;
-  $record = new FS::cust_main { 'column' => 'value' };
-
-  $error = $record->insert;
-
-  $error = $new_record->replace($old_record);
-
-  $error = $record->delete;
-
-  $error = $record->check;
-
-  @cust_pkg = $record->all_pkgs;
-
-  @cust_pkg = $record->ncancelled_pkgs;
-
-  $error = $record->bill;
-  $error = $record->bill %options;
-  $error = $record->bill 'time' => $time;
-
-  $error = $record->collect;
-  $error = $record->collect %options;
-  $error = $record->collect 'invoice_time'   => $time,
-                            'batch_card'     => 'yes',
-                            'report_badcard' => 'yes',
-                          ;
-

-


-

DESCRIPTION

-

An FS::cust_main object represents a customer. FS::cust_main inherits from -FS::Record. The following fields are currently supported:

-
-
custnum - primary key (assigned automatically for new customers)
-
-
agentnum - agent (see the FS::agent manpage)
-
-
refnum - referral (see the FS::part_referral manpage)
-
-
first - name
-
-
last - name
-
-
ss - social security number (optional)
-
-
company - (optional)
-
-
address1
-
-
address2 - (optional)
-
-
city
-
-
county - (optional, see the FS::cust_main_county manpage)
-
-
state - (see the FS::cust_main_county manpage)
-
-
zip
-
-
country - (see the FS::cust_main_county manpage)
-
-
daytime - phone (optional)
-
-
night - phone (optional)
-
-
fax - phone (optional)
-
-
payby - `CARD' (credit cards), `BILL' (billing), `COMP' (free), or `PREPAY' (special billing type: applies a credit - see the FS::prepay_credit manpage and sets billing type to BILL)
-
-
payinfo - card number, P.O., comp issuer (4-8 lowercase alphanumerics; think username) or prepayment identifier (see the FS::prepay_credit manpage)
-
-
paydate - expiration date, mm/yyyy, m/yyyy, mm/yy or m/yy
-
-
payname - name on card or billing name
-
-
tax - tax exempt, empty or `Y'
-
-
otaker - order taker (assigned automatically, see the FS::UID manpage)
-
-
-

-


-

METHODS

-
-
new HASHREF
-
-Creates a new customer. To add the customer to the database, see insert. -

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 hash method.

-

-
insert
-
-Adds this customer to the database. If there is an error, returns the error, -otherwise returns false. -

There is a special insert mode in which you pass a data structure to the insert -method containing FS::cust_pkg and FS::svc_tablename 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:

-
-  use Tie::RefHash;
-  tie %hash, 'Tie::RefHash'; #this part is important
-  %hash = {
-    $cust_pkg => [ $svc_acct ],
-  };
-  $cust_main->insert( \%hash );
-

-
delete NEW_CUSTNUM
-
-This deletes the customer. If there is an error, returns the error, otherwise -returns false. -

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 cancel in the FS::cust_pkg manpage).

-

If the customer has any packages, you need to pass a new (valid) customer -number for those packages to be transferred to.

-

You can't delete a customer with invoices (see the FS::cust_bill manpage), -or credits (see the FS::cust_credit manpage).

-

-
replace OLD_RECORD
-
-Replaces the OLD_RECORD with this one in the database. If there is an error, -returns the error, otherwise returns false. -

-
check
-
-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. -

-
all_pkgs
-
-Returns all packages (see the FS::cust_pkg manpage) for this customer. -

-
ncancelled_pkgs
-
-Returns all non-cancelled packages (see the FS::cust_pkg manpage) for this customer. -

-
bill OPTIONS
-
-Generates invoices (see the FS::cust_bill manpage) for this customer. Usually used in -conjunction with the collect method. -

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 -perlfunc/``time''). Also see the Time::Local manpage and the Date::Parse manpage for conversion -functions.

-

If there is an error, returns the error, otherwise returns false.

-

-
collect OPTIONS
-
-(Attempt to) collect money for this customer's outstanding invoices (see -the FS::cust_bill manpage). Usually used after the bill method. -

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').

-

If there is an error, returns the error, otherwise returns false.

-

Currently available options are:

-

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 perlfunc/``time''). Also see the Time::Local manpage and the Date::Parse manpage -for conversion functions.

-

batch_card - Set this true to batch cards (see the cust_pay_batch manpage). By -default, cards are processed immediately, which will generate an error if -CyberCash is not installed.

-

report_badcard - Set this true if you want bad card transactions to -return an error. By default, they don't.

-

-
total_owed
-
-Returns the total owed for this customer on all invoices -(see the FS::cust_bill manpage). -

-
total_credited
-
-Returns the total credits (see the FS::cust_credit manpage) for this customer. -

-
balance
-
-Returns the balance for this customer (total owed minus total credited). -

-
invoicing_list [ ARRAYREF ]
-
-If an arguement is given, sets these email addresses as invoice recipients -(see the FS::cust_main_invoice manpage). Errors are not fatal and are not reported -(except as warnings), so use check_invoicing_list first. -

Returns a list of email addresses (with svcnum entries expanded).

-

Note: You can clear the invoicing list by passing an empty ARRAYREF. You can -check it without disturbing anything by passing nothing.

-

This interface may change in the future.

-

-
check_invoicing_list ARRAYREF
-
-Checks these arguements as valid input for the invoicing_list method. If there -is an error, returns the error, otherwise returns false. -

-

-


-

VERSION

-

$Id: cust_main.html,v 1.3 2001-04-23 12:40:31 ivan Exp $

-

-


-

BUGS

-

The delete method.

-

The delete method should possibly take an FS::cust_main object reference -instead of a scalar customer number.

-

Bill and collect options should probably be passed as references instead of a -list.

-

CyberCash v2 forces us to define some variables in package main.

-

There should probably be a configuration file with a list of allowed credit -card types.

-

CyberCash is the only processor.

-

No multiple currency support (probably a larger project than just this module).

-

-


-

SEE ALSO

-

the FS::Record manpage, the FS::cust_pkg manpage, the FS::cust_bill manpage, the FS::cust_credit manpage -the FS::cust_pay_batch manpage, the FS::agent manpage, the FS::part_referral manpage, -the FS::cust_main_county manpage, the FS::cust_main_invoice manpage, -the FS::UID manpage, schema.html from the base documentation.

- - - -