# This file was auto-generated by Fern from our API Definition.

from ..core.unchecked_base_model import UncheckedBaseModel
import typing
import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2


class TaxIds(UncheckedBaseModel):
    """
    Identifiers for the location used by various governments for tax purposes.
    """

    eu_vat: typing.Optional[str] = pydantic.Field(default=None)
    """
    The EU VAT number for this location. For example, `IE3426675K`.
    If the EU VAT number is present, it is well-formed and has been
    validated with VIES, the VAT Information Exchange System.
    """

    fr_siret: typing.Optional[str] = pydantic.Field(default=None)
    """
    The SIRET (Système d'Identification du Répertoire des Entreprises et de leurs Etablissements)
    number is a 14-digit code issued by the French INSEE. For example, `39922799000021`.
    """

    fr_naf: typing.Optional[str] = pydantic.Field(default=None)
    """
    The French government uses the NAF (Nomenclature des Activités Françaises) to display and
    track economic statistical data. This is also called the APE (Activite Principale de l’Entreprise) code.
    For example, `6910Z`.
    """

    es_nif: typing.Optional[str] = pydantic.Field(default=None)
    """
    The NIF (Numero de Identificacion Fiscal) number is a nine-character tax identifier used in Spain.
    If it is present, it has been validated. For example, `73628495A`.
    """

    jp_qii: typing.Optional[str] = pydantic.Field(default=None)
    """
    The QII (Qualified Invoice Issuer) number is a 14-character tax identifier used in Japan.
    For example, `T1234567890123`.
    """

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
