com.helger.ebinterface.codelist.ETaxCode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ph-ebinterface Show documentation
Show all versions of ph-ebinterface Show documentation
ebInterface wrapper library to easily read and write ebInterface documents
/**
* Copyright (C) 2014-2020 Philip Helger (www.helger.com)
* philip[at]helger[dot]com
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.helger.ebinterface.codelist;
import javax.annotation.Nonnegative;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import com.helger.commons.annotation.Nonempty;
import com.helger.commons.id.IHasID;
import com.helger.commons.lang.EnumHelper;
/**
* Tax code enum for ebInterface 4.x
*
* "AT"+UVACode. ATXXX entspricht nicht steuerbar. Die entsprechenden UVA Codes
* sind dem U30 Formular des Bundesministeriums für Finanzen zu entnehmen
* [BMF11]. Die Angabe des TaxCodes hat nur informativen Charakter. Normativ für
* den Steuersatz ist die Angabe im Feld „TaxRate“.
*
*
* Has been verified for the years 2006-2013
*
* Source:
* http://formulare.bmf.gv.at/service/formulare/inter-Steuern/pdfs/2010/U30.pdf
*
* http://formulare.bmf.gv.at/service/formulare/inter-Steuern/pdfs/2016/U30.pdf
*
* @author Philip Helger
*/
public enum ETaxCode implements IHasID
{
/** Regular tax rate. */
STANDARD_20 ("AT022", 20, "Normalsteuersatz"),
/** Reduced tax rate */
REDUCED_10 ("AT029", 10, "ermäßigter Steuersatz"),
/** Wine tax rate - valid until 31.12.2015 */
@Deprecated
WINE_12 ("AT025", 12, "für Weinumsätze durch landwirtschaftliche Betriebe"),
/** Wine tax rate per 1.1.2016 */
REDUCED_13 ("AT006", 13, "ermäßigter Steuersatz"),
/** Special regions. Up to 2006 only */
@Deprecated
GERMANY_16 ("AT035", 16, "für Jungholz und Mittelberg"),
/** Special regions. From 2007 only */
GERMANY_19 ("AT037", 19, "für Jungholz und Mittelberg"),
/** Add-on tax for certain farmers only */
ADDITIONAL_10 ("AT052", 10, "Zusatzsteuer für pauschalierte land- und forstwirtschaftliche Betriebe"),
/** Add-on tax for certain farmers only - valid until 31.12.2015 */
@Deprecated
ADDITIONAL_08 ("AT038", 8, "Zusatzsteuer für pauschalierte land- und forstwirtschaftliche Betriebe"),
/** Add-on tax for certain farmers only - valid from 1.1.2016 */
ADDITIONAL_07 ("AT007", 7, "Zusatzsteuer für pauschalierte land- und forstwirtschaftliche Betriebe"),
/** ebInterface 4.0 specific code */
NOT_TAXABLE ("ATXXX", 0, "nicht steuerbar");
private final String m_sID;
private final int m_nPerc;
private final String m_sDesc;
ETaxCode (@Nonnull @Nonempty final String sID, @Nonnegative final int nPerc, @Nonnull @Nonempty final String sDesc)
{
m_sID = sID;
m_nPerc = nPerc;
m_sDesc = sDesc;
}
@Nonnull
@Nonempty
public String getID ()
{
return m_sID;
}
/**
* @return The assigned percentage between 0 and 100.
*/
@Nonnegative
public int getPercentage ()
{
return m_nPerc;
}
/**
* @return Description of this tax code. Never null
.
*/
@Nonnull
@Nonempty
public String getDescription ()
{
return m_sDesc;
}
/**
* Lookup element by ID.
*
* @param sID
* ID to lookup. May be null
.
* @return null
if no such element exists.
*/
@Nullable
public static ETaxCode getFromIDOrNull (@Nullable final String sID)
{
return EnumHelper.getFromIDOrNull (ETaxCode.class, sID);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy