Freeside:4:Documentation:Developer/FS/cust bill pkg tax location
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
- taxname
- Returns the tax name (for populating the itemdesc field).
- 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 465:
- =cut found outside a pod block. Skipping to next block.