<?php
namespace QuickBooksOnline\API\Data;
/**
 * @xmlNamespace http://schema.intuit.com/finance/v3
 * @xmlType
 * @xmlName IPPTaxLineDetail
 * @var IPPTaxLineDetail
 * @xmlDefinition
				Product: ALL
				Description: Tax detail for a transaction line.

 */
class IPPTaxLineDetail
	{

		/**
		* Initializes this object, optionally with pre-defined property values
		*
		* Initializes this object and it's property members, using the dictionary
		* of key/value pairs passed as an optional argument.
		*
		* @param dictionary $keyValInitializers key/value pairs to be populated into object's properties
		* @param boolean $verbose specifies whether object should echo warnings
		*/
		public function __construct($keyValInitializers=array(), $verbose=FALSE)
		{
			foreach($keyValInitializers as $initPropName => $initPropVal)
			{
				if (property_exists('IPPTaxLineDetail',$initPropName)|| property_exists('QuickBooksOnline\API\Data\IPPTaxLineDetail',$initPropName))
				{
					$this->{$initPropName} = $initPropVal;
				}
				else
				{
					if ($verbose)
						echo "Property does not exist ($initPropName) in class (".get_class($this).")";
				}
			}
		}


	/**
	 * @Definition
						Product: QBW
						Description: Reference to a TaxRate. For all editions of QuickBooks, for TaxLineDetail line types that apply a specific TaxRate to the preceding line of the transaction, this
						is a reference to that TaxRate. For a TaxLineDetail in a TxnTaxDetail, where the TxnTaxCodeRef is set, the TaxRate referenced here MUST also be
						one of the rates in the referenced tax code's rate list (either the SalesTaxRateList or the PurchaseTaxRateList) that applies to the transaction type.[br /]
						For international editions of QuickBooks, for a TaxLineDetail in a TxnTaxDetail, the rate referenced here must be referenced by a TaxCode used on  a transaction
						line. Any given rate may only be listed once.[br]See [a href="http://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0060_Financial_Management_Services_(v3)/01100_Global_Tax_Model"]Global Tax Model[/a].
						Product: QBO
						Description: For US editions of QuickBooks Online, and in TxnTaxDetail only, this references the TaxRate applied to the entire transaction.[br /]
						For international editions of QuickBooks Online, for a TaxLineDetail in a TxnTaxDetail, where the TxnTaxCodeRef is set, the TaxRate referenced
						here MUST also be one of the rates in the referenced tax code's rate list (either the SalesTaxRateList or the PurchaseTaxRateList) that applies to the
						transaction type. Any given rate may only be listed once.[br /]Does not apply to a TaxLineDetail apart from a TxnTaxDetail.[br]See [a href="http://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0060_Financial_Management_Services_(v3)/01100_Global_Tax_Model"]Global Tax Model[/a].

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlMaxOccurs 1
	 * @xmlName TaxRateRef
	 * @var com\intuit\schema\finance\v3\IPPReferenceType
	 */
	public $TaxRateRef;
	/**
	 * @Definition
						Product: ALL
						Description: True if the sales tax is expressed as a percentage; false if expressed as a number amount.

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName PercentBased
	 * @var boolean
	 */
	public $PercentBased;
	/**
	 * @Definition
						Product: ALL
						Description: Numerical expression of the sales tax percent. For example, use "8.5" not "0.085".

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName TaxPercent
	 * @var float
	 */
	public $TaxPercent;
	/**
	 * @Definition
						Product: QBO
						Description: This is taxable amount on the total of the applicable tax rates
						If TaxRate is applicable on two lines, the taxableamount represents total of the two lines for which this rate is applied
						This is different from the Line.Amount which represent the final tax amount after the tax has been applied

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlMaxOccurs 1
	 * @xmlName NetAmountTaxable
	 * @var float
	 */
	public $NetAmountTaxable;
	/**
	 * @Definition
						Product: QBO
						Description: This is the amount which also includes tax.

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlMaxOccurs 1
	 * @xmlName TaxInclusiveAmount
	 * @var float
	 */
	public $TaxInclusiveAmount;
	/**
	 * @Definition
						Product: QBO
						Description: This holds the difference between the actual tax and overridden amount supplied by the user.

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlMaxOccurs 1
	 * @xmlName OverrideDeltaAmount
	 * @var float
	 */
	public $OverrideDeltaAmount;
	/**
	 * @Definition
						Product: ALL
						Description: Date when the service is performed.

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName ServiceDate
	 * @var string
	 */
	public $ServiceDate;
	/**
	 * @Definition
						Product: ALL
						Description: Internal use only: extension place holder for TaxLine.

	 * @xmlType element
	 * @xmlNamespace http://schema.intuit.com/finance/v3
	 * @xmlMinOccurs 0
	 * @xmlName TaxLineDetailEx
	 * @var com\intuit\schema\finance\v3\IPPIntuitAnyType
	 */
	public $TaxLineDetailEx;


} // end class IPPTaxLineDetail
