Class TaxDataModel

java.lang.Object
com.highdeal.tax.hci.TaxDataModel
All Implemented Interfaces:
XMLMarshallable

public class TaxDataModel extends Object implements XMLMarshallable
This Java class specifies some specific tax settings that must configured in the tax settings of a subscriber account (in customer master data of the service provider); These specific tax settings are adapted to each invoicing tax system supported by SAP Convergent Charging.

You can:

  • Define certain VAT tax settings for a subscriber account
    • Customer country code
    • Business category
  • Redefine certain EZTax settings for a subscriber account
    • Origination
    • Termination
    • Service address
    • Customer type
    • Resale flag
    • Incorporated code

    Note

    This EZTax configuration data is related to an end customer of the service provider. This EZTax data overrides the EZTax data which is pricing catalog of the service provider. Tax settings are set at pricing catalog level in a charge customized in an offer (see ChargeConditionModel) (or in a charge plan). Refer to BillSoft EZTax product documentation for more information about the role of this tax data.

See Also:

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="taxData">
   <xs:complexType>
     <xs:choice>
       <xs:element name="eztaxData" minOccurs="0" maxOccurs="unbounded">
         <xs:complexType>
           <xs:attribute name="name" type="xs:string"/>
           <xs:attribute name="value" type="xs:string"/>
           <xs:attribute name="type" type="TaxDataType" default="string"/>
         </xs:complexType>
       </xs:element>
       <xs:element name="vatData" minOccurs="0" maxOccurs="unbounded">
         <xs:complexType>
           <xs:attribute name="name" type="xs:string"/>
           <xs:attribute name="value" type="xs:string"/>
           <xs:attribute name="type" type="TaxDataType" default="string"/>
         </xs:complexType>
       </xs:element>
     </xs:choice>
   </xs:complexType>
 </xs:element>
<xs:simpleType name="TaxDataType">
   <xs:restriction base="xs:string">
     <xs:enumeration value="string"/>
     <xs:enumeration value="number"/>
     <xs:enumeration value="date"/>
   </xs:restriction>
 </xs:simpleType>

  • Constructor Details

    • TaxDataModel

      public TaxDataModel()
      Builds an empty tax data.
    • TaxDataModel

      public TaxDataModel(String taxDataStr)
      Builds an empty tax data.

      For VAT, the CSV string contains only values ordered as follows: VAT_CUSTOMER_COUNTRY_CODE; VAT_BUSINESS_CATEGORY

      For EZTax, the CSV string contains only values ordered as follows: EZTAX_ORIGINATION; EZTAX_TERMINATION; EZTAX_SERVICE_ADDRESS; EZTAX_CUSTOMER_TYPE; EZTAX_RESALE_FLAG; EZTAX_INC_CODE

      Parameters:
      taxDataStr - A string that contains a tax data as a CSV string
  • Method Details

    • addVatData

      public void addVatData(String name, String value)
      Sets a description associated with a language.
      Parameters:
      name - The name of the tax data
      value - The value associated with the given tax data
    • addEZTaxData

      public void addEZTaxData(String name, String value)
      Sets a description associated with a language.
      Parameters:
      name - The name of the tax data
      value - The value associated with the given tax data
    • clear

      public void clear()
      Clears all descriptions associated with a language.
    • removeVatData

      public void removeVatData(String name)
      Removes a description associated with a language.
      Parameters:
      name - The name of the tax data
    • removeEZTaxData

      public void removeEZTaxData(String name)
      Removes a description associated with a language.
      Parameters:
      name - The name of the tax data
    • getVatData

      public String getVatData(String name)
      Gets the description associated with the given language, if exists.
      Parameters:
      name - The name of the tax data
      Returns:
      The value associated with the given name, if exists, null otherwise.
    • getEZTaxData

      public String getEZTaxData(String name)
      Gets the description associated with the given language, if exists.
      Parameters:
      name - The name of the tax data
      Returns:
      The value associated with the given name, if exists, null otherwise
    • isEmpty

      public boolean isEmpty()
      Returns true if the tax data is empty.
      Returns:
      true if the tax data is empty, false otherwise
    • hasVatData

      public boolean hasVatData()
      Returns true if the tax data is empty.
      Returns:
      true if the tax data is empty, false otherwise
    • hasEZTaxData

      public boolean hasEZTaxData()
      Returns true if the tax data is empty.
      Returns:
      true if the tax data is empty, false otherwise
    • toString

      public String toString()
      Returns a string representation of the tax data.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the tax data
    • setAttributes

      public void setAttributes(XMLAttributes atts)
      Description copied from interface: XMLMarshallable
      Sets the attributes of the XML representation of the element being processed.
      Specified by:
      setAttributes in interface XMLMarshallable
      Parameters:
      atts - The XML attributes of the current element
    • addChild

      public void addChild(String tagName, XMLMarshallable child)
      Description copied from interface: XMLMarshallable
      Adds a child to the object, the child representing the marshallable object which must be added to the element.
      Specified by:
      addChild in interface XMLMarshallable
      Parameters:
      tagName - The name of tag for the child
      child - The child to be added
    • addCharacterData

      public void addCharacterData(String cData)
      Description copied from interface: XMLMarshallable
      Adds character data to the content element.
      Specified by:
      addCharacterData in interface XMLMarshallable
      Parameters:
      cData - The character data to be added
    • marshal

      public void marshal(XMLOutputter output)
      Description copied from interface: XMLMarshallable
      Gives an XML representation of this object, including its children.
      Specified by:
      marshal in interface XMLMarshallable
      Parameters:
      output - The XML output to marshal the object into