# Property file for defining tax data 
#
# Simple example data below creates a tax data set (jurisdictions, 
# jurisdiction-address mappings, tax classes and tax rates) which all belong to a 
# single domain (MyUnit). A more complex data set could create tax classes and
# jurisdictions in more than one domain.
#
# ##############################################################################
# --- SYNTAX -------------------------------------------------------------------
#
# ### 1. Channel or Organization specification #######
#
# ### Specify the *default* channel or organization to which jurisdictions
# ### and tax classes are to belong. *If not specified* each jurisdiction and
# ### tax class needs to be specifically assigned to a channel or organization.
#
# Default.channel=                        {EITHER optional: name of *default* channel}
# Default.organization=                   {OR     optional: name of *default* organization}
# 
# ### 2. Tax Jurisdictions ##########
#
# ### Any number of jurisdictions may be specified, distinguished using different
# ### <id>s. If the jurisdiction is not to belong to the Default.channel/.organization
# ### then one of Jurisdiction.<id>.channel/.organization needs to be specified.
# ### Any number of country / state assignments may be defined, distinguished using 
# ### numbers <int>. Values must match the actually used values in addresses.
#
# Jurisdiction.<id>.name=                 {name of tax jurisdiction}
# Jurisdiction.<id>.channel=              {EITHER optional: name of channel to which jurisdiction belongs, 
#                                                           fallback to Default.channel/.organization}
# Jurisdiction.<id>.organization=         {OR     optional: name of organization to which jurisdiction belongs, 
#                                                           fallback to Default.channel/.organization}
# Jurisdiction.<id>.default=<true|false>  {optional: whether this is the default jurisdiction, false if not specified}
# Jurisdiction.<id>.mapping.<int>.country={optional: jurisdiction-country assignment - must be given if state is given}
# Jurisdiction.<id>.mapping.<int>.state=  {optional: jurisdiction-state assignment}
#
# ### 3. Tax Classes ################
#
# ### Any number of classes may be specified, distinguished using different
# ### <id>s. If the class is not to belong to the Default.channel/.organization
# ### then one of Class.<id>.channel/.organization needs to be specified.
#
# Class.<id>.code=                        {code of tax class, the ID via that objects like products are assigned to this class}
# Class.<id>.name=                        {name of tax class}
# Class.<id>.channel=                     {EITHER optional: name of channel to which jurisdiction belongs, 
#                                                           fallback to Default.channel/.organization}
# Class.<id>.organization=                {OR     optional: name of organization to which jurisdiction belongs, 
#                                                           fallback to Default.channel/.organization}
# Class.<id>.description=                 {description of tax class}
# Class.<id>.default=<true|false>         {optional: whether this is the default tax class, false if not specified}
#
# ### 4. Tax Rates ##################
#
# ### A tax rate may be defined for each jurisdiction/tax class pair. The
# ### Jurisdictions and tax classes are identified using their <id>s.
#
# Rate.<jurisdiction id>.<class id>.value=    {xx.yyy eg 7.5%=0.075, tax rate valid from .validfrom if given}
# Rate.<jurisdiction id>.<class id>.validfrom={dd.mm.yyyy e.g 16.01.2004 optional date when 
#                                              .previous rate becomes invalid and .value becomes valid}
# Rate.<jurisdiction id>.<class id>.previous= {xx.yyy eg 7.5%=0.075, optional tax rate valid 
#                                              previous to validfrom date}
#
# ### 5. Sharing tax data sets ######
#
# ### If desired a tax data set belonging to one channel/organization can be
# ### shared one or more other channels/organizations. Each sharing
# ### relationship is distinguished using a <id>. Tax data sets can only
# ### be shared by defining *direct* relations.
#
# Sharing.<id>.from.channel=              {EITHER specify channel providing its tax data set}
# Sharing.<id>.from.organization=         {OR     specify organization providing its tax data set}
# Sharing.<id>.to.channel=                {EITHER specify channel using the tax data set}
# Sharing.<id>.to.organization=           {OR     specify organization using its tax data set}
# Sharing.<id>.relationDefinitionName=    {the relation definition name, either TAX_CLASS or TAX_JURISDICTION} 
#
# ##############################################################################
# --- EXAMPLE  -----------------------------------------------------------------

# ### 1. Domain specification #######
# ###    -> Use 'MyUnit' as domain unless otherwise specified
Default.organization=Operations


# ### 2. Tax Jurisdictions ##########
# ###    -> As no domain is specified jurisdictions belong to domain at Domain.name
# ###    -> Define 2 jurisdictions with country/state mappings, US as default
Jurisdiction.GERMANY.code=Germany
Jurisdiction.GERMANY.name=Germany
Jurisdiction.GERMANY.mapping.1.country=DE
Jurisdiction.US.code=USA
Jurisdiction.US.name=USA
Jurisdiction.US.default=true
Jurisdiction.US.mapping.1.country=US
Jurisdiction.AUSTRIA.name=Austria
Jurisdiction.AUSTRIA.mapping.1.country=Austria
Jurisdiction.AUSTRIA.mapping.2.country=AT

Jurisdiction.OTHER.code=OUTSIDE GERMANY
Jurisdiction.OTHER.name=OUTSIDE GERMANY

# ### 3. Tax Classes ################
# ###    -> Define 3 classes, full tax as default
# ###    -> As no domain is specified classes belong to domain at Domain.name
Class.FullTax.code=FullTax
Class.FullTax.name=FullTax
Class.FullTax.description=Full Tax charged 
Class.FullTax.default=true
Class.ReducedTax.code=ReducedTax
Class.ReducedTax.name=ReducedTax
Class.ReducedTax.description=Reduced Tax charged 
Class.NoTax.code=NoTax 
Class.NoTax.name=NoTax 
Class.NoTax.description=No Tax charged

# ### 4. Tax Rates ##################
# ###    -> Define tax rate matrix
Rate.GERMANY.FullTax.value=0.19
Rate.GERMANY.ReducedTax.value=0.07
Rate.GERMANY.NoTax.value=0.0
Rate.US.FullTax.value=0.06
Rate.US.ReducedTax.value=0.04
Rate.US.NoTax.value=0.0
Rate.AUSTRIA.FullTax.value=0.20
Rate.AUSTRIA.ReducedTax.value=0.10
Rate.AUSTRIA.NoTax.value=0.0

Rate.OTHER.FullTax.value=0.19
Rate.OTHER.ReducedTax.value=0.07
Rate.OTHER.NoTax.value=0.0






#Channel for Austria

Jurisdiction.AUSTRIA_AT.name=Austria
Jurisdiction.AUSTRIA_AT.mapping.1.country=Austria
Jurisdiction.AUSTRIA_AT.mapping.2.country=AT
Jurisdiction.AUSTRIA_AT.default=true
Jurisdiction.AUSTRIA_AT.organization=AT

Jurisdiction.GERMANY_AT.name=Germany
Jurisdiction.GERMANY_AT.mapping.1.country=Germany
Jurisdiction.GERMANY_AT.mapping.2.country=DE
Jurisdiction.GERMANY_AT.organization=AT

Rate.AUSTRIA_AT.FullTax.value=0.20
Rate.AUSTRIA_AT.ReducedTax.value=0.10
Rate.AUSTRIA_AT.NoTax.value=0.0

Rate.GERMANY_AT.FullTax.value=0.19
Rate.GERMANY_AT.ReducedTax.value=0.07
Rate.GERMANY_AT.NoTax.value=0.0

#Channel for Germany

Jurisdiction.AUSTRIA_DE.name=Austria
Jurisdiction.AUSTRIA_DE.mapping.1.country=Austria
Jurisdiction.AUSTRIA_DE.mapping.2.country=AT
Jurisdiction.AUSTRIA_DE.organization=DE

Jurisdiction.GERMANY_DE.name=Germany
Jurisdiction.GERMANY_DE.mapping.1.country=Germany
Jurisdiction.GERMANY_DE.mapping.2.country=DE
Jurisdiction.GERMANY_DE.organization=DE
Jurisdiction.GERMANY_DE.default=true

Rate.AUSTRIA_DE.FullTax.value=0.20
Rate.AUSTRIA_DE.ReducedTax.value=0.10
Rate.AUSTRIA_DE.NoTax.value=0.0

Rate.GERMANY_DE.FullTax.value=0.19
Rate.GERMANY_DE.ReducedTax.value=0.07
Rate.GERMANY_DE.NoTax.value=0.0

# ### 5. Sharing tax data sets ######
Sharing.TAXDEMyDEChannel.from.organization=DE
Sharing.TAXDEMyDEChannel.to.channel=DE-MyDEChannel
Sharing.TAXDEMyDEChannel.relationDefinitionName=TAX_JURISDICTION

Sharing.TAXATMyAtChannel.from.organization=AT
Sharing.TAXATMyAtChannel.to.channel=AT-MyATChannel
Sharing.TAXATMyAtChannel.relationDefinitionName=TAX_JURISDICTION

Sharing.TAXATOtherATChannel.from.organization=AT
Sharing.TAXATOtherATChannel.to.channel=AT-OtherATChannel
Sharing.TAXATOtherATChannel.relationDefinitionName=TAX_JURISDICTION