diff --git a/CHANGELOG_SCHEMAS.md b/CHANGELOG_SCHEMAS.md
index ca57578f..14c647be 100644
--- a/CHANGELOG_SCHEMAS.md
+++ b/CHANGELOG_SCHEMAS.md
@@ -100,3 +100,13 @@ commit message. A binding without a section here simply gets no metadata injecte
- published_at: `2026-02-09`
- source_url:
`https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/nfse-esquemas_xsd-v1-01-20260209.zip`
+
+## nfse (v1_01)
+
+- binding_dir: `nfse/bindings/v1_01`
+- version: `NFSe-ESQUEMAS_XSD-v1.01-20260209 (leiaute 1.01)`
+- package: `NFSe-ESQUEMAS_XSD-v1.01-20260209, diretório Schemas/1.01`
+- nota_tecnica: `Leiaute NFSe 1.01 (grupos IBSCBS da RTC, NT SE/CGNFS-e 004) + CNC`
+- published_at: `2026-02-09`
+- source_url:
+ `https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/nfse-esquemas_xsd-v1-01-20260209.zip`
diff --git a/README.md b/README.md
index 0dfd28f5..e474a17b 100644
--- a/README.md
+++ b/README.md
@@ -304,6 +304,14 @@ to support the various versions at the same time using different folders. It
would be possible, for example, to issue the future NF-e 5.0 and still import
an NF-e 4.0.
+The NFS-e is the exception to the 2 digits rule: its 1.01 layout (the IBSCBS
+groups of the tax reform) cannot read every 1.00 document (`explRod` and other
+groups are gone), and the government accepts both layouts at the same time. So
+`nfse/bindings/v1_0` (layout 1.00) and `nfse/bindings/v1_01` (layout 1.01) live
+side by side. They share the namespace and the root element names, so
+`from_xml`/`from_path` return the classes of the package of the class you call
+them on, and an `XmlParser` used directly should be given the target class.
+
## Credits
diff --git a/generate_bindings.py b/generate_bindings.py
index 0cccf95f..4a2c3db9 100755
--- a/generate_bindings.py
+++ b/generate_bindings.py
@@ -258,6 +258,14 @@ def __init__(
schema_dir="nfelib/nfse/schemas/v1_0",
package="nfelib.nfse.bindings.v1_0",
),
+ # The NFS-e 1.01 layout is not a superset of 1.00 (explRod and other groups
+ # are gone) and both are valid at the same time, so it gets its own folder
+ # instead of superseding v1_0. The schema version folder keeps the 3 digits.
+ "nfse_v1_01": SchemaConfig(
+ name="nfse_v1_01",
+ schema_dir="nfelib/nfse/schemas/v1_01",
+ package="nfelib.nfse.bindings.v1_01",
+ ),
}
DOWNLOAD_URLS: Final[dict[str, str]] = {
diff --git a/nfelib/__init__.py b/nfelib/__init__.py
index e7d6c1b1..bb962c9e 100644
--- a/nfelib/__init__.py
+++ b/nfelib/__init__.py
@@ -5,6 +5,7 @@
import base64
import os
import warnings
+from io import BytesIO
from os import environ
from pathlib import Path
from typing import Any
@@ -29,9 +30,32 @@ class CommonMixin:
@classmethod
def from_xml(cls, xml: str, config: ParserConfig = None) -> Any:
"""Parse xml and return an instance of the class."""
- if config is None:
- return XmlParser().from_string(xml)
- return XmlParser(config=config).from_string(xml)
+ parser = XmlParser() if config is None else XmlParser(config=config)
+ return parser.from_string(xml, cls._find_root_class(parser, xml))
+
+ @classmethod
+ def _find_root_class(cls, parser: XmlParser, xml: str | bytes) -> Any:
+ """Return the root element class from the binding package of cls.
+
+ Two layout versions of a document can share the namespace and the
+ element names (NFS-e 1.00 and 1.01). xsdata would then return the
+ class imported last, whatever the class from_xml was called on. When
+ several classes match the root, keep the one of the same package.
+ Return None to let xsdata detect the root class as usual.
+ """
+ data = xml.encode("utf-8") if isinstance(xml, str) else xml
+ try:
+ _event, root = next(etree.iterparse(BytesIO(data), events=("start",)))
+ except (etree.XMLSyntaxError, StopIteration):
+ return None
+ candidates: list[type] = parser.context.find_types(root.tag)
+ if len(candidates) < 2:
+ return None
+ package = cls.__module__.rpartition(".")[0]
+ for candidate in reversed(candidates):
+ if candidate.__module__.rpartition(".")[0] == package:
+ return candidate
+ return None
@classmethod
def from_path(cls, path: str) -> Any:
@@ -73,6 +97,14 @@ def _get_schema_path(cls) -> str:
"nfe_v4.00.xsd",
)
if package == "nfse":
+ if ".bindings.v1_01." in cls.__module__:
+ return os.path.join(
+ os.path.dirname(__file__),
+ "nfse",
+ "schemas",
+ "v1_01",
+ "DPS_v1.01.xsd",
+ )
return os.path.join(
os.path.dirname(__file__),
"nfse",
diff --git a/nfelib/nfse/bindings/v1_01/__init__.py b/nfelib/nfse/bindings/v1_01/__init__.py
new file mode 100644
index 00000000..39f694c7
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/__init__.py
@@ -0,0 +1,443 @@
+"""Auto-generated schema metadata.
+
+This module is part of the generated binding package `nfelib.nfse.bindings.v1_01`.
+The source XSD schema package details are tracked below.
+"""
+
+# Source schema package information (from CHANGELOG_SCHEMAS.md)
+SCHEMA_VERSION: str = 'NFSe-ESQUEMAS_XSD-v1.01-20260209 (leiaute 1.01)'
+SCHEMA_PACKAGE: str = 'NFSe-ESQUEMAS_XSD-v1.01-20260209, diretório Schemas/1.01'
+NOTA_TECNICA: str = 'Leiaute NFSe 1.01 (grupos IBSCBS da RTC, NT SE/CGNFS-e 004) + CNC'
+PUBLISHED_AT: str = '2026-02-09'
+SOURCE_URL: str = 'https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/nfse-esquemas_xsd-v1-01-20260209.zip'
+GENERATED_AT: str = '2026-10-09T00:45:08Z'
+
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from nfelib.nfse.bindings.v1_01.cnc_v1_00 import Cnc
+from nfelib.nfse.bindings.v1_01.dps_v1_01 import Dps
+from nfelib.nfse.bindings.v1_01.evento_v1_01 import Evento
+from nfelib.nfse.bindings.v1_01.nfse_v1_01 import Nfse
+from nfelib.nfse.bindings.v1_01.ped_reg_evento_v1_01 import PedRegEvento
+from nfelib.nfse.bindings.v1_01.tipos_cnc_v1_00 import (
+ TcenderContribuinteCnc,
+ TcinfCnc,
+ TcinfoContribuinteCnc,
+ Tcnc,
+)
+from nfelib.nfse.bindings.v1_01.tipos_complexos_v1_01 import (
+ TcatvEvento,
+ TcbeneficioMunicipal,
+ TccomExterior,
+ Tccserv,
+ TcdocDedRed,
+ TcdocNfnfs,
+ TcdocOutNfse,
+ Tcdps,
+ Tcemitente,
+ Tcendereco,
+ TcenderecoEmitente,
+ TcenderecoSimples,
+ TcenderExt,
+ TcenderExtSimples,
+ TcenderNac,
+ TcenderObraEvento,
+ TcexigSuspensa,
+ TcinfDps,
+ TcinfNfse,
+ TcinfoCompl,
+ TcinfoDedRed,
+ TcinfoItemPed,
+ TcinfoObra,
+ TcinfoPessoa,
+ TcinfoPrestador,
+ TcinfoRefNfse,
+ TcinfoTributacao,
+ TcinfoValores,
+ TclistaDocDedRed,
+ TclocPrest,
+ Tcnfse,
+ TcregTrib,
+ Tcrtcibscbs,
+ TcrtcinfoDest,
+ TcrtcinfoIbscbs,
+ TcrtcinfoImovel,
+ TcrtcinfoReeRepRes,
+ TcrtcinfoTributosDif,
+ TcrtcinfoTributosIbscbs,
+ TcrtcinfoTributosSitClas,
+ TcrtcinfoTributosTribRegular,
+ TcrtcinfoValoresIbscbs,
+ TcrtclistaDoc,
+ TcrtclistaDocDfe,
+ TcrtclistaDocFiscalOutro,
+ TcrtclistaDocFornec,
+ TcrtclistaDocOutro,
+ TcrtctotalCbs,
+ TcrtctotalCbscredPres,
+ TcrtctotalCibs,
+ TcrtctotalIbs,
+ TcrtctotalIbscredPres,
+ TcrtctotalIbsmun,
+ TcrtctotalIbsuf,
+ TcrtctotalTribCompraGov,
+ TcrtctotalTribRegular,
+ TcrtcvaloresIbscbs,
+ TcrtcvaloresIbscbsfed,
+ TcrtcvaloresIbscbsmun,
+ TcrtcvaloresIbscbsuf,
+ Tcserv,
+ Tcsubstituicao,
+ TctribFederal,
+ TctribMunicipal,
+ TctribOutrosPisCofins,
+ TctribTotal,
+ TctribTotalMonet,
+ TctribTotalPercent,
+ TcvaloresNfse,
+ TcvdescCondIncond,
+ TcvservPrest,
+)
+from nfelib.nfse.bindings.v1_01.tipos_eventos_v1_01 import (
+ Tcevento,
+ TcinfEvento,
+ TcinfPedReg,
+ TcpedRegEvt,
+ Te101101,
+ Te101101XDesc,
+ Te101103,
+ Te101103XDesc,
+ Te105102,
+ Te105102XDesc,
+ Te105104,
+ Te105104XDesc,
+ Te105105,
+ Te105105XDesc,
+ Te202201,
+ Te202201XDesc,
+ Te202205,
+ Te202205XDesc,
+ Te203202,
+ Te203202XDesc,
+ Te203206,
+ Te203206XDesc,
+ Te204203,
+ Te204203XDesc,
+ Te204207,
+ Te204207XDesc,
+ Te205204,
+ Te205204XDesc,
+ Te205208,
+ Te205208XDesc,
+ Te305101,
+ Te305101XDesc,
+ Te305102,
+ Te305102XDesc,
+ Te305103,
+ Te305103XDesc,
+)
+from nfelib.nfse.bindings.v1_01.tipos_simples_v1_01 import (
+ Tbmissqn,
+ TsambGeradorEvt,
+ TsambGeradorNfse,
+ TscodigoEventoNfse,
+ TscodJustAnaliseFiscalCanc,
+ TscodJustAnaliseFiscalCancDef,
+ TscodJustAnaliseFiscalCancIndef,
+ TscodJustCanc,
+ TscodJustSubst,
+ TscodMotivoRejeicao,
+ TscodNaoNif,
+ TsemitenteDps,
+ TsenvMdic,
+ TsideDedRed,
+ TsmecAfcomExPrest,
+ TsmecAfcomExToma,
+ TsmodoPrestacao,
+ TsmotivoEmisTi,
+ TsmovTempBens,
+ TsopExigSuspensa,
+ TsopSimpNac,
+ TsprocEmissao,
+ TsregEspTrib,
+ TsregimeApuracaoSimpNac,
+ TsrtcfinNfse,
+ TsrtcindDest,
+ TsrtcindFinal,
+ TsrtctipoChaveDfe,
+ TsrtctpEnteGov,
+ TsrtctpOper,
+ TsrtctpReeRepRes,
+ TssituacaoEmissaoNfse,
+ Tstat,
+ TstipoAmbiente,
+ TstipoCst,
+ TstipoEmissao,
+ TstipoImunidadeIssqn,
+ TstipoIndTotTrib,
+ TstipoRetIssqn,
+ TstipoRetPiscofins,
+ TstribIssqn,
+ Tsuf,
+ TsvincPrest,
+)
+from nfelib.nfse.bindings.v1_01.xmldsig_core_schema import (
+ CanonicalizationMethod,
+ CanonicalizationMethodType,
+ DigestMethod,
+ DigestMethodType,
+ DigestValue,
+ DsakeyValue,
+ DsakeyValueType,
+ KeyInfo,
+ KeyInfoType,
+ KeyName,
+ KeyValue,
+ KeyValueType,
+ Manifest,
+ ManifestType,
+ MgmtData,
+ ObjectType,
+ Pgpdata,
+ PgpdataType,
+ Reference,
+ ReferenceType,
+ RetrievalMethod,
+ RetrievalMethodType,
+ RsakeyValue,
+ RsakeyValueType,
+ Signature,
+ SignatureMethod,
+ SignatureMethodType,
+ SignatureProperties,
+ SignaturePropertiesType,
+ SignatureProperty,
+ SignaturePropertyType,
+ SignatureType,
+ SignatureValue,
+ SignatureValueType,
+ SignedInfo,
+ SignedInfoType,
+ Spkidata,
+ SpkidataType,
+ Transform,
+ Transforms,
+ TransformsType,
+ TransformType,
+ X509Data,
+ X509DataType,
+ X509IssuerSerialType,
+ _Object,
+)
+
+__all__ = [
+ "Cnc",
+ "Dps",
+ "Evento",
+ "Nfse",
+ "PedRegEvento",
+ "TcenderContribuinteCnc",
+ "TcinfCnc",
+ "TcinfoContribuinteCnc",
+ "Tcnc",
+ "TcatvEvento",
+ "TcbeneficioMunicipal",
+ "Tccserv",
+ "TccomExterior",
+ "Tcdps",
+ "TcdocDedRed",
+ "TcdocNfnfs",
+ "TcdocOutNfse",
+ "Tcemitente",
+ "TcenderExt",
+ "TcenderExtSimples",
+ "TcenderNac",
+ "TcenderObraEvento",
+ "Tcendereco",
+ "TcenderecoEmitente",
+ "TcenderecoSimples",
+ "TcexigSuspensa",
+ "TcinfDps",
+ "TcinfNfse",
+ "TcinfoCompl",
+ "TcinfoDedRed",
+ "TcinfoItemPed",
+ "TcinfoObra",
+ "TcinfoPessoa",
+ "TcinfoPrestador",
+ "TcinfoRefNfse",
+ "TcinfoTributacao",
+ "TcinfoValores",
+ "TclistaDocDedRed",
+ "TclocPrest",
+ "Tcnfse",
+ "Tcrtcibscbs",
+ "TcrtcinfoDest",
+ "TcrtcinfoIbscbs",
+ "TcrtcinfoImovel",
+ "TcrtcinfoReeRepRes",
+ "TcrtcinfoTributosDif",
+ "TcrtcinfoTributosIbscbs",
+ "TcrtcinfoTributosSitClas",
+ "TcrtcinfoTributosTribRegular",
+ "TcrtcinfoValoresIbscbs",
+ "TcrtclistaDoc",
+ "TcrtclistaDocDfe",
+ "TcrtclistaDocFiscalOutro",
+ "TcrtclistaDocFornec",
+ "TcrtclistaDocOutro",
+ "TcrtctotalCbs",
+ "TcrtctotalCbscredPres",
+ "TcrtctotalCibs",
+ "TcrtctotalIbs",
+ "TcrtctotalIbscredPres",
+ "TcrtctotalIbsmun",
+ "TcrtctotalIbsuf",
+ "TcrtctotalTribCompraGov",
+ "TcrtctotalTribRegular",
+ "TcrtcvaloresIbscbs",
+ "TcrtcvaloresIbscbsfed",
+ "TcrtcvaloresIbscbsmun",
+ "TcrtcvaloresIbscbsuf",
+ "TcregTrib",
+ "Tcserv",
+ "Tcsubstituicao",
+ "TctribFederal",
+ "TctribMunicipal",
+ "TctribOutrosPisCofins",
+ "TctribTotal",
+ "TctribTotalMonet",
+ "TctribTotalPercent",
+ "TcvdescCondIncond",
+ "TcvservPrest",
+ "TcvaloresNfse",
+ "Tcevento",
+ "TcinfEvento",
+ "TcinfPedReg",
+ "TcpedRegEvt",
+ "Te101101",
+ "Te101101XDesc",
+ "Te101103",
+ "Te101103XDesc",
+ "Te105102",
+ "Te105102XDesc",
+ "Te105104",
+ "Te105104XDesc",
+ "Te105105",
+ "Te105105XDesc",
+ "Te202201",
+ "Te202201XDesc",
+ "Te202205",
+ "Te202205XDesc",
+ "Te203202",
+ "Te203202XDesc",
+ "Te203206",
+ "Te203206XDesc",
+ "Te204203",
+ "Te204203XDesc",
+ "Te204207",
+ "Te204207XDesc",
+ "Te205204",
+ "Te205204XDesc",
+ "Te205208",
+ "Te205208XDesc",
+ "Te305101",
+ "Te305101XDesc",
+ "Te305102",
+ "Te305102XDesc",
+ "Te305103",
+ "Te305103XDesc",
+ "Tbmissqn",
+ "TsambGeradorEvt",
+ "TsambGeradorNfse",
+ "TscodJustAnaliseFiscalCanc",
+ "TscodJustAnaliseFiscalCancDef",
+ "TscodJustAnaliseFiscalCancIndef",
+ "TscodJustCanc",
+ "TscodJustSubst",
+ "TscodMotivoRejeicao",
+ "TscodNaoNif",
+ "TscodigoEventoNfse",
+ "TsemitenteDps",
+ "TsenvMdic",
+ "TsideDedRed",
+ "TsmecAfcomExPrest",
+ "TsmecAfcomExToma",
+ "TsmodoPrestacao",
+ "TsmotivoEmisTi",
+ "TsmovTempBens",
+ "TsopExigSuspensa",
+ "TsopSimpNac",
+ "TsprocEmissao",
+ "TsrtcfinNfse",
+ "TsrtcindDest",
+ "TsrtcindFinal",
+ "TsrtctipoChaveDfe",
+ "TsrtctpEnteGov",
+ "TsrtctpOper",
+ "TsrtctpReeRepRes",
+ "TsregEspTrib",
+ "TsregimeApuracaoSimpNac",
+ "TssituacaoEmissaoNfse",
+ "TstipoAmbiente",
+ "TstipoCst",
+ "TstipoEmissao",
+ "TstipoImunidadeIssqn",
+ "TstipoIndTotTrib",
+ "TstipoRetIssqn",
+ "TstipoRetPiscofins",
+ "TstribIssqn",
+ "Tsuf",
+ "TsvincPrest",
+ "Tstat",
+ "CanonicalizationMethod",
+ "CanonicalizationMethodType",
+ "DsakeyValue",
+ "DsakeyValueType",
+ "DigestMethod",
+ "DigestMethodType",
+ "DigestValue",
+ "KeyInfo",
+ "KeyInfoType",
+ "KeyName",
+ "KeyValue",
+ "KeyValueType",
+ "Manifest",
+ "ManifestType",
+ "MgmtData",
+ "_Object",
+ "ObjectType",
+ "Pgpdata",
+ "PgpdataType",
+ "RsakeyValue",
+ "RsakeyValueType",
+ "Reference",
+ "ReferenceType",
+ "RetrievalMethod",
+ "RetrievalMethodType",
+ "Spkidata",
+ "SpkidataType",
+ "Signature",
+ "SignatureMethod",
+ "SignatureMethodType",
+ "SignatureProperties",
+ "SignaturePropertiesType",
+ "SignatureProperty",
+ "SignaturePropertyType",
+ "SignatureType",
+ "SignatureValue",
+ "SignatureValueType",
+ "SignedInfo",
+ "SignedInfoType",
+ "Transform",
+ "TransformType",
+ "Transforms",
+ "TransformsType",
+ "X509Data",
+ "X509DataType",
+ "X509IssuerSerialType",
+]
diff --git a/nfelib/nfse/bindings/v1_01/cnc_v1_00.py b/nfelib/nfse/bindings/v1_01/cnc_v1_00.py
new file mode 100644
index 00000000..ca4de034
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/cnc_v1_00.py
@@ -0,0 +1,22 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass
+
+from nfelib.nfse.bindings.v1_01.tipos_cnc_v1_00 import Tcnc
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+@dataclass
+class Cnc(Tcnc):
+ """Schema XML Leiaute do arquivo para upload - CNC"""
+
+ class Meta:
+ name = "CNC"
+ namespace = "http://www.sped.fazenda.gov.br/nfse"
diff --git a/nfelib/nfse/bindings/v1_01/dps_v1_01.py b/nfelib/nfse/bindings/v1_01/dps_v1_01.py
new file mode 100644
index 00000000..a6fd7444
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/dps_v1_01.py
@@ -0,0 +1,22 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass
+
+from nfelib.nfse.bindings.v1_01.tipos_complexos_v1_01 import Tcdps
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+@dataclass
+class Dps(Tcdps):
+ """Schema XML da Declaração de Prestação de Serviços - DPS"""
+
+ class Meta:
+ name = "DPS"
+ namespace = "http://www.sped.fazenda.gov.br/nfse"
diff --git a/nfelib/nfse/bindings/v1_01/evento_v1_01.py b/nfelib/nfse/bindings/v1_01/evento_v1_01.py
new file mode 100644
index 00000000..ff3a94d4
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/evento_v1_01.py
@@ -0,0 +1,24 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass
+
+from nfelib.nfse.bindings.v1_01.tipos_eventos_v1_01 import Tcevento
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+@dataclass
+class Evento(Tcevento):
+ """
+ Schema XML do Pedido de Registro de Eventos.
+ """
+
+ class Meta:
+ name = "evento"
+ namespace = "http://www.sped.fazenda.gov.br/nfse"
diff --git a/nfelib/nfse/bindings/v1_01/nfse_v1_01.py b/nfelib/nfse/bindings/v1_01/nfse_v1_01.py
new file mode 100644
index 00000000..53573a0c
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/nfse_v1_01.py
@@ -0,0 +1,22 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass
+
+from nfelib.nfse.bindings.v1_01.tipos_complexos_v1_01 import Tcnfse
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+@dataclass
+class Nfse(Tcnfse):
+ """Schema XML da Nota Fiscal de Serviços Eletrônica - NFS-e"""
+
+ class Meta:
+ name = "NFSe"
+ namespace = "http://www.sped.fazenda.gov.br/nfse"
diff --git a/nfelib/nfse/bindings/v1_01/ped_reg_evento_v1_01.py b/nfelib/nfse/bindings/v1_01/ped_reg_evento_v1_01.py
new file mode 100644
index 00000000..b94b8231
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/ped_reg_evento_v1_01.py
@@ -0,0 +1,24 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass
+
+from nfelib.nfse.bindings.v1_01.tipos_eventos_v1_01 import TcpedRegEvt
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+@dataclass
+class PedRegEvento(TcpedRegEvt):
+ """
+ Schema XML do Pedido de Registro de Eventos.
+ """
+
+ class Meta:
+ name = "pedRegEvento"
+ namespace = "http://www.sped.fazenda.gov.br/nfse"
diff --git a/nfelib/nfse/bindings/v1_01/tipos_cnc_v1_00.py b/nfelib/nfse/bindings/v1_01/tipos_cnc_v1_00.py
new file mode 100644
index 00000000..4b099a0e
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/tipos_cnc_v1_00.py
@@ -0,0 +1,312 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass, field
+from typing import Optional
+
+from nfelib.nfse.bindings.v1_01.tipos_simples_v1_01 import (
+ TsregEspTrib,
+ TssituacaoEmissaoNfse,
+ TstipoAmbiente,
+)
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+@dataclass
+class TcenderContribuinteCnc:
+ """
+
+ "
+
+ :ivar CEP: Código de endereçamento postal do estabelecimento do
+ contribuinte
+ :ivar nro: Número do estabelecimento no logradouro informado
+ :ivar xCpl: Informação complementar para identificação do endereço
+ do contribuinte
+ """
+
+ class Meta:
+ name = "TCEnderContribuinteCNC"
+
+ CEP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{8}",
+ },
+ )
+ nro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xCpl: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 156,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcinfoContribuinteCnc:
+ """
+ Informações para cadastramento de novos contribuintes CNC.
+ "
+
+ :ivar CNPJ: Número do CNPJ
+ :ivar CPF: Número do CPF
+ :ivar IM: Número da inscrição municipal
+ :ivar dInscricaoMunicipal: Data da Inscrição Municipal: Dia, mês e
+ ano (AAAAMMDD)
+ :ivar enderContribuinteCNC: Grupo de informações do endereço do
+ contribuinte do CNC
+ :ivar fone: Número do telefone do prestador: Preencher com o Código
+ DDD + número do telefone. Nas operações com exterior é permitido
+ informar o código do país + código da localidade + número do
+ telefone)
+ :ivar email: Endereço de e-mail para contato com o contribuinte
+ :ivar regEspTribContribuinteCNC: Tipos de Regimes Especiais de
+ Tributação: 0 - Nenhum; 1 - Ato Cooperado (Cooperativa); 2 -
+ Estimativa; 3 - Microempresa Municipal; 4 - Notário ou
+ Registrador; 5 - Profissional Autônomo; 6 - Sociedade de
+ Profissionais;
+ :ivar situacaoCadastroContribuinte: Identificação da situação do
+ cadastro do contribuinte
+ :ivar motivoSituacaoCadastroContribuinte: Motivo pelo qual o
+ contribuinte se enquadra na situação informada
+ :ivar situacaoEmissaoNFSE: Situação Emissão NFS-e: 0 - Não
+ Habilitado; 1 - Habilitado;
+ """
+
+ class Meta:
+ name = "TCInfoContribuinteCNC"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ IM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ },
+ )
+ dInscricaoMunicipal: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))",
+ },
+ )
+ enderContribuinteCNC: Optional[TcenderContribuinteCnc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6,20}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 80,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ regEspTribContribuinteCNC: Optional[TsregEspTrib] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ situacaoCadastroContribuinte: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ motivoSituacaoCadastroContribuinte: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ situacaoEmissaoNFSE: Optional[TssituacaoEmissaoNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcinfCnc:
+ """
+
+ "
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção; 2 -
+ Homologação
+ :ivar dhGeracaoArquivo: Data e hora da geração do arquivo CNC. Data
+ e hora no formato UTC (Universal Coordinated Time): AAAA-MM-
+ DDThh:mm:ssTZD
+ :ivar verAplic: Versão do aplicativo que gerou Informações para
+ cadastramento de novos contribuintes CNC
+ :ivar contribuintesCnc:
+ """
+
+ class Meta:
+ name = "TCInfCNC"
+
+ tpAmb: Optional[TstipoAmbiente] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ dhGeracaoArquivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))",
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ contribuintesCnc: Optional[TcinfCnc.ContribuintesCnc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+ @dataclass
+ class ContribuintesCnc:
+ """
+
+ "
+
+ :ivar contribuinteCnc: Grupo de informações cadastramento de
+ novos contribuintes CNC
+ """
+
+ contribuinteCnc: list[TcinfoContribuinteCnc] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_occurs": 1,
+ },
+ )
+
+
+@dataclass
+class Tcnc:
+ class Meta:
+ name = "TCNC"
+
+ infCNC: Optional[TcinfCnc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
diff --git a/nfelib/nfse/bindings/v1_01/tipos_complexos_v1_01.py b/nfelib/nfse/bindings/v1_01/tipos_complexos_v1_01.py
new file mode 100644
index 00000000..db74fa24
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/tipos_complexos_v1_01.py
@@ -0,0 +1,4826 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass, field
+from typing import Optional
+
+from xsdata.models.datatype import XmlDate
+
+from nfelib import CommonMixin
+from nfelib.nfse.bindings.v1_01.tipos_simples_v1_01 import (
+ Tbmissqn,
+ TsambGeradorNfse,
+ TscodJustSubst,
+ TscodNaoNif,
+ TsemitenteDps,
+ TsenvMdic,
+ TsideDedRed,
+ TsmecAfcomExPrest,
+ TsmecAfcomExToma,
+ TsmodoPrestacao,
+ TsmotivoEmisTi,
+ TsmovTempBens,
+ TsopExigSuspensa,
+ TsopSimpNac,
+ TsprocEmissao,
+ TsregEspTrib,
+ TsregimeApuracaoSimpNac,
+ TsrtcfinNfse,
+ TsrtcindDest,
+ TsrtcindFinal,
+ TsrtctipoChaveDfe,
+ TsrtctpEnteGov,
+ TsrtctpOper,
+ TsrtctpReeRepRes,
+ Tstat,
+ TstipoAmbiente,
+ TstipoCst,
+ TstipoEmissao,
+ TstipoImunidadeIssqn,
+ TstipoIndTotTrib,
+ TstipoRetIssqn,
+ TstipoRetPiscofins,
+ TstribIssqn,
+ Tsuf,
+ TsvincPrest,
+)
+from nfelib.nfse.bindings.v1_01.xmldsig_core_schema import Signature
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+@dataclass
+class TcbeneficioMunicipal:
+ """
+
+ "
+
+ :ivar nBM: Identificador do benefício parametrizado pelo município.
+ Trata-se de um identificador único que foi gerado pelo Sistema
+ Nacional no momento em que o município de incidência do ISSQN
+ incluiu o benefício no sistema. Critério de formação do número
+ de identificação de parâmetros municipais: 7 dígitos - posição 1
+ a 7: número identificador do Município, conforme código IBGE; 2
+ dígitos - posições 8 e 9 : número identificador do tipo de
+ parametrização (01-legislação, 02-regimes especiais,
+ 03-retenções, 04-outros benefícios); 5 dígitos - posição 10 a 14
+ : número sequencial definido pelo sistema quando do registro
+ específico do parâmetro dentro do tipo de parametrização no
+ sistema;
+ :ivar vRedBCBM: Valor monetário informado pelo emitente para redução
+ da base de cálculo (BC) do ISSQN devido a um Benefício Municipal
+ (BM).
+ :ivar pRedBCBM: Valor percentual informado pelo emitente para
+ redução da base de cálculo (BC) do ISSQN devido a um Benefício
+ Municipal (BM).
+ """
+
+ class Meta:
+ name = "TCBeneficioMunicipal"
+
+ nBM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ vRedBCBM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ pRedBCBM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class Tccserv:
+ """
+
+ "
+
+ :ivar cTribNac: Código de tributação nacional do ISSQN, nos termos
+ da LC 116/2003, conforme aba MUN.INCID_INFO.SERV. do ANEXO I
+ Regra de formação - 6 dígitos numéricos sendo: 2 para Item (LC
+ 116/2003), 2 para Subitem (LC 116/2003) e 2 para Desdobro
+ Nacional
+ :ivar cTribMun: Código de tributação municipal do ISSQN
+ :ivar xDescServ: Descrição completa do serviço prestado
+ :ivar cNBS: Código NBS correspondente ao serviço prestado, seguindo
+ a versão 2.0, conforme Anexo B
+ :ivar cIntContrib: Código interno do contribuinte
+ """
+
+ class Meta:
+ name = "TCCServ"
+
+ cTribNac: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6}",
+ },
+ )
+ cTribMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xDescServ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 2000,
+ "white_space": "preserve",
+ "pattern": r"[\s\S!-ÿ]{1}[\s\S -ÿ]{0,}[\s\S!-ÿ]{1}|[\s\S!-ÿ]{1}",
+ },
+ )
+ cNBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{9}",
+ },
+ )
+ cIntContrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[a-zA-Z0-9]{1,20}",
+ },
+ )
+
+
+@dataclass
+class TcdocNfnfs:
+ """
+
+ "
+
+ :ivar nNFS: Número da Nota Fiscal NF ou NFS
+ :ivar modNFS: Modelo da Nota Fiscal NF ou NFS
+ :ivar serieNFS: Série Nota Fiscal NF ou NFS
+ """
+
+ class Meta:
+ name = "TCDocNFNFS"
+
+ nNFS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 7,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ modNFS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 15,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{15}",
+ },
+ )
+ serieNFS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ "pattern": r"[a-zA-Z0-9]{1,15}",
+ },
+ )
+
+
+@dataclass
+class TcdocOutNfse:
+ """
+
+ "
+
+ :ivar cMunNFSeMun: Código Município emissor da nota eletrônica
+ municipal (Tabela do IBGE)
+ :ivar nNFSeMun: Número da nota eletrônica municipal
+ :ivar cVerifNFSeMun: Código de Verificação da nota eletrônica
+ municipal
+ """
+
+ class Meta:
+ name = "TCDocOutNFSe"
+
+ cMunNFSeMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ nNFSeMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 15,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{15}",
+ },
+ )
+ cVerifNFSeMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 9,
+ "white_space": "preserve",
+ "pattern": r"[a-zA-Z0-9]{1,9}",
+ },
+ )
+
+
+@dataclass
+class TcenderExt:
+ """
+
+ "
+
+ :ivar cPais: Código do país (Tabela de Países ISO)
+ :ivar cEndPost: Código alfanumérico do Endereçamento Postal no
+ exterior do prestador do serviço.
+ :ivar xCidade: Nome da cidade no exterior do prestador do serviço.
+ :ivar xEstProvReg: Estado, província ou região da cidade no exterior
+ do prestador do serviço.
+ """
+
+ class Meta:
+ name = "TCEnderExt"
+
+ cPais: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[A-Z]{2}",
+ },
+ )
+ cEndPost: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 11,
+ "white_space": "preserve",
+ },
+ )
+ xCidade: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ },
+ )
+ xEstProvReg: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ },
+ )
+
+
+@dataclass
+class TcenderExtSimples:
+ """
+
+ "
+
+ :ivar cEndPost: Código alfanumérico do Endereçamento Postal no
+ exterior do prestador do serviço.
+ :ivar xCidade: Nome da cidade no exterior do prestador do serviço.
+ :ivar xEstProvReg: Estado, província ou região da cidade no exterior
+ do prestador do serviço.
+ """
+
+ class Meta:
+ name = "TCEnderExtSimples"
+
+ cEndPost: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 11,
+ "white_space": "preserve",
+ },
+ )
+ xCidade: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ },
+ )
+ xEstProvReg: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ },
+ )
+
+
+@dataclass
+class TcenderNac:
+ """
+
+ "
+
+ :ivar cMun: Código do município, conforme Tabela do IBGE
+ :ivar CEP: Número do CEP
+ """
+
+ class Meta:
+ name = "TCEnderNac"
+
+ cMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ CEP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{8}",
+ },
+ )
+
+
+@dataclass
+class TcinfoItemPed:
+ """
+
+ "
+
+ :ivar xItemPed: Número do item do pedido/ordem de compra/ordem de
+ serviço/projeto - Identificação do número do item do pedido ou
+ ordem de compra destacado e xPed
+ """
+
+ class Meta:
+ name = "TCInfoItemPed"
+
+ xItemPed: list[str] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_occurs": 1,
+ "max_occurs": 99,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcinfoRefNfse:
+ """
+
+ "
+
+ :ivar refNFSe: Chave da NFS-e referenciada
+ """
+
+ class Meta:
+ name = "TCInfoRefNFSe"
+
+ refNFSe: list[str] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_occurs": 1,
+ "max_occurs": 99,
+ "max_length": 50,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{50}",
+ },
+ )
+
+
+@dataclass
+class TclocPrest:
+ """
+
+ "
+
+ :ivar cLocPrestacao: Código do município onde o serviço foi prestado
+ (tabela do IBGE)
+ :ivar cPaisPrestacao: Código do país onde o serviço foi prestado
+ (Tabela de Países ISO)
+ """
+
+ class Meta:
+ name = "TCLocPrest"
+
+ cLocPrestacao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ cPaisPrestacao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[A-Z]{2}",
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoTributosDif:
+ """
+
+ "
+
+ :ivar pDifUF: Percentual de diferimento para o IBS estadual
+ :ivar pDifMun: Percentual de diferimento para o IBS municipal
+ :ivar pDifCBS: Percentual de diferimento para a CBS
+ """
+
+ class Meta:
+ name = "TCRTCInfoTributosDif"
+
+ pDifUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ pDifMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ pDifCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoTributosTribRegular:
+ """
+
+ "
+
+ :ivar CSTReg: Código de Situação Tributária do IBS e da CBS de
+ tributação regular
+ :ivar cClassTribReg: Código da Classificação Tributária do IBS e da
+ CBS de tributação regular
+ """
+
+ class Meta:
+ name = "TCRTCInfoTributosTribRegular"
+
+ CSTReg: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ cClassTribReg: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6}",
+ },
+ )
+
+
+@dataclass
+class TcrtclistaDocFiscalOutro:
+ """
+
+ "
+
+ :ivar cMunDocFiscal: Código do município emissor do documento fiscal
+ que não se encontra no repositório nacional
+ :ivar nDocFiscal: Número do documento fiscal que não se encontra no
+ repositório nacional
+ :ivar xDocFiscal: Descrição do documento fiscal
+ """
+
+ class Meta:
+ name = "TCRTCListaDocFiscalOutro"
+
+ cMunDocFiscal: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 7,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ nDocFiscal: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xDocFiscal: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcrtclistaDocOutro:
+ """
+
+ "
+
+ :ivar nDoc: Número do documento não fiscal
+ :ivar xDoc: Descrição do documento não fiscal
+ """
+
+ class Meta:
+ name = "TCRTCListaDocOutro"
+
+ nDoc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xDoc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalCbscredPres:
+ """
+
+ "
+
+ :ivar pCredPresCBS: Alíquota do crédito presumido para a CBS
+ :ivar vCredPresCBS: Valor do Crédito Presumido da CBS vCredPresCBS =
+ vBC x pCredPresCBS
+ """
+
+ class Meta:
+ name = "TCRTCTotalCBSCredPres"
+
+ pCredPresCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vCredPresCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalIbscredPres:
+ """
+
+ "
+
+ :ivar pCredPresIBS: Alíquota do crédito presumido para o IBS
+ :ivar vCredPresIBS: Valor do Crédito Presumido para o IBS
+ vCredPresIBS = vBC x pCredPresIBS
+ """
+
+ class Meta:
+ name = "TCRTCTotalIBSCredPres"
+
+ pCredPresIBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vCredPresIBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalIbsmun:
+ """
+
+ "
+
+ :ivar vDifMun: Total do Diferimento do IBS municipal vDifMun =
+ vIBSMun x pDifMun
+ :ivar vIBSMun: Total valor do IBS municipal vIBSMun = vBC x (pIBSMun
+ ou pAliqEfetMun)
+ """
+
+ class Meta:
+ name = "TCRTCTotalIBSMun"
+
+ vDifMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vIBSMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalIbsuf:
+ """
+
+ "
+
+ :ivar vDifUF: Total do Diferimento do IBS estadual vDifUF = vIBSUF x
+ pDifUF
+ :ivar vIBSUF: Total valor do IBS estadual vIBSUF = vBC x (pIBSUF ou
+ pAliqEfetUF)
+ """
+
+ class Meta:
+ name = "TCRTCTotalIBSUF"
+
+ vDifUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vIBSUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalTribCompraGov:
+ """
+
+ "
+
+ :ivar pIBSUF: Alíquota do IBS de competência do Estado
+ :ivar vIBSUF: Valor do Tributo do IBS da UF calculado
+ :ivar pIBSMun: Alíquota do IBS de competência do Município
+ :ivar vIBSMun: Valor do Tributo do IBS do Município calculado
+ :ivar pCBS: Alíquota da CBS
+ :ivar vCBS: Valor do Tributo da CBS calculado
+ """
+
+ class Meta:
+ name = "TCRTCTotalTribCompraGov"
+
+ pIBSUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vIBSUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ pIBSMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vIBSMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ pCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalTribRegular:
+ """
+
+ "
+
+ :ivar pAliqEfeRegIBSUF: Alíquota efetiva de tributação regular do
+ IBS estadual
+ :ivar vTribRegIBSUF: Valor da tributação regular do IBS estadual
+ vTribRegIBSUF = vBC x pAliqEfeRegIBSUF
+ :ivar pAliqEfeRegIBSMun: Alíquota efetiva de tributação regular do
+ IBS municipal
+ :ivar vTribRegIBSMun: Valor da tributação regular do IBS municipal
+ vTribRegIBSMun = vBC x pAliqEfeRegIBSMun
+ :ivar pAliqEfeRegCBS: Alíquota efetiva de tributação regular da CBS
+ :ivar vTribRegCBS: Valor da tributação regular da CBS vTribRegCBS =
+ vBC x pAliqEfeRegCBS
+ """
+
+ class Meta:
+ name = "TCRTCTotalTribRegular"
+
+ pAliqEfeRegIBSUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vTribRegIBSUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ pAliqEfeRegIBSMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vTribRegIBSMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ pAliqEfeRegCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vTribRegCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtcvaloresIbscbsfed:
+ """
+
+ "
+
+ :ivar pCBS: Alíquota da União para CBS parametrizada no sistema
+ :ivar pRedAliqCBS: Percentual da redução de alíquota da CBS
+ :ivar pAliqEfetCBS: pAliqEfetCBS = pCBS x (1 - pRedAliqCBS) x (1 -
+ pRedutor) Se pRedAliqCBS não for informado na DPS, então
+ pAliqEfetCBS é a própria pCBS
+ """
+
+ class Meta:
+ name = "TCRTCValoresIBSCBSFed"
+
+ pCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ pRedAliqCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ pAliqEfetCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtcvaloresIbscbsmun:
+ """
+
+ "
+
+ :ivar pIBSMun: Alíquota do Município para IBS da localidade de
+ incidência parametrizada no sistema
+ :ivar pRedAliqMun: Percentual de redução de alíquota municipal
+ :ivar pAliqEfetMun: pAliqEfetMun = pIBSMun x (1 - pRedAliqMun) x (1
+ - pRedutor) Se pRedAliqMun não for informado na DPS, então
+ pAliqEfetMun é a própria pIBSMun
+ """
+
+ class Meta:
+ name = "TCRTCValoresIBSCBSMun"
+
+ pIBSMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ pRedAliqMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ pAliqEfetMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtcvaloresIbscbsuf:
+ """
+
+ "
+
+ :ivar pIBSUF: Alíquota da UF para IBS da localidade de incidência
+ parametrizada no sistema
+ :ivar pRedAliqUF: Percentual de redução de alíquota estadual
+ :ivar pAliqEfetUF: pAliqEfetUF = pIBSUF x (1 - pRedAliqUF) x (1 -
+ pRedutor) Se pRedAliqUF não for informado na DPS, então
+ pAliqEfetUF é a própria pIBSUF
+ """
+
+ class Meta:
+ name = "TCRTCValoresIBSCBSUF"
+
+ pIBSUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ pRedAliqUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ pAliqEfetUF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TctribTotalMonet:
+ """
+
+ "
+
+ :ivar vTotTribFed: Valor monetário total aproximado dos tributos
+ federais (R$).
+ :ivar vTotTribEst: Valor monetário total aproximado dos tributos
+ estaduais (R$).
+ :ivar vTotTribMun: Valor monetário total aproximado dos tributos
+ municipais (R$).
+ """
+
+ class Meta:
+ name = "TCTribTotalMonet"
+
+ vTotTribFed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vTotTribEst: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vTotTribMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TctribTotalPercent:
+ """
+
+ "
+
+ :ivar pTotTribFed: Valor percentual total aproximado dos tributos
+ federais (%).
+ :ivar pTotTribEst: Valor percentual total aproximado dos tributos
+ estaduais (%).
+ :ivar pTotTribMun: Valor percentual total aproximado dos tributos
+ municipais (%).
+ """
+
+ class Meta:
+ name = "TCTribTotalPercent"
+
+ pTotTribFed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ pTotTribEst: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ pTotTribMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcvdescCondIncond:
+ """
+
+ "
+
+ :ivar vDescIncond: Valor monetário do desconto incondicionado (R$)
+ :ivar vDescCond: Valor monetário do desconto condicionado (R$)
+ """
+
+ class Meta:
+ name = "TCVDescCondIncond"
+
+ vDescIncond: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vDescCond: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcvservPrest:
+ """
+
+ "
+
+ :ivar vReceb: Valor monetário recebido pelo intermediário do serviço
+ (R$)
+ :ivar vServ: Valor dos serviços em R$
+ """
+
+ class Meta:
+ name = "TCVServPrest"
+
+ vReceb: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vServ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TccomExterior:
+ """
+
+ "
+
+ :ivar mdPrestacao: Modo de Prestação: 0 - Desconhecido (tipo não
+ informado na nota de origem); 1 - Transfronteiriço; 2 - Consumo
+ no Brasil; 3 - Movimento Temporário de Pessoas Físicas; 4 -
+ Consumo no Exterior;
+ :ivar vincPrest: Vínculo entre as partes no negócio: 0 - Sem vínculo
+ com o Tomador/Prestador 1 - Controlada; 2 - Controladora; 3 -
+ Coligada; 4 - Matriz; 5 - Filial ou sucursal; 6 - Outro vínculo;
+ 9 - Desconhecido (tipo não informado na nota de origem);
+ :ivar tpMoeda: Identifica a moeda da transação comercial
+ :ivar vServMoeda: Valor do serviço prestado expresso em moeda
+ estrangeira especificada em tpmoeda
+ :ivar mecAFComexP: Mecanismo de apoio/fomento ao Comércio Exterior
+ utilizado pelo prestador do serviço: 00 - Desconhecido (tipo não
+ informado na nota de origem); 01 - Nenhum; 02 - ACC -
+ Adiantamento sobre Contrato de Câmbio – Redução a Zero do IR e
+ do IOF; 03 - ACE – Adiantamento sobre Cambiais Entregues -
+ Redução a Zero do IR e do IOF; 04 - BNDES-Exim Pós-Embarque –
+ Serviços; 05 - BNDES-Exim Pré-Embarque - Serviços; 06 - FGE -
+ Fundo de Garantia à Exportação; 07 - PROEX - EQUALIZAÇÃO 08 -
+ PROEX - Financiamento;
+ :ivar mecAFComexT: Mecanismo de apoio/fomento ao Comércio Exterior
+ utilizado pelo tomador do serviço: 00 - Desconhecido (tipo não
+ informado na nota de origem); 01 - Nenhum; 02 - Adm. Pública e
+ Repr. Internacional; 03 - Alugueis e Arrend. Mercantil de
+ maquinas, equip., embarc. e aeronaves; 04 - Arrendamento
+ Mercantil de aeronave para empresa de transporte aéreo público;
+ 05 - Comissão a agentes externos na exportação; 06 - Despesas de
+ armazenagem, mov. e transporte de carga no exterior; 07 -
+ Eventos FIFA (subsidiária); 08 - Eventos FIFA; 09 - Fretes,
+ arrendamentos de embarcações ou aeronaves e outros; 10 -
+ Material Aeronáutico; 11 - Promoção de Bens no Exterior; 12 -
+ Promoção de Dest. Turísticos Brasileiros; 13 - Promoção do
+ Brasil no Exterior; 14 - Promoção Serviços no Exterior; 15 -
+ RECINE; 16 - RECOPA; 17 - Registro e Manutenção de marcas,
+ patentes e cultivares; 18 - REICOMP; 19 - REIDI; 20 - REPENEC;
+ 21 - REPES; 22 - RETAERO; 23 - RETID; 24 - Royalties,
+ Assistência Técnica, Científica e Assemelhados; 25 - Serviços de
+ avaliação da conformidade vinculados aos Acordos da OMC; 26 -
+ ZPE;
+ :ivar movTempBens: Vínculo da Operação à Movimentação Temporária de
+ Bens: 0 - Desconhecido (tipo não informado na nota de origem); 1
+ - Não; 2 - Vinculada - Declaração de Importação; 3 - Vinculada -
+ Declaração de Exportação;
+ :ivar nDI: Número da Declaração de Importação (DI/DSI/DA/DRI-E)
+ averbado
+ :ivar nRE: Número do Registro de Exportação (RE) averbado
+ :ivar mdic: Compartilhar as informações da NFS-e gerada a partir
+ desta DPS com a Secretaria de Comércio Exterior: 0 - Não enviar
+ para o MDIC; 1 - Enviar para o MDIC;
+ """
+
+ class Meta:
+ name = "TCComExterior"
+
+ mdPrestacao: Optional[TsmodoPrestacao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ vincPrest: Optional[TsvincPrest] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ tpMoeda: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 3,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ vServMoeda: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ mecAFComexP: Optional[TsmecAfcomExPrest] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ mecAFComexT: Optional[TsmecAfcomExToma] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ movTempBens: Optional[TsmovTempBens] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ nDI: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 12,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nRE: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 12,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ mdic: Optional[TsenvMdic] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcenderObraEvento:
+ """
+
+ "
+
+ :ivar CEP: Número do CEP
+ :ivar endExt: Grupo de informações específicas de endereço no
+ exterior
+ :ivar xLgr: Tipo e nome do logradouro da localização do imóvel
+ :ivar nro: Número do imóvel
+ :ivar xCpl: Complemento do endereço
+ :ivar xBairro: Bairro
+ """
+
+ class Meta:
+ name = "TCEnderObraEvento"
+
+ CEP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{8}",
+ },
+ )
+ endExt: Optional[TcenderExtSimples] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ xLgr: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xCpl: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 156,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xBairro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Tcendereco:
+ """
+
+ "
+
+ :ivar endNac: Grupo de informações específicas de endereço nacional
+ :ivar endExt: Grupo de informações específicas de endereço no
+ exterior
+ :ivar xLgr: Tipo e nome do logradouro da localização do imóvel
+ :ivar nro: Número do imóvel
+ :ivar xCpl: Complemento do endereço
+ :ivar xBairro: Bairro
+ """
+
+ class Meta:
+ name = "TCEndereco"
+
+ endNac: Optional[TcenderNac] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ endExt: Optional[TcenderExt] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ xLgr: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xCpl: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 156,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xBairro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcenderecoEmitente:
+ """
+
+ "
+
+ :ivar xLgr: Tipo e nome do logradouro da localização do imóvel
+ :ivar nro: Número do imóvel
+ :ivar xCpl: Complemento do endereço
+ :ivar xBairro: Bairro
+ :ivar cMun: Código do município, conforme Tabela do IBGE
+ :ivar UF: Sigla da unidade da federação do município do endereço do
+ emitente.
+ :ivar CEP: Número do CEP
+ """
+
+ class Meta:
+ name = "TCEnderecoEmitente"
+
+ xLgr: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xCpl: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 156,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xBairro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ UF: Optional[Tsuf] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ CEP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{8}",
+ },
+ )
+
+
+@dataclass
+class TcenderecoSimples:
+ """
+
+ "
+
+ :ivar CEP: Número do CEP
+ :ivar endExt: Grupo de informações específicas de endereço no
+ exterior
+ :ivar xLgr: Tipo e nome do logradouro da localização do imóvel
+ :ivar nro: Número do imóvel
+ :ivar xCpl: Complemento do endereço
+ :ivar xBairro: Bairro
+ """
+
+ class Meta:
+ name = "TCEnderecoSimples"
+
+ CEP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{8}",
+ },
+ )
+ endExt: Optional[TcenderExtSimples] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ xLgr: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xCpl: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 156,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xBairro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcexigSuspensa:
+ """
+
+ "
+
+ :ivar tpSusp: Opção para Exigibilidade Suspensa: 1 - Exigibilidade
+ Suspensa por Decisão Judicial; 2 - Exigibilidade Suspensa por
+ Processo Administrativo;
+ :ivar nProcesso: Número do processo judicial ou administrativo de
+ suspensão da exigibilidade
+ """
+
+ class Meta:
+ name = "TCExigSuspensa"
+
+ tpSusp: Optional[TsopExigSuspensa] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ nProcesso: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "pattern": r"[0-9]{30}",
+ },
+ )
+
+
+@dataclass
+class TcinfoCompl:
+ """
+
+ "
+
+ :ivar idDocTec: Identificador de Documento de Responsabilidade
+ Técnica: ART, RRT, DRT, Outros.
+ :ivar docRef: Chave da nota, número identificador da nota, número do
+ contrato ou outro identificador de documento emitido pelo
+ prestador de serviços, que subsidia a emissão dessa nota pelo
+ tomador do serviço ou intermediário (preenchimento obrigatório
+ caso a nota esteja sendo emitida pelo Tomador ou intermediário
+ do serviço).
+ :ivar xPed: Número do pedido/ordem de compra/ordem de
+ serviço/projeto que autorize a prestação do serviço em operações
+ B2B - Informação de interesse do tomador do serviço para
+ controle e gestão da Negociação
+ :ivar gItemPed: Grupo de itens do pedido/ordem de compra/ordem de
+ serviço/projeto
+ :ivar xInfComp: Informações complementares
+ """
+
+ class Meta:
+ name = "TCInfoCompl"
+
+ idDocTec: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 40,
+ "white_space": "preserve",
+ },
+ )
+ docRef: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xPed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ gItemPed: Optional[TcinfoItemPed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ xInfComp: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 2000,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoTributosSitClas:
+ """
+
+ "
+
+ :ivar CST: Código de Situação Tributária do IBS e da CBS
+ :ivar cClassTrib: Código de Classificação Tributária do IBS e da CBS
+ :ivar cCredPres: Código e Classificação do Crédito Presumido: IBS e
+ CBS
+ :ivar gTribRegular: Grupo de informações da Tributação Regular
+ :ivar gDif: Grupo de informações relacionadas ao diferimento para
+ IBS e CBS
+ """
+
+ class Meta:
+ name = "TCRTCInfoTributosSitClas"
+
+ CST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ cClassTrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6}",
+ },
+ )
+ cCredPres: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{2}",
+ },
+ )
+ gTribRegular: Optional[TcrtcinfoTributosTribRegular] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ gDif: Optional[TcrtcinfoTributosDif] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TcrtclistaDocDfe:
+ """
+
+ "
+
+ :ivar tipoChaveDFe: Documento fiscal a que se refere a chaveDfe que
+ seja um dos documentos do Repositório Nacional
+ :ivar xTipoChaveDFe: Descrição da DF-e a que se refere a chaveDfe
+ que seja um dos documentos do Repositório Nacional Deve ser
+ preenchido apenas quando "tipoChaveDFe = 9 (Outro)"
+ :ivar chaveDFe: Chave do Documento Fiscal eletrônico do repositório
+ nacional referenciado para os casos de operações já tributadas
+ """
+
+ class Meta:
+ name = "TCRTCListaDocDFe"
+
+ tipoChaveDFe: Optional[TsrtctipoChaveDfe] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xTipoChaveDFe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ chaveDFe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 50,
+ "white_space": "preserve",
+ },
+ )
+
+
+@dataclass
+class TcrtclistaDocFornec:
+ """
+
+ "
+
+ :ivar CNPJ: Número da inscrição no Cadastro Nacional de Pessoa
+ Jurídica (CNPJ) do Fornecedor do serviço
+ :ivar CPF: Número da inscrição no Cadastro de Pessoa Física (CPF) do
+ Fornecedor do serviço
+ :ivar NIF: Este elemento só deverá ser preenchido para fornecedores
+ não residentes no Brasil
+ :ivar cNaoNIF: Motivo para não informação do NIF: 0 - Não informado
+ na nota de origem; 1 - Dispensado do NIF; 2 - Não exigência do
+ NIF;
+ :ivar xNome: Nome / Razão Social do do Fornecedor do serviço
+ """
+
+ class Meta:
+ name = "TCRTCListaDocFornec"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ NIF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 40,
+ "white_space": "preserve",
+ },
+ )
+ cNaoNIF: Optional[TscodNaoNif] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalCbs:
+ """
+
+ "
+
+ :ivar gCBSCredPres: Grupo de valores referentes ao crédito presumido
+ para CBS
+ :ivar vDifCBS: Total do Diferimento CBS vDifCBS = vCBS x pDifCBS
+ :ivar vCBS: Total valor da CBS da União vCBS = vBC x (pCBS ou
+ pAliqEfetCBS)
+ """
+
+ class Meta:
+ name = "TCRTCTotalCBS"
+
+ gCBSCredPres: Optional[TcrtctotalCbscredPres] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ vDifCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vCBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalIbs:
+ """
+
+ "
+
+ :ivar vIBSTot: Valor total do IBS. vIBSTot = vIBSUF + vIBSMun
+ :ivar gIBSCredPres: Grupo de valores referentes ao crédito presumido
+ para IBS
+ :ivar gIBSUFTot: Grupo de valores referentes ao IBS Estadual
+ :ivar gIBSMunTot: Grupo de valores referentes ao IBS Municipal
+ """
+
+ class Meta:
+ name = "TCRTCTotalIBS"
+
+ vIBSTot: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ gIBSCredPres: Optional[TcrtctotalIbscredPres] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ gIBSUFTot: Optional[TcrtctotalIbsuf] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ gIBSMunTot: Optional[TcrtctotalIbsmun] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcrtcvaloresIbscbs:
+ """
+
+ "
+
+ :ivar vBC: Valor da base de cálculo (BC) do IBS/CBS antes das
+ reduções para cálculo do tributo bruto vBC = vServ - descIncond
+ – vCalcReeRepRes – vISSQN – vPIS - vCOFINS (até 2026) ou vBC =
+ vServ - descIncond – vCalcReeRepRes – vISSQN (até 2032)
+ :ivar vCalcReeRepRes: Valor monetário (R$) total relativo ao
+ fornecimento próprio de bens materiais ou relacionados a
+ operações de terceiros, objeto de reembolso, repasse ou
+ ressarcimento pelo recebedor, já tributados e aqui referenciados
+ e que não integram da base de cálculo (BC) do ISSQN, do IBS e da
+ CBS.
+ :ivar uf: Grupo de Informações relativas aos valores do IBS Estadual
+ :ivar mun: Grupo de Informações relativas aos valores do IBS
+ Municipal
+ :ivar fed: Grupo de Informações relativas aos valores da CBS
+ """
+
+ class Meta:
+ name = "TCRTCValoresIBSCBS"
+
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vCalcReeRepRes: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ uf: Optional[TcrtcvaloresIbscbsuf] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ mun: Optional[TcrtcvaloresIbscbsmun] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ fed: Optional[TcrtcvaloresIbscbsfed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcregTrib:
+ """
+
+ "
+
+ :ivar opSimpNac: Situação perante o Simples Nacional: 1 - Não
+ Optante; 2 - Optante - Microempreendedor Individual (MEI); 3 -
+ Optante - Microempresa ou Empresa de Pequeno Porte (ME/EPP);
+ :ivar regApTribSN: Opção para que o contribuinte optante pelo
+ Simples Nacional ME/EPP (opSimpNac = 3) possa indicar, ao emitir
+ o documento fiscal, em qual regime de apuração os tributos
+ federais e municipal estão inseridos, caso tenha ultrapassado
+ algum sublimite ou limite definido para o Simples Nacional. 1 –
+ Regime de apuração dos tributos federais e municipal pelo SN; 2
+ – Regime de apuração dos tributos federais pelo SN e ISSQN por
+ fora do SN conforme respectiva legislação municipal do tributo;
+ 3 – Regime de apuração dos tributos federais e municipal por
+ fora do SN conforme respectivas legislações federal e municipal
+ de cada tributo;
+ :ivar regEspTrib: Tipos de Regimes Especiais de Tributação: 0 -
+ Nenhum; 1 - Ato Cooperado (Cooperativa); 2 - Estimativa; 3 -
+ Microempresa Municipal; 4 - Notário ou Registrador; 5 -
+ Profissional Autônomo; 6 - Sociedade de Profissionais; 9 -
+ Outros;
+ """
+
+ class Meta:
+ name = "TCRegTrib"
+
+ opSimpNac: Optional[TsopSimpNac] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ regApTribSN: Optional[TsregimeApuracaoSimpNac] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ regEspTrib: Optional[TsregEspTrib] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class Tcsubstituicao:
+ """
+
+ "
+
+ :ivar chSubstda: Chave de acesso da NFS-e a ser substituída
+ :ivar cMotivo: Código de justificativa para substituição de NFS-e:
+ 01 - Desenquadramento de NFS-e do Simples Nacional; 02 -
+ Enquadramento de NFS-e no Simples Nacional; 03 - Inclusão
+ Retroativa de Imunidade/Isenção para NFS-e; 04 - Exclusão
+ Retroativa de Imunidade/Isenção para NFS-e; 05 - Rejeição de
+ NFS-e pelo tomador ou pelo intermediário se responsável pelo
+ recolhimento do tributo; 99 - Outros;
+ :ivar xMotivo: Descrição do motivo da substituição da NFS-e
+ """
+
+ class Meta:
+ name = "TCSubstituicao"
+
+ chSubstda: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 50,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{50}",
+ },
+ )
+ cMotivo: Optional[TscodJustSubst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TctribOutrosPisCofins:
+ """
+
+ "
+
+ :ivar CST: Código de Situação Tributária do PIS/COFINS (CST): 00 -
+ Nenhum; 01 - Operação Tributável com Alíquota Básica; 02 -
+ Operação Tributável com Alíquota Diferenciada; 03 - Operação
+ Tributável com Alíquota por Unidade de Medida de Produto; 04 -
+ Operação Tributável monofásica - Revenda a Alíquota Zero; 05 -
+ Operação Tributável por Substituição Tributária; 06 - Operação
+ Tributável a Alíquota Zero; 07 - Operação Isenta da
+ Contribuição; 08 - Operação sem Incidência da Contribuição; 09 -
+ Operação com Suspensão da Contribuição; 49 - Outras Operações de
+ Saída; 50 - Operação com Direito a Crédito – Vinculada
+ Exclusivamente a Receita Tributada no Mercado Interno; 51 -
+ Operação com Direito a Crédito – Vinculada Exclusivamente a
+ Receita Não-Tributada no Mercado Interno; 52 - Operação com
+ Direito a Crédito – Vinculada Exclusivamente a Receita de
+ Exportação; 53 - Operação com Direito a Crédito – Vinculada a
+ Receitas Tributadas e Não-Tributadas no Mercado Interno; 54 -
+ Operação com Direito a Crédito – Vinculada a Receitas Tributadas
+ no Mercado Interno e de Exportação; 55 - Operação com Direito a
+ Crédito – Vinculada a Receitas Não Tributadas no Mercado Interno
+ e de Exportação; 56 - Operação com Direito a Crédito – Vinculada
+ a Receitas Tributadas e Não-Tributadas no Mercado Interno e de
+ Exportação; 60 - Crédito Presumido – Operação de Aquisição
+ Vinculada Exclusivamente a Receita Tributada no Mercado Interno;
+ 61 - Crédito Presumido – Operação de Aquisição Vinculada
+ Exclusivamente a Receita Não-Tributada no Mercado Interno; 62 -
+ Crédito Presumido – Operação de Aquisição Vinculada
+ Exclusivamente a Receita de Exportação; 63 - Crédito Presumido –
+ Operação de Aquisição Vinculada a Receitas Tributadas e Não-
+ Tributadas no Mercado Interno; 64 - Crédito Presumido – Operação
+ de Aquisição Vinculada a Receitas Tributadas no Mercado Interno
+ e de Exportação; 65 - Crédito Presumido – Operação de Aquisição
+ Vinculada a Receitas Não-Tributadas no Mercado Interno e de
+ Exportação; 66 - Crédito Presumido – Operação de Aquisição
+ Vinculada a Receitas Tributadas e Não-Tributadas no Mercado
+ Interno e de Exportação; 67 - Crédito Presumido – Outras
+ Operações; 70 - Operação de Aquisição sem Direito a Crédito; 71
+ - Operação de Aquisição com Isenção; 72 - Operação de Aquisição
+ com Suspensão; 73 - Operação de Aquisição a Alíquota Zero; 74 -
+ Operação de Aquisição sem Incidência da Contribuição; 75 -
+ Operação de Aquisição por Substituição Tributária; 98 - Outras
+ Operações de Entrada; 99 - Outras Operações;
+ :ivar vBCPisCofins: Valor da Base de Cálculo do PIS/COFINS, relativo
+ à apuração própria (R$).
+ :ivar pAliqPis: Alíquota do PIS, relativa à apuração própria (%).
+ :ivar pAliqCofins: Alíquota da COFINS, relativa à apuração própria
+ (%).
+ :ivar vPis: Valor do débito de PIS apuração própria (R$).
+ :ivar vCofins: Valor do débito de COFINS apuração própria (R$).
+ :ivar tpRetPisCofins: Tipo de retenção do PIS/COFINS: 0 -
+ PIS/COFINS/CSLL Não Retidos; 1 - PIS/COFINS Retidos; 2 -
+ PIS/COFINS Não Retidos; 3 - PIS/COFINS/CSLL Retidos; 4 -
+ PIS/COFINS Retidos, CSLL Não Retido; 5 - PIS Retido, COFINS/CSLL
+ Não Retido; 6 - COFINS Retido, PIS/CSLL Não Retido; 7 - PIS Não
+ Retido, COFINS/CSLL Retidos; 8 - PIS/COFINS Não Retidos, CSLL
+ Retido; 9 - COFINS Não Retido, PIS/CSLL Retidos;
+ """
+
+ class Meta:
+ name = "TCTribOutrosPisCofins"
+
+ CST: Optional[TstipoCst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ vBCPisCofins: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ pAliqPis: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ pAliqCofins: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ vPis: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vCofins: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ tpRetPisCofins: Optional[TstipoRetPiscofins] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TctribTotal:
+ """
+
+ "
+
+ :ivar vTotTrib: Valor monetário total aproximado dos tributos, em
+ conformidade com o artigo 1o da Lei no 12.741/2012
+ :ivar pTotTrib: Valor percentual total aproximado dos tributos, em
+ conformidade com o artigo 1o da Lei no 12.741/2012
+ :ivar indTotTrib: Indicador de informação de valor total de
+ tributos. Possui valor fixo igual a zero (indTotTrib=0). Não
+ informar nenhum valor estimado para os Tributos (Decreto
+ 8.264/2014). 0 - Não;
+ :ivar pTotTribSN: Valor percentual aproximado do total dos tributos
+ da alíquota do Simples Nacional (%)
+ """
+
+ class Meta:
+ name = "TCTribTotal"
+
+ vTotTrib: Optional[TctribTotalMonet] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ pTotTrib: Optional[TctribTotalPercent] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ indTotTrib: Optional[TstipoIndTotTrib] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ pTotTribSN: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcvaloresNfse:
+ """
+
+ "
+
+ :ivar vCalcDR: Valor monetário (R$) de dedução/redução da base de
+ cálculo (BC) do ISSQN.
+ :ivar tpBM: Tipo Benefício Municipal (BM): 1) Isenção; 2) Redução da
+ BC em 'ppBM' %; 3) Redução da BC em R$ 'vInfoBM'; 4) Alíquota
+ Diferenciada de 'aliqDifBM' %;
+ :ivar vCalcBM: Valor monetário (R$) do percentual de redução da base
+ de cálculo (BC) do ISSQN devido a um benefício municipal (BM).
+ :ivar vBC: Valor da Base de Cálculo do ISSQN (R$) = Valor do Serviço
+ - Desconto Incondicionado - Deduções/Reduções - Benefício
+ Municipal vBC = vServ - descIncond - (vDR ou vCalcDR +
+ vCalcReeRepRes) - (vRedBCBM ou VCalcBM)
+ :ivar pAliqAplic: Alíquota aplicada sobre a base de cálculo para
+ apuração do ISSQN.
+ :ivar vISSQN: Valor do ISSQN (R$) = Valor da Base de Cálculo x
+ Alíquota ISSQN = vBC x pAliqAplic
+ :ivar vTotalRet: Valor total das retenções de tributos da NFS-e.
+ Valor total de retenções (R$) = Σ(vRetCP + vRetIRRF+ vRetCSLL +
+ ISSQN*)
+ :ivar vLiq: Valor líquido da NFS-e. Valor líquido (R$) = Valor do
+ serviço - Desconto condicionado - Desconto incondicionado -
+ Valores retidos
+ """
+
+ class Meta:
+ name = "TCValoresNFSe"
+
+ vCalcDR: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ tpBM: Optional[Tbmissqn] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ vCalcBM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ pAliqAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|[0-9]{1}(\.[0-9]{2})?",
+ },
+ )
+ vISSQN: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vTotalRet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vLiq: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcatvEvento:
+ """
+
+ "
+
+ :ivar xNome: Descrição do evento Artístico, Cultural, Esportivo, etc
+ :ivar dtIni: Data de início da atividade de evento. Ano, Mês e Dia
+ (AAAA-MM-DD)
+ :ivar dtFim: Data de fim da atividade de evento. Ano, Mês e Dia
+ (AAAA-MM-DD)
+ :ivar idAtvEvt: Identificação da Atividade de Evento (código
+ identificador de evento determinado pela Administração
+ Tributária Municipal)
+ :ivar end: Grupo de informações relativas ao endereço da atividade,
+ evento ou local do serviço prestado
+ """
+
+ class Meta:
+ name = "TCAtvEvento"
+
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ dtIni: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))",
+ },
+ )
+ dtFim: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))",
+ },
+ )
+ idAtvEvt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 30,
+ "white_space": "preserve",
+ },
+ )
+ end: Optional[TcenderecoSimples] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class Tcemitente:
+ """
+
+ "
+
+ :ivar CNPJ: Número do CNPJ do emitente da NFS-e.
+ :ivar CPF: Número do CPF do emitente da NFS-e.
+ :ivar IM: Número da inscrição municipal
+ :ivar xNome: Nome / Razão Social do emitente.
+ :ivar xFant: Nome / Fantasia do emitente.
+ :ivar enderNac: Grupo de informações do endereço nacional do
+ Emitente da NFS-e
+ :ivar fone: Número do telefone do emitente. (Preencher com o Código
+ DDD + número do telefone. Nas operações com exterior é permitido
+ informar o código do país + código da localidade + número do
+ telefone)
+ :ivar email: E-mail do emitente.
+ """
+
+ class Meta:
+ name = "TCEmitente"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ IM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ },
+ )
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 300,
+ "white_space": "preserve",
+ },
+ )
+ xFant: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ },
+ )
+ enderNac: Optional[TcenderecoEmitente] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6,20}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 80,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcinfoObra:
+ """
+
+ "
+
+ :ivar inscImobFisc: Inscrição imobiliária fiscal (código fornecido
+ pela Prefeitura Municipal para a identificação da obra ou para
+ fins de recolhimento do IPTU)
+ :ivar cObra: Número de identificação da obra. Cadastro Nacional de
+ Obras (CNO) ou Cadastro Específico do INSS (CEI).
+ :ivar cCIB: Código do Cadastro Imobiliário Brasileiro - CIB.
+ :ivar end: Grupo de informações do endereço da obra do serviço
+ prestado
+ """
+
+ class Meta:
+ name = "TCInfoObra"
+
+ inscImobFisc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 30,
+ "white_space": "preserve",
+ },
+ )
+ cObra: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 30,
+ "white_space": "preserve",
+ },
+ )
+ cCIB: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "length": 8,
+ "white_space": "preserve",
+ },
+ )
+ end: Optional[TcenderObraEvento] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TcinfoPessoa:
+ """Informações das pessoas envolvidas na NFS-e.
+
+ Pode ser o tomador, o intermediário ou o fornecedor
+ (dedução/redução)
+ "
+
+ :ivar CNPJ: Número do CNPJ
+ :ivar CPF: Número do CPF
+ :ivar NIF: Número de Identificação Fiscal fornecido por órgão de
+ administração tributária no exterior
+ :ivar cNaoNIF: Motivo para não informação do NIF: 0 - Não informado
+ na nota de origem; 1 - Dispensado do NIF; 2 - Não exigência do
+ NIF;
+ :ivar CAEPF: Número do Cadastro de Atividade Econômica da Pessoa
+ Física (CAEPF)
+ :ivar IM: Número da inscrição municipal
+ :ivar xNome: Nome/Nome Empresarial
+ :ivar end: Dados de endereço
+ :ivar fone: Número do telefone do prestador: Preencher com o Código
+ DDD + número do telefone. Nas operações com exterior é permitido
+ informar o código do país + código da localidade + número do
+ telefone)
+ :ivar email: E-mail
+ """
+
+ class Meta:
+ name = "TCInfoPessoa"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ NIF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 40,
+ "white_space": "preserve",
+ },
+ )
+ cNaoNIF: Optional[TscodNaoNif] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ CAEPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ IM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ },
+ )
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 300,
+ "white_space": "preserve",
+ },
+ )
+ end: Optional[Tcendereco] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6,20}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 80,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcinfoPrestador:
+ """Informações do prestador da NFS-e.
+
+ Difere das demais pessoas por causa das informações de regimes de
+ tributação
+ "
+
+ :ivar CNPJ: Número do CNPJ
+ :ivar CPF: Número do CPF
+ :ivar NIF: Número de Identificação Fiscal fornecido por órgão de
+ administração tributária no exterior
+ :ivar cNaoNIF: Motivo para não informação do NIF: 0 - Não informado
+ na nota de origem; 1 - Dispensado do NIF; 2 - Não exigência do
+ NIF;
+ :ivar CAEPF: Número do Cadastro de Atividade Econômica da Pessoa
+ Física (CAEPF) do prestador do serviço.
+ :ivar IM: Número da inscrição municipal
+ :ivar xNome: Nome/Nome Empresarial do prestador
+ :ivar end: Dados de endereço do prestador
+ :ivar fone: Número do telefone do prestador: Preencher com o Código
+ DDD + número do telefone. Nas operações com exterior é permitido
+ informar o código do país + código da localidade + número do
+ telefone)
+ :ivar email: E-mail
+ :ivar regTrib: Grupo de informações relativas aos regimes de
+ tributação do prestador de serviços
+ """
+
+ class Meta:
+ name = "TCInfoPrestador"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ NIF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 40,
+ "white_space": "preserve",
+ },
+ )
+ cNaoNIF: Optional[TscodNaoNif] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ CAEPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ IM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ },
+ )
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 300,
+ "white_space": "preserve",
+ },
+ )
+ end: Optional[Tcendereco] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6,20}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 80,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ regTrib: Optional[TcregTrib] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoDest:
+ """
+
+ "
+
+ :ivar CNPJ: Número da inscrição no Cadastro Nacional de Pessoa
+ Jurídica (CNPJ) do Destinatário do serviço
+ :ivar CPF: Número da inscrição no Cadastro de Pessoa Física (CPF) do
+ Destinatário do serviço
+ :ivar NIF: Número de Identificação Fiscal fornecido por órgão de
+ administração tributária no exterior
+ :ivar cNaoNIF: Motivo para não informação do NIF: 0 - Não informado
+ na nota de origem; 1 - Dispensado do NIF; 2 - Não exigência do
+ NIF;
+ :ivar xNome: Nome / Nome Empresarial do do Destinatário do serviço
+ :ivar end: Grupo de informações do endereço do Destinatário do
+ serviço
+ :ivar fone: Número do telefone do Destinatário do serviço (Preencher
+ com o Código DDD + número do telefone. Nas operações com
+ exterior é permitido informar o código do país + código da
+ localidade + número do telefone)
+ :ivar email: E-mail do Destinatário do serviço
+ """
+
+ class Meta:
+ name = "TCRTCInfoDest"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ NIF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 40,
+ "white_space": "preserve",
+ },
+ )
+ cNaoNIF: Optional[TscodNaoNif] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ end: Optional[Tcendereco] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6,20}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 80,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoImovel:
+ """
+
+ "
+
+ :ivar inscImobFisc: Inscrição imobiliária fiscal (código fornecido
+ pela Prefeitura Municipal para a identificação da obra ou para
+ fins de recolhimento do IPTU)
+ :ivar cCIB: Código do Cadastro Imobiliário Brasileiro - CIB
+ :ivar end: Grupo de informações do endereço da obra do serviço
+ prestado
+ """
+
+ class Meta:
+ name = "TCRTCInfoImovel"
+
+ inscImobFisc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 30,
+ "white_space": "preserve",
+ },
+ )
+ cCIB: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "length": 8,
+ "white_space": "preserve",
+ },
+ )
+ end: Optional[TcenderObraEvento] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoTributosIbscbs:
+ """
+
+ "
+
+ :ivar gIBSCBS: Grupo de informações relacionadas ao IBS e à CBS
+ """
+
+ class Meta:
+ name = "TCRTCInfoTributosIBSCBS"
+
+ gIBSCBS: Optional[TcrtcinfoTributosSitClas] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcrtclistaDoc:
+ """
+
+ "
+
+ :ivar dFeNacional: Grupo de informações de documentos fiscais
+ eletrônicos que se encontram no repositório nacional
+ :ivar docFiscalOutro: Grupo de informações de documento fiscais,
+ eletrônicos ou não, que não se encontram no repositório nacional
+ :ivar docOutro: Grupo de informações de documento não fiscal.
+ :ivar fornec: Grupo de informações do fornecedor do documento
+ referenciado
+ :ivar dtEmiDoc: Data da emissão do documento dedutível Ano, mês e
+ dia (AAAA-MM-DD)
+ :ivar dtCompDoc: Data da competência do documento dedutível Ano, mês
+ e dia (AAAA-MM-DD)
+ :ivar tpReeRepRes: Tipo de valor incluído neste documento, recebido
+ por motivo de estarem relacionadas a operações de terceiros,
+ objeto de reembolso, repasse ou ressarcimento pelo recebedor, já
+ tributados e aqui referenciados
+ :ivar xTpReeRepRes: Descrição do reembolso ou ressarcimento quando a
+ opção é "99 – Outros reembolsos ou ressarcimentos recebidos por
+ valores pagos relativos a operações por conta e ordem de
+ terceiro"
+ :ivar vlrReeRepRes: Valor monetário (total ou parcial, conforme
+ documento informado) utilizado para não inclusão na base de
+ cálculo do ISS e do IBS e da CBS da NFS-e que está sendo emitida
+ (R$)
+ """
+
+ class Meta:
+ name = "TCRTCListaDoc"
+
+ dFeNacional: Optional[TcrtclistaDocDfe] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ docFiscalOutro: Optional[TcrtclistaDocFiscalOutro] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ docOutro: Optional[TcrtclistaDocOutro] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ fornec: Optional[TcrtclistaDocFornec] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ dtEmiDoc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))",
+ },
+ )
+ dtCompDoc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))",
+ },
+ )
+ tpReeRepRes: Optional[TsrtctpReeRepRes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xTpReeRepRes: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ vlrReeRepRes: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcrtctotalCibs:
+ """
+
+ "
+
+ :ivar vTotNF: Valor Total da NF considerando os impostos por fora:
+ IBS e CBS O IBS e a CBS são por fora, por isso seus valores
+ devem ser adicionados ao valor total da NF vTotNF = vLiq (em
+ 2026) vTotNF = vLiq + vCBS + vIBSTot (a partir de 2027)
+ :ivar gIBS: Grupo de valores referentes ao IBS
+ :ivar gCBS: Grupo de valores referentes à CBS
+ :ivar gTribRegular: Grupo de informações de tributação regular
+ :ivar gTribCompraGov: Grupo de informações da composição do valor do
+ IBS e da CBS em compras governamentais
+ """
+
+ class Meta:
+ name = "TCRTCTotalCIBS"
+
+ vTotNF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ gIBS: Optional[TcrtctotalIbs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ gCBS: Optional[TcrtctotalCbs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ gTribRegular: Optional[TcrtctotalTribRegular] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ gTribCompraGov: Optional[TcrtctotalTribCompraGov] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TctribFederal:
+ """
+
+ "
+
+ :ivar piscofins: Grupo de informações dos tributos PIS/COFINS
+ :ivar vRetCP: Valor monetário do CP(R$).
+ :ivar vRetIRRF: Valor monetário do IRRF (R$).
+ :ivar vRetCSLL: Valor monetário do CSLL (R$).
+ """
+
+ class Meta:
+ name = "TCTribFederal"
+
+ piscofins: Optional[TctribOutrosPisCofins] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ vRetCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vRetIRRF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vRetCSLL: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TctribMunicipal:
+ """
+
+ "
+
+ :ivar tribISSQN: Tributação do ISSQN sobre o serviço prestado: 1 -
+ Operação tributável; 2 - Imunidade; 3 - Exportação de serviço; 4
+ - Não Incidência;
+ :ivar cPaisResult: Código do país onde se verficou o resultado da
+ prestação do serviço para o caso de Exportação de
+ Serviço.(Tabela de Países ISO)
+ :ivar tpImunidade: Identificação da Imunidade do ISSQN – somente
+ para o caso de Imunidade. Tipos de Imunidades: 0 - Imunidade
+ (tipo não informado na nota de origem); 1 - Patrimônio, renda ou
+ serviços, uns dos outros (CF88, Art 150, VI, a); 2 - Templos de
+ qualquer culto (CF88, Art 150, VI, b); 3 - Patrimônio, renda ou
+ serviços dos partidos políticos, inclusive suas fundações, das
+ entidades sindicais dos trabalhadores, das instituições de
+ educação e de assistência social, sem fins lucrativos, atendidos
+ os requisitos da lei (CF88, Art 150, VI, c); 4 - Livros,
+ jornais, periódicos e o papel destinado a sua impressão (CF88,
+ Art 150, VI, d); 5 - Fonogramas e videofonogramas musicais
+ produzidos no Brasil contendo obras musicais ou literomusicais
+ de autores brasileiros e/ou obras em geral interpretadas por
+ artistas brasileiros bem como os suportes materiais ou arquivos
+ digitais que os contenham, salvo na etapa de replicação
+ industrial de mídias ópticas de leitura a laser. (CF88, Art
+ 150, VI, e);
+ :ivar exigSusp: Informações para a suspensão da Exigibilidade do
+ ISSQN
+ :ivar BM: Tributação do ISSQN sobre o serviço prestado: 1 - Operação
+ tributável; 2 - Exportação de serviço; 3 - Não Incidência; 4 -
+ Imunidade;
+ :ivar tpRetISSQN: Tipo de retencao do ISSQN: 1 - Não Retido; 2 -
+ Retido pelo Tomador; 3 - Retido pelo Intermediario;
+ :ivar pAliq: Valor da alíquota (%) do serviço prestado relativo ao
+ município sujeito ativo (município de incidência) do ISSQN. Se o
+ município de incidência pertence ao Sistema Nacional NFS-e a
+ alíquota estará parametrizada e, portanto, será fornecida pelo
+ sistema. Se o município de incidência não pertence ao Sistema
+ Nacional NFS-e a alíquota não estará parametrizada e, por isso,
+ deverá ser fornecida pelo emitente.
+ """
+
+ class Meta:
+ name = "TCTribMunicipal"
+
+ tribISSQN: Optional[TstribIssqn] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ cPaisResult: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[A-Z]{2}",
+ },
+ )
+ tpImunidade: Optional[TstipoImunidadeIssqn] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ exigSusp: Optional[TcexigSuspensa] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ BM: Optional[TcbeneficioMunicipal] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ tpRetISSQN: Optional[TstipoRetIssqn] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ pAliq: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|[0-9]{1}(\.[0-9]{2})?",
+ },
+ )
+
+
+@dataclass
+class TcdocDedRed:
+ """
+
+ "
+
+ :ivar chNFSe: Chave de Acesso da NFS-e (Padrão Nacional)
+ :ivar chNFe: Chave de Acesso da NF-e
+ :ivar NFSeMun: Grupo de informações de Outras NFS-e (Padrão anterior
+ de NFS-e)
+ :ivar NFNFS: Grupo de informações de NF ou NFS (Modelo não
+ eletrônico)
+ :ivar nDocFisc: Número de documento fiscal
+ :ivar nDoc: Número de documento não fiscal
+ :ivar tpDedRed: Identificação da Dedução/Redução: 1 – Alimentação e
+ bebidas/frigobar; 2 – Materiais; 3 - Produção Externa; 4 -
+ Reembolso de despesas; 5 – Repasse consorciado; 6 – Repasse
+ plano de saúde; 7 – Serviços; 8 – Subempreitada de mão de obra;
+ 9 - Profissional parceiro; 99 – Outras deduções;
+ :ivar xDescOutDed: Descrição da Dedução/Redução quando a opção é "99
+ – Outras Deduções"
+ :ivar dtEmiDoc: Data da emissão do documento dedutível. Ano, mês e
+ dia (AAAA-MM-DD)
+ :ivar vDedutivelRedutivel: Valor monetário total dedutível/redutível
+ no documento informado (R$). Este é o valor total no documento
+ informado que é passível de dedução/redução.
+ :ivar vDeducaoReducao: Valor monetário utilizado para
+ dedução/redução do valor do serviço da NFS-e que está sendo
+ emitida (R$). Deve ser menor ou igual ao valor
+ deduzível/redutível (vDedutivelRedutivel).
+ :ivar fornec: Grupo de informações do Fornecedor em Deduções de
+ Serviços
+ """
+
+ class Meta:
+ name = "TCDocDedRed"
+
+ chNFSe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 50,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{50}",
+ },
+ )
+ chNFe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+ NFSeMun: Optional[TcdocOutNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ NFNFS: Optional[TcdocNfnfs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ nDocFisc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nDoc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ tpDedRed: Optional[TsideDedRed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xDescOutDed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ dtEmiDoc: Optional[XmlDate] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ vDedutivelRedutivel: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ vDeducaoReducao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ fornec: Optional[TcinfoPessoa] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TcinfoTributacao:
+ """
+
+ "
+
+ :ivar tribMun: Grupo de informações relacionados ao Imposto Sobre
+ Serviços de Qualquer Natureza - ISSQN
+ :ivar tribFed: Grupo de informações de outros tributos relacionados
+ ao serviço prestado
+ :ivar totTrib: Grupo de informações para totais aproximados dos
+ tributos relacionados ao serviço prestado
+ """
+
+ class Meta:
+ name = "TCInfoTributacao"
+
+ tribMun: Optional[TctribMunicipal] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ tribFed: Optional[TctribFederal] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ totTrib: Optional[TctribTotal] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class Tcrtcibscbs:
+ """
+
+ "
+
+ :ivar cLocalidadeIncid: Código IBGE da localidade de incidência do
+ IBS/CBS (local da operação)
+ :ivar xLocalidadeIncid: Nome da localidade de incidência do IBS/CBS
+ :ivar pRedutor: Percentual de redução de aliquota em compra
+ governamental
+ :ivar valores: Grupo de valores brutos referentes ao IBS/CBS
+ :ivar totCIBS: Grupo de Totalizadores
+ """
+
+ class Meta:
+ name = "TCRTCIBSCBS"
+
+ cLocalidadeIncid: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ xLocalidadeIncid: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 600,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ pRedutor: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,1}(\.[0-9]{2})?",
+ },
+ )
+ valores: Optional[TcrtcvaloresIbscbs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ totCIBS: Optional[TcrtctotalCibs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoReeRepRes:
+ """
+
+ "
+
+ :ivar documentos: Grupo relativo aos documentos referenciados nos
+ casos de reembolso, repasse e ressarcimento que serão
+ considerados na base de cálculo do ISSQN, do IBS e da CBS
+ """
+
+ class Meta:
+ name = "TCRTCInfoReeRepRes"
+
+ documentos: list[TcrtclistaDoc] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_occurs": 1,
+ "max_occurs": 1000,
+ },
+ )
+
+
+@dataclass
+class Tcserv:
+ """
+
+ "
+
+ :ivar locPrest: Grupo de informações relativas ao local da prestação
+ do serviço
+ :ivar cServ: Grupo de informações relativas ao código do serviço
+ prestado
+ :ivar comExt: Grupo de informações relativas à exportação/importação
+ de serviço prestado
+ :ivar obra: Grupo de informações do DPS relativas à serviço de obra
+ :ivar atvEvento: Grupo de informações do DPS relativas à Evento
+ :ivar infoCompl: Grupo de informações complementares disponível para
+ todos os serviços prestados
+ """
+
+ class Meta:
+ name = "TCServ"
+
+ locPrest: Optional[TclocPrest] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ cServ: Optional[Tccserv] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ comExt: Optional[TccomExterior] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ obra: Optional[TcinfoObra] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ atvEvento: Optional[TcatvEvento] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ infoCompl: Optional[TcinfoCompl] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TclistaDocDedRed:
+ """
+
+ "
+
+ :ivar docDedRed: Grupo de informações de documento utilizado para
+ Dedução/Redução do valor do serviço
+ """
+
+ class Meta:
+ name = "TCListaDocDedRed"
+
+ docDedRed: list[TcdocDedRed] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_occurs": 1,
+ "max_occurs": 1000,
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoValoresIbscbs:
+ """
+
+ "
+
+ :ivar gReeRepRes: Grupo de informações relativas a valores incluídos
+ neste documento e recebidos por motivo de estarem relacionadas a
+ operações de terceiros, objeto de reembolso, repasse ou
+ ressarcimento pelo recebedor, já tributados e aqui referenciados
+ :ivar trib: Grupo de informações relacionados aos tributos IBS e CBS
+ """
+
+ class Meta:
+ name = "TCRTCInfoValoresIBSCBS"
+
+ gReeRepRes: Optional[TcrtcinfoReeRepRes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ trib: Optional[TcrtcinfoTributosIbscbs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcinfoDedRed:
+ """
+
+ "
+
+ :ivar pDR: Valor percentual padrão para dedução/redução do valor do
+ serviço
+ :ivar vDR: Valor monetário padrão para dedução/redução do valor do
+ serviço
+ :ivar documentos: Grupo de informações de documento utilizado para
+ Dedução/Redução do valor do serviço
+ """
+
+ class Meta:
+ name = "TCInfoDedRed"
+
+ pDR: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vDR: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,14}(\.[0-9]{2})?",
+ },
+ )
+ documentos: Optional[TclistaDocDedRed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+
+
+@dataclass
+class TcrtcinfoIbscbs:
+ """
+
+ "
+
+ :ivar finNFSe: Indicador da finalidade da emissão de NFS-e
+ :ivar indFinal: Indica operação de uso ou consumo pessoal (art. 57)
+ :ivar cIndOp: Código indicador da operação de fornecimento, conforme
+ tabela "código indicador de operação"
+ :ivar tpOper: Tipo de Operação com Entes Governamentais ou outros
+ serviços sobre bens imóveis
+ :ivar gRefNFSe: Grupo de NFS-e referenciadas
+ :ivar tpEnteGov: Tipo de ente governamental
+ :ivar indDest: A respeito do Destinatário dos serviços
+ :ivar dest: Grupo de informações relativas ao Destinatário
+ :ivar imovel: Grupo de informações de operações relacionadas a bens
+ imóveis, exceto obras
+ :ivar valores: Grupo de informações relativas aos valores do serviço
+ prestado para IBS e CBS
+ """
+
+ class Meta:
+ name = "TCRTCInfoIBSCBS"
+
+ finNFSe: Optional[TsrtcfinNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ indFinal: Optional[TsrtcindFinal] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ cIndOp: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6}",
+ },
+ )
+ tpOper: Optional[TsrtctpOper] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ gRefNFSe: Optional[TcinfoRefNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ tpEnteGov: Optional[TsrtctpEnteGov] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ indDest: Optional[TsrtcindDest] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ dest: Optional[TcrtcinfoDest] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ imovel: Optional[TcrtcinfoImovel] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ valores: Optional[TcrtcinfoValoresIbscbs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcinfoValores:
+ """
+
+ "
+
+ :ivar vServPrest: Grupo de informações relativas aos valores do
+ serviço prestado
+ :ivar vDescCondIncond: Grupo de informações relativas aos descontos
+ condicionados e incondicionados
+ :ivar vDedRed: Grupo de informações relativas ao valores para
+ dedução/redução do valor da base de cálculo (valor do serviço)
+ :ivar trib: Grupo de informações relacionados aos tributos
+ relacionados ao serviço prestado
+ """
+
+ class Meta:
+ name = "TCInfoValores"
+
+ vServPrest: Optional[TcvservPrest] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ vDescCondIncond: Optional[TcvdescCondIncond] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ vDedRed: Optional[TcinfoDedRed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ trib: Optional[TcinfoTributacao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TcinfDps:
+ """
+
+ "
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção; 2 -
+ Homologação
+ :ivar dhEmi: Data e hora da emissão do DPS. Data e hora no formato
+ UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD
+ :ivar verAplic: Versão do aplicativo que gerou o DPS
+ :ivar serie: Número do equipamento emissor do DPS ou série do DPS
+ :ivar nDPS: Número do DPS
+ :ivar dCompet: Data em que se iniciou a prestação do serviço: Dia,
+ mês e ano (AAAAMMDD)
+ :ivar tpEmit: Emitente da DPS: 1 - Prestador; 2 - Tomador; 3 -
+ Intermediário
+ :ivar cMotivoEmisTI: Motivo da Emissão da DPS pelo
+ Tomador/Intermediário: 1 - Importação de Serviço; 2 -
+ Tomador/Intermediário obrigado a emitir NFS-e por legislação
+ municipal; 3 - Tomador/Intermediário emitindo NFS-e por recusa
+ de emissão pelo prestador; 4 - Tomador/Intermediário emitindo
+ por rejeitar a NFS-e emitida pelo prestador;
+ :ivar chNFSeRej: Chave de Acesso da NFS-e rejeitada pelo
+ Tomador/Intermediário.
+ :ivar cLocEmi: O código de município utilizado pelo Sistema Nacional
+ NFS-e é o código definido para cada município pertencente ao
+ ""Anexo V – Tabela de Código de Municípios do IBGE"", que consta
+ ao final do Manual de Orientação ao Contribuinte do ISSQN para a
+ Sefin Nacional NFS-e. O município emissor da NFS-e é aquele
+ município em que o emitente da DPS está cadastrado e autorizado
+ a "emitir uma NFS-e", ou seja, emitir uma DPS para que o sistema
+ nacional valide as informações nela prestadas e gere a NFS-e
+ correspondente para o emitente. Para que o sistema nacional
+ emita a NFS-e o município emissor deve ser conveniado e estar
+ ativo no sistema nacional. Além disso o convênio do município
+ deve permitir que os contribuintes do município utilize os
+ emissores públicos do Sistema Nacional NFS-e
+ :ivar subst: Dados da NFS-e a ser substituída
+ :ivar prest: Grupo de informações do DPS relativas ao Prestador de
+ Serviços
+ :ivar toma: Grupo de informações do DPS relativas ao Tomador de
+ Serviços
+ :ivar interm: Grupo de informações do DPS relativas ao Intermediário
+ de Serviços
+ :ivar serv: Grupo de informações do DPS relativas ao Serviço
+ Prestado
+ :ivar valores: Grupo de informações relativas à valores do serviço
+ prestado
+ :ivar IBSCBS: Grupo de informações declaradas pelo emitente
+ referentes ao IBS e à CBS
+ :ivar Id:
+ """
+
+ class Meta:
+ name = "TCInfDPS"
+
+ tpAmb: Optional[TstipoAmbiente] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ dhEmi: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))",
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ serie: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 5,
+ "white_space": "preserve",
+ "pattern": r"0{0,4}\d{1,5}",
+ },
+ )
+ nDPS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 15,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,14}",
+ },
+ )
+ dCompet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))",
+ },
+ )
+ tpEmit: Optional[TsemitenteDps] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ cMotivoEmisTI: Optional[TsmotivoEmisTi] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ chNFSeRej: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 50,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{50}",
+ },
+ )
+ cLocEmi: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ subst: Optional[Tcsubstituicao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ prest: Optional[TcinfoPrestador] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ toma: Optional[TcinfoPessoa] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ interm: Optional[TcinfoPessoa] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ serv: Optional[Tcserv] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ valores: Optional[TcinfoValores] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ IBSCBS: Optional[TcrtcinfoIbscbs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 45,
+ "white_space": "preserve",
+ "pattern": r"DPS[0-9]{42}",
+ },
+ )
+
+
+@dataclass
+class Tcdps(CommonMixin):
+ class Meta:
+ name = "TCDPS"
+
+ infDPS: Optional[TcinfDps] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ signature: Optional[Signature] = field(
+ default=None,
+ metadata={
+ "name": "Signature",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 4,
+ "white_space": "preserve",
+ "pattern": r"1\.00|1\.01",
+ },
+ )
+
+
+@dataclass
+class TcinfNfse:
+ """
+
+ "
+
+ :ivar xLocEmi: Descrição do código do IBGE do município emissor da
+ NFS-e.
+ :ivar xLocPrestacao: Descrição do local da prestação do serviço.
+ :ivar nNFSe: Número sequencial por tipo de emitente da NFS-e. A
+ Sefin Nacional NFS-e irá gerar o número da NFS-e de forma
+ sequencial por emitente. Por se tratar de um ambiente altamente
+ transacional, a Sefin Nacional NFS-e não irá reutilizar números
+ inutilizados durante a geração da NFS-e.
+ :ivar cLocIncid: O código de município utilizado pelo Sistema
+ Nacional NFS-e é o código definido para cada município
+ pertencente ao ""Anexo V – Tabela de Código de Municípios do
+ IBGE"", que consta ao final do Manual de Orientação ao
+ Contribuinte do ISSQN para a Sefin Nacional NFS-e. O município
+ de incidência do ISSQN é determinado automaticamente pelo
+ sistema, conforme regras do aspecto espacial da lei complementar
+ federal (LC 116/03) que são válidas para todos os municípios.
+ http://www.planalto.gov.br/ccivil_03/Leis/LCP/Lcp116.htm
+ :ivar xLocIncid: A descrição do código de município utilizado pelo
+ Sistema Nacional NFS-e é o nome de cada município pertencente ao
+ "Anexo V – Tabela de Código de Municípios do IBGE", que consta
+ ao final do Manual de Orientação ao Contribuinte do ISSQN para a
+ Sefin Nacional NFS-e.
+ :ivar xTribNac: Descrição do código de tributação nacional do ISSQN.
+ :ivar xTribMun: Descrição do código de tributação municipal do
+ ISSQN.
+ :ivar xNBS: Descrição do código da NBS.
+ :ivar verAplic: Versão do aplicativo que gerou a NFS-e
+ :ivar ambGer: Ambiente gerador da NFS-e
+ :ivar tpEmis: Processo de Emissão da DPS: 1 - Emissão com aplicativo
+ do contribuinte (via Web Service); 2 - Emissão com aplicativo
+ disponibilizado pelo fisco (Web); 3 - Emissão com aplicativo
+ disponibilizado pelo fisco (App);
+ :ivar procEmi: Processo de Emissão da DPS: 1 - Emissão com
+ aplicativo do contribuinte (via Web Service); 2 - Emissão com
+ aplicativo disponibilizado pelo fisco (Web); 3 - Emissão com
+ aplicativo disponibilizado pelo fisco (App);
+ :ivar cStat: Código do Status da mensagem
+ :ivar dhProc: Data/Hora da validação da DPS e geração da NFS-e. Data
+ e hora no formato UTC (Universal Coordinated Time):AAAA-MM-
+ DDThh:mm:ssTZD
+ :ivar nDFSe: Número sequencial do documento gerado por ambiente
+ gerador de DFSe do múnicípio.
+ :ivar emit: Grupo de informações da DPS relativas ao emitente da
+ NFS-e
+ :ivar valores: Grupo de valores referentes ao Serviço Prestado
+ :ivar xOutInf: Uso da Administração Tributária Municipal.
+ :ivar IBSCBS: Grupo de informações geradas pelo sistema referentes
+ ao IBS e à CBS
+ :ivar DPS: Grupo de informações da DPS relativas ao serviço prestado
+ :ivar Id:
+ """
+
+ class Meta:
+ name = "TCInfNFSe"
+
+ xLocEmi: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xLocPrestacao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nNFSe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 13,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,12}",
+ },
+ )
+ cLocIncid: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ xLocIncid: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 150,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xTribNac: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 600,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xTribMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 600,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xNBS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 600,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ ambGer: Optional[TsambGeradorNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ tpEmis: Optional[TstipoEmissao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ procEmi: Optional[TsprocEmissao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ cStat: Optional[Tstat] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ dhProc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))",
+ },
+ )
+ nDFSe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 13,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,12}",
+ },
+ )
+ emit: Optional[Tcemitente] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ valores: Optional[TcvaloresNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xOutInf: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 2000,
+ "white_space": "preserve",
+ "pattern": r"[\s\S!-ÿ]{1}[\s\S -ÿ]{0,}[\s\S!-ÿ]{1}|[\s\S!-ÿ]{1}",
+ },
+ )
+ IBSCBS: Optional[Tcrtcibscbs] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ DPS: Optional[Tcdps] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 53,
+ "white_space": "preserve",
+ "pattern": r"NFS[0-9]{50}",
+ },
+ )
+
+
+@dataclass
+class Tcnfse(CommonMixin):
+ class Meta:
+ name = "TCNFSe"
+
+ infNFSe: Optional[TcinfNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ signature: Optional[Signature] = field(
+ default=None,
+ metadata={
+ "name": "Signature",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 4,
+ "white_space": "preserve",
+ "pattern": r"1\.00|1\.01",
+ },
+ )
diff --git a/nfelib/nfse/bindings/v1_01/tipos_eventos_v1_01.py b/nfelib/nfse/bindings/v1_01/tipos_eventos_v1_01.py
new file mode 100644
index 00000000..1db4e716
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/tipos_eventos_v1_01.py
@@ -0,0 +1,1312 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass, field
+from enum import Enum
+from typing import Optional
+
+from nfelib.nfse.bindings.v1_01.tipos_simples_v1_01 import (
+ TsambGeradorEvt,
+ TscodigoEventoNfse,
+ TscodJustAnaliseFiscalCanc,
+ TscodJustAnaliseFiscalCancDef,
+ TscodJustAnaliseFiscalCancIndef,
+ TscodJustCanc,
+ TscodJustSubst,
+ TscodMotivoRejeicao,
+ TstipoAmbiente,
+)
+from nfelib.nfse.bindings.v1_01.xmldsig_core_schema import Signature
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+class Te101101XDesc(Enum):
+ CANCELAMENTO_DE_NFS_E = "Cancelamento de NFS-e"
+
+
+class Te101103XDesc(Enum):
+ SOLICITA_O_DE_AN_LISE_FISCAL_PARA_CANCELAMENTO_DE_NFS_E = (
+ "Solicitação de Análise Fiscal para Cancelamento de NFS-e"
+ )
+
+
+class Te105102XDesc(Enum):
+ CANCELAMENTO_DE_NFS_E_POR_SUBSTITUI_O = (
+ "Cancelamento de NFS-e por Substituição"
+ )
+
+
+class Te105104XDesc(Enum):
+ CANCELAMENTO_DE_NFS_E_DEFERIDO_POR_AN_LISE_FISCAL = (
+ "Cancelamento de NFS-e Deferido por Análise Fiscal"
+ )
+
+
+class Te105105XDesc(Enum):
+ CANCELAMENTO_DE_NFS_E_INDEFERIDO_POR_AN_LISE_FISCAL = (
+ "Cancelamento de NFS-e Indeferido por Análise Fiscal"
+ )
+
+
+class Te202201XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_CONFIRMA_O_DO_PRESTADOR = (
+ "Manifestação de NFS-e - Confirmação do Prestador"
+ )
+
+
+class Te202205XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_REJEI_O_DO_PRESTADOR = (
+ "Manifestação de NFS-e - Rejeição do Prestador"
+ )
+
+
+class Te203202XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_CONFIRMA_O_DO_TOMADOR = (
+ "Manifestação de NFS-e - Confirmação do Tomador"
+ )
+
+
+class Te203206XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_REJEI_O_DO_TOMADOR = (
+ "Manifestação de NFS-e - Rejeição do Tomador"
+ )
+
+
+class Te204203XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_CONFIRMA_O_DO_INTERMEDI_RIO = (
+ "Manifestação de NFS-e - Confirmação do Intermediário"
+ )
+
+
+class Te204207XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_REJEI_O_DO_INTERMEDI_RIO = (
+ "Manifestação de NFS-e - Rejeição do Intermediário"
+ )
+
+
+class Te205204XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_CONFIRMA_O_T_CITA = (
+ "Manifestação de NFS-e - Confirmação Tácita"
+ )
+
+
+class Te205208XDesc(Enum):
+ MANIFESTA_O_DE_NFS_E_ANULA_O_DA_REJEI_O = (
+ "Manifestação de NFS-e - Anulação da Rejeição"
+ )
+
+
+class Te305101XDesc(Enum):
+ CANCELAMENTO_DE_NFS_E_POR_OF_CIO = "Cancelamento de NFS-e por Ofício"
+
+
+class Te305102XDesc(Enum):
+ BLOQUEIO_DE_NFS_E_POR_OF_CIO = "Bloqueio de NFS-e por Ofício"
+
+
+class Te305103XDesc(Enum):
+ DESBLOQUEIO_DE_NFS_E_POR_OF_CIO = "Desbloqueio de NFS-e por Ofício"
+
+
+@dataclass
+class Te101101:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do Evento: Descrição do evento: "Cancelamento
+ de NFS-e".
+ :ivar cMotivo: Código de justificativa de cancelamento: 1 - Erro na
+ Emissão; 2 - Serviço não Prestado; 9 - Outros;
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE101101"
+
+ xDesc: Optional[Te101101XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ cMotivo: Optional[TscodJustCanc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te101103:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Solicitação de Análise Fiscal
+ para Cancelamento de NFS-e"
+ :ivar cMotivo: Código do motivo da solicitação de análise fiscal
+ para cancelamento de NFS-e: 1 - Erro na Emissão; 2 - Serviço não
+ Prestado; 9 - Outros;
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE101103"
+
+ xDesc: Optional[Te101103XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ cMotivo: Optional[TscodJustAnaliseFiscalCanc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te105102:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do Evento: Descrição do evento: "Cancelamento
+ de NFS-e por Substituição".
+ :ivar cMotivo: Código de justificativa de cancelamento substituição:
+ 01 - Desenquadramento de NFS-e do Simples Nacional; 02 -
+ Enquadramento de NFS-e no Simples Nacional; 03 - Inclusão
+ Retroativa de Imunidade/Isenção para NFS-e; 04 - Exclusão
+ Retroativa de Imunidade/Isenção para NFS-e; 05 - Rejeição de
+ NFS-e pelo tomador ou pelo intermediário se responsável pelo
+ recolhimento do tributo; 99 - Outros; Obtido do campo da DPS
+ "DPS/infDPS/subst/cMotivo"
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento. Obtido do campo da DPS "DPS/infDPS/subst/xMotivo".
+ :ivar chSubstituta: Chave de Acesso da NFS-e substituta
+ """
+
+ class Meta:
+ name = "TE105102"
+
+ xDesc: Optional[Te105102XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ cMotivo: Optional[TscodJustSubst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ chSubstituta: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 50,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{50}",
+ },
+ )
+
+
+@dataclass
+class Te105104:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Cancelamento de NFS-e Deferido
+ por Análise Fiscal"
+ :ivar CPFAgTrib: CPF do agente da administração tributária municipal
+ que efetuou o deferimento da solicitação de análise fiscal para
+ cancelamento de NFS-e.
+ :ivar nProcAdm: Número do processo administrativo municipal
+ vinculado à solicitação de análise fiscal para cancelamento de
+ NFS-e.
+ :ivar cMotivo: Resposta da solicitação de análise fiscal para
+ cancelamento de NFS-e: 1 - Cancelamento de NFS-e Deferido.
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE105104"
+
+ xDesc: Optional[Te105104XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ CPFAgTrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ nProcAdm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 30,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,30}",
+ },
+ )
+ cMotivo: Optional[TscodJustAnaliseFiscalCancDef] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te105105:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Cancelamento de NFS-e Indeferido
+ por Análise Fiscal".
+ :ivar CPFAgTrib: CPF do agente da administração tributária municipal
+ que efetuou o indeferimento da solicitação de análise fiscal
+ para cancelamento de NFS-e.
+ :ivar nProcAdm: Número do processo administrativo municipal
+ vinculado à solicitação de análise fiscal para cancelamento de
+ NFS-e.
+ :ivar cMotivo: Resposta da solicitação de análise fiscal para
+ cancelamento de NFS-e: 1 - Cancelamento de NFS-e Indeferido; 2 -
+ Cancelamento de NFS-e Indeferido Sem Análise de Mérito.
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE105105"
+
+ xDesc: Optional[Te105105XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ CPFAgTrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ nProcAdm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 1,
+ "max_length": 30,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,30}",
+ },
+ )
+ cMotivo: Optional[TscodJustAnaliseFiscalCancIndef] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te202201:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e -
+ Confirmação do Prestador".
+ """
+
+ class Meta:
+ name = "TE202201"
+
+ xDesc: Optional[Te202201XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+
+
+@dataclass
+class Te202205:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e - Rejeição
+ do Prestador".
+ :ivar cMotivo: Motivo da Rejeição da NFS-e: 1 - NFS-e em
+ duplicidade; 2 - NFS-e já emitida pelo tomador; 3 - Não
+ ocorrência do fato gerador; 4 - Erro quanto a responsabilidade
+ tributária; 5 - Erro quanto ao valor do serviço, valor das
+ deduções ou serviço prestado ou data do fato gerador; 9 -
+ Outros;
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE202205"
+
+ xDesc: Optional[Te202205XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ cMotivo: Optional[TscodMotivoRejeicao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te203202:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e -
+ Confirmação do Tomador".
+ """
+
+ class Meta:
+ name = "TE203202"
+
+ xDesc: Optional[Te203202XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+
+
+@dataclass
+class Te203206:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e - Rejeição
+ do Tomador".
+ :ivar cMotivo: Motivo da Rejeição da NFS-e: 1 - NFS-e em
+ duplicidade; 2 - NFS-e já emitida pelo tomador; 3 - Não
+ ocorrência do fato gerador; 4 - Erro quanto a responsabilidade
+ tributária; 5 - Erro quanto ao valor do serviço, valor das
+ deduções ou serviço prestado ou data do fato gerador; 9 -
+ Outros;
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE203206"
+
+ xDesc: Optional[Te203206XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ cMotivo: Optional[TscodMotivoRejeicao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te204203:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e -
+ Confirmação do Intermediário".
+ """
+
+ class Meta:
+ name = "TE204203"
+
+ xDesc: Optional[Te204203XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+
+
+@dataclass
+class Te204207:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e - Rejeição
+ do Intermediário".
+ :ivar cMotivo: Motivo da Rejeição da NFS-e: 1 - NFS-e em
+ duplicidade; 2 - NFS-e já emitida pelo tomador; 3 - Não
+ ocorrência do fato gerador; 4 - Erro quanto a responsabilidade
+ tributária; 5 - Erro quanto ao valor do serviço, valor das
+ deduções ou serviço prestado ou data do fato gerador; 9 -
+ Outros;
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE204207"
+
+ xDesc: Optional[Te204207XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ cMotivo: Optional[TscodMotivoRejeicao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te205204:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e -
+ Confirmação Tácita".
+ """
+
+ class Meta:
+ name = "TE205204"
+
+ xDesc: Optional[Te205204XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+
+
+@dataclass
+class Te205208:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Manifestação de NFS-e - Anulação
+ da Rejeição".
+ :ivar CPFAgTrib: CPF do agente da administração tributária municipal
+ que efetuou o anulação da manifestação de rejeição da NFS-e
+ :ivar idEvManifRej: Referência ao "id" do Evento de Manifestação de
+ NFS-e - Rejeição, que originou o presente evento de anulação
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE205208"
+
+ xDesc: Optional[Te205208XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ CPFAgTrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ idEvManifRej: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{59}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te305101:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Cancelamento de NFS-e por Ofício"
+ :ivar CPFAgTrib: CPF do agente da administração tributária municipal
+ que efetuou o cancelamento por ofício de NFS-e
+ :ivar nProcAdm: Número do processo administrativo municipal
+ vinculado ao cancelamento de NFS-e por ofício
+ :ivar xProcAdm: Descrição para explicitar o motivo do processo
+ administrativo municipal indicado neste evento
+ """
+
+ class Meta:
+ name = "TE305101"
+
+ xDesc: Optional[Te305101XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ CPFAgTrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ nProcAdm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 30,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,30}",
+ },
+ )
+ xProcAdm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te305102:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Bloqueio de NFS-e por Ofício".
+ :ivar CPFAgTrib: CPF do agente da administração tributária municipal
+ que efetuou o bloqueio de NFS-e por ofício
+ :ivar codEvento: Eventos que podem ser escolhidos pelo município
+ emissor para serem rejeitados após emissão e vinculação do
+ evento de bloqueio por ofício em uma NFS-e: e101101 -
+ Cancelamento de NFS-e; e105102 - Cancelamento de NFS-e por
+ Substituição; e105104 - Cancelamento de NFS-e Deferido por
+ Análise Fiscal; e105105 - Cancelamento de NFS-e Indeferido por
+ Análise Fiscal; e305101 - Cancelamento de NFS-e por Ofício;
+ :ivar xMotivo: Descrição para explicitar o motivo indicado neste
+ evento
+ """
+
+ class Meta:
+ name = "TE305102"
+
+ xDesc: Optional[Te305102XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ CPFAgTrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ codEvento: Optional[TscodigoEventoNfse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class Te305103:
+ """
+
+ "
+
+ :ivar xDesc: Descrição do evento: "Desbloqueio de NFS-e por Ofício".
+ :ivar CPFAgTrib: CPF do agente da administração tributária municipal
+ que efetuou o desbloqueio de NFS-e por ofício
+ :ivar idBloqOfic: Referência ao "id" do "Bloqueio de ofício" que
+ originou o presente evento de desbloqueio
+ """
+
+ class Meta:
+ name = "TE305103"
+
+ xDesc: Optional[Te305103XDesc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ CPFAgTrib: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ idBloqOfic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{59}",
+ },
+ )
+
+
+@dataclass
+class TcinfPedReg:
+ """
+
+ "
+
+ :ivar tpAmb: Tipo de ambiente: 1 - Produção; 2 - Homologação;
+ :ivar verAplic: Versão do aplicativo que gerou o pedido de registro
+ de evento
+ :ivar dhEvento: Data e hora do evento no formato AAAA-MM-
+ DDThh:mm:ssTZD (UTC - Universal Coordinated Time, onde TZD pode
+ ser -02:00 (Fernando de Noronha), -03:00 (Brasília) ou -04:00
+ (Manaus), no horário de verão serão -01:00, -02:00 e -03:00.
+ Ex.: 2010-08-19T13:00:15-03:00.
+ :ivar CNPJAutor: Número de inscrição federal (CNPJ) do autor do
+ evento. CNPJ do autor do evento (parte interessada ou pessoa que
+ figure na NFS-e. O autor do evento não é o procurador)
+ :ivar CPFAutor: Número de inscrição federal (CPF) do autor do
+ evento. CPF do autor do evento (parte interessada ou pessoa que
+ figure na NFS-e como prestador, tomador, intermediário. O autor
+ do evento poderá ser o procurador)
+ :ivar chNFSe: Identificador da NFS-e à qual o evento será vinculado
+ :ivar e101101: Evento de cancelamento
+ :ivar e105102: Evento de cancelamento por substituição
+ :ivar e101103: Solicitação de Análise Fiscal para Cancelamento de
+ NFS-e
+ :ivar e105104: Cancelamento de NFS-e Deferido por Análise Fiscal
+ :ivar e105105: Cancelamento de NFS-e Indeferido por Análise Fiscal
+ :ivar e202201: Confirmação do Prestador
+ :ivar e203202: Confirmação do Tomador
+ :ivar e204203: Confirmação do Intermediário
+ :ivar e205204: Confirmação Tácita
+ :ivar e202205: Rejeição do Prestador
+ :ivar e203206: Rejeição do Tomador
+ :ivar e204207: Rejeição do Intermediário
+ :ivar e205208: Anulação da Rejeição
+ :ivar e305101: Cancelamento de NFS-e por Ofício
+ :ivar e305102: Bloqueio de NFS-e por Ofício
+ :ivar e305103: Desbloqueio de NFS-e por Ofício
+ :ivar Id:
+ """
+
+ class Meta:
+ name = "TCInfPedReg"
+
+ tpAmb: Optional[TstipoAmbiente] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ dhEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))",
+ },
+ )
+ CNPJAutor: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 14,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPFAutor: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "max_length": 11,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ chNFSe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 50,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{50}",
+ },
+ )
+ e101101: Optional[Te101101] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e105102: Optional[Te105102] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e101103: Optional[Te101103] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e105104: Optional[Te105104] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e105105: Optional[Te105105] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e202201: Optional[Te202201] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e203202: Optional[Te203202] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e204203: Optional[Te204203] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e205204: Optional[Te205204] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e202205: Optional[Te202205] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e203206: Optional[Te203206] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e204207: Optional[Te204207] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e205208: Optional[Te205208] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e305101: Optional[Te305101] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e305102: Optional[Te305102] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ e305103: Optional[Te305103] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 59,
+ "white_space": "preserve",
+ "pattern": r"PRE[0-9]{56}",
+ },
+ )
+
+
+@dataclass
+class TcpedRegEvt:
+ class Meta:
+ name = "TCPedRegEvt"
+
+ infPedReg: Optional[TcinfPedReg] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ signature: Optional[Signature] = field(
+ default=None,
+ metadata={
+ "name": "Signature",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 4,
+ "white_space": "preserve",
+ "pattern": r"1\.00|1\.01",
+ },
+ )
+
+
+@dataclass
+class TcinfEvento:
+ """
+
+ "
+
+ :ivar verAplic: Versão do aplicativo que gerou o evento
+ :ivar ambGer: Ambiente gerador do evento: 1 - Sistema próprio do
+ município; 2 - Sefin Nacional NFS-e; 3 - ADN NFS-e;
+ :ivar nSeqEvento: Número sequencial do evento para o mesmo tipo de
+ evento. Para os eventos que ocorrem somente uma vez, como é o
+ caso do cancelamento, o nSeqEvento = 001. Para os eventos que
+ possam existir mais de um evento do mesmo tipo o ambiente
+ gerador deverá numerar de forma sequencial.
+ :ivar dhProc: Data/Hora do registro do evento. Data e hora no
+ formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD
+ :ivar nDFSe: Número sequencial do documento gerado por ambiente
+ gerador de DFSe do município
+ :ivar pedRegEvento: Leiaute do pedido de registro do evento gerado
+ pelo autor do evento
+ :ivar Id:
+ """
+
+ class Meta:
+ name = "TCInfEvento"
+
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ ambGer: Optional[TsambGeradorEvt] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ nSeqEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "max_length": 3,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1}[0-9]{0,2}",
+ },
+ )
+ dhProc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"(((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00))",
+ },
+ )
+ nDFSe: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}",
+ },
+ )
+ pedRegEvento: Optional[TcpedRegEvt] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 62,
+ "white_space": "preserve",
+ "pattern": r"EVT[0-9]{59}",
+ },
+ )
+
+
+@dataclass
+class Tcevento:
+ class Meta:
+ name = "TCEvento"
+
+ infEvento: Optional[TcinfEvento] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.sped.fazenda.gov.br/nfse",
+ "required": True,
+ },
+ )
+ signature: Optional[Signature] = field(
+ default=None,
+ metadata={
+ "name": "Signature",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "max_length": 4,
+ "white_space": "preserve",
+ "pattern": r"1\.00|1\.01",
+ },
+ )
diff --git a/nfelib/nfse/bindings/v1_01/tipos_simples_v1_01.py b/nfelib/nfse/bindings/v1_01/tipos_simples_v1_01.py
new file mode 100644
index 00000000..10898382
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/tipos_simples_v1_01.py
@@ -0,0 +1,770 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from enum import Enum
+
+__NAMESPACE__ = "http://www.sped.fazenda.gov.br/nfse"
+
+
+class Tbmissqn(Enum):
+ """Tipo Benefício Municipal (BM):
+
+ 1) Isenção; 2) Redução da BC em 'ppBM' %; 3) Redução da BC em R$
+ 'vInfoBM'; 4) Alíquota Diferenciada de 'aliqDifBM' %;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class TsambGeradorEvt(Enum):
+ """Tipo Ambiente gerador do evento:
+ 1- Prefeitura;
+ 2- Sefin Nacional;
+ 3- Ambiente Nacional."""
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TsambGeradorNfse(Enum):
+ """Tipo Ambiente Gerador de NFS-e:
+ 1 - Prefeitura;
+ 2 - Sistema Nacional da NFS-e;"""
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class TscodJustAnaliseFiscalCanc(Enum):
+ """Código do motivo da solicitação de análise fiscal para cancelamento de
+ NFS-e:
+
+ 1 - Erro na Emissão;
+ 2 - Serviço não Prestado;
+ 3 - Outros.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_9 = "9"
+
+
+class TscodJustAnaliseFiscalCancDef(Enum):
+ """Resposta da análise da solicitação do cancelamento extemporâneo de NFS-e:
+
+ 1 - Cancelamento Extemporâneo Deferido.
+ """
+
+ VALUE_1 = "1"
+
+
+class TscodJustAnaliseFiscalCancIndef(Enum):
+ """Resposta da análise da solicitação do cancelamento extemporâneo de NFS-e:
+
+ 1 - Cancelamento Extemporâneo Indeferido;
+ 2 - Cancelamento Extemporâneo Indeferido Sem Análise de Mérito.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class TscodJustCanc(Enum):
+ """Código de justificativa de cancelamento:
+
+ 1 - Erro na Emissão;
+ 2 - Serviço não Prestado;
+ 9 - Outros;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_9 = "9"
+
+
+class TscodJustSubst(Enum):
+ """Código de justificativa para substituição de NFS-e:
+
+ 01 - Desenquadramento de NFS-e do Simples Nacional;
+ 02 - Enquadramento de NFS-e no Simples Nacional;
+ 03 - Inclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 04 - Exclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 05 - Rejeição de NFS-e pelo tomador ou pelo intermediário se responsável pelo recolhimento do tributo;
+ 99 - Outros;
+ """
+
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_05 = "05"
+ VALUE_99 = "99"
+
+
+class TscodMotivoRejeicao(Enum):
+ """Motivo da Rejeição da NFS-e:
+
+ 1 - NFS-e em duplicidade;
+ 2 - NFS-e já emitida pelo tomador;
+ 3 - Não ocorrência do fato gerador;
+ 4 - Erro quanto a responsabilidade tributária;
+ 5 - Erro quanto ao valor do serviço, valor das deduções ou serviço prestado ou data do fato gerador;
+ 9 - Outros;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+ VALUE_9 = "9"
+
+
+class TscodNaoNif(Enum):
+ """Motivo para não informação do NIF:
+
+ 0 - Não informado na nota de origem;
+ 1 - Dispensado do NIF;
+ 2 - Não exigência do NIF;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class TscodigoEventoNfse(Enum):
+ """
+ Código de evento da NFS-e.
+ """
+
+ E101101 = "e101101"
+ E105102 = "e105102"
+ E105104 = "e105104"
+ E105105 = "e105105"
+ E305101 = "e305101"
+
+
+class TsemitenteDps(Enum):
+ """Emitente da DPS:
+ 1 - Prestador
+ 2 - Tomador
+ 3 - Intermediário"""
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TsenvMdic(Enum):
+ """Compartilhar as informações da NFS-e gerada a partir desta DPS com a
+ Secretaria de Comércio Exterior:
+
+ 0 - Não enviar para o MDIC;
+ 1 - Enviar para o MDIC;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+
+
+class TsideDedRed(Enum):
+ """Identificação da Dedução/Redução: 1 – Alimentação e bebidas/frigobar;
+
+ 2 – Materiais;
+ 3 - Produção Externa;
+ 4 - Reembolso de despesas;
+ 5 – Repasse consorciado;
+ 6 – Repasse plano de saúde;
+ 7 – Serviços;
+ 8 – Subempreitada de mão de obra;
+ 9 - Profissional parceiro;
+ 99 – Outras deduções;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+ VALUE_6 = "6"
+ VALUE_7 = "7"
+ VALUE_8 = "8"
+ VALUE_9 = "9"
+ VALUE_99 = "99"
+
+
+class TsmecAfcomExPrest(Enum):
+ """Mecanismo de apoio/fomento ao Comércio Exterior utilizado pelo prestador do
+ serviço:
+
+ 00 - Desconhecido (tipo não informado na nota de origem);
+ 01 - Nenhum;
+ 02 - ACC - Adiantamento sobre Contrato de Câmbio – Redução a Zero do IR e do IOF;
+ 03 - ACE – Adiantamento sobre Cambiais Entregues - Redução a Zero do IR e do IOF;
+ 04 - BNDES-Exim Pós-Embarque – Serviços;
+ 05 - BNDES-Exim Pré-Embarque - Serviços;
+ 06 - FGE - Fundo de Garantia à Exportação;
+ 07 - PROEX - EQUALIZAÇÃO
+ 08 - PROEX - Financiamento;
+ """
+
+ VALUE_00 = "00"
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_05 = "05"
+ VALUE_06 = "06"
+ VALUE_07 = "07"
+ VALUE_08 = "08"
+
+
+class TsmecAfcomExToma(Enum):
+ """Mecanismo de apoio/fomento ao Comércio Exterior utilizado pelo tomador do
+ serviço:
+
+ 00 - Desconhecido (tipo não informado na nota de origem);
+ 01 - Nenhum;
+ 02 - Adm. Pública e Repr. Internacional;
+ 03 - Alugueis e Arrend. Mercantil de maquinas, equip., embarc. e aeronaves;
+ 04 - Arrendamento Mercantil de aeronave para empresa de transporte aéreo público;
+ 05 - Comissão a agentes externos na exportação;
+ 06 - Despesas de armazenagem, mov. e transporte de carga no exterior;
+ 07 - Eventos FIFA (subsidiária);
+ 08 - Eventos FIFA;
+ 09 - Fretes, arrendamentos de embarcações ou aeronaves e outros;
+ 10 - Material Aeronáutico;
+ 11 - Promoção de Bens no Exterior;
+ 12 - Promoção de Dest. Turísticos Brasileiros;
+ 13 - Promoção do Brasil no Exterior;
+ 14 - Promoção Serviços no Exterior;
+ 15 - RECINE;
+ 16 - RECOPA;
+ 17 - Registro e Manutenção de marcas, patentes e cultivares;
+ 18 - REICOMP;
+ 19 - REIDI;
+ 20 - REPENEC;
+ 21 - REPES;
+ 22 - RETAERO;
+ 23 - RETID;
+ 24 - Royalties, Assistência Técnica, Científica e Assemelhados;
+ 25 - Serviços de avaliação da conformidade vinculados aos Acordos da OMC;
+ 26 - ZPE;
+ """
+
+ VALUE_00 = "00"
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_05 = "05"
+ VALUE_06 = "06"
+ VALUE_07 = "07"
+ VALUE_08 = "08"
+ VALUE_09 = "09"
+ VALUE_10 = "10"
+ VALUE_11 = "11"
+ VALUE_12 = "12"
+ VALUE_13 = "13"
+ VALUE_14 = "14"
+ VALUE_15 = "15"
+ VALUE_16 = "16"
+ VALUE_17 = "17"
+ VALUE_18 = "18"
+ VALUE_19 = "19"
+ VALUE_20 = "20"
+ VALUE_21 = "21"
+ VALUE_22 = "22"
+ VALUE_23 = "23"
+ VALUE_24 = "24"
+ VALUE_25 = "25"
+ VALUE_26 = "26"
+
+
+class TsmodoPrestacao(Enum):
+ """Modo de Prestação:
+
+ 0 - Desconhecido (tipo não informado na nota de origem);
+ 1 - Transfronteiriço;
+ 2 - Consumo no Brasil;
+ 3 - Presença Comercial no Exterior;
+ 4 - Movimento Temporário de Pessoas Físicas;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class TsmotivoEmisTi(Enum):
+ """Motivo da Emissão da DPS pelo Tomador/Intermediário:
+
+ 1 - Importação de Serviço;
+ 2 - Tomador/Intermediário obrigado a emitir NFS-e por legislação municipal;
+ 3 - Tomador/Intermediário emitindo NFS-e por recusa de emissão pelo prestador;
+ 4 - Tomador/Intermediário emitindo por rejeitar a NFS-e emitida pelo prestador;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class TsmovTempBens(Enum):
+ """Vínculo da Operação à Movimentação Temporária de Bens:
+
+ 0 - Desconhecido (tipo não informado na nota de origem);
+ 1 - Não;
+ 2 - Vinculada - Declaração de Importação;
+ 3 - Vinculada - Declaração de Exportação;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TsopExigSuspensa(Enum):
+ """Opção para Exigibilidade Suspensa:
+
+ 1 - Exigibilidade Suspensa por Decisão Judicial;
+ 2 - Exigibilidade Suspensa por Processo Administrativo;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class TsopSimpNac(Enum):
+ """Situação perante o Simples Nacional:
+
+ 1 - Não Optante;
+ 2 - Optante - Microempreendedor Individual (MEI);
+ 3 - Optante - Microempresa ou Empresa de Pequeno Porte (ME/EPP);
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TsprocEmissao(Enum):
+ """Processo de Emissão da DPS:
+
+ 1 - Emissão com aplicativo do contribuinte (via Web Service);
+ 2 - Emissão com aplicativo disponibilizado pelo fisco (Web);
+ 3 - Emissão com aplicativo disponibilizado pelo fisco (App);
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TsrtcfinNfse(Enum):
+ """Indicador da finalidade da emissão de NFS-e:
+
+ 0 - NFS-e regular;
+ """
+
+ VALUE_0 = "0"
+
+
+class TsrtcindDest(Enum):
+ """A respeito do Destinatário dos serviços:
+ 0 – o destinatário é o próprio tomador/adquirente identificado na NFS-e (tomador = adquirente = destinatário);
+ 1 – o destinatário não é o próprio adquirente, podendo ser outra pessoa, física ou jurídica (ou equiparada), ou um estabelecimento diferente do indicado como tomador (tomador = adquirente ≠ destinatário);"""
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+
+
+class TsrtcindFinal(Enum):
+ """Indica operação de uso ou consumo pessoal (art.
+
+ 57): 0 - Não;
+ 1 - Sim;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+
+
+class TsrtctipoChaveDfe(Enum):
+ """Documento fiscal a que se refere a chaveDfe que seja um dos documentos do
+ Repositório Nacional:
+
+ 1 - NFS-e;
+ 2 - NF-e;
+ 3 - CT-e;
+ 9 - Outro;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_9 = "9"
+
+
+class TsrtctpEnteGov(Enum):
+ """Tipo de ente governamental.
+
+ Para administração pública direta e suas autarquias e fundações:
+ 1 - União;
+ 2 - Estado;
+ 3 - Distrito Federal;
+ 4 - Município;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class TsrtctpOper(Enum):
+ """Tipo de Operação com Entes Governamentais ou outros serviços sobre bens
+ imóveis:
+
+ 1 – Fornecimento com pagamento posterior;
+ 2 - Recebimento do pagamento com fornecimento já realizado;
+ 3 – Fornecimento com pagamento já realizado;
+ 4 – Recebimento do pagamento com fornecimento posterior;
+ 5 – Fornecimento e recebimento do pagamento concomitantes;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+
+
+class TsrtctpReeRepRes(Enum):
+ """Tipo de valor incluído neste documento, recebido por motivo de estarem
+ relacionadas a operações de terceiros,
+
+ objeto de reembolso, repasse ou ressarcimento pelo recebedor, já tributados e aqui referenciados
+ 01 - Repasse de remuneração por intermediação de imóveis a demais corretores envolvidos na operação;
+ 02 - Repasse de valores a fornecedor relativo a fornecimento intermediado por agência de turismo;
+ 03 - Reembolso ou ressarcimento recebido por agência de propaganda e publicidade por valores pagos relativos
+ a serviços de produção externa por conta e ordem de terceiro;
+ 04 - Reembolso ou ressarcimento recebido por agência de propaganda e publicidade por valores pagos relativos
+ a serviços de mídia por conta e ordem de terceiro;
+ 99 - Outros reembolsos ou ressarcimentos recebidos por valores pagos relativos a operações por conta e ordem de terceiro;
+ """
+
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_99 = "99"
+
+
+class TsregEspTrib(Enum):
+ """Tipos de Regimes Especiais de Tributação:
+
+ 0 - Nenhum;
+ 1 - Ato Cooperado (Cooperativa);
+ 2 - Estimativa;
+ 3 - Microempresa Municipal;
+ 4 - Notário ou Registrador;
+ 5 - Profissional Autônomo;
+ 6 - Sociedade de Profissionais;
+ 9 - Outros;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+ VALUE_6 = "6"
+ VALUE_9 = "9"
+
+
+class TsregimeApuracaoSimpNac(Enum):
+ """Opção para que o contribuinte optante pelo Simples Nacional ME/EPP (opSimpNac = 3) possa indicar, ao emitir o documento fiscal, em qual regime de apuração os tributos federais e municipal estão inseridos, caso tenha ultrapassado algum sublimite ou limite definido para o Simples Nacional.
+ 1 – Regime de apuração dos tributos federais e municipal pelo SN;
+ 2 – Regime de apuração dos tributos federais pelo SN e ISSQN por fora do SN conforme respectiva legislação municipal do tributo;
+ 3 – Regime de apuração dos tributos federais e municipal por fora do SN conforme respectivas legislações federal e municipal de cada tributo;"""
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TssituacaoEmissaoNfse(Enum):
+ """Situação Emissão NFS-e:
+
+ 0 - Não Habilitado;
+ 1 - Habilitado;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+
+
+class TstipoAmbiente(Enum):
+ """Tipos de ambiente do Sistema Nacional NFS-e:
+ 1 - Produção;
+ 2 - Homologação;"""
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class TstipoCst(Enum):
+ """Código de Situação Tributária do PIS/COFINS (CST):
+
+ 00 - Nenhum;
+ 01 - Operação Tributável com Alíquota Básica;
+ 02 - Operação Tributável com Alíquota Diferenciada;
+ 03 - Operação Tributável com Alíquota por Unidade de Medida de Produto;
+ 04 - Operação Tributável monofásica - Revenda a Alíquota Zero;
+ 05 - Operação Tributável por Substituição Tributária;
+ 06 - Operação Tributável a Alíquota Zero;
+ 07 - Operação Isenta da Contribuição;
+ 08 - Operação sem Incidência da Contribuição;
+ 09 - Operação com Suspensão da Contribuição;
+ 49 - Outras Operações de Saída;
+ 50 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Tributada no Mercado Interno;
+ 51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno;
+ 52 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita de Exportação;
+ 53 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno;
+ 54 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas no Mercado Interno e de Exportação;
+ 55 - Operação com Direito a Crédito – Vinculada a Receitas Não Tributadas no Mercado Interno e de Exportação;
+ 56 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação;
+ 60 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno;
+ 61 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno;
+ 62 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação;
+ 63 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno;
+ 64 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação;
+ 65 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação;
+ 66 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação;
+ 67 - Crédito Presumido – Outras Operações;
+ 70 - Operação de Aquisição sem Direito a Crédito;
+ 71 - Operação de Aquisição com Isenção;
+ 72 - Operação de Aquisição com Suspensão;
+ 73 - Operação de Aquisição a Alíquota Zero;
+ 74 - Operação de Aquisição sem Incidência da Contribuição;
+ 75 - Operação de Aquisição por Substituição Tributária;
+ 98 - Outras Operações de Entrada;
+ 99 - Outras Operações;
+ """
+
+ VALUE_00 = "00"
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_05 = "05"
+ VALUE_06 = "06"
+ VALUE_07 = "07"
+ VALUE_08 = "08"
+ VALUE_09 = "09"
+ VALUE_49 = "49"
+ VALUE_50 = "50"
+ VALUE_51 = "51"
+ VALUE_52 = "52"
+ VALUE_53 = "53"
+ VALUE_54 = "54"
+ VALUE_55 = "55"
+ VALUE_56 = "56"
+ VALUE_60 = "60"
+ VALUE_61 = "61"
+ VALUE_62 = "62"
+ VALUE_63 = "63"
+ VALUE_64 = "64"
+ VALUE_65 = "65"
+ VALUE_66 = "66"
+ VALUE_67 = "67"
+ VALUE_70 = "70"
+ VALUE_71 = "71"
+ VALUE_72 = "72"
+ VALUE_73 = "73"
+ VALUE_74 = "74"
+ VALUE_75 = "75"
+ VALUE_98 = "98"
+ VALUE_99 = "99"
+
+
+class TstipoEmissao(Enum):
+ """Tipo de emissão da NFS-e:
+
+ 1 - Emissão normal no modelo da NFS-e Nacional;
+ 2 - Emissão original em leiaute próprio do município com transcrição para o modelo da NFS-e Nacional.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class TstipoImunidadeIssqn(Enum):
+ """Identificação da Imunidade do ISSQN – somente para o caso de Imunidade.
+
+ Tipos de Imunidades:
+ 0 - Imunidade (tipo não informado na nota de origem);
+ 1 - Patrimônio, renda ou serviços, uns dos outros (CF88, Art 150, VI, a);
+ 2 - Templos de qualquer culto (CF88, Art 150, VI, b);
+ 3 - Patrimônio, renda ou serviços dos partidos políticos, inclusive suas fundações, das entidades sindicais dos trabalhadores, das instituições de educação e de assistência social, sem fins lucrativos, atendidos os requisitos da lei (CF88, Art 150, VI, c);
+ 4 - Livros, jornais, periódicos e o papel destinado a sua impressão (CF88, Art 150, VI, d);
+ 5 - Fonogramas e videofonogramas musicais produzidos no Brasil contendo obras musicais ou literomusicais de autores brasileiros e/ou obras em geral interpretadas por artistas brasileiros bem como os suportes materiais ou arquivos digitais que os contenham, salvo na etapa de replicação industrial de mídias ópticas de leitura a laser. (CF88, Art 150, VI, e);
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+
+
+class TstipoIndTotTrib(Enum):
+ """Indicador de informação de valor total de tributos.
+
+ Possui valor fixo igual a zero (indTotTrib=0). Não informar nenhum valor estimado para os Tributos (Decreto 8.264/2014).
+ 0 - Não;
+ """
+
+ VALUE_0 = "0"
+
+
+class TstipoRetIssqn(Enum):
+ """Tipo de retencao do ISSQN:
+ 1 - Não Retido;
+ 2 - Retido pelo Tomador;
+ 3 - Retido pelo Intermediario;"""
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TstipoRetPiscofins(Enum):
+ """Tipo de retencao do Pis/Cofins:
+
+ 0 - PIS/COFINS/CSLL Não Retidos;
+ 1 - PIS/COFINS Retidos;
+ 2 - PIS/COFINS Não Retidos;
+ 3 - PIS/COFINS/CSLL Retidos;
+ 4 - PIS/COFINS Retidos, CSLL Não Retido;
+ 5 - PIS Retido, COFINS/CSLL Não Retido;
+ 6 - COFINS Retido, PIS/CSLL Não Retido;
+ 7 - PIS Não Retido, COFINS/CSLL Retidos;
+ 8 - PIS/COFINS Não Retidos, CSLL Retido;
+ 9 - COFINS Não Retido, PIS/CSLL Retidos;
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+ VALUE_6 = "6"
+ VALUE_7 = "7"
+ VALUE_8 = "8"
+ VALUE_9 = "9"
+
+
+class TstribIssqn(Enum):
+ """Tributação do ISSQN sobre o serviço prestado:
+
+ 1 - Operação tributável;
+ 2 - Imunidade;
+ 3 - Exportação de serviço;
+ 4 - Não Incidência;
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class Tsuf(Enum):
+ """
+ Tipo Sigla da UF.
+ """
+
+ AC = "AC"
+ AL = "AL"
+ AM = "AM"
+ AP = "AP"
+ BA = "BA"
+ CE = "CE"
+ DF = "DF"
+ ES = "ES"
+ GO = "GO"
+ MA = "MA"
+ MG = "MG"
+ MS = "MS"
+ MT = "MT"
+ PA = "PA"
+ PB = "PB"
+ PE = "PE"
+ PI = "PI"
+ PR = "PR"
+ RJ = "RJ"
+ RN = "RN"
+ RO = "RO"
+ RR = "RR"
+ RS = "RS"
+ SC = "SC"
+ SE = "SE"
+ SP = "SP"
+ TO = "TO"
+
+
+class TsvincPrest(Enum):
+ """Vínculo entre as partes no negócio:
+
+ 0 - Sem vínculo com o Tomador/Prestador
+ 1 - Controlada;
+ 2 - Controladora;
+ 3 - Coligada;
+ 4 - Matriz;
+ 5 - Filial ou sucursal;
+ 6 - Outro vínculo;
+ 9 - Desconhecido (tipo não informado na nota de origem);
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+ VALUE_6 = "6"
+ VALUE_9 = "9"
+
+
+class Tstat(Enum):
+ """Situações possíveis:
+
+ 100 - NFS-e Gerada;
+ 102 - NFS-e de Decisão Judicial;
+ 103 - NFS-e Avulsa;
+ 107 - NFS-e MEI;
+ """
+
+ VALUE_100 = "100"
+ VALUE_102 = "102"
+ VALUE_103 = "103"
+ VALUE_107 = "107"
diff --git a/nfelib/nfse/bindings/v1_01/xmldsig_core_schema.py b/nfelib/nfse/bindings/v1_01/xmldsig_core_schema.py
new file mode 100644
index 00000000..522de9f1
--- /dev/null
+++ b/nfelib/nfse/bindings/v1_01/xmldsig_core_schema.py
@@ -0,0 +1,848 @@
+"""This file was generated by xsdata, v25.7, on 2026-10-09 00:45:08
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass, field
+from typing import Optional
+
+__NAMESPACE__ = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class CanonicalizationMethodType:
+ Algorithm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ },
+ )
+
+
+@dataclass
+class DsakeyValueType:
+ class Meta:
+ name = "DSAKeyValueType"
+
+ P: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "format": "base64",
+ },
+ )
+ Q: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "format": "base64",
+ },
+ )
+ G: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "format": "base64",
+ },
+ )
+ Y: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ "format": "base64",
+ },
+ )
+ J: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "format": "base64",
+ },
+ )
+ Seed: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "format": "base64",
+ },
+ )
+ PgenCounter: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "format": "base64",
+ },
+ )
+
+
+@dataclass
+class DigestMethodType:
+ Algorithm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ },
+ )
+
+
+@dataclass
+class DigestValue:
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+ value: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "required": True,
+ "format": "base64",
+ },
+ )
+
+
+@dataclass
+class KeyName:
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+ value: str = field(
+ default="",
+ metadata={
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class MgmtData:
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+ value: str = field(
+ default="",
+ metadata={
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class ObjectType:
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ MimeType: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ Encoding: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ },
+ )
+
+
+@dataclass
+class PgpdataType:
+ class Meta:
+ name = "PGPDataType"
+
+ PGPKeyID: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ "format": "base64",
+ },
+ )
+ PGPKeyPacket: list[bytes] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "max_occurs": 2,
+ "format": "base64",
+ },
+ )
+ other_element: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##other",
+ },
+ )
+
+
+@dataclass
+class RsakeyValueType:
+ class Meta:
+ name = "RSAKeyValueType"
+
+ Modulus: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ "format": "base64",
+ },
+ )
+ Exponent: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ "format": "base64",
+ },
+ )
+
+
+@dataclass
+class SpkidataType:
+ class Meta:
+ name = "SPKIDataType"
+
+ SPKISexp: list[bytes] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "min_occurs": 1,
+ "sequence": 1,
+ "format": "base64",
+ },
+ )
+ other_element: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##other",
+ "sequence": 1,
+ },
+ )
+
+
+@dataclass
+class SignatureMethodType:
+ Algorithm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ "choices": (
+ {
+ "name": "HMACOutputLength",
+ "type": int,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ ),
+ },
+ )
+
+
+@dataclass
+class SignaturePropertyType:
+ Target: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ },
+ )
+
+
+@dataclass
+class SignatureValueType:
+ value: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "required": True,
+ "format": "base64",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class TransformType:
+ Algorithm: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ "choices": (
+ {
+ "name": "XPath",
+ "type": str,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ ),
+ },
+ )
+
+
+@dataclass
+class X509IssuerSerialType:
+ X509IssuerName: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ X509SerialNumber: Optional[int] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class CanonicalizationMethod(CanonicalizationMethodType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class DsakeyValue(DsakeyValueType):
+ class Meta:
+ name = "DSAKeyValue"
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class DigestMethod(DigestMethodType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class _Object(ObjectType):
+ class Meta:
+ name = "Object"
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class Pgpdata(PgpdataType):
+ class Meta:
+ name = "PGPData"
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class RsakeyValue(RsakeyValueType):
+ class Meta:
+ name = "RSAKeyValue"
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class Spkidata(SpkidataType):
+ class Meta:
+ name = "SPKIData"
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class SignatureMethod(SignatureMethodType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class SignatureProperty(SignaturePropertyType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class SignatureValue(SignatureValueType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class Transform(TransformType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class X509DataType:
+ X509IssuerSerial: list[X509IssuerSerialType] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "sequence": 1,
+ },
+ )
+ X509SKI: list[bytes] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "sequence": 1,
+ "format": "base64",
+ },
+ )
+ X509SubjectName: list[str] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "sequence": 1,
+ },
+ )
+ X509Certificate: list[bytes] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "sequence": 1,
+ "format": "base64",
+ },
+ )
+ X509CRL: list[bytes] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "sequence": 1,
+ "format": "base64",
+ },
+ )
+ other_element: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##other",
+ "sequence": 1,
+ },
+ )
+
+
+@dataclass
+class KeyValueType:
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ "choices": (
+ {
+ "name": "DSAKeyValue",
+ "type": DsakeyValue,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ {
+ "name": "RSAKeyValue",
+ "type": RsakeyValue,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ ),
+ },
+ )
+
+
+@dataclass
+class SignaturePropertiesType:
+ signatureProperty: list[SignatureProperty] = field(
+ default_factory=list,
+ metadata={
+ "name": "SignatureProperty",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "min_occurs": 1,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class TransformsType:
+ transform: list[Transform] = field(
+ default_factory=list,
+ metadata={
+ "name": "Transform",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "min_occurs": 1,
+ },
+ )
+
+
+@dataclass
+class X509Data(X509DataType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class KeyValue(KeyValueType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class SignatureProperties(SignaturePropertiesType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class Transforms(TransformsType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class ReferenceType:
+ transforms: Optional[Transforms] = field(
+ default=None,
+ metadata={
+ "name": "Transforms",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ )
+ digestMethod: Optional[DigestMethod] = field(
+ default=None,
+ metadata={
+ "name": "DigestMethod",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ digestValue: Optional[DigestValue] = field(
+ default=None,
+ metadata={
+ "name": "DigestValue",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ URI: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ Type: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class RetrievalMethodType:
+ transforms: Optional[Transforms] = field(
+ default=None,
+ metadata={
+ "name": "Transforms",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ )
+ URI: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ Type: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class Reference(ReferenceType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class RetrievalMethod(RetrievalMethodType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class KeyInfoType:
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ content: list[object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "mixed": True,
+ "choices": (
+ {
+ "name": "KeyName",
+ "type": KeyName,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ {
+ "name": "KeyValue",
+ "type": KeyValue,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ {
+ "name": "RetrievalMethod",
+ "type": RetrievalMethod,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ {
+ "name": "X509Data",
+ "type": X509Data,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ {
+ "name": "PGPData",
+ "type": Pgpdata,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ {
+ "name": "SPKIData",
+ "type": Spkidata,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ {
+ "name": "MgmtData",
+ "type": MgmtData,
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ ),
+ },
+ )
+
+
+@dataclass
+class ManifestType:
+ reference: list[Reference] = field(
+ default_factory=list,
+ metadata={
+ "name": "Reference",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "min_occurs": 1,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class SignedInfoType:
+ canonicalizationMethod: Optional[CanonicalizationMethod] = field(
+ default=None,
+ metadata={
+ "name": "CanonicalizationMethod",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ signatureMethod: Optional[SignatureMethod] = field(
+ default=None,
+ metadata={
+ "name": "SignatureMethod",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ reference: list[Reference] = field(
+ default_factory=list,
+ metadata={
+ "name": "Reference",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "min_occurs": 1,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class KeyInfo(KeyInfoType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class Manifest(ManifestType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class SignedInfo(SignedInfoType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class SignatureType:
+ signedInfo: Optional[SignedInfo] = field(
+ default=None,
+ metadata={
+ "name": "SignedInfo",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ signatureValue: Optional[SignatureValue] = field(
+ default=None,
+ metadata={
+ "name": "SignatureValue",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ keyInfo: Optional[KeyInfo] = field(
+ default=None,
+ metadata={
+ "name": "KeyInfo",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ )
+ Object: list[_Object] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class Signature(SignatureType):
+ class Meta:
+ namespace = "http://www.w3.org/2000/09/xmldsig#"
diff --git a/nfelib/nfse/samples/v1_01/nfse-ibscbs.xml b/nfelib/nfse/samples/v1_01/nfse-ibscbs.xml
new file mode 100644
index 00000000..605e5c90
--- /dev/null
+++ b/nfelib/nfse/samples/v1_01/nfse-ibscbs.xml
@@ -0,0 +1,153 @@
+
+
+
+ Blumenau
+ Blumenau
+ 1
+ 4202404
+ Blumenau
+ Análise e desenvolvimento de sistemas.
+ Serviços de desenvolvimento de software sob encomenda
+ SefinNac_Pre_1.5.0
+ 2
+ 1
+ 1
+ 100
+ 2026-03-10T10:00:05-03:00
+ 123456
+
+ 00000000000000
+ 152422
+ EMPRESA PRESTADORA DE TESTE LTDA
+
+ RUA DE TESTE
+ 100
+ CENTRO
+ 4202404
+ SC
+ 89010000
+
+
+
+ 1000.00
+ 2.00
+ 20.00
+ 1000.00
+
+
+ 4202404
+ Blumenau
+
+ 1000.00
+
+ 0.10
+ 0.10
+
+
+ 0.00
+ 0.00
+
+
+ 0.90
+ 0.90
+
+
+
+ 1000.00
+
+ 1.00
+
+ 1.00
+
+
+ 0.00
+
+
+
+ 9.00
+
+
+
+
+
+ 2
+ 2026-03-10T10:00:00-03:00
+ 20260310
+ 00007
+ 1
+ 2026-03-10
+ 1
+ 4202404
+
+ 00000000000000
+ 152422
+
+ 1
+ 0
+
+
+
+ 00000000000000
+ EMPRESA TOMADORA DE TESTE LTDA
+
+
+
+ 4202404
+
+
+ 010101
+ Desenvolvimento de sistema sob encomenda
+ 115022000
+
+
+
+
+ 1000.00
+
+
+
+ 1
+ 1
+
+
+ 0
+
+
+
+
+ 0
+ 100301
+ 0
+
+
+
+ 000
+ 000001
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
+
+
+ AAAA
+
+
+ AAAA
+
+
+
+
diff --git a/nfelib/nfse/schemas/v1_01/CNC_v1.00.xsd b/nfelib/nfse/schemas/v1_01/CNC_v1.00.xsd
new file mode 100644
index 00000000..47cddb04
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/CNC_v1.00.xsd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Schema XML Leiaute do arquivo para upload - CNC
+
+
+
diff --git a/nfelib/nfse/schemas/v1_01/DPS_v1.01.xsd b/nfelib/nfse/schemas/v1_01/DPS_v1.01.xsd
new file mode 100644
index 00000000..39f440dd
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/DPS_v1.01.xsd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Schema XML da Declaração de Prestação de Serviços - DPS
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/NFSe_v1.01.xsd b/nfelib/nfse/schemas/v1_01/NFSe_v1.01.xsd
new file mode 100644
index 00000000..171ac2bb
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/NFSe_v1.01.xsd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ Schema XML da Nota Fiscal de Serviços Eletrônica - NFS-e
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/evento_v1.01.xsd b/nfelib/nfse/schemas/v1_01/evento_v1.01.xsd
new file mode 100644
index 00000000..a6739379
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/evento_v1.01.xsd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ Schema XML do Pedido de Registro de Eventos
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/pedRegEvento_v1.01.xsd b/nfelib/nfse/schemas/v1_01/pedRegEvento_v1.01.xsd
new file mode 100644
index 00000000..26fe4bdd
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/pedRegEvento_v1.01.xsd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ Schema XML do Pedido de Registro de Eventos
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/tiposCnc_v1.00.xsd b/nfelib/nfse/schemas/v1_01/tiposCnc_v1.00.xsd
new file mode 100644
index 00000000..27d839ba
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/tiposCnc_v1.00.xsd
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+
+
+
+ Código de endereçamento postal do estabelecimento do contribuinte
+
+
+
+
+ Número do estabelecimento no logradouro informado
+
+
+
+
+ Informação complementar para identificação do endereço do contribuinte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Ambiente: 1 - Produção; 2 - Homologação
+
+
+
+
+ Data e hora da geração do arquivo CNC. Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD
+
+
+
+
+ Versão do aplicativo que gerou Informações para cadastramento de novos contribuintes CNC
+
+
+
+
+
+
+
+ Grupo de informações cadastramento de novos contribuintes CNC
+
+
+
+
+
+
+
+
+
+
+ Informações para cadastramento de novos contribuintes CNC
+
+
+
+
+
+ Número do CNPJ
+
+
+
+
+ Número do CPF
+
+
+
+
+
+ Número da inscrição municipal
+
+
+
+
+ Data da Inscrição Municipal: Dia, mês e ano (AAAAMMDD)
+
+
+
+
+ Grupo de informações do endereço do contribuinte do CNC
+
+
+
+
+
+ Número do telefone do prestador:
+ Preencher com o Código DDD + número do telefone.
+ Nas operações com exterior é permitido informar o código do país + código da localidade + número do telefone)
+
+
+
+
+
+ Endereço de e-mail para contato com o contribuinte
+
+
+
+
+
+ Tipos de Regimes Especiais de Tributação:
+ 0 - Nenhum;
+ 1 - Ato Cooperado (Cooperativa);
+ 2 - Estimativa;
+ 3 - Microempresa Municipal;
+ 4 - Notário ou Registrador;
+ 5 - Profissional Autônomo;
+ 6 - Sociedade de Profissionais;
+
+
+
+
+
+
+ Identificação da situação do cadastro do contribuinte
+
+
+
+
+
+
+ Motivo pelo qual o contribuinte se enquadra na situação informada
+
+
+
+
+
+
+ Situação Emissão NFS-e:
+ 0 - Não Habilitado;
+ 1 - Habilitado;
+
+
+
+
+
+
+
+
+ Tipo Versão do CNC - 1.00
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/tiposComplexos_v1.01.xsd b/nfelib/nfse/schemas/v1_01/tiposComplexos_v1.01.xsd
new file mode 100644
index 00000000..91f44b80
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/tiposComplexos_v1.01.xsd
@@ -0,0 +1,2709 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do código do IBGE do município emissor da NFS-e.
+
+
+
+
+
+ Descrição do local da prestação do serviço.
+
+
+
+
+
+ Número sequencial por tipo de emitente da NFS-e.
+ A Sefin Nacional NFS-e irá gerar o número da NFS-e de forma sequencial por emitente. Por se tratar de um ambiente altamente transacional, a Sefin Nacional NFS-e não irá reutilizar números inutilizados durante a geração da NFS-e.
+
+
+
+
+
+
+ O código de município utilizado pelo Sistema Nacional NFS-e é o código definido para cada município pertencente ao ""Anexo V – Tabela de Código de Municípios do IBGE"", que consta ao final do Manual de Orientação ao Contribuinte do ISSQN para a Sefin Nacional NFS-e.
+ O município de incidência do ISSQN é determinado automaticamente pelo sistema, conforme regras do aspecto espacial da lei complementar federal (LC 116/03) que são válidas para todos os municípios.
+ http://www.planalto.gov.br/ccivil_03/Leis/LCP/Lcp116.htm
+
+
+
+
+
+
+ A descrição do código de município utilizado pelo Sistema Nacional NFS-e é o nome de cada município pertencente ao "Anexo V – Tabela de Código de Municípios do IBGE", que consta ao final do Manual de Orientação ao Contribuinte do ISSQN para a Sefin Nacional NFS-e.
+
+
+
+
+
+
+ Descrição do código de tributação nacional do ISSQN.
+
+
+
+
+
+
+ Descrição do código de tributação municipal do ISSQN.
+
+
+
+
+
+
+ Descrição do código da NBS.
+
+
+
+
+
+ Versão do aplicativo que gerou a NFS-e
+
+
+
+
+ Ambiente gerador da NFS-e
+
+
+
+
+
+ Processo de Emissão da DPS:
+ 1 - Emissão com aplicativo do contribuinte (via Web Service);
+ 2 - Emissão com aplicativo disponibilizado pelo fisco (Web);
+ 3 - Emissão com aplicativo disponibilizado pelo fisco (App);
+
+
+
+
+
+
+ Processo de Emissão da DPS:
+ 1 - Emissão com aplicativo do contribuinte (via Web Service);
+ 2 - Emissão com aplicativo disponibilizado pelo fisco (Web);
+ 3 - Emissão com aplicativo disponibilizado pelo fisco (App);
+
+
+
+
+
+ Código do Status da mensagem
+
+
+
+
+
+ Data/Hora da validação da DPS e geração da NFS-e. Data e hora no formato UTC (Universal Coordinated Time):AAAA-MM-DDThh:mm:ssTZD
+
+
+
+
+
+
+ Número sequencial do documento gerado por ambiente gerador de DFSe do múnicípio.
+
+
+
+
+
+
+ Grupo de informações da DPS relativas ao emitente da NFS-e
+
+
+
+
+
+
+ Grupo de valores referentes ao Serviço Prestado
+
+
+
+
+
+
+ Uso da Administração Tributária Municipal.
+
+
+
+
+
+
+ Grupo de informações geradas pelo sistema referentes ao IBS e à CBS
+
+
+
+
+
+
+ Grupo de informações da DPS relativas ao serviço prestado
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número do CNPJ do emitente da NFS-e.
+
+
+
+
+
+
+ Número do CPF do emitente da NFS-e.
+
+
+
+
+
+
+ Número da inscrição municipal
+
+
+
+
+
+ Nome / Razão Social do emitente.
+
+
+
+
+
+
+ Nome / Fantasia do emitente.
+
+
+
+
+
+ Grupo de informações do endereço nacional do Emitente da NFS-e
+
+
+
+
+
+ Número do telefone do emitente.
+ (Preencher com o Código DDD + número do telefone.
+ Nas operações com exterior é permitido informar o código do país + código da localidade + número do telefone)
+
+
+
+
+
+ E-mail do emitente.
+
+
+
+
+
+
+
+
+
+
+ Valor monetário (R$) de dedução/redução da base de cálculo (BC) do ISSQN.
+
+
+
+
+
+
+ Tipo Benefício Municipal (BM):
+ 1) Isenção;
+ 2) Redução da BC em 'ppBM' %;
+ 3) Redução da BC em R$ 'vInfoBM';
+ 4) Alíquota Diferenciada de 'aliqDifBM' %;
+
+
+
+
+
+
+ Valor monetário (R$) do percentual de redução da base de cálculo (BC) do ISSQN devido a um benefício municipal (BM).
+
+
+
+
+
+
+ Valor da Base de Cálculo do ISSQN (R$) = Valor do Serviço - Desconto Incondicionado - Deduções/Reduções - Benefício Municipal
+ vBC = vServ - descIncond - (vDR ou vCalcDR + vCalcReeRepRes) - (vRedBCBM ou VCalcBM)
+
+
+
+
+
+
+ Alíquota aplicada sobre a base de cálculo para apuração do ISSQN.
+
+
+
+
+
+
+ Valor do ISSQN (R$) = Valor da Base de Cálculo x Alíquota ISSQN = vBC x pAliqAplic
+
+
+
+
+
+
+ Valor total das retenções de tributos da NFS-e.
+ Valor total de retenções (R$) = Σ(vRetCP + vRetIRRF+ vRetCSLL + ISSQN*)
+
+
+
+
+
+
+ Valor líquido da NFS-e.
+ Valor líquido (R$) = Valor do serviço - Desconto condicionado - Desconto incondicionado - Valores retidos
+
+
+
+
+
+
+
+
+
+
+
+ Código IBGE da localidade de incidência do IBS/CBS (local da operação)
+
+
+
+
+
+
+ Nome da localidade de incidência do IBS/CBS
+
+
+
+
+
+
+ Percentual de redução de aliquota em compra governamental
+
+
+
+
+
+
+ Grupo de valores brutos referentes ao IBS/CBS
+
+
+
+
+
+
+ Grupo de Totalizadores
+
+
+
+
+
+
+
+
+
+
+
+ Valor da base de cálculo (BC) do IBS/CBS antes das reduções para cálculo do tributo bruto
+ vBC = vServ - descIncond – vCalcReeRepRes – vISSQN – vPIS - vCOFINS (até 2026) ou
+ vBC = vServ - descIncond – vCalcReeRepRes – vISSQN (até 2032)
+
+
+
+
+
+
+ Valor monetário (R$) total relativo ao fornecimento próprio de bens materiais ou relacionados a operações de terceiros,
+ objeto de reembolso, repasse ou ressarcimento pelo recebedor, já tributados e aqui referenciados e que não integram
+ da base de cálculo (BC) do ISSQN, do IBS e da CBS.
+
+
+
+
+
+
+ Grupo de Informações relativas aos valores do IBS Estadual
+
+
+
+
+
+
+ Grupo de Informações relativas aos valores do IBS Municipal
+
+
+
+
+
+
+ Grupo de Informações relativas aos valores da CBS
+
+
+
+
+
+
+
+
+
+
+
+ Alíquota da UF para IBS da localidade de incidência parametrizada no sistema
+
+
+
+
+
+
+ Percentual de redução de alíquota estadual
+
+
+
+
+
+
+ pAliqEfetUF = pIBSUF x (1 - pRedAliqUF) x (1 - pRedutor)
+ Se pRedAliqUF não for informado na DPS, então pAliqEfetUF é a própria pIBSUF
+
+
+
+
+
+
+
+
+
+
+
+ Alíquota do Município para IBS da localidade de incidência parametrizada no sistema
+
+
+
+
+
+
+ Percentual de redução de alíquota municipal
+
+
+
+
+
+
+ pAliqEfetMun = pIBSMun x (1 - pRedAliqMun) x (1 - pRedutor)
+ Se pRedAliqMun não for informado na DPS, então pAliqEfetMun é a própria pIBSMun
+
+
+
+
+
+
+
+
+
+
+
+ Alíquota da União para CBS parametrizada no sistema
+
+
+
+
+
+
+ Percentual da redução de alíquota da CBS
+
+
+
+
+
+
+ pAliqEfetCBS = pCBS x (1 - pRedAliqCBS) x (1 - pRedutor)
+ Se pRedAliqCBS não for informado na DPS, então pAliqEfetCBS é a própria pCBS
+
+
+
+
+
+
+
+
+
+
+
+ Valor Total da NF considerando os impostos por fora: IBS e CBS
+ O IBS e a CBS são por fora, por isso seus valores devem ser adicionados ao valor total da NF
+ vTotNF = vLiq (em 2026)
+ vTotNF = vLiq + vCBS + vIBSTot (a partir de 2027)
+
+
+
+
+
+
+ Grupo de valores referentes ao IBS
+
+
+
+
+
+
+ Grupo de valores referentes à CBS
+
+
+
+
+
+
+ Grupo de informações de tributação regular
+
+
+
+
+
+
+ Grupo de informações da composição do valor do IBS e da CBS em compras governamentais
+
+
+
+
+
+
+
+
+
+
+
+ Valor total do IBS.
+ vIBSTot = vIBSUF + vIBSMun
+
+
+
+
+
+
+ Grupo de valores referentes ao crédito presumido para IBS
+
+
+
+
+
+
+ Grupo de valores referentes ao IBS Estadual
+
+
+
+
+
+
+ Grupo de valores referentes ao IBS Municipal
+
+
+
+
+
+
+
+
+
+
+
+ Alíquota do crédito presumido para o IBS
+
+
+
+
+
+
+ Valor do Crédito Presumido para o IBS
+ vCredPresIBS = vBC x pCredPresIBS
+
+
+
+
+
+
+
+
+
+
+
+ Total do Diferimento do IBS estadual
+ vDifUF = vIBSUF x pDifUF
+
+
+
+
+
+
+ Total valor do IBS estadual
+ vIBSUF = vBC x (pIBSUF ou pAliqEfetUF)
+
+
+
+
+
+
+
+
+
+
+
+ Total do Diferimento do IBS municipal
+ vDifMun = vIBSMun x pDifMun
+
+
+
+
+
+
+ Total valor do IBS municipal
+ vIBSMun = vBC x (pIBSMun ou pAliqEfetMun)
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de valores referentes ao crédito presumido para CBS
+
+
+
+
+
+
+ Total do Diferimento CBS
+ vDifCBS = vCBS x pDifCBS
+
+
+
+
+
+
+ Total valor da CBS da União
+ vCBS = vBC x (pCBS ou pAliqEfetCBS)
+
+
+
+
+
+
+
+
+
+
+
+ Alíquota do crédito presumido para a CBS
+
+
+
+
+
+
+ Valor do Crédito Presumido da CBS
+ vCredPresCBS = vBC x pCredPresCBS
+
+
+
+
+
+
+
+
+
+
+
+ Alíquota efetiva de tributação regular do IBS estadual
+
+
+
+
+
+
+ Valor da tributação regular do IBS estadual
+ vTribRegIBSUF = vBC x pAliqEfeRegIBSUF
+
+
+
+
+
+
+ Alíquota efetiva de tributação regular do IBS municipal
+
+
+
+
+
+
+ Valor da tributação regular do IBS municipal
+ vTribRegIBSMun = vBC x pAliqEfeRegIBSMun
+
+
+
+
+
+
+ Alíquota efetiva de tributação regular da CBS
+
+
+
+
+
+
+ Valor da tributação regular da CBS
+ vTribRegCBS = vBC x pAliqEfeRegCBS
+
+
+
+
+
+
+
+
+
+
+
+ Alíquota do IBS de competência do Estado
+
+
+
+
+
+
+ Valor do Tributo do IBS da UF calculado
+
+
+
+
+
+
+ Alíquota do IBS de competência do Município
+
+
+
+
+
+
+ Valor do Tributo do IBS do Município calculado
+
+
+
+
+
+
+ Alíquota da CBS
+
+
+
+
+
+
+ Valor do Tributo da CBS calculado
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Ambiente: 1 - Produção; 2 - Homologação
+
+
+
+
+ Data e hora da emissão do DPS. Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD
+
+
+
+
+ Versão do aplicativo que gerou o DPS
+
+
+
+
+ Número do equipamento emissor do DPS ou série do DPS
+
+
+
+
+ Número do DPS
+
+
+
+
+ Data em que se iniciou a prestação do serviço: Dia, mês e ano (AAAAMMDD)
+
+
+
+
+ Emitente da DPS: 1 - Prestador; 2 - Tomador; 3 - Intermediário
+
+
+
+
+ Motivo da Emissão da DPS pelo Tomador/Intermediário:
+ 1 - Importação de Serviço;
+ 2 - Tomador/Intermediário obrigado a emitir NFS-e por legislação municipal;
+ 3 - Tomador/Intermediário emitindo NFS-e por recusa de emissão pelo prestador;
+ 4 - Tomador/Intermediário emitindo por rejeitar a NFS-e emitida pelo prestador;
+
+
+
+
+
+
+ Chave de Acesso da NFS-e rejeitada pelo Tomador/Intermediário.
+
+
+
+
+
+ O código de município utilizado pelo Sistema Nacional NFS-e é o código definido para cada município pertencente ao ""Anexo V – Tabela de Código de Municípios do IBGE"", que consta ao final do Manual de Orientação ao Contribuinte do ISSQN para a Sefin Nacional NFS-e.
+ O município emissor da NFS-e é aquele município em que o emitente da DPS está cadastrado e autorizado a "emitir uma NFS-e", ou seja, emitir uma DPS para que o sistema nacional valide as informações nela prestadas e gere a NFS-e correspondente para o emitente.
+ Para que o sistema nacional emita a NFS-e o município emissor deve ser conveniado e estar ativo no sistema nacional. Além disso o convênio do município deve permitir que os contribuintes do município utilize os emissores públicos do Sistema Nacional NFS-e
+
+
+
+
+
+ Dados da NFS-e a ser substituída
+
+
+
+
+ Grupo de informações do DPS relativas ao Prestador de Serviços
+
+
+
+
+ Grupo de informações do DPS relativas ao Tomador de Serviços
+
+
+
+
+ Grupo de informações do DPS relativas ao Intermediário de Serviços
+
+
+
+
+ Grupo de informações do DPS relativas ao Serviço Prestado
+
+
+
+
+
+ Grupo de informações relativas à valores do serviço prestado
+
+
+
+
+
+
+ Grupo de informações declaradas pelo emitente referentes ao IBS e à CBS
+
+
+
+
+
+
+
+
+
+
+
+ Chave de acesso da NFS-e a ser substituída
+
+
+
+
+
+ Código de justificativa para substituição de NFS-e:
+ 01 - Desenquadramento de NFS-e do Simples Nacional;
+ 02 - Enquadramento de NFS-e no Simples Nacional;
+ 03 - Inclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 04 - Exclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 05 - Rejeição de NFS-e pelo tomador ou pelo intermediário se responsável pelo recolhimento do tributo;
+ 99 - Outros;
+
+
+
+
+
+ Descrição do motivo da substituição da NFS-e
+
+
+
+
+
+
+
+ Informações do prestador da NFS-e. Difere das demais pessoas por causa das informações de regimes de tributação
+
+
+
+
+
+ Número do CNPJ
+
+
+
+
+ Número do CPF
+
+
+
+
+ Número de Identificação Fiscal fornecido por órgão de administração tributária no exterior
+
+
+
+
+
+ Motivo para não informação do NIF:
+ 0 - Não informado na nota de origem;
+ 1 - Dispensado do NIF;
+ 2 - Não exigência do NIF;
+
+
+
+
+
+
+ Número do Cadastro de Atividade Econômica da Pessoa Física (CAEPF) do prestador do serviço.
+
+
+
+
+ Número da inscrição municipal
+
+
+
+
+ Nome/Nome Empresarial do prestador
+
+
+
+
+ Dados de endereço do prestador
+
+
+
+
+
+ Número do telefone do prestador:
+ Preencher com o Código DDD + número do telefone.
+ Nas operações com exterior é permitido informar o código do país + código da localidade + número do telefone)
+
+
+
+
+
+ E-mail
+
+
+
+
+
+ Grupo de informações relativas aos regimes de tributação do prestador de serviços
+
+
+
+
+
+
+
+
+
+
+
+ Situação perante o Simples Nacional:
+ 1 - Não Optante;
+ 2 - Optante - Microempreendedor Individual (MEI);
+ 3 - Optante - Microempresa ou Empresa de Pequeno Porte (ME/EPP);
+
+
+
+
+
+
+ Opção para que o contribuinte optante pelo Simples Nacional ME/EPP (opSimpNac = 3) possa indicar, ao emitir o documento fiscal, em qual regime de apuração os tributos federais e municipal estão inseridos, caso tenha ultrapassado algum sublimite ou limite definido para o Simples Nacional.
+ 1 – Regime de apuração dos tributos federais e municipal pelo SN;
+ 2 – Regime de apuração dos tributos federais pelo SN e ISSQN por fora do SN conforme respectiva legislação municipal do tributo;
+ 3 – Regime de apuração dos tributos federais e municipal por fora do SN conforme respectivas legislações federal e municipal de cada tributo;
+
+
+
+
+
+
+ Tipos de Regimes Especiais de Tributação:
+ 0 - Nenhum;
+ 1 - Ato Cooperado (Cooperativa);
+ 2 - Estimativa;
+ 3 - Microempresa Municipal;
+ 4 - Notário ou Registrador;
+ 5 - Profissional Autônomo;
+ 6 - Sociedade de Profissionais;
+ 9 - Outros;
+
+
+
+
+
+
+
+
+ Informações das pessoas envolvidas na NFS-e. Pode ser o tomador, o intermediário ou o fornecedor (dedução/redução)
+
+
+
+
+
+ Número do CNPJ
+
+
+
+
+ Número do CPF
+
+
+
+
+ Número de Identificação Fiscal fornecido por órgão de administração tributária no exterior
+
+
+
+
+
+ Motivo para não informação do NIF:
+ 0 - Não informado na nota de origem;
+ 1 - Dispensado do NIF;
+ 2 - Não exigência do NIF;
+
+
+
+
+
+
+ Número do Cadastro de Atividade Econômica da Pessoa Física (CAEPF)
+
+
+
+
+ Número da inscrição municipal
+
+
+
+
+ Nome/Nome Empresarial
+
+
+
+
+ Dados de endereço
+
+
+
+
+
+ Número do telefone do prestador:
+ Preencher com o Código DDD + número do telefone.
+ Nas operações com exterior é permitido informar o código do país + código da localidade + número do telefone)
+
+
+
+
+
+ E-mail
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações específicas de endereço nacional
+
+
+
+
+ Grupo de informações específicas de endereço no exterior
+
+
+
+
+
+ Tipo e nome do logradouro da localização do imóvel
+
+
+
+
+ Número do imóvel
+
+
+
+
+ Complemento do endereço
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+ Tipo e nome do logradouro da localização do imóvel
+
+
+
+
+ Número do imóvel
+
+
+
+
+ Complemento do endereço
+
+
+
+
+ Bairro
+
+
+
+
+ Código do município, conforme Tabela do IBGE
+
+
+
+
+ Sigla da unidade da federação do município do endereço do emitente.
+
+
+
+
+ Número do CEP
+
+
+
+
+
+
+
+
+
+
+ Número do CEP
+
+
+
+
+ Grupo de informações específicas de endereço no exterior
+
+
+
+
+
+ Tipo e nome do logradouro da localização do imóvel
+
+
+
+
+ Número do imóvel
+
+
+
+
+ Complemento do endereço
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+ Código do município, conforme Tabela do IBGE
+
+
+
+
+ Número do CEP
+
+
+
+
+
+
+
+
+
+ Código do país (Tabela de Países ISO)
+
+
+
+
+ Código alfanumérico do Endereçamento Postal no exterior do prestador do serviço.
+
+
+
+
+ Nome da cidade no exterior do prestador do serviço.
+
+
+
+
+ Estado, província ou região da cidade no exterior do prestador do serviço.
+
+
+
+
+
+
+
+
+
+ Código alfanumérico do Endereçamento Postal no exterior do prestador do serviço.
+
+
+
+
+ Nome da cidade no exterior do prestador do serviço.
+
+
+
+
+ Estado, província ou região da cidade no exterior do prestador do serviço.
+
+
+
+
+
+
+
+
+
+
+ Número do CEP
+
+
+
+
+ Grupo de informações específicas de endereço no exterior
+
+
+
+
+
+ Tipo e nome do logradouro da localização do imóvel
+
+
+
+
+ Número do imóvel
+
+
+
+
+ Complemento do endereço
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações relativas ao local da prestação do serviço
+
+
+
+
+
+
+ Grupo de informações relativas ao código do serviço prestado
+
+
+
+
+
+ Grupo de informações relativas à exportação/importação de serviço prestado
+
+
+
+
+ Grupo de informações do DPS relativas à serviço de obra
+
+
+
+
+ Grupo de informações do DPS relativas à Evento
+
+
+
+
+
+ Grupo de informações complementares disponível para todos os serviços prestados
+
+
+
+
+
+
+
+
+
+
+ Código do município onde o serviço foi prestado (tabela do IBGE)
+
+
+
+
+ Código do país onde o serviço foi prestado (Tabela de Países ISO)
+
+
+
+
+
+
+
+
+
+
+ Código de tributação nacional do ISSQN, nos termos da LC 116/2003, conforme aba MUN.INCID_INFO.SERV. do ANEXO I
+ Regra de formação - 6 dígitos numéricos sendo: 2 para Item (LC 116/2003), 2 para Subitem (LC 116/2003) e 2 para Desdobro Nacional
+
+
+
+
+
+ Código de tributação municipal do ISSQN
+
+
+
+
+ Descrição completa do serviço prestado
+
+
+
+
+ Código NBS correspondente ao serviço prestado, seguindo a versão 2.0, conforme Anexo B
+
+
+
+
+
+ Código interno do contribuinte
+
+
+
+
+
+
+
+
+
+
+
+ Modo de Prestação:
+ 0 - Desconhecido (tipo não informado na nota de origem);
+ 1 - Transfronteiriço;
+ 2 - Consumo no Brasil;
+ 3 - Movimento Temporário de Pessoas Físicas;
+ 4 - Consumo no Exterior;
+
+
+
+
+
+
+ Vínculo entre as partes no negócio:
+ 0 - Sem vínculo com o Tomador/Prestador
+ 1 - Controlada;
+ 2 - Controladora;
+ 3 - Coligada;
+ 4 - Matriz;
+ 5 - Filial ou sucursal;
+ 6 - Outro vínculo;
+ 9 - Desconhecido (tipo não informado na nota de origem);
+
+
+
+
+
+ Identifica a moeda da transação comercial
+
+
+
+
+ Valor do serviço prestado expresso em moeda estrangeira especificada em tpmoeda
+
+
+
+
+
+ Mecanismo de apoio/fomento ao Comércio Exterior utilizado pelo prestador do serviço:
+ 00 - Desconhecido (tipo não informado na nota de origem);
+ 01 - Nenhum;
+ 02 - ACC - Adiantamento sobre Contrato de Câmbio – Redução a Zero do IR e do IOF;
+ 03 - ACE – Adiantamento sobre Cambiais Entregues - Redução a Zero do IR e do IOF;
+ 04 - BNDES-Exim Pós-Embarque – Serviços;
+ 05 - BNDES-Exim Pré-Embarque - Serviços;
+ 06 - FGE - Fundo de Garantia à Exportação;
+ 07 - PROEX - EQUALIZAÇÃO
+ 08 - PROEX - Financiamento;
+
+
+
+
+
+
+ Mecanismo de apoio/fomento ao Comércio Exterior utilizado pelo tomador do serviço:
+ 00 - Desconhecido (tipo não informado na nota de origem);
+ 01 - Nenhum;
+ 02 - Adm. Pública e Repr. Internacional;
+ 03 - Alugueis e Arrend. Mercantil de maquinas, equip., embarc. e aeronaves;
+ 04 - Arrendamento Mercantil de aeronave para empresa de transporte aéreo público;
+ 05 - Comissão a agentes externos na exportação;
+ 06 - Despesas de armazenagem, mov. e transporte de carga no exterior;
+ 07 - Eventos FIFA (subsidiária);
+ 08 - Eventos FIFA;
+ 09 - Fretes, arrendamentos de embarcações ou aeronaves e outros;
+ 10 - Material Aeronáutico;
+ 11 - Promoção de Bens no Exterior;
+ 12 - Promoção de Dest. Turísticos Brasileiros;
+ 13 - Promoção do Brasil no Exterior;
+ 14 - Promoção Serviços no Exterior;
+ 15 - RECINE;
+ 16 - RECOPA;
+ 17 - Registro e Manutenção de marcas, patentes e cultivares;
+ 18 - REICOMP;
+ 19 - REIDI;
+ 20 - REPENEC;
+ 21 - REPES;
+ 22 - RETAERO;
+ 23 - RETID;
+ 24 - Royalties, Assistência Técnica, Científica e Assemelhados;
+ 25 - Serviços de avaliação da conformidade vinculados aos Acordos da OMC;
+ 26 - ZPE;
+
+
+
+
+
+
+ Vínculo da Operação à Movimentação Temporária de Bens:
+ 0 - Desconhecido (tipo não informado na nota de origem);
+ 1 - Não;
+ 2 - Vinculada - Declaração de Importação;
+ 3 - Vinculada - Declaração de Exportação;
+
+
+
+
+
+ Número da Declaração de Importação (DI/DSI/DA/DRI-E) averbado
+
+
+
+
+ Número do Registro de Exportação (RE) averbado
+
+
+
+
+
+ Compartilhar as informações da NFS-e gerada a partir desta DPS com a Secretaria de Comércio Exterior:
+ 0 - Não enviar para o MDIC;
+ 1 - Enviar para o MDIC;
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento Artístico, Cultural, Esportivo, etc
+
+
+
+
+ Data de início da atividade de evento. Ano, Mês e Dia (AAAA-MM-DD)
+
+
+
+
+ Data de fim da atividade de evento. Ano, Mês e Dia (AAAA-MM-DD)
+
+
+
+
+
+ Identificação da Atividade de Evento (código identificador de evento determinado pela Administração Tributária Municipal)
+
+
+
+
+ Grupo de informações relativas ao endereço da atividade, evento ou local do serviço prestado
+
+
+
+
+
+
+
+
+
+
+ Inscrição imobiliária fiscal (código fornecido pela Prefeitura Municipal para a identificação da obra ou para fins de recolhimento do IPTU)
+
+
+
+
+
+
+ Número de identificação da obra.
+ Cadastro Nacional de Obras (CNO) ou Cadastro Específico do INSS (CEI).
+
+
+
+
+
+
+ Código do Cadastro Imobiliário Brasileiro - CIB.
+
+
+
+
+
+ Grupo de informações do endereço da obra do serviço prestado
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificador de Documento de Responsabilidade Técnica: ART, RRT, DRT, Outros.
+
+
+
+
+
+
+ Chave da nota, número identificador da nota, número do contrato ou outro identificador de documento emitido pelo prestador de serviços, que subsidia a emissão dessa nota pelo tomador do serviço ou intermediário (preenchimento obrigatório caso a nota esteja sendo emitida pelo Tomador ou intermediário do serviço).
+
+
+
+
+
+
+ Número do pedido/ordem de compra/ordem de serviço/projeto que autorize a prestação do serviço em operações B2B - Informação de interesse do tomador do serviço para controle e gestão da Negociação
+
+
+
+
+
+
+ Grupo de itens do pedido/ordem de compra/ordem de serviço/projeto
+
+
+
+
+
+
+ Informações complementares
+
+
+
+
+
+
+
+
+
+
+
+ Número do item do pedido/ordem de compra/ordem de serviço/projeto - Identificação do número do item do pedido ou ordem de compra destacado e xPed
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações relativas aos valores do serviço prestado
+
+
+
+
+
+
+ Grupo de informações relativas aos descontos condicionados e incondicionados
+
+
+
+
+
+
+ Grupo de informações relativas ao valores para dedução/redução do valor da base de cálculo (valor do serviço)
+
+
+
+
+
+
+ Grupo de informações relacionados aos tributos relacionados ao serviço prestado
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações relacionados ao Imposto Sobre Serviços de Qualquer Natureza - ISSQN
+
+
+
+
+
+
+ Grupo de informações de outros tributos relacionados ao serviço prestado
+
+
+
+
+
+
+ Grupo de informações para totais aproximados dos tributos relacionados ao serviço prestado
+
+
+
+
+
+
+
+
+
+
+ Valor monetário recebido pelo intermediário do serviço (R$)
+
+
+
+
+ Valor dos serviços em R$
+
+
+
+
+
+
+
+
+
+ Valor monetário do desconto incondicionado (R$)
+
+
+
+
+ Valor monetário do desconto condicionado (R$)
+
+
+
+
+
+
+
+
+
+
+
+ Valor percentual padrão para dedução/redução do valor do serviço
+
+
+
+
+
+
+ Valor monetário padrão para dedução/redução do valor do serviço
+
+
+
+
+
+
+ Grupo de informações de documento utilizado para Dedução/Redução do valor do serviço
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações de documento utilizado para Dedução/Redução do valor do serviço
+
+
+
+
+
+
+
+
+
+
+
+ Chave de Acesso da NFS-e (Padrão Nacional)
+
+
+
+
+ Chave de Acesso da NF-e
+
+
+
+
+ Grupo de informações de Outras NFS-e (Padrão anterior de NFS-e)
+
+
+
+
+ Grupo de informações de NF ou NFS (Modelo não eletrônico)
+
+
+
+
+ Número de documento fiscal
+
+
+
+
+ Número de documento não fiscal
+
+
+
+
+
+
+ Identificação da Dedução/Redução:
+ 1 – Alimentação e bebidas/frigobar;
+ 2 – Materiais;
+ 3 - Produção Externa;
+ 4 - Reembolso de despesas;
+ 5 – Repasse consorciado;
+ 6 – Repasse plano de saúde;
+ 7 – Serviços;
+ 8 – Subempreitada de mão de obra;
+ 9 - Profissional parceiro;
+ 99 – Outras deduções;
+
+
+
+
+
+ Descrição da Dedução/Redução quando a opção é "99 – Outras Deduções"
+
+
+
+
+ Data da emissão do documento dedutível. Ano, mês e dia (AAAA-MM-DD)
+
+
+
+
+
+ Valor monetário total dedutível/redutível no documento informado (R$).
+ Este é o valor total no documento informado que é passível de dedução/redução.
+
+
+
+
+
+
+ Valor monetário utilizado para dedução/redução do valor do serviço da NFS-e que está sendo emitida (R$).
+ Deve ser menor ou igual ao valor deduzível/redutível (vDedutivelRedutivel).
+
+
+
+
+
+ Grupo de informações do Fornecedor em Deduções de Serviços
+
+
+
+
+
+
+
+
+
+ Código Município emissor da nota eletrônica municipal (Tabela do IBGE)
+
+
+
+
+ Número da nota eletrônica municipal
+
+
+
+
+ Código de Verificação da nota eletrônica municipal
+
+
+
+
+
+
+
+
+
+ Número da Nota Fiscal NF ou NFS
+
+
+
+
+ Modelo da Nota Fiscal NF ou NFS
+
+
+
+
+ Série Nota Fiscal NF ou NFS
+
+
+
+
+
+
+
+
+
+
+ Tributação do ISSQN sobre o serviço prestado:
+ 1 - Operação tributável;
+ 2 - Imunidade;
+ 3 - Exportação de serviço;
+ 4 - Não Incidência;
+
+
+
+
+
+
+ Código do país onde se verficou o resultado da prestação do serviço para o caso de Exportação de Serviço.(Tabela de Países ISO)
+
+
+
+
+
+
+ Identificação da Imunidade do ISSQN – somente para o caso de Imunidade.
+ Tipos de Imunidades:
+ 0 - Imunidade (tipo não informado na nota de origem);
+ 1 - Patrimônio, renda ou serviços, uns dos outros (CF88, Art 150, VI, a);
+ 2 - Templos de qualquer culto (CF88, Art 150, VI, b);
+ 3 - Patrimônio, renda ou serviços dos partidos políticos, inclusive suas fundações, das entidades sindicais dos trabalhadores, das instituições de educação e de assistência social, sem fins lucrativos, atendidos os requisitos da lei (CF88, Art 150, VI, c);
+ 4 - Livros, jornais, periódicos e o papel destinado a sua impressão (CF88, Art 150, VI, d);
+ 5 - Fonogramas e videofonogramas musicais produzidos no Brasil contendo obras musicais ou literomusicais de autores brasileiros e/ou obras em geral interpretadas por artistas brasileiros bem como os suportes materiais ou arquivos digitais que os contenham, salvo na etapa de replicação industrial de mídias ópticas de leitura a laser. (CF88, Art 150, VI, e);
+
+
+
+
+
+
+ Informações para a suspensão da Exigibilidade do ISSQN
+
+
+
+
+
+
+ Tributação do ISSQN sobre o serviço prestado:
+ 1 - Operação tributável;
+ 2 - Exportação de serviço;
+ 3 - Não Incidência;
+ 4 - Imunidade;
+
+
+
+
+
+
+ Tipo de retencao do ISSQN:
+ 1 - Não Retido;
+ 2 - Retido pelo Tomador;
+ 3 - Retido pelo Intermediario;
+
+
+
+
+
+
+ Valor da alíquota (%) do serviço prestado relativo ao município sujeito ativo (município de incidência) do ISSQN.
+ Se o município de incidência pertence ao Sistema Nacional NFS-e a alíquota estará parametrizada e, portanto, será fornecida pelo sistema.
+ Se o município de incidência não pertence ao Sistema Nacional NFS-e a alíquota não estará parametrizada e, por isso, deverá ser fornecida pelo emitente.
+
+
+
+
+
+
+
+
+
+
+
+ Identificador do benefício parametrizado pelo município.
+
+ Trata-se de um identificador único que foi gerado pelo Sistema Nacional no momento em que o município de incidência do ISSQN incluiu o benefício no sistema.
+
+ Critério de formação do número de identificação de parâmetros municipais:
+ 7 dígitos - posição 1 a 7: número identificador do Município, conforme código IBGE;
+ 2 dígitos - posições 8 e 9 : número identificador do tipo de parametrização (01-legislação, 02-regimes especiais, 03-retenções, 04-outros benefícios);
+ 5 dígitos - posição 10 a 14 : número sequencial definido pelo sistema quando do registro específico do parâmetro dentro do tipo de parametrização no sistema;
+
+
+
+
+
+
+
+ Valor monetário informado pelo emitente para redução da base de cálculo (BC) do ISSQN devido a um Benefício Municipal (BM).
+
+
+
+
+
+
+ Valor percentual informado pelo emitente para redução da base de cálculo (BC) do ISSQN devido a um Benefício Municipal (BM).
+
+
+
+
+
+
+
+
+
+
+
+
+ Opção para Exigibilidade Suspensa:
+ 1 - Exigibilidade Suspensa por Decisão Judicial;
+ 2 - Exigibilidade Suspensa por Processo Administrativo;
+
+
+
+
+
+
+ Número do processo judicial ou administrativo de suspensão da exigibilidade
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações dos tributos PIS/COFINS
+
+
+
+
+
+
+ Valor monetário do CP(R$).
+
+
+
+
+
+
+ Valor monetário do IRRF (R$).
+
+
+
+
+
+
+ Valor monetário do CSLL (R$).
+
+
+
+
+
+
+
+
+
+
+
+ Código de Situação Tributária do PIS/COFINS (CST):
+ 00 - Nenhum;
+ 01 - Operação Tributável com Alíquota Básica;
+ 02 - Operação Tributável com Alíquota Diferenciada;
+ 03 - Operação Tributável com Alíquota por Unidade de Medida de Produto;
+ 04 - Operação Tributável monofásica - Revenda a Alíquota Zero;
+ 05 - Operação Tributável por Substituição Tributária;
+ 06 - Operação Tributável a Alíquota Zero;
+ 07 - Operação Isenta da Contribuição;
+ 08 - Operação sem Incidência da Contribuição;
+ 09 - Operação com Suspensão da Contribuição;
+ 49 - Outras Operações de Saída;
+ 50 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Tributada no Mercado Interno;
+ 51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno;
+ 52 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita de Exportação;
+ 53 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno;
+ 54 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas no Mercado Interno e de Exportação;
+ 55 - Operação com Direito a Crédito – Vinculada a Receitas Não Tributadas no Mercado Interno e de Exportação;
+ 56 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação;
+ 60 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno;
+ 61 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno;
+ 62 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação;
+ 63 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno;
+ 64 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação;
+ 65 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação;
+ 66 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação;
+ 67 - Crédito Presumido – Outras Operações;
+ 70 - Operação de Aquisição sem Direito a Crédito;
+ 71 - Operação de Aquisição com Isenção;
+ 72 - Operação de Aquisição com Suspensão;
+ 73 - Operação de Aquisição a Alíquota Zero;
+ 74 - Operação de Aquisição sem Incidência da Contribuição;
+ 75 - Operação de Aquisição por Substituição Tributária;
+ 98 - Outras Operações de Entrada;
+ 99 - Outras Operações;
+
+
+
+
+
+
+ Valor da Base de Cálculo do PIS/COFINS, relativo à apuração própria (R$).
+
+
+
+
+
+
+ Alíquota do PIS, relativa à apuração própria (%).
+
+
+
+
+
+
+ Alíquota da COFINS, relativa à apuração própria (%).
+
+
+
+
+
+
+ Valor do débito de PIS apuração própria (R$).
+
+
+
+
+
+
+ Valor do débito de COFINS apuração própria (R$).
+
+
+
+
+
+
+ Tipo de retenção do PIS/COFINS:
+ 0 - PIS/COFINS/CSLL Não Retidos;
+ 1 - PIS/COFINS Retidos;
+ 2 - PIS/COFINS Não Retidos;
+ 3 - PIS/COFINS/CSLL Retidos;
+ 4 - PIS/COFINS Retidos, CSLL Não Retido;
+ 5 - PIS Retido, COFINS/CSLL Não Retido;
+ 6 - COFINS Retido, PIS/CSLL Não Retido;
+ 7 - PIS Não Retido, COFINS/CSLL Retidos;
+ 8 - PIS/COFINS Não Retidos, CSLL Retido;
+ 9 - COFINS Não Retido, PIS/CSLL Retidos;
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor monetário total aproximado dos tributos, em conformidade com o artigo 1o da Lei no 12.741/2012
+
+
+
+
+
+
+ Valor percentual total aproximado dos tributos, em conformidade com o artigo 1o da Lei no 12.741/2012
+
+
+
+
+
+
+ Indicador de informação de valor total de tributos. Possui valor fixo igual a zero (indTotTrib=0).
+ Não informar nenhum valor estimado para os Tributos (Decreto 8.264/2014).
+ 0 - Não;
+
+
+
+
+
+
+ Valor percentual aproximado do total dos tributos da alíquota do Simples Nacional (%)
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor monetário total aproximado dos tributos federais (R$).
+
+
+
+
+
+
+ Valor monetário total aproximado dos tributos estaduais (R$).
+
+
+
+
+
+
+ Valor monetário total aproximado dos tributos municipais (R$).
+
+
+
+
+
+
+
+
+
+
+
+ Valor percentual total aproximado dos tributos federais (%).
+
+
+
+
+
+
+ Valor percentual total aproximado dos tributos estaduais (%).
+
+
+
+
+
+
+ Valor percentual total aproximado dos tributos municipais (%).
+
+
+
+
+
+
+
+
+
+
+
+ Indicador da finalidade da emissão de NFS-e
+
+
+
+
+
+
+ Indica operação de uso ou consumo pessoal (art. 57)
+
+
+
+
+
+
+ Código indicador da operação de fornecimento, conforme tabela "código indicador de operação"
+
+
+
+
+
+
+ Tipo de Operação com Entes Governamentais ou outros serviços sobre bens imóveis
+
+
+
+
+
+
+ Grupo de NFS-e referenciadas
+
+
+
+
+
+
+ Tipo de ente governamental
+
+
+
+
+
+
+ A respeito do Destinatário dos serviços
+
+
+
+
+
+
+ Grupo de informações relativas ao Destinatário
+
+
+
+
+
+
+ Grupo de informações de operações relacionadas a bens imóveis, exceto obras
+
+
+
+
+
+
+ Grupo de informações relativas aos valores do serviço prestado para IBS e CBS
+
+
+
+
+
+
+
+
+
+
+
+ Chave da NFS-e referenciada
+
+
+
+
+
+
+
+
+
+
+
+
+ Número da inscrição no Cadastro Nacional de Pessoa Jurídica (CNPJ) do Destinatário do serviço
+
+
+
+
+
+
+ Número da inscrição no Cadastro de Pessoa Física (CPF) do Destinatário do serviço
+
+
+
+
+
+
+ Número de Identificação Fiscal fornecido por órgão de administração tributária no exterior
+
+
+
+
+
+
+ Motivo para não informação do NIF:
+ 0 - Não informado na nota de origem;
+ 1 - Dispensado do NIF;
+ 2 - Não exigência do NIF;
+
+
+
+
+
+
+
+ Nome / Nome Empresarial do do Destinatário do serviço
+
+
+
+
+
+
+ Grupo de informações do endereço do Destinatário do serviço
+
+
+
+
+
+
+ Número do telefone do Destinatário do serviço
+ (Preencher com o Código DDD + número do telefone. Nas operações com exterior é permitido informar o
+ código do país + código da localidade + número do telefone)
+
+
+
+
+
+ E-mail do Destinatário do serviço
+
+
+
+
+
+
+
+
+
+
+ Inscrição imobiliária fiscal (código fornecido pela Prefeitura Municipal para a identificação da obra ou para fins de recolhimento do IPTU)
+
+
+
+
+
+
+
+ Código do Cadastro Imobiliário Brasileiro - CIB
+
+
+
+
+
+
+ Grupo de informações do endereço da obra do serviço prestado
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações relativas a valores incluídos neste documento e recebidos por motivo de estarem relacionadas
+ a operações de terceiros, objeto de reembolso, repasse ou ressarcimento pelo recebedor, já tributados e aqui referenciados
+
+
+
+
+
+
+ Grupo de informações relacionados aos tributos IBS e CBS
+
+
+
+
+
+
+
+
+
+
+
+ Grupo relativo aos documentos referenciados nos casos de reembolso, repasse e ressarcimento que serão
+ considerados na base de cálculo do ISSQN, do IBS e da CBS
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações relacionadas ao IBS e à CBS
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações de documentos fiscais eletrônicos que se encontram no repositório nacional
+
+
+
+
+
+
+ Grupo de informações de documento fiscais, eletrônicos ou não, que não se encontram no repositório nacional
+
+
+
+
+
+
+ Grupo de informações de documento não fiscal.
+
+
+
+
+
+
+
+ Grupo de informações do fornecedor do documento referenciado
+
+
+
+
+
+
+ Data da emissão do documento dedutível
+ Ano, mês e dia (AAAA-MM-DD)
+
+
+
+
+
+
+ Data da competência do documento dedutível
+ Ano, mês e dia (AAAA-MM-DD)
+
+
+
+
+
+
+ Tipo de valor incluído neste documento, recebido por motivo de estarem relacionadas a operações de terceiros,
+ objeto de reembolso, repasse ou ressarcimento pelo recebedor, já tributados e aqui referenciados
+
+
+
+
+
+
+ Descrição do reembolso ou ressarcimento quando a opção é
+ "99 – Outros reembolsos ou ressarcimentos recebidos por valores pagos relativos a operações por conta e ordem de terceiro"
+
+
+
+
+
+
+ Valor monetário (total ou parcial, conforme documento informado) utilizado para não inclusão na base de cálculo
+ do ISS e do IBS e da CBS da NFS-e que está sendo emitida (R$)
+
+
+
+
+
+
+
+
+
+
+
+ Documento fiscal a que se refere a chaveDfe que seja um dos documentos do Repositório Nacional
+
+
+
+
+
+
+ Descrição da DF-e a que se refere a chaveDfe que seja um dos documentos do Repositório Nacional
+ Deve ser preenchido apenas quando "tipoChaveDFe = 9 (Outro)"
+
+
+
+
+
+
+ Chave do Documento Fiscal eletrônico do repositório nacional referenciado para os casos de operações já tributadas
+
+
+
+
+
+
+
+
+
+
+
+ Código do município emissor do documento fiscal que não se encontra no repositório nacional
+
+
+
+
+
+
+ Número do documento fiscal que não se encontra no repositório nacional
+
+
+
+
+
+
+ Descrição do documento fiscal
+
+
+
+
+
+
+
+
+
+
+
+ Número do documento não fiscal
+
+
+
+
+
+
+ Descrição do documento não fiscal
+
+
+
+
+
+
+
+
+
+
+
+
+ Número da inscrição no Cadastro Nacional de Pessoa Jurídica (CNPJ) do Fornecedor do serviço
+
+
+
+
+
+
+ Número da inscrição no Cadastro de Pessoa Física (CPF) do Fornecedor do serviço
+
+
+
+
+
+
+ Este elemento só deverá ser preenchido para fornecedores não residentes no Brasil
+
+
+
+
+
+
+ Motivo para não informação do NIF:
+ 0 - Não informado na nota de origem;
+ 1 - Dispensado do NIF;
+ 2 - Não exigência do NIF;
+
+
+
+
+
+
+
+ Nome / Razão Social do do Fornecedor do serviço
+
+
+
+
+
+
+
+
+
+
+
+ Código de Situação Tributária do IBS e da CBS
+
+
+
+
+
+
+ Código de Classificação Tributária do IBS e da CBS
+
+
+
+
+
+
+ Código e Classificação do Crédito Presumido: IBS e CBS
+
+
+
+
+
+
+ Grupo de informações da Tributação Regular
+
+
+
+
+
+
+ Grupo de informações relacionadas ao diferimento para IBS e CBS
+
+
+
+
+
+
+
+
+
+
+
+ Código de Situação Tributária do IBS e da CBS de tributação regular
+
+
+
+
+
+
+ Código da Classificação Tributária do IBS e da CBS de tributação regular
+
+
+
+
+
+
+
+
+
+
+
+ Percentual de diferimento para o IBS estadual
+
+
+
+
+
+
+ Percentual de diferimento para o IBS municipal
+
+
+
+
+
+
+ Percentual de diferimento para a CBS
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/tiposEventos_v1.01.xsd b/nfelib/nfse/schemas/v1_01/tiposEventos_v1.01.xsd
new file mode 100644
index 00000000..52c1ef93
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/tiposEventos_v1.01.xsd
@@ -0,0 +1,780 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Versão do aplicativo que gerou o evento
+
+
+
+
+
+ Ambiente gerador do evento:
+ 1 - Sistema próprio do município;
+ 2 - Sefin Nacional NFS-e;
+ 3 - ADN NFS-e;
+
+
+
+
+
+
+ Número sequencial do evento para o mesmo tipo de evento.
+ Para os eventos que ocorrem somente uma vez, como é o caso do cancelamento, o nSeqEvento = 001.
+ Para os eventos que possam existir mais de um evento do mesmo tipo o ambiente gerador deverá numerar de forma sequencial.
+
+
+
+
+
+
+ Data/Hora do registro do evento.
+ Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD
+
+
+
+
+
+ Número sequencial do documento gerado por ambiente gerador de DFSe do município
+
+
+
+
+ Leiaute do pedido de registro do evento gerado pelo autor do evento
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de ambiente:
+ 1 - Produção;
+ 2 - Homologação;
+
+
+
+
+
+ Versão do aplicativo que gerou o pedido de registro de evento
+
+
+
+
+
+ Data e hora do evento no formato AAAA-MM-DDThh:mm:ssTZD (UTC - Universal Coordinated Time, onde TZD pode ser -02:00 (Fernando de Noronha), -03:00 (Brasília) ou -04:00 (Manaus), no horário de verão serão -01:00, -02:00 e -03:00. Ex.: 2010-08-19T13:00:15-03:00.
+
+
+
+
+
+ Identificação do Autor do Pedido de Evento
+
+
+
+
+ Número de inscrição federal (CNPJ) do autor do evento.
+ CNPJ do autor do evento (parte interessada ou pessoa que figure na NFS-e.
+ O autor do evento não é o procurador)
+
+
+
+
+
+
+ Número de inscrição federal (CPF) do autor do evento.
+ CPF do autor do evento (parte interessada ou pessoa que figure na NFS-e como prestador, tomador, intermediário.
+ O autor do evento poderá ser o procurador)
+
+
+
+
+
+
+ Identificador da NFS-e à qual o evento será vinculado
+
+
+
+
+
+ Evento de cancelamento
+
+
+
+
+ Evento de cancelamento por substituição
+
+
+
+
+ Solicitação de Análise Fiscal para Cancelamento de NFS-e
+
+
+
+
+ Cancelamento de NFS-e Deferido por Análise Fiscal
+
+
+
+
+ Cancelamento de NFS-e Indeferido por Análise Fiscal
+
+
+
+
+
+ Confirmação do Prestador
+
+
+
+
+ Confirmação do Tomador
+
+
+
+
+ Confirmação do Intermediário
+
+
+
+
+ Confirmação Tácita
+
+
+
+
+ Rejeição do Prestador
+
+
+
+
+ Rejeição do Tomador
+
+
+
+
+ Rejeição do Intermediário
+
+
+
+
+ Anulação da Rejeição
+
+
+
+
+
+ Cancelamento de NFS-e por Ofício
+
+
+
+
+ Bloqueio de NFS-e por Ofício
+
+
+
+
+ Desbloqueio de NFS-e por Ofício
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do Evento: Descrição do evento: "Cancelamento de NFS-e".
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de justificativa de cancelamento:
+ 1 - Erro na Emissão;
+ 2 - Serviço não Prestado;
+ 9 - Outros;
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do Evento: Descrição do evento: "Cancelamento de NFS-e por Substituição".
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de justificativa de cancelamento substituição:
+ 01 - Desenquadramento de NFS-e do Simples Nacional;
+ 02 - Enquadramento de NFS-e no Simples Nacional;
+ 03 - Inclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 04 - Exclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 05 - Rejeição de NFS-e pelo tomador ou pelo intermediário se responsável pelo recolhimento do tributo;
+ 99 - Outros;
+ Obtido do campo da DPS "DPS/infDPS/subst/cMotivo"
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento.
+ Obtido do campo da DPS "DPS/infDPS/subst/xMotivo".
+
+
+
+
+
+ Chave de Acesso da NFS-e substituta
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Solicitação de Análise Fiscal para Cancelamento de NFS-e"
+
+
+
+
+
+
+
+
+
+
+
+
+ Código do motivo da solicitação de análise fiscal para cancelamento de NFS-e:
+ 1 - Erro na Emissão;
+ 2 - Serviço não Prestado;
+ 9 - Outros;
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Cancelamento de NFS-e Deferido por Análise Fiscal"
+
+
+
+
+
+
+
+
+
+
+
+
+ CPF do agente da administração tributária municipal que efetuou o deferimento da solicitação de análise fiscal para cancelamento de NFS-e.
+
+
+
+
+
+
+ Número do processo administrativo municipal vinculado à solicitação de análise fiscal para cancelamento de NFS-e.
+
+
+
+
+
+
+ Resposta da solicitação de análise fiscal para cancelamento de NFS-e:
+ 1 - Cancelamento de NFS-e Deferido.
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Cancelamento de NFS-e Indeferido por Análise Fiscal".
+
+
+
+
+
+
+
+
+
+
+
+
+ CPF do agente da administração tributária municipal que efetuou o indeferimento da solicitação de análise fiscal para cancelamento de NFS-e.
+
+
+
+
+
+
+ Número do processo administrativo municipal vinculado à solicitação de análise fiscal para cancelamento de NFS-e.
+
+
+
+
+
+
+ Resposta da solicitação de análise fiscal para cancelamento de NFS-e:
+ 1 - Cancelamento de NFS-e Indeferido;
+ 2 - Cancelamento de NFS-e Indeferido Sem Análise de Mérito.
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Confirmação do Prestador".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Confirmação do Tomador".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Confirmação do Intermediário".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Confirmação Tácita".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Rejeição do Prestador".
+
+
+
+
+
+
+
+
+
+
+
+
+ Motivo da Rejeição da NFS-e:
+ 1 - NFS-e em duplicidade;
+ 2 - NFS-e já emitida pelo tomador;
+ 3 - Não ocorrência do fato gerador;
+ 4 - Erro quanto a responsabilidade tributária;
+ 5 - Erro quanto ao valor do serviço, valor das deduções ou serviço prestado ou data do fato gerador;
+ 9 - Outros;
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Rejeição do Tomador".
+
+
+
+
+
+
+
+
+
+
+
+
+ Motivo da Rejeição da NFS-e:
+ 1 - NFS-e em duplicidade;
+ 2 - NFS-e já emitida pelo tomador;
+ 3 - Não ocorrência do fato gerador;
+ 4 - Erro quanto a responsabilidade tributária;
+ 5 - Erro quanto ao valor do serviço, valor das deduções ou serviço prestado ou data do fato gerador;
+ 9 - Outros;
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Rejeição do Intermediário".
+
+
+
+
+
+
+
+
+
+
+
+
+ Motivo da Rejeição da NFS-e:
+ 1 - NFS-e em duplicidade;
+ 2 - NFS-e já emitida pelo tomador;
+ 3 - Não ocorrência do fato gerador;
+ 4 - Erro quanto a responsabilidade tributária;
+ 5 - Erro quanto ao valor do serviço, valor das deduções ou serviço prestado ou data do fato gerador;
+ 9 - Outros;
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Manifestação de NFS-e - Anulação da Rejeição".
+
+
+
+
+
+
+
+
+
+
+
+
+ CPF do agente da administração tributária municipal que efetuou o anulação da manifestação de rejeição da NFS-e
+
+
+
+
+
+
+ Referência ao "id" do Evento de Manifestação de NFS-e - Rejeição, que originou o presente evento de anulação
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Cancelamento de NFS-e por Ofício"
+
+
+
+
+
+
+
+
+
+
+
+
+ CPF do agente da administração tributária municipal que efetuou o cancelamento por ofício de NFS-e
+
+
+
+
+
+
+ Número do processo administrativo municipal vinculado ao cancelamento de NFS-e por ofício
+
+
+
+
+
+
+ Descrição para explicitar o motivo do processo administrativo municipal indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Bloqueio de NFS-e por Ofício".
+
+
+
+
+
+
+
+
+
+
+
+
+ CPF do agente da administração tributária municipal que efetuou o bloqueio de NFS-e por ofício
+
+
+
+
+
+
+ Eventos que podem ser escolhidos pelo município emissor para serem rejeitados após emissão e vinculação do evento de bloqueio por ofício em uma NFS-e:
+ e101101 - Cancelamento de NFS-e;
+ e105102 - Cancelamento de NFS-e por Substituição;
+ e105104 - Cancelamento de NFS-e Deferido por Análise Fiscal;
+ e105105 - Cancelamento de NFS-e Indeferido por Análise Fiscal;
+ e305101 - Cancelamento de NFS-e por Ofício;
+
+
+
+
+
+
+ Descrição para explicitar o motivo indicado neste evento
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do evento: "Desbloqueio de NFS-e por Ofício".
+
+
+
+
+
+
+
+
+
+
+
+
+ CPF do agente da administração tributária municipal que efetuou o desbloqueio de NFS-e por ofício
+
+
+
+
+
+
+ Referência ao "id" do "Bloqueio de ofício" que originou o presente evento de desbloqueio
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/tiposSimples_v1.01.xsd b/nfelib/nfse/schemas/v1_01/tiposSimples_v1.01.xsd
new file mode 100644
index 00000000..9f9cdfdc
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/tiposSimples_v1.01.xsd
@@ -0,0 +1,1844 @@
+
+
+
+
+ Tipo Versão da NF-e - 1.00|1.01
+
+
+
+
+
+
+
+
+
+ Tipo string genérico
+
+
+
+
+
+
+
+
+ Tipo string genérico
+
+
+
+
+
+
+
+
+
+ Informar o identificador precedido do literal ‘NFS’. A regra de formação do identificador de 53 posições da NFS-e é:
+ "NFS" + Cód.Mun.(7) + Amb.Ger.(1) + Tipo de Inscrição Federal(1) + Inscrição Federal(14) + No.NFS-e(13) + AnoMes Emis.(4) + Cód.Num.(9) + DV(1)
+
+
+
+
+
+
+
+
+
+
+
+ Informar o identificador precedido do literal ‘DPS’. A regra de formação do identificador de 45 posições da DPS é:
+ "DPS" + Cód.Mun (7) + Tipo de Inscrição Federal (1) + Inscrição Federal (14 - CPF completar com 000 à esquerda) + Série DPS (5)+ Núm. DPS (15)
+
+
+
+
+
+
+
+
+
+
+
+ Tipos de ambiente do Sistema Nacional NFS-e:
+ 1 - Produção;
+ 2 - Homologação;
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Ambiente Gerador de NFS-e:
+ 1 - Prefeitura;
+ 2 - Sistema Nacional da NFS-e;
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Ambiente gerador do evento:
+ 1- Prefeitura;
+ 2- Sefin Nacional;
+ 3- Ambiente Nacional.
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de emissão da NFS-e:
+ 1 - Emissão normal no modelo da NFS-e Nacional;
+ 2 - Emissão original em leiaute próprio do município com transcrição para o modelo da NFS-e Nacional.
+
+
+
+
+
+
+
+
+
+
+
+ Processo de Emissão da DPS:
+ 1 - Emissão com aplicativo do contribuinte (via Web Service);
+ 2 - Emissão com aplicativo disponibilizado pelo fisco (Web);
+ 3 - Emissão com aplicativo disponibilizado pelo fisco (App);
+
+
+
+
+
+
+
+
+
+
+
+ Tipo data no formato AAAA-MM-DD
+
+
+
+
+
+
+
+
+ Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)
+
+
+
+
+
+
+
+
+ Tipo Versão do Aplicativo que gerou o documento fiscal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Emitente da DPS:
+ 1 - Prestador
+ 2 - Tomador
+ 3 - Intermediário
+
+
+
+
+
+
+
+
+
+
+
+
+ Motivo da Emissão da DPS pelo Tomador/Intermediário:
+ 1 - Importação de Serviço;
+ 2 - Tomador/Intermediário obrigado a emitir NFS-e por legislação municipal;
+ 3 - Tomador/Intermediário emitindo NFS-e por recusa de emissão pelo prestador;
+ 4 - Tomador/Intermediário emitindo por rejeitar a NFS-e emitida pelo prestador;
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Chave da Nota Fiscal de Serviço Eletrônica
+
+
+
+
+
+
+
+
+
+ Tipo Chave da Nota Fiscal Eletrônica - NF-e
+
+
+
+
+
+
+
+
+
+
+ Código de justificativa de cancelamento:
+ 1 - Erro na Emissão;
+ 2 - Serviço não Prestado;
+ 9 - Outros;
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de justificativa para substituição de NFS-e:
+ 01 - Desenquadramento de NFS-e do Simples Nacional;
+ 02 - Enquadramento de NFS-e no Simples Nacional;
+ 03 - Inclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 04 - Exclusão Retroativa de Imunidade/Isenção para NFS-e;
+ 05 - Rejeição de NFS-e pelo tomador ou pelo intermediário se responsável pelo recolhimento do tributo;
+ 99 - Outros;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código do motivo da solicitação de análise fiscal para cancelamento de NFS-e:
+ 1 - Erro na Emissão;
+ 2 - Serviço não Prestado;
+ 3 - Outros.
+
+
+
+
+
+
+
+
+
+
+
+
+ Motivo da Rejeição da NFS-e:
+ 1 - NFS-e em duplicidade;
+ 2 - NFS-e já emitida pelo tomador;
+ 3 - Não ocorrência do fato gerador;
+ 4 - Erro quanto a responsabilidade tributária;
+ 5 - Erro quanto ao valor do serviço, valor das deduções ou serviço prestado ou data do fato gerador;
+ 9 - Outros;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Resposta da análise da solicitação do cancelamento extemporâneo de NFS-e:
+ 1 - Cancelamento Extemporâneo Deferido.
+
+
+
+
+
+
+
+
+
+
+ Resposta da análise da solicitação do cancelamento extemporâneo de NFS-e:
+ 1 - Cancelamento Extemporâneo Indeferido;
+ 2 - Cancelamento Extemporâneo Indeferido Sem Análise de Mérito.
+
+
+
+
+
+
+
+
+
+
+ Número do processo administrativo municipal vinculado à solicitação de cancelamento extemporâneo de NFS-e.
+
+
+
+
+
+
+
+
+
+
+
+ Tipo do autor da manifestação da NFS-e:
+ 1 - Prestador;
+ 2 - Tomador;
+ 3 - Intermediário.
+
+
+
+
+
+
+
+
+
+
+
+ Descrição do motivo da substituição da NFS-e
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ
+
+
+
+
+
+
+
+
+
+ Tipo Número do CPF
+
+
+
+
+
+
+
+
+
+ Tipo Número do CAEPF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Motivo para não informação do NIF:
+ 0 - Não informado na nota de origem;
+ 1 - Dispensado do NIF;
+ 2 - Não exigência do NIF;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+ Tipo Sigla da UF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CEP
+
+
+
+
+
+
+
+
+ Código de enderaçamento postal
+
+
+
+
+
+
+
+
+
+ Cidade
+
+
+
+
+
+
+
+
+
+ Estado, província ou região
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número do telefone do prestador:
+ Preencher com o Código DDD + número do telefone.
+ Nas operações com exterior é permitido informar o código do país + código da localidade + número do telefone
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de tributação municipal do ISSQN
+
+
+
+
+
+
+
+
+ Tipo com código que identifica a moeda conforme tabela do BACEN
+
+
+
+
+
+
+
+
+
+
+ Modo de Prestação:
+ 0 - Desconhecido (tipo não informado na nota de origem);
+ 1 - Transfronteiriço;
+ 2 - Consumo no Brasil;
+ 3 - Presença Comercial no Exterior;
+ 4 - Movimento Temporário de Pessoas Físicas;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vínculo entre as partes no negócio:
+ 0 - Sem vínculo com o Tomador/Prestador
+ 1 - Controlada;
+ 2 - Controladora;
+ 3 - Coligada;
+ 4 - Matriz;
+ 5 - Filial ou sucursal;
+ 6 - Outro vínculo;
+ 9 - Desconhecido (tipo não informado na nota de origem);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mecanismo de apoio/fomento ao Comércio Exterior utilizado pelo prestador do serviço:
+ 00 - Desconhecido (tipo não informado na nota de origem);
+ 01 - Nenhum;
+ 02 - ACC - Adiantamento sobre Contrato de Câmbio – Redução a Zero do IR e do IOF;
+ 03 - ACE – Adiantamento sobre Cambiais Entregues - Redução a Zero do IR e do IOF;
+ 04 - BNDES-Exim Pós-Embarque – Serviços;
+ 05 - BNDES-Exim Pré-Embarque - Serviços;
+ 06 - FGE - Fundo de Garantia à Exportação;
+ 07 - PROEX - EQUALIZAÇÃO
+ 08 - PROEX - Financiamento;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mecanismo de apoio/fomento ao Comércio Exterior utilizado pelo tomador do serviço:
+ 00 - Desconhecido (tipo não informado na nota de origem);
+ 01 - Nenhum;
+ 02 - Adm. Pública e Repr. Internacional;
+ 03 - Alugueis e Arrend. Mercantil de maquinas, equip., embarc. e aeronaves;
+ 04 - Arrendamento Mercantil de aeronave para empresa de transporte aéreo público;
+ 05 - Comissão a agentes externos na exportação;
+ 06 - Despesas de armazenagem, mov. e transporte de carga no exterior;
+ 07 - Eventos FIFA (subsidiária);
+ 08 - Eventos FIFA;
+ 09 - Fretes, arrendamentos de embarcações ou aeronaves e outros;
+ 10 - Material Aeronáutico;
+ 11 - Promoção de Bens no Exterior;
+ 12 - Promoção de Dest. Turísticos Brasileiros;
+ 13 - Promoção do Brasil no Exterior;
+ 14 - Promoção Serviços no Exterior;
+ 15 - RECINE;
+ 16 - RECOPA;
+ 17 - Registro e Manutenção de marcas, patentes e cultivares;
+ 18 - REICOMP;
+ 19 - REIDI;
+ 20 - REPENEC;
+ 21 - REPES;
+ 22 - RETAERO;
+ 23 - RETID;
+ 24 - Royalties, Assistência Técnica, Científica e Assemelhados;
+ 25 - Serviços de avaliação da conformidade vinculados aos Acordos da OMC;
+ 26 - ZPE;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Vínculo da Operação à Movimentação Temporária de Bens:
+ 0 - Desconhecido (tipo não informado na nota de origem);
+ 1 - Não;
+ 2 - Vinculada - Declaração de Importação;
+ 3 - Vinculada - Declaração de Exportação;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Categorias de veículos para cobrança:
+ 00 - Categoria de veículos (tipo não informado na nota de origem)
+ 01 - Automóvel, caminhonete e furgão;
+ 02 - Caminhão leve, ônibus, caminhão trator e furgão;
+ 03 - Automóvel e caminhonete com semireboque;
+ 04 - Caminhão, caminhão-trator, caminhão-trator com semi-reboque e ônibus;
+ 05 - Automóvel e caminhonete com reboque;
+ 06 - Caminhão com reboque;
+ 07 - Caminhão trator com semi-reboque;
+ 08 - Motocicletas, motonetas e bicicletas motorizadas;
+ 09 - Veículo especial;
+ 10 - Veículo Isento;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número da Declaração de Importação (DI/DSI/DA/DRI-E) averbado
+
+
+
+
+
+
+
+
+ Número do Registro de Exportação (RE) averbado
+
+
+
+
+
+
+
+
+
+ Compartilhar as informações da NFS-e gerada a partir desta DPS com a Secretaria de Comércio Exterior:
+ 0 - Não enviar para o MDIC;
+ 1 - Enviar para o MDIC;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número de eixos para fins de cobrança
+
+
+
+
+
+
+
+
+
+ Tipo de rodagem:
+ 1 - Simples;
+ 2 - Dupla;
+
+
+
+
+
+
+
+
+
+
+ Orientação de passagem do veículo: ângulo em graus a partir do norte geográfico em sentido horário, número inteiro de 0 a 359, onde 0º seria o norte, 90º o leste, 180º o sul, 270º o oeste. Precisão mínima de 10
+
+
+
+
+
+
+
+
+ Identificação da Atividade de Evento (código identificador de evento determinado pela Administração Tributária Municipal)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação da Dedução/Redução:
+ 1 – Alimentação e bebidas/frigobar;
+ 2 – Materiais;
+ 3 - Produção Externa;
+ 4 - Reembolso de despesas;
+ 5 – Repasse consorciado;
+ 6 – Repasse plano de saúde;
+ 7 – Serviços;
+ 8 – Subempreitada de mão de obra;
+ 9 - Profissional parceiro;
+ 99 – Outras deduções;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Descrição da Dedução/Redução quando a opção é "99 – Outras Deduções"
+
+
+
+
+
+
+
+
+
+
+ Identificador do benefício parametrizado pelo município.
+
+ Trata-se de um identificador único que foi gerado pelo Sistema Nacional no momento em que o município de incidência do ISSQN incluiu o benefício no sistema.
+
+ Critério de formação do número de identificação de parâmetros municipais:
+ 7 dígitos - posição 1 a 7: número identificador do Município, conforme código IBGE;
+ 2 dígitos - posições 8 e 9 : número identificador do tipo de parametrização (01-legislação, 02-regimes especiais, 03-retenções, 04-outros benefícios);
+ 5 dígitos - posição 10 a 14 : número sequencial definido pelo sistema quando do registro específico do parâmetro dentro do tipo de parametrização no sistema;
+
+
+
+
+
+
+
+
+
+ Opção para Exigibilidade Suspensa:
+ 1 - Exigibilidade Suspensa por Decisão Judicial;
+ 2 - Exigibilidade Suspensa por Processo Administrativo;
+
+
+
+
+
+
+
+
+
+
+ Número do processo judicial ou administrativo de suspensão da exigibilidade
+
+
+
+
+
+
+
+
+ Situação perante o Simples Nacional:
+ 1 - Não Optante;
+ 2 - Optante - Microempreendedor Individual (MEI);
+ 3 - Optante - Microempresa ou Empresa de Pequeno Porte (ME/EPP);
+
+
+
+
+
+
+
+
+
+
+
+
+ Opção para que o contribuinte optante pelo Simples Nacional ME/EPP (opSimpNac = 3) possa indicar, ao emitir o documento fiscal, em qual regime de apuração os tributos federais e municipal estão inseridos, caso tenha ultrapassado algum sublimite ou limite definido para o Simples Nacional.
+ 1 – Regime de apuração dos tributos federais e municipal pelo SN;
+ 2 – Regime de apuração dos tributos federais pelo SN e ISSQN por fora do SN conforme respectiva legislação municipal do tributo;
+ 3 – Regime de apuração dos tributos federais e municipal por fora do SN conforme respectivas legislações federal e municipal de cada tributo;
+
+
+
+
+
+
+
+
+
+
+
+
+ Opção que indica se o limite do Simples Nacional foi ultrapassado:
+ 0 - Não ultrapassado;
+ 1 - Ultrapassado;
+
+
+
+
+
+
+
+
+
+
+
+ Tipos de Regimes Especiais de Tributação:
+ 0 - Nenhum;
+ 1 - Ato Cooperado (Cooperativa);
+ 2 - Estimativa;
+ 3 - Microempresa Municipal;
+ 4 - Notário ou Registrador;
+ 5 - Profissional Autônomo;
+ 6 - Sociedade de Profissionais;
+ 9 - Outros;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação do ISSQN sobre o serviço prestado:
+ 1 - Operação tributável;
+ 2 - Imunidade;
+ 3 - Exportação de serviço;
+ 4 - Não Incidência;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número do processo judicial ou administrativo de suspensão da exigibilidade.
+
+
+
+
+
+
+
+
+
+
+
+ Identificação da Imunidade do ISSQN – somente para o caso de Imunidade.
+
+ Tipos de Imunidades:
+
+ 0 - Imunidade (tipo não informado na nota de origem);
+ 1 - Patrimônio, renda ou serviços, uns dos outros (CF88, Art 150, VI, a);
+ 2 - Templos de qualquer culto (CF88, Art 150, VI, b);
+ 3 - Patrimônio, renda ou serviços dos partidos políticos, inclusive suas fundações, das entidades sindicais dos trabalhadores, das instituições de educação e de assistência social, sem fins lucrativos, atendidos os requisitos da lei (CF88, Art 150, VI, c);
+ 4 - Livros, jornais, periódicos e o papel destinado a sua impressão (CF88, Art 150, VI, d);
+ 5 - Fonogramas e videofonogramas musicais produzidos no Brasil contendo obras musicais ou literomusicais de autores brasileiros e/ou obras em geral interpretadas por artistas brasileiros bem como os suportes materiais ou arquivos digitais que os contenham, salvo na etapa de replicação industrial de mídias ópticas de leitura a laser. (CF88, Art 150, VI, e);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de retencao do ISSQN:
+ 1 - Não Retido;
+ 2 - Retido pelo Tomador;
+ 3 - Retido pelo Intermediario;
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de Situação Tributária do PIS/COFINS (CST):
+ 00 - Nenhum;
+ 01 - Operação Tributável com Alíquota Básica;
+ 02 - Operação Tributável com Alíquota Diferenciada;
+ 03 - Operação Tributável com Alíquota por Unidade de Medida de Produto;
+ 04 - Operação Tributável monofásica - Revenda a Alíquota Zero;
+ 05 - Operação Tributável por Substituição Tributária;
+ 06 - Operação Tributável a Alíquota Zero;
+ 07 - Operação Isenta da Contribuição;
+ 08 - Operação sem Incidência da Contribuição;
+ 09 - Operação com Suspensão da Contribuição;
+ 49 - Outras Operações de Saída;
+ 50 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Tributada no Mercado Interno;
+ 51 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno;
+ 52 - Operação com Direito a Crédito – Vinculada Exclusivamente a Receita de Exportação;
+ 53 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno;
+ 54 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas no Mercado Interno e de Exportação;
+ 55 - Operação com Direito a Crédito – Vinculada a Receitas Não Tributadas no Mercado Interno e de Exportação;
+ 56 - Operação com Direito a Crédito – Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação;
+ 60 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita Tributada no Mercado Interno;
+ 61 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita Não-Tributada no Mercado Interno;
+ 62 - Crédito Presumido – Operação de Aquisição Vinculada Exclusivamente a Receita de Exportação;
+ 63 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno;
+ 64 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas no Mercado Interno e de Exportação;
+ 65 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Não-Tributadas no Mercado Interno e de Exportação;
+ 66 - Crédito Presumido – Operação de Aquisição Vinculada a Receitas Tributadas e Não-Tributadas no Mercado Interno e de Exportação;
+ 67 - Crédito Presumido – Outras Operações;
+ 70 - Operação de Aquisição sem Direito a Crédito;
+ 71 - Operação de Aquisição com Isenção;
+ 72 - Operação de Aquisição com Suspensão;
+ 73 - Operação de Aquisição a Alíquota Zero;
+ 74 - Operação de Aquisição sem Incidência da Contribuição;
+ 75 - Operação de Aquisição por Substituição Tributária;
+ 98 - Outras Operações de Entrada;
+ 99 - Outras Operações;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Opção para que o emitente informe onde ocorreu o consumo do serviço prestado.
+ 0 - Consumo do serviço prestado ocorrido no município do local da prestação;
+ 1 - Consumo do serviço prestado ocorrido ocorrido no exterior ;
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de retencao do Pis/Cofins:
+ 0 - PIS/COFINS/CSLL Não Retidos;
+ 1 - PIS/COFINS Retidos;
+ 2 - PIS/COFINS Não Retidos;
+ 3 - PIS/COFINS/CSLL Retidos;
+ 4 - PIS/COFINS Retidos, CSLL Não Retido;
+ 5 - PIS Retido, COFINS/CSLL Não Retido;
+ 6 - COFINS Retido, PIS/CSLL Não Retido;
+ 7 - PIS Não Retido, COFINS/CSLL Retidos;
+ 8 - PIS/COFINS Não Retidos, CSLL Retido;
+ 9 - COFINS Não Retido, PIS/CSLL Retidos;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador de informação de valor total de tributos. Possui valor fixo igual a zero (indTotTrib=0).
+ Não informar nenhum valor estimado para os Tributos (Decreto 8.264/2014).
+ 0 - Não;
+
+
+
+
+
+
+
+
+
+
+ Tipo Benefício Municipal (BM):
+ 1) Isenção;
+ 2) Redução da BC em 'ppBM' %;
+ 3) Redução da BC em R$ 'vInfoBM';
+ 4) Alíquota Diferenciada de 'aliqDifBM' %;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Situações possíveis:
+ 100 - NFS-e Gerada;
+ 102 - NFS-e de Decisão Judicial;
+ 103 - NFS-e Avulsa;
+ 107 - NFS-e MEI;
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Número do DPS
+
+
+
+
+
+
+
+
+
+ Tipo Número sequencial do documento
+
+
+
+
+
+
+
+
+
+ Tipo Número do DFS-e
+
+
+
+
+
+
+
+
+
+ Tipo Código do Município segundo tabela IBGE
+
+
+
+
+
+
+
+
+ Tipo Código do País segundo tabela ISO
+
+
+
+
+
+
+
+
+ Código de tributação nacional do ISSQN:
+ Regra de formação - 6 dígitos numéricos sendo: 2 para Item (LC 116/2003), 2 para Subitem (LC 116/2003) e 2 para Desdobro Nacional
+
+
+
+
+
+
+
+
+
+
+ Código da lista de Nomenclatura Brasileira de Serviços (NBS)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor decimal com 1 a 15 dígitos mais 2 casas decimais
+
+
+
+
+
+
+
+
+ Valor decimal com 1 dígito mais 2 casas decimais
+
+
+
+
+
+
+
+
+ Valor decimal com 1 ou 2 dígitos mais 2 casas decimais
+
+
+
+
+
+
+
+
+ Valor decimal com 1 a 3 dígitos mais 2 casas decimais
+
+
+
+
+
+
+
+
+ Número com 3 dígitos
+
+
+
+
+
+
+
+
+
+ Número com 7 dígitos
+
+
+
+
+
+
+
+
+
+ Número com 14 dígitos
+
+
+
+
+
+
+
+
+
+ Número com 15 dígitos
+
+
+
+
+
+
+
+
+
+
+ O identificador do pedido de registro do evento é formado conforme a concatenação dos seguintes campos:
+ "PRE" + Chave de Acesso NFS-e + Tipo do evento + Número do Pedido de Registro do Evento (nPedRegEvento)
+
+
+
+
+
+
+
+
+
+
+
+ Identificador do evento: "EVT" + Chave de acesso(50) Tipo do evento (6) + Pedido de Registro do Evento(3) (nPedRegEvento)
+
+
+
+
+
+
+
+
+
+
+
+ Código de evento da NFS-e
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Referência ao Id "Manifestação de rejeição da NFS-e" que originou o presente evento de anulação.
+
+
+
+
+
+
+
+
+
+
+ Número sequencial do documento gerado por ambiente gerador de DFe do município.
+
+
+
+
+
+
+
+
+
+
+ Identificação da situação do cadastro do contribuinte
+
+
+
+
+
+
+
+
+
+
+ Motivo pelo qual o contribuinte se enquadra na situação informada
+
+
+
+
+
+
+
+
+
+ Situação Emissão NFS-e:
+ 0 - Não Habilitado;
+ 1 - Habilitado;
+
+
+
+
+
+
+
+
+
+
+
+ Categorias do serviço:
+ 1 - Locação;
+ 2 - Sublocação;
+ 3 - Arrendamento;
+ 4 - Direito de passagem;
+ 5 - Permissão de uso;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de objetos da locação, sublocação, arrendamento, direito de passagem ou permissão de uso:
+ 1 - Ferrovia;
+ 2 - Rodovia;
+ 3 - Postes;
+ 4 - Cabos;
+ 5 - Dutos;
+ 6 - Condutos de qualquer natureza;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extensão total da ferrovia, rodovia, cabos, dutos ou condutos
+
+
+
+
+
+
+
+
+
+
+ Número total de postes
+
+
+
+
+
+
+
+
+
+
+ Indicador da finalidade da emissão de NFS-e:
+ 0 - NFS-e regular;
+
+
+
+
+
+
+
+
+
+
+ Indica operação de uso ou consumo pessoal (art. 57):
+ 0 - Não;
+ 1 - Sim;
+
+
+
+
+
+
+
+
+
+
+
+ Código indicador da operação de fornecimento, conforme tabela "código indicador de operação"
+
+
+
+
+
+
+
+
+
+
+ Tipo de Operação com Entes Governamentais ou outros serviços sobre bens imóveis:
+ 1 – Fornecimento com pagamento posterior;
+ 2 - Recebimento do pagamento com fornecimento já realizado;
+ 3 – Fornecimento com pagamento já realizado;
+ 4 – Recebimento do pagamento com fornecimento posterior;
+ 5 – Fornecimento e recebimento do pagamento concomitantes;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de ente governamental
+ Para administração pública direta e suas autarquias e fundações:
+ 1 - União;
+ 2 - Estado;
+ 3 - Distrito Federal;
+ 4 - Município;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A respeito do Destinatário dos serviços:
+ 0 – o destinatário é o próprio tomador/adquirente identificado na NFS-e (tomador = adquirente = destinatário);
+ 1 – o destinatário não é o próprio adquirente, podendo ser outra pessoa, física ou jurídica (ou equiparada), ou um estabelecimento diferente do indicado como tomador (tomador = adquirente ≠ destinatário);
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de valor incluído neste documento, recebido por motivo de estarem relacionadas a operações de terceiros,
+ objeto de reembolso, repasse ou ressarcimento pelo recebedor, já tributados e aqui referenciados
+ 01 - Repasse de remuneração por intermediação de imóveis a demais corretores envolvidos na operação;
+ 02 - Repasse de valores a fornecedor relativo a fornecimento intermediado por agência de turismo;
+ 03 - Reembolso ou ressarcimento recebido por agência de propaganda e publicidade por valores pagos relativos
+ a serviços de produção externa por conta e ordem de terceiro;
+ 04 - Reembolso ou ressarcimento recebido por agência de propaganda e publicidade por valores pagos relativos
+ a serviços de mídia por conta e ordem de terceiro;
+ 99 - Outros reembolsos ou ressarcimentos recebidos por valores pagos relativos a operações por conta e ordem de terceiro;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Documento fiscal a que se refere a chaveDfe que seja um dos documentos do Repositório Nacional:
+ 1 - NFS-e;
+ 2 - NF-e;
+ 3 - CT-e;
+ 9 - Outro;
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chave do Documento Fiscal Eletrônico
+
+
+
+
+
+
+
+
+
+
+
+ Código de Situação Tributária
+
+
+
+
+
+
+
+
+
+
+ Código de Classificação Tributária
+
+
+
+
+
+
+
+
+
+
+ Código e Classificação do Crédito Presumido
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nfelib/nfse/schemas/v1_01/xmldsig-core-schema.xsd b/nfelib/nfse/schemas/v1_01/xmldsig-core-schema.xsd
new file mode 100644
index 00000000..8a9c9139
--- /dev/null
+++ b/nfelib/nfse/schemas/v1_01/xmldsig-core-schema.xsd
@@ -0,0 +1,318 @@
+
+
+
+
+
+ ]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/fingerprints.json b/tests/fingerprints.json
index 09fc7888..dae3cb55 100644
--- a/tests/fingerprints.json
+++ b/tests/fingerprints.json
@@ -1,7 +1,7 @@
{
"nfe": [
"https://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=BMPFMBoln3w=",
- "2ece43f6907843052c0869d80e15b781"
+ "9379a40c6ad542a1ff38d0a2d486f0ed"
],
"cte": [
"https://www.cte.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=0xlG1bdBass=",
diff --git a/tests/nfse/test_nfse.py b/tests/nfse/test_nfse.py
index 7f156842..225cef22 100644
--- a/tests/nfse/test_nfse.py
+++ b/tests/nfse/test_nfse.py
@@ -10,8 +10,9 @@
from xsdata.formats.dataclass.serializers.config import SerializerConfig
from nfelib.nfse.bindings.v1_0 import (
- dps_v1_00, # noqa: F401
- nfse_v1_00, # noqa: F401
+ dps_v1_00,
+ nfse_v1_00,
+ ped_reg_evento_v1_00,
)
@@ -21,7 +22,7 @@ def test_in_out_consulta(self):
for filename in ["ConsultarNFSeEnvio-ped-sitnfse.xml"]:
input_file = os.path.join(path, filename)
parser = XmlParser()
- obj = parser.from_path(Path(input_file))
+ obj = parser.from_path(Path(input_file), nfse_v1_00.Nfse)
serializer = XmlSerializer(config=SerializerConfig(indent=" "))
xml = serializer.render(
obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"}
@@ -41,7 +42,7 @@ def test_in_out_dps(self):
for filename in ["dps-simples.xml", "dps-regime-normal.xml"]:
input_file = os.path.join(path, filename)
parser = XmlParser()
- obj = parser.from_path(Path(input_file))
+ obj = parser.from_path(Path(input_file), dps_v1_00.Dps)
serializer = XmlSerializer(config=SerializerConfig(indent=" "))
xml = serializer.render(
obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"}
@@ -61,7 +62,7 @@ def test_in_out_pedRegEvento(self):
for filename in ["CancelarNFSe-ped-cannfse.xml"]:
input_file = os.path.join(path, filename)
parser = XmlParser()
- obj = parser.from_path(Path(input_file))
+ obj = parser.from_path(Path(input_file), ped_reg_evento_v1_00.PedRegEvento)
serializer = XmlSerializer(config=SerializerConfig(indent=" "))
xml = serializer.render(
obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"}
diff --git a/tests/nfse/test_nfse_v1_01.py b/tests/nfse/test_nfse_v1_01.py
new file mode 100644
index 00000000..e3b2b2db
--- /dev/null
+++ b/tests/nfse/test_nfse_v1_01.py
@@ -0,0 +1,64 @@
+import os
+from pathlib import Path
+from unittest import TestCase
+
+from lxml import etree
+from xmldiff import main
+from xsdata.formats.dataclass.parsers import XmlParser
+from xsdata.formats.dataclass.serializers import XmlSerializer
+from xsdata.formats.dataclass.serializers.config import SerializerConfig
+
+from nfelib.nfse.bindings.v1_0.dps_v1_00 import Dps as Dps100
+from nfelib.nfse.bindings.v1_01.dps_v1_01 import Dps
+from nfelib.nfse.bindings.v1_01.nfse_v1_01 import Nfse
+
+SAMPLES = os.path.join("nfelib", "nfse", "samples", "v1_01")
+SCHEMAS = os.path.join("nfelib", "nfse", "schemas", "v1_01")
+NAMESPACE = "http://www.sped.fazenda.gov.br/nfse"
+
+
+class NFse101Tests(TestCase):
+ def test_in_out_nfse(self):
+ input_file = os.path.join(SAMPLES, "nfse-ibscbs.xml")
+ obj = XmlParser().from_path(Path(input_file), Nfse)
+ serializer = XmlSerializer(config=SerializerConfig(indent=" "))
+ xml = serializer.render(obj=obj, ns_map={None: NAMESPACE})
+
+ output_file = "tests/output_nfse_v1_01.xml"
+ with open(output_file, "w") as f:
+ f.write(xml)
+
+ diff = main.diff_files(input_file, output_file)
+ assert len(diff) == 0
+
+ def test_ibscbs_groups(self):
+ nfse = Nfse.from_path(os.path.join(SAMPLES, "nfse-ibscbs.xml"))
+ totals = nfse.infNFSe.IBSCBS.totCIBS
+ self.assertEqual(nfse.infNFSe.IBSCBS.valores.vBC, "1000.00")
+ self.assertEqual(totals.gIBS.vIBSTot, "1.00")
+ self.assertEqual(totals.gCBS.vCBS, "9.00")
+ classification = nfse.infNFSe.DPS.infDPS.IBSCBS.valores.trib.gIBSCBS
+ self.assertEqual(classification.CST, "000")
+ self.assertEqual(classification.cClassTrib, "000001")
+
+ def test_sample_schema(self):
+ schema = etree.XMLSchema(etree.parse(os.path.join(SCHEMAS, "NFSe_v1.01.xsd")))
+ doc = etree.parse(os.path.join(SAMPLES, "nfse-ibscbs.xml"))
+ self.assertTrue(schema.validate(doc), schema.error_log)
+
+ def test_dps_schema_validation(self):
+ nfse = Nfse.from_path(os.path.join(SAMPLES, "nfse-ibscbs.xml"))
+ dps = Dps(infDPS=nfse.infNFSe.DPS.infDPS, versao="1.01")
+ self.assertTrue(Dps._get_schema_path().endswith("DPS_v1.01.xsd"))
+ self.assertEqual(dps.validate_xml(), [])
+
+ def test_both_versions_side_by_side(self):
+ # Both layouts share the namespace and the root element names, so
+ # the class from_path is called on decides the binding version.
+ dps = Dps100.from_path(
+ os.path.join("nfelib", "nfse", "samples", "v1_0", "dps-simples.xml")
+ )
+ self.assertIsInstance(dps, Dps100)
+ self.assertTrue(Dps100._get_schema_path().endswith("DPS_v1.00.xsd"))
+ nfse = Nfse.from_path(os.path.join(SAMPLES, "nfse-ibscbs.xml"))
+ self.assertIsInstance(nfse, Nfse)