From 51984ac3d3da3006809c6866fdecd4ad83610731 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 30 Jul 2001 07:36:04 +0000 Subject: templates!!! --- httemplate/docs/man/FS/cust_main.html | 279 ++++++++++++++++++++++++++++++++++ 1 file changed, 279 insertions(+) create mode 100644 httemplate/docs/man/FS/cust_main.html (limited to 'httemplate/docs/man/FS/cust_main.html') 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 @@ + + +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)
+
+
ship_first - name
+
+
ship_last - name
+
+
ship_company - (optional)
+
+
ship_address1
+
+
ship_address2 - (optional)
+
+
ship_city
+
+
ship_county - (optional, see the FS::cust_main_county manpage)
+
+
ship_state - (see the FS::cust_main_county manpage)
+
+
ship_zip
+
+
ship_country - (see the FS::cust_main_county manpage)
+
+
ship_daytime - phone (optional)
+
+
ship_night - phone (optional)
+
+
ship_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.1 2001-07-30 07:36:03 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.

+ + + + -- cgit v1.2.1