X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fdocs%2Fman%2FFS%2Fcust_main.html;h=86e659ad0dbc149d7035c7fabcf98023f9f43ff9;hp=f8e9a8cfba676814ab70db4f253b5c48388841d9;hb=6991d4986df7fb3a6c7c49b5ae1b3713e87a16c4;hpb=f02dd9b0e5042ef000d9338089eed50988d48914 diff --git a/httemplate/docs/man/FS/cust_main.html b/httemplate/docs/man/FS/cust_main.html index f8e9a8cfb..86e659ad0 100644 --- a/httemplate/docs/man/FS/cust_main.html +++ b/httemplate/docs/man/FS/cust_main.html @@ -15,6 +15,7 @@
  • SYNOPSIS
  • DESCRIPTION
  • METHODS
  • +
  • SUBROUTINES
  • VERSION
  • BUGS
  • SEE ALSO
  • @@ -46,6 +47,8 @@
       @cust_pkg = $record->ncancelled_pkgs;
    +  @cust_pkg = $record->suspended_pkgs;
    +
       $error = $record->bill;
       $error = $record->bill %options;
       $error = $record->bill 'time' => $time;
    @@ -134,6 +137,8 @@ FS::Record. The following fields are currently supported:

    otaker - order taker (assigned automatically, see the FS::UID manpage)
    +
    comments - comments (optional)
    +


    @@ -145,15 +150,15 @@ Creates a new customer. To add the customer to the database, see insert
    +
    insert [ CUST_PKG_HASHREF [ , INVOICING_LIST_ARYREF ] ]
    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:

    +

    CUST_PKG_HASHREF: If you pass a Tie::RefHash data structure to the insert +method containing FS::cust_pkg and FS::svc_tablename objects, all records +are inserted atomicly, or the transaction is rolled back. Passing an empty +hash reference is equivalent to not supplying this parameter. 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
    @@ -162,6 +167,14 @@ but until then, here's an example:

    ... ); $cust_main->insert( \%hash );
    +

    INVOICING_LIST_ARYREF: If you pass an arrarref to the insert method, it will +be set as the invoicing list (see invoicing_list). Errors return as +expected and rollback the entire transaction; it is not necessary to call +check_invoicing_list first. The invoicing_list is set after the records in the +CUST_PKG_HASHREF above are inserted, so it is now possible to set an +invoicing_list destination to the newly-created svc_acct. Here's an example:

    +
    +  $cust_main->insert( {}, [ $email, 'POST' ] );

    delete NEW_CUSTNUM
    @@ -170,15 +183,23 @@ 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.

    +

    If the customer has any uncancelled packages, you need to pass a new (valid) +customer number for those packages to be transferred to. Cancelled packages +will be deleted. Did I mention that this is NOT what you want when a customer +cancels service and that you really should be looking see cancel in the FS::cust_pkg manpage?

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

    +or credits (see the FS::cust_credit manpage) or payments (see the FS::cust_pay manpage).

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

    INVOICING_LIST_ARYREF: If you pass an arrarref to the insert method, it will +be set as the invoicing list (see invoicing_list). Errors return as +expected and rollback the entire transaction; it is not necessary to call +check_invoicing_list first. Here's an example:

    +
    +  $new_cust_main->replace( $old_cust_main, [ $email, 'POST' ] );

    check
    @@ -194,14 +215,49 @@ Returns all packages (see the FS::cust_pkg manpa
    Returns all non-cancelled packages (see the FS::cust_pkg manpage) for this customer.

    +
    suspended_pkgs
    +
    +Returns all suspended packages (see the FS::cust_pkg manpage) for this customer. +

    +
    unflagged_suspended_pkgs
    +
    +Returns all unflagged suspended packages (see the FS::cust_pkg manpage) for this +customer (thouse packages without the `manual_flag' set). +

    +
    unsuspended_pkgs
    +
    +Returns all unsuspended (and uncancelled) packages (see the FS::cust_pkg manpage) for +this customer. +

    +
    unsuspend
    +
    +Unsuspends all unflagged suspended packages (see unflagged_suspended_pkgs +and the FS::cust_pkg manpage) for this customer. Always returns a list: an empty list +on success or a list of errors. +

    +
    suspend
    +
    +Suspends all unsuspended packages (see the FS::cust_pkg manpage) for this customer. +Always returns a list: an empty list on success or a list of errors. +

    +
    cancel
    +
    +Cancels all uncancelled packages (see the FS::cust_pkg manpage) for this customer. +Always returns a list: an empty list on success or a list of errors. +

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

    Options are passed as name-value pairs.

    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.

    +functions. For example:

    +
    + use Date::Parse;
    + ...
    + $cust_main->bill( 'time' => str2time('April 20th, 2001') );

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

    collect OPTIONS
    @@ -211,28 +267,66 @@ functions.

    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.

    +

    Options are passed as name-value pairs.

    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 +

    batch_card - Set this true to batch cards (see the FS::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.

    +

    force_print - force printing even if invoice has been printed more than once +every 30 days, and don't increment the `printed' field.

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

    +
    total_owed_date TIME
    +
    +Returns the total owed for this customer on all invoices with date earlier than +TIME. TIME is specified as a UNIX timestamp; see perlfunc/``time''). Also +see the Time::Local manpage and the Date::Parse manpage for conversion functions. +

    +
    apply_credits
    +
    +Applies (see the FS::cust_credit_bill manpage) unapplied credits (see the FS::cust_credit manpage) +to outstanding invoice balances in chronological order and returns the value +of any remaining unapplied credits available for refund +(see the FS::cust_refund manpage). +

    +
    apply_payments
    +
    +Applies (see the FS::cust_bill_pay manpage) unapplied payments (see the FS::cust_pay manpage) +to outstanding invoice balances in chronological order. +
    + #and returns the value of any remaining unapplied payments.

    total_credited
    -Returns the total credits (see the FS::cust_credit manpage) for this customer. +Returns the total outstanding credit (see the FS::cust_credit manpage) for this +customer. See credited in the FS::cust_credit manpage. +

    +
    total_unapplied_payments
    +
    +Returns the total unapplied payments (see the FS::cust_pay manpage) for this customer. +See unapplied in the FS::cust_pay manpage.

    balance
    -Returns the balance for this customer (total owed minus total credited). +Returns the balance for this customer (total_owed minus total_credited +minus total_unapplied_payments). +

    +
    balance_date TIME
    +
    +Returns the balance for this customer, only considering invoices with date +earlier than TIME (total_owed_date minus total_credited minus +total_unapplied_payments). TIME is specified as a UNIX timestamp; see +perlfunc/``time''). Also see the Time::Local manpage and the Date::Parse manpage for conversion +functions.

    invoicing_list [ ARRAYREF ]
    @@ -248,11 +342,58 @@ check it without disturbing anything by passing nothing.

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

    +
    default_invoicing_list
    +
    +Sets the invoicing list to all accounts associated with this customer. +

    +
    invoicing_list_addpost
    +
    +Adds postal invoicing to this customer. If this customer is already configured +to receive postal invoices, does nothing. +

    +
    referral_cust_main [ DEPTH [ EXCLUDE_HASHREF ] ]
    +
    +Returns an array of customers referred by this customer (referral_custnum set +to this custnum). If DEPTH is given, recurses up to the given depth, returning +customers referred by customers referred by this customer and so on, inclusive. +The default behavior is DEPTH 1 (no recursion). +

    +
    referral_cust_pkg [ DEPTH ]
    +
    +Like referral_cust_main, except returns a flat list of all unsuspended packages +for each customer. The number of items in this list may be useful for +comission calculations (perhaps after a grep). +

    +
    credit AMOUNT, REASON
    +
    +Applies a credit to this customer. If there is an error, returns the error, +otherwise returns false. +

    +
    charge AMOUNT PKG COMMENT
    +
    +Creates a one-time charge for this customer. If there is an error, returns +the error, otherwise returns false.


    +

    SUBROUTINES

    +
    +
    check_and_rebuild_fuzzyfiles
    +
    +
    rebuild_fuzzyfiles
    +
    +
    all_last
    +
    +
    all_company
    +
    +
    append_fuzzyfiles LASTNAME COMPANY
    +
    +
    +

    +


    VERSION

    -

    $Id: cust_main.html,v 1.1 2001-07-30 07:36:03 ivan Exp $

    +

    $Id: cust_main.html,v 1.2 2002-01-29 16:33:15 ivan Exp $


    BUGS

    @@ -264,7 +405,6 @@ 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).