Difference between revisions of "Freeside:3:Documentation:Developer/FS/cust bill pkg tax location"

From Freeside
Jump to: navigation, search
m (Edit via perl MediaWiki framework (1.13))
m (Edit via perl MediaWiki framework (1.13))
 
(3 intermediate revisions by the same user not shown)
(No difference)

Latest revision as of 10:58, 10 April 2015

NAME

FS::cust_bill_pkg_tax_location - Object methods for cust_bill_pkg_tax_location records

SYNOPSIS

 use FS::cust_bill_pkg_tax_location;

 $record = new FS::cust_bill_pkg_tax_location \%hash;
 $record = new FS::cust_bill_pkg_tax_location { 'column' => 'value' };

 $error = $record->insert;

 $error = $new_record->replace($old_record);

 $error = $record->delete;

 $error = $record->check;

DESCRIPTION

An FS::cust_bill_pkg_tax_location object represents an record of taxation based on package location. FS::cust_bill_pkg_tax_location inherits from FS::Record. The following fields are currently supported:

billpkgtaxlocationnum
billpkgtaxlocationnum
billpkgnum
billpkgnum
taxnum
taxnum
taxtype
taxtype
pkgnum
pkgnum
locationnum
locationnum
amount
amount
taxable_billpkgnum
The billpkgnum of the FS::cust_bill_pkg that this tax was charged on. It may specifically be on any portion of that line item (setup, recurring, or a usage class).

METHODS

new HASHREF
Creates a new record. To add the record 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 record to the database. If there is an error, returns the error, otherwise returns false.
delete
Delete this record from the database.
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 record. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
cust_bill_pkg
Returns the associated cust_bill_pkg object (i.e. the tax charge).
taxable_cust_bill_pkg
Returns the cust_bill_pkg object for the taxable charge.
cust_location
Returns the associated cust_location object
desc
Returns a description for this tax line item constituent. Currently this is the desc of the associated line item followed by the state/county/city for the location in parentheses.
owed
Returns the amount owed (still outstanding) on this tax line item which is the amount of this record minus all payment applications and credit applications.

BUGS

The presence of FS::cust_main_county::delete makes the cust_main_county method unreliable.

Pre-3.0 versions of Freeside would only create one cust_bill_pkg_tax_location per tax definition (taxtype/taxnum) per invoice. The pkgnum and locationnum fields were arbitrarily set to those of the first line item subject to the tax. This created problems if the tax contribution of each line item ever needed to be determined (for example, when applying credits). For several months in 2012, this was changed to create one record per tax definition per package per invoice, which was still not specific enough to identify a line item.

The current behavior is to create one record per tax definition per taxable line item, and to store the billpkgnum of the taxed line item in the record. The upgrade will try to convert existing records to the new format, but this is not perfectly reliable.

SEE ALSO

FS::Record, schema.html from the base documentation.

POD ERRORS

Hey! The above document had some coding errors, which are explained below:

Around line 468:
=cut found outside a pod block. Skipping to next block.