Difference between revisions of "Freeside:4:Documentation:Developer/FS/cust credit"
From Freeside
(Edit via perl MediaWiki framework (1.13)) |
(No difference)
|
Latest revision as of 07:20, 18 November 2015
NAME
FS::cust_credit - Object methods for cust_credit records
SYNOPSIS
use FS::cust_credit; $record = new FS::cust_credit \%hash; $record = new FS::cust_credit { 'column' => 'value' }; $error = $record->insert; $error = $new_record->replace($old_record); $error = $record->delete; $error = $record->check;
DESCRIPTION
An FS::cust_credit object represents a credit; the equivalent of a negative cust_bill record (see FS::cust_bill). FS::cust_credit inherits from FS::Record. The following fields are currently supported:
- crednum
- Primary key (assigned automatically for new credits)
- custnum
- Customer (see FS::cust_main)
- amount
- Amount of the credit
- _date
- Specified as a UNIX timestamp; see "time" in perlfunc. Also see Time::Local and Date::Parse for conversion functions.
- usernum
- Order taker (see FS::access_user)
- reason
- Text ( deprecated )
- reasonnum
- Reason (see FS::reason)
- addlinfo
- Text
- closed
- Books closed flag, empty or `Y'
- pkgnum
- Desired pkgnum when using experimental package balances.
METHODS
- new HASHREF
- Creates a new credit. To add the credit to the database, see "insert".
- insert [ OPTION => VALUE ... ]
- Adds this credit to the database ("Posts" the credit). If there is an error, returns the error, otherwise returns false.
- Ooptions are passed as a list of keys and values. Available options:
- reason_type
- FS/reason type|Reason|FS::reason_type type for newly-inserted reason
- cust_credit_source_bill_pkg
- An arrayref of FS/cust credit source bill pkg|FS::cust_credit_source_bilL_pkg|FS::cust_credit_source_bill_pkg objects. They will have their crednum set and will be inserted along with this credit.
- delete
- Unless the closed flag is set, deletes this credit and all associated applications (see FS::cust_credit_bill). In most cases, you want to use the void method instead to leave a record of the deleted credit.
- replace [ OLD_RECORD ]
- You can, but probably shouldn't modify credits...
- Replaces the OLD_RECORD with this one in the database, or, if OLD_RECORD is not supplied, replaces this record. If there is an error, returns the error, otherwise returns false.
- check
- Checks all fields to make sure this is a valid credit. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
- void [ REASON ]
- Voids this credit: deletes the credit and all associated applications and adds a record of the voided credit to the cust_credit_void table.
- cust_credit_refund
- Returns all refund applications (see FS::cust_credit_refund) for this credit.
- cust_credit_bill
- Returns all application to invoices (see FS::cust_credit_bill) for this credit.
- unapplied
- Returns the amount of this credit that is still unapplied/outstanding; amount minus all refund applications (see FS::cust_credit_refund) and applications to invoices (see FS::cust_credit_bill).
- credited
- Deprecated name for the unapplied method.
- cust_main
- Returns the customer (see FS::cust_main) for this credit.
CLASS METHODS
- unapplied_sql
- Returns an SQL fragment to retreive the unapplied amount.
- credited_sql
- Deprecated name for the unapplied_sql method.
- calculate_tax_adjustment PARAMS
- Calculate the amount of tax that needs to be credited as part of a lineitem credit.
- PARAMS must include:
- - billpkgnums: arrayref identifying the line items to credit - setuprecurs: arrayref of 'setup' or 'recur', indicating which part of the lineitem charge is being credited - amounts: arrayref of the amounts to credit on each line item - custnum: the customer all of these invoices belong to, for error checking
- Returns a hash containing: - subtotal: the total non-tax amount to be credited (the sum of the 'amounts') - taxtotal: the total tax amount to be credited - taxlines: an arrayref of hashrefs for each tax line to be credited, each with: - table: "cust_bill_pkg_tax_location" or "cust_bill_pkg_tax_rate_location" - num: the key within that table - credit: the credit amount to apply to that line
- credit_lineitems
- Example:
my $error = FS::cust_credit->credit_lineitems( #the lineitems to credit 'billpkgnums' => \@billpkgnums, 'setuprecurs' => \@setuprecurs, 'amounts' => \@amounts, 'apply' => 1, #0 leaves the credit unapplied #the credit map { $_ => scalar($cgi->param($_)) } #fields('cust_credit') qw( custnum _date amount reasonnum addlinfo ), #pkgnum eventnum );
SUBROUTINES
- process_batch_import
BUGS
The delete method. The replace method.
credited and credited_sql are now called unapplied and unapplied_sql. The old method names should start to give warnings.
SEE ALSO
FS::Record, FS::cust_credit_refund, FS::cust_refund, FS::cust_credit_bill FS::cust_bill, schema.html from the base documentation.