eZPublishCommunityProject(LegacyStack)  2013.6
eZDefaultVATHandler Class Reference

Default VAT handler. More...

Static Public Member Functions

 getVatPercent ($object, $country)
 

Static Private Member Functions

 chooseVatType ($productCategory, $country)
 Choose the best matching VAT type for given product category and country. More...
 
 getProductCategory ($object)
 Determine object's product category. More...
 

Detailed Description

Default VAT handler.

Provides basic VAT charging rules. Resulting VAT percentage may depend on product category and country the user is from.

Member Function Documentation

eZDefaultVATHandler::chooseVatType (   $productCategory,
  $country 
)
staticprivate

Choose the best matching VAT type for given product category and country.

We calculate priority for each VAT type and then choose the VAT type having the highest priority (or first of those having the highest priority).

VAT type priority is calculated from county match and category match as following:

CountryMatch = 0 CategoryMatch = 1

if ( there is exact match on country ) CountryMatch = 2 elseif ( there is weak match on country ) CountryMatch = 1

if ( there is exact match on product category ) CategoryMatch = 2 elseif ( there is weak match on product category ) CategoryMatch = 1

if ( there is match on both country and category ) VatTypePriority = CountryMatch * 2 + CategoryMatch - 2 else VatTypePriority = 0

Referenced by getVatPercent().

eZDefaultVATHandler::getProductCategory (   $object)
staticprivate

Determine object's product category.

Referenced by getVatPercent().

eZDefaultVATHandler::getVatPercent (   $object,
  $country 
)
static

The documentation for this class was generated from the following file: