diff --git a/nfelib/nf3e/__init__.py b/nfelib/nf3e/__init__.py
new file mode 100644
index 00000000..6f4cf469
--- /dev/null
+++ b/nfelib/nf3e/__init__.py
@@ -0,0 +1,6 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+# nothing here
diff --git a/nfelib/nf3e/bindings/__init__.py b/nfelib/nf3e/bindings/__init__.py
new file mode 100644
index 00000000..6f4cf469
--- /dev/null
+++ b/nfelib/nf3e/bindings/__init__.py
@@ -0,0 +1,6 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+# nothing here
diff --git a/nfelib/nf3e/bindings/v1_0/__init__.py b/nfelib/nf3e/bindings/v1_0/__init__.py
new file mode 100644
index 00000000..361e8623
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/__init__.py
@@ -0,0 +1,226 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from nfelib.nf3e.bindings.v1_0.cons_reci_nf3e_tipos_basico_v1_00 import (
+ TconsReciNf3E,
+ TretConsReciNf3E,
+)
+from nfelib.nf3e.bindings.v1_0.cons_reci_nf3e_v1_00 import ConsReciNf3E
+from nfelib.nf3e.bindings.v1_0.cons_sit_nf3e_tipos_basico_v1_00 import (
+ ProcEventoNf3EVersao,
+ ProtNf3EVersao,
+ TconsSitNf3E,
+ TretConsSitNf3E,
+)
+from nfelib.nf3e.bindings.v1_0.cons_sit_nf3e_v1_00 import ConsSitNf3E
+from nfelib.nf3e.bindings.v1_0.cons_stat_serv_nf3e_tipos_basico_v1_00 import (
+ TconsStatServ,
+ TretConsStatServ,
+)
+from nfelib.nf3e.bindings.v1_0.cons_stat_serv_nf3e_v1_00 import (
+ ConsStatServNf3E,
+)
+from nfelib.nf3e.bindings.v1_0.envi_nf3e_v1_00 import EnviNf3E
+from nfelib.nf3e.bindings.v1_0.ev_canc_nf3e_v1_00 import (
+ EvCancNf3E,
+ EvCancNf3EDescEvento,
+)
+from nfelib.nf3e.bindings.v1_0.evento_nf3e_tipos_basico_v1_00 import (
+ Tevento,
+ TprocEvento,
+ TretEvento,
+)
+from nfelib.nf3e.bindings.v1_0.evento_nf3e_v1_00 import EventoNf3E
+from nfelib.nf3e.bindings.v1_0.nf3e_tipos_basico_v1_00 import (
+ CofinsCst,
+ DetItemAntIndDevolucao,
+ GAdBandMotDifBand,
+ GContabTpLanc,
+ GProcRefIndDevolucao,
+ GTarifMotDifTarif,
+ GTarifUMed,
+ Icms00Cst,
+ Icms10Cst,
+ Icms20Cst,
+ Icms40Cst,
+ Icms51Cst,
+ Icms60Cst,
+ Icms90Cst,
+ ImpostoIndSemCst,
+ PisCst,
+ ProdIndDevolucao,
+ ProdIndPrecoAcl,
+ Tacessante,
+ TajusteNf3EAnt,
+ Taneel,
+ TatoAneel,
+ Tband,
+ Tclasse,
+ TempresaSoft,
+ TendeEmi,
+ Tendereco,
+ TenviNf3E,
+ Tfase,
+ TfinNf3E,
+ TfonteEnergia,
+ TgrContrat,
+ TgrMed,
+ TgrpTensao,
+ Timp,
+ TindIedest,
+ Tmedida,
+ TmodTar,
+ TmotAjuste,
+ TmotNaoLeitura,
+ TmotSub,
+ Tnf3E,
+ TorigemQtd,
+ TpartComp,
+ TposTarifCompleto,
+ TposTarSimples,
+ Tprocesso,
+ TprotNf3E,
+ TrespTec,
+ TretEnviNf3E,
+ TretNf3E,
+ TsubClasse,
+ Ttarifa,
+ TtpEmis,
+ Tumed,
+ TumedItem,
+)
+from nfelib.nf3e.bindings.v1_0.nf3e_v1_00 import Nf3E
+from nfelib.nf3e.bindings.v1_0.proc_evento_nf3e_v1_00 import ProcEventoNf3E
+from nfelib.nf3e.bindings.v1_0.proc_nf3e_v1_00 import Nf3EProc
+from nfelib.nf3e.bindings.v1_0.ret_cons_reci_nf3e_v1_00 import RetConsReciNf3E
+from nfelib.nf3e.bindings.v1_0.ret_cons_sit_nf3e_v1_00 import RetConsSitNf3E
+from nfelib.nf3e.bindings.v1_0.ret_cons_stat_serv_nf3e_v1_00 import (
+ RetConsStatServNf3E,
+)
+from nfelib.nf3e.bindings.v1_0.ret_envi_nf3e_v1_00 import RetEnviNf3E
+from nfelib.nf3e.bindings.v1_0.ret_evento_nf3e_v1_00 import RetEventoNf3E
+from nfelib.nf3e.bindings.v1_0.ret_nf3e_v1_00 import RetNf3E
+from nfelib.nf3e.bindings.v1_0.tipos_geral_nf3e_v1_00 import (
+ Tamb,
+ TcodUfIbge,
+ TcorgaoIbge,
+ TmodNf3E,
+ Tuf,
+ TufSemEx,
+)
+from nfelib.nf3e.bindings.v1_0.xmldsig_core_schema_v1_01 import (
+ KeyInfoType,
+ ReferenceType,
+ Signature,
+ SignatureType,
+ SignatureValueType,
+ SignedInfoType,
+ TransformsType,
+ TransformType,
+ TtransformUri,
+ X509DataType,
+)
+
+__all__ = [
+ "TconsReciNf3E",
+ "TretConsReciNf3E",
+ "ConsReciNf3E",
+ "TconsSitNf3E",
+ "TretConsSitNf3E",
+ "ProcEventoNf3EVersao",
+ "ProtNf3EVersao",
+ "ConsSitNf3E",
+ "TconsStatServ",
+ "TretConsStatServ",
+ "ConsStatServNf3E",
+ "EnviNf3E",
+ "EvCancNf3E",
+ "EvCancNf3EDescEvento",
+ "Tevento",
+ "TprocEvento",
+ "TretEvento",
+ "EventoNf3E",
+ "CofinsCst",
+ "Icms00Cst",
+ "Icms10Cst",
+ "Icms20Cst",
+ "Icms40Cst",
+ "Icms51Cst",
+ "Icms60Cst",
+ "Icms90Cst",
+ "PisCst",
+ "Taneel",
+ "Tacessante",
+ "TajusteNf3EAnt",
+ "TatoAneel",
+ "Tband",
+ "Tclasse",
+ "TempresaSoft",
+ "TendeEmi",
+ "Tendereco",
+ "TenviNf3E",
+ "Tfase",
+ "TfinNf3E",
+ "TfonteEnergia",
+ "TgrContrat",
+ "TgrMed",
+ "TgrpTensao",
+ "Timp",
+ "TindIedest",
+ "Tmedida",
+ "TmodTar",
+ "TmotAjuste",
+ "TmotNaoLeitura",
+ "TmotSub",
+ "Tnf3E",
+ "TorigemQtd",
+ "TpartComp",
+ "TposTarSimples",
+ "TposTarifCompleto",
+ "Tprocesso",
+ "TprotNf3E",
+ "TrespTec",
+ "TretEnviNf3E",
+ "TretNf3E",
+ "TsubClasse",
+ "Ttarifa",
+ "Tumed",
+ "TumedItem",
+ "TtpEmis",
+ "DetItemAntIndDevolucao",
+ "GAdBandMotDifBand",
+ "GContabTpLanc",
+ "GProcRefIndDevolucao",
+ "GTarifMotDifTarif",
+ "GTarifUMed",
+ "ImpostoIndSemCst",
+ "ProdIndDevolucao",
+ "ProdIndPrecoAcl",
+ "Nf3E",
+ "ProcEventoNf3E",
+ "Nf3EProc",
+ "RetConsReciNf3E",
+ "RetConsSitNf3E",
+ "RetConsStatServNf3E",
+ "RetEnviNf3E",
+ "RetEventoNf3E",
+ "RetNf3E",
+ "Tamb",
+ "TcorgaoIbge",
+ "TcodUfIbge",
+ "TmodNf3E",
+ "Tuf",
+ "TufSemEx",
+ "KeyInfoType",
+ "ReferenceType",
+ "Signature",
+ "SignatureType",
+ "SignatureValueType",
+ "SignedInfoType",
+ "TtransformUri",
+ "TransformType",
+ "TransformsType",
+ "X509DataType",
+]
diff --git a/nfelib/nf3e/bindings/v1_0/cons_reci_nf3e_tipos_basico_v1_00.py b/nfelib/nf3e/bindings/v1_0/cons_reci_nf3e_tipos_basico_v1_00.py
new file mode 100644
index 00000000..f8a74d4d
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/cons_reci_nf3e_tipos_basico_v1_00.py
@@ -0,0 +1,156 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from typing import List, Optional
+
+from nfelib import CommonMixin
+from nfelib.nf3e.bindings.v1_0.nf3e_tipos_basico_v1_00 import TprotNf3E
+from nfelib.nf3e.bindings.v1_0.tipos_geral_nf3e_v1_00 import (
+ Tamb,
+ TcodUfIbge,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class TconsReciNf3E(CommonMixin):
+ """
+ Tipo Pedido de Consulta do Recibo da NF-3e.
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 - Homologação
+ :ivar nRec: Número do Recibo do arquivo a ser consultado
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TConsReciNF3e"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ nRec: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{16}",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+
+
+@dataclass
+class TretConsReciNf3E(CommonMixin):
+ """
+ Tipo Retorno do Pedido de Consulta do Recibo da NF-3e.
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 - Homologação
+ :ivar verAplic: Versão do Aplicativo que processou a NF-3e
+ :ivar nRec: Número do Recibo Consultado
+ :ivar cStat: código do status do retorno da consulta.
+ :ivar xMotivo: Descrição literal do status do do retorno da
+ consulta.
+ :ivar cUF: Idntificação da UF
+ :ivar protNF3e: Resultado do processamento do NF-3e
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TRetConsReciNF3e"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nRec: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{16}",
+ },
+ )
+ cStat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cUF: Optional[TcodUfIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ protNF3e: List[TprotNf3E] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 50,
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
diff --git a/nfelib/nf3e/bindings/v1_0/cons_reci_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/cons_reci_nf3e_v1_00.py
new file mode 100644
index 00000000..c790a15b
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/cons_reci_nf3e_v1_00.py
@@ -0,0 +1,23 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.cons_reci_nf3e_tipos_basico_v1_00 import (
+ TconsReciNf3E,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class ConsReciNf3E(TconsReciNf3E):
+ """
+ Schema XML de validação do Pedido de Consulta de NF-3e.
+ """
+
+ class Meta:
+ name = "consReciNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/cons_sit_nf3e_tipos_basico_v1_00.py b/nfelib/nf3e/bindings/v1_0/cons_sit_nf3e_tipos_basico_v1_00.py
new file mode 100644
index 00000000..3bc61271
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/cons_sit_nf3e_tipos_basico_v1_00.py
@@ -0,0 +1,221 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from enum import Enum
+from typing import List, Optional
+
+from nfelib import CommonMixin
+from nfelib.nf3e.bindings.v1_0.tipos_geral_nf3e_v1_00 import (
+ Tamb,
+ TcodUfIbge,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+class ProcEventoNf3EVersao(Enum):
+ VALUE_1_00 = "1.00"
+
+
+class ProtNf3EVersao(Enum):
+ VALUE_1_00 = "1.00"
+
+
+@dataclass
+class TconsSitNf3E(CommonMixin):
+ """
+ Tipo Pedido de Consulta da Situação Atual da NF-3e.
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção; 2 -
+ Homologação;
+ :ivar xServ: Serviço Solicitado
+ :ivar chNF3e: Chaves de acesso do NF-3
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TConsSitNF3e"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ xServ: str = field(
+ init=False,
+ default="CONSULTAR",
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ chNF3e: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "pattern": r"1\.00",
+ },
+ )
+
+
+@dataclass
+class TretConsSitNf3E(CommonMixin):
+ """
+ Tipo Retorno de Pedido de Consulta da Situação Atual de NF-3e.
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 - Homologação
+ :ivar verAplic: Versão do Aplicativo que processou o NF-3e
+ :ivar cStat: Código do status da mensagem enviada.
+ :ivar xMotivo: Descrição literal do status do serviço solicitado.
+ :ivar cUF: código da UF de atendimento
+ :ivar protNF3e:
+ :ivar procEventoNF3e:
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TRetConsSitNF3e"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cStat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cUF: Optional[TcodUfIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ protNF3e: Optional["TretConsSitNf3E.ProtNf3E"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ procEventoNF3e: List["TretConsSitNf3E.ProcEventoNf3E"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "pattern": r"1\.00",
+ },
+ )
+
+ @dataclass
+ class ProtNf3E(CommonMixin):
+ """
+ :ivar any_element: Retornar protNF3e da versão correspondente da
+ NF-3e autorizada
+ :ivar versao:
+ """
+
+ any_element: Optional[object] = field(
+ default=None,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "process_contents": "skip",
+ },
+ )
+ versao: Optional[ProtNf3EVersao] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class ProcEventoNf3E(CommonMixin):
+ """
+ :ivar any_element: Retornar procEventoNF3e da versão
+ correspondente do evento NF-3e autorizado
+ :ivar versao:
+ """
+
+ any_element: Optional[object] = field(
+ default=None,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "process_contents": "skip",
+ },
+ )
+ versao: Optional[ProcEventoNf3EVersao] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
diff --git a/nfelib/nf3e/bindings/v1_0/cons_sit_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/cons_sit_nf3e_v1_00.py
new file mode 100644
index 00000000..f11b6461
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/cons_sit_nf3e_v1_00.py
@@ -0,0 +1,23 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.cons_sit_nf3e_tipos_basico_v1_00 import (
+ TconsSitNf3E,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class ConsSitNf3E(TconsSitNf3E):
+ """
+ Schema de validação XML dp Pedido de Consulta da Situação Atual da NF-3e.
+ """
+
+ class Meta:
+ name = "consSitNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/cons_stat_serv_nf3e_tipos_basico_v1_00.py b/nfelib/nf3e/bindings/v1_0/cons_stat_serv_nf3e_tipos_basico_v1_00.py
new file mode 100644
index 00000000..61163122
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/cons_stat_serv_nf3e_tipos_basico_v1_00.py
@@ -0,0 +1,177 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from typing import Optional
+
+from nfelib import CommonMixin
+from nfelib.nf3e.bindings.v1_0.tipos_geral_nf3e_v1_00 import (
+ Tamb,
+ TcodUfIbge,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class TconsStatServ(CommonMixin):
+ """
+ Tipo Pedido de Consulta do Status do Serviço NF-3e.
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 - Homologação
+ :ivar xServ: Serviço Solicitado
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TConsStatServ"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ xServ: str = field(
+ init=False,
+ default="STATUS",
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "pattern": r"1\.00",
+ },
+ )
+
+
+@dataclass
+class TretConsStatServ(CommonMixin):
+ """
+ Tipo Resultado da Consulta do Status do Serviço NF-3e.
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 - Homologação
+ :ivar verAplic: Versão do Aplicativo que processou a NF-3e
+ :ivar cStat: Código do status da mensagem enviada.
+ :ivar xMotivo: Descrição literal do status do serviço solicitado.
+ :ivar cUF: Código da UF responsável pelo serviço
+ :ivar dhRecbto: AAAA-MM-DDTHH:MM:SS TZD
+ :ivar tMed: Tempo médio de resposta do serviço (em segundos) dos
+ últimos 5 minutos
+ :ivar dhRetorno: AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com
+ data e hora previstas para o retorno dos serviços prestados.
+ :ivar xObs: Campo observação utilizado para incluir informações ao
+ contribuinte
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TRetConsStatServ"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "collapse",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cStat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cUF: Optional[TcodUfIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ dhRecbto: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ tMed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "pattern": r"[0-9]{1,4}",
+ },
+ )
+ dhRetorno: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ xObs: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "collapse",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "pattern": r"1\.00",
+ },
+ )
diff --git a/nfelib/nf3e/bindings/v1_0/cons_stat_serv_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/cons_stat_serv_nf3e_v1_00.py
new file mode 100644
index 00000000..78c0ee05
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/cons_stat_serv_nf3e_v1_00.py
@@ -0,0 +1,23 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.cons_stat_serv_nf3e_tipos_basico_v1_00 import (
+ TconsStatServ,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class ConsStatServNf3E(TconsStatServ):
+ """
+ Schema XML de validação do Pedido de Consulta do Status do Serviço NF-3e.
+ """
+
+ class Meta:
+ name = "consStatServNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/envi_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/envi_nf3e_v1_00.py
new file mode 100644
index 00000000..63762c0b
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/envi_nf3e_v1_00.py
@@ -0,0 +1,21 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.nf3e_tipos_basico_v1_00 import TenviNf3E
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class EnviNf3E(TenviNf3E):
+ """
+ Schema XML de validação do Envio de Lote NF-3e para concessão de autorização.
+ """
+
+ class Meta:
+ name = "enviNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/ev_canc_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/ev_canc_nf3e_v1_00.py
new file mode 100644
index 00000000..ea9992bf
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/ev_canc_nf3e_v1_00.py
@@ -0,0 +1,60 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from enum import Enum
+from typing import Optional
+
+from nfelib import CommonMixin
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+class EvCancNf3EDescEvento(Enum):
+ CANCELAMENTO = "Cancelamento"
+
+
+@dataclass
+class EvCancNf3E(CommonMixin):
+ """
+ Schema XML de validação do evento do cancelamento 110111.
+
+ :ivar descEvento: Descrição do Evento - “Cancelamento”
+ :ivar nProt: Número do Protocolo de Status da NF-3e.
+ :ivar xJust: Justificativa do Cancelamento
+ """
+
+ class Meta:
+ name = "evCancNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
+
+ descEvento: Optional[EvCancNf3EDescEvento] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ nProt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{16}",
+ },
+ )
+ xJust: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "required": True,
+ "min_length": 15,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
diff --git a/nfelib/nf3e/bindings/v1_0/evento_nf3e_tipos_basico_v1_00.py b/nfelib/nf3e/bindings/v1_0/evento_nf3e_tipos_basico_v1_00.py
new file mode 100644
index 00000000..6a0e90e8
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/evento_nf3e_tipos_basico_v1_00.py
@@ -0,0 +1,424 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from typing import Optional
+
+from nfelib import CommonMixin
+from nfelib.nf3e.bindings.v1_0.tipos_geral_nf3e_v1_00 import (
+ Tamb,
+ TcorgaoIbge,
+)
+from nfelib.nf3e.bindings.v1_0.xmldsig_core_schema_v1_01 import Signature
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class Tevento(CommonMixin):
+ """
+ Tipo Evento.
+ """
+
+ class Meta:
+ name = "TEvento"
+
+ infEvento: Optional["Tevento.InfEvento"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+
+ @dataclass
+ class InfEvento(CommonMixin):
+ """
+ :ivar cOrgao: Código do órgão de recepção do Evento.
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 -
+ Homologação
+ :ivar CNPJ: CNPJ do emissor do evento
+ :ivar chNF3e: Chave de Acesso da NF-3e vinculada ao evento
+ :ivar dhEvento: Data e Hora do Evento, formato UTC (AAAA-MM-
+ DDThh:mm:ssTZD)
+ :ivar tpEvento: Tipo do Evento
+ :ivar nSeqEvento: Seqüencial do evento para o mesmo tipo de
+ evento. Para maioria dos eventos será 1, nos casos em que
+ possa existir mais de um evento o autor do evento deve
+ numerar de forma seqüencial.
+ :ivar detEvento: Detalhamento do evento específico
+ :ivar Id: Identificador da TAG a ser assinada, a regra de
+ formação do Id é: “ID” + tpEvento + chave da NF-3e +
+ nSeqEvento
+ """
+
+ cOrgao: Optional[TcorgaoIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ chNF3e: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+ dhEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ tpEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6}",
+ },
+ )
+ nSeqEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,3}",
+ },
+ )
+ detEvento: Optional["Tevento.InfEvento.DetEvento"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "pattern": r"ID[0-9]{52}|ID[0-9]{53}",
+ },
+ )
+
+ @dataclass
+ class DetEvento(CommonMixin):
+ """
+ :ivar any_element: XML do evento Insira neste local o XML
+ específico do tipo de evento (cancelamento,
+ encerramento, registro de passagem).
+ :ivar versaoEvento:
+ """
+
+ any_element: Optional[object] = field(
+ default=None,
+ metadata={
+ "type": "Wildcard",
+ "namespace": "##any",
+ "process_contents": "skip",
+ },
+ )
+ versaoEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.(0[0-9]|[1-9][0-9])",
+ },
+ )
+
+
+@dataclass
+class TretEvento(CommonMixin):
+ """
+ Tipo retorno do Evento.
+ """
+
+ class Meta:
+ name = "TRetEvento"
+
+ infEvento: Optional["TretEvento.InfEvento"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+
+ @dataclass
+ class InfEvento(CommonMixin):
+ """
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 -
+ Homologação
+ :ivar verAplic: Versão do Aplicativo que recebeu o Evento
+ :ivar cOrgao: Código do órgão de recepção do Evento. Utilizar a
+ Tabela do IBGE extendida, utilizar 90 para identificar
+ SUFRAMA
+ :ivar cStat: Código do status da registro do Evento
+ :ivar xMotivo: Descrição literal do status do registro do Evento
+ :ivar chNF3e: Chave de Acesso NF-3e vinculada
+ :ivar tpEvento: Tipo do Evento vinculado
+ :ivar xEvento: Descrição do Evento
+ :ivar nSeqEvento: Seqüencial do evento
+ :ivar dhRegEvento: Data e Hora de do recebimento do evento ou do
+ registro do evento formato AAAA-MM-DDThh:mm:ssTZD
+ :ivar nProt: Número do protocolo de registro do evento
+ :ivar Id:
+ """
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cOrgao: Optional[TcorgaoIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ cStat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ chNF3e: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+ tpEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{6}",
+ },
+ )
+ xEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 4,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nSeqEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,3}",
+ },
+ )
+ dhRegEvento: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ nProt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{16}",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "pattern": r"ID[0-9]{16}",
+ },
+ )
+
+
+@dataclass
+class TprocEvento(CommonMixin):
+ """
+ Tipo procEvento.
+
+ :ivar eventoNF3e:
+ :ivar retEventoNF3e:
+ :ivar versao:
+ :ivar ipTransmissor: IP do transmissor do documento fiscal para o
+ ambiente autorizador
+ :ivar nPortaCon: Porta de origem utilizada na conexão (De 0 a 65535)
+ :ivar dhConexao: Data e Hora da Conexão de Origem
+ """
+
+ class Meta:
+ name = "TProcEvento"
+
+ eventoNF3e: Optional[Tevento] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ retEventoNF3e: Optional[TretEvento] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+ ipTransmissor: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "white_space": "preserve",
+ "pattern": r"(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])",
+ },
+ )
+ nPortaCon: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "pattern": r"[0-9]{1,5}",
+ },
+ )
+ dhConexao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "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))",
+ },
+ )
diff --git a/nfelib/nf3e/bindings/v1_0/evento_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/evento_nf3e_v1_00.py
new file mode 100644
index 00000000..55438e1c
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/evento_nf3e_v1_00.py
@@ -0,0 +1,21 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.evento_nf3e_tipos_basico_v1_00 import Tevento
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class EventoNf3E(Tevento):
+ """
+ Schema XML de validação do Pedido de Registro de Evento da NF-3e.
+ """
+
+ class Meta:
+ name = "eventoNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/nf3e_tipos_basico_v1_00.py b/nfelib/nf3e/bindings/v1_0/nf3e_tipos_basico_v1_00.py
new file mode 100644
index 00000000..5f67382f
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/nf3e_tipos_basico_v1_00.py
@@ -0,0 +1,5579 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from enum import Enum
+from typing import List, Optional
+
+from nfelib import CommonMixin
+from nfelib.nf3e.bindings.v1_0.tipos_geral_nf3e_v1_00 import (
+ Tamb,
+ TcodUfIbge,
+ TmodNf3E,
+ Tuf,
+ TufSemEx,
+)
+from nfelib.nf3e.bindings.v1_0.xmldsig_core_schema_v1_01 import Signature
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+class CofinsCst(Enum):
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_06 = "06"
+ VALUE_07 = "07"
+ VALUE_08 = "08"
+ VALUE_09 = "09"
+ VALUE_49 = "49"
+
+
+class Icms00Cst(Enum):
+ VALUE_00 = "00"
+
+
+class Icms10Cst(Enum):
+ VALUE_10 = "10"
+
+
+class Icms20Cst(Enum):
+ VALUE_20 = "20"
+
+
+class Icms40Cst(Enum):
+ VALUE_40 = "40"
+ VALUE_41 = "41"
+
+
+class Icms51Cst(Enum):
+ VALUE_51 = "51"
+
+
+class Icms60Cst(Enum):
+ VALUE_60 = "60"
+
+
+class Icms90Cst(Enum):
+ VALUE_90 = "90"
+
+
+class PisCst(Enum):
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_06 = "06"
+ VALUE_07 = "07"
+ VALUE_08 = "08"
+ VALUE_09 = "09"
+ VALUE_49 = "49"
+
+
+class Tacessante(Enum):
+ """
+ Tipo acessante.
+ """
+
+ 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 = ""
+
+
+class TajusteNf3EAnt(Enum):
+ """
+ Tipo do ajuste na NF-3e anterior.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class TatoAneel(Enum):
+ """
+ Tipo de ato da ANEEL.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class Tband(Enum):
+ """
+ Tipo da bandeira tarifária.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+
+
+class Tclasse(Enum):
+ """
+ Tipo de Classe.
+ """
+
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_05 = "05"
+ VALUE_06 = "06"
+ VALUE_07 = "07"
+ VALUE_08 = "08"
+
+
+@dataclass
+class TempresaSoft(CommonMixin):
+ """
+ Tipo Dados da Empresa de Software.
+
+ :ivar CNPJ: CNPJ da pessoa jurídica desenvolvedora do sistema
+ utilizado na emissão do documento fiscal eletrônico Informar o
+ CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na
+ emissão do documento fiscal eletrônico.
+ :ivar CPF: CPF da pessoa física desenvolvedora do sistema utilizado
+ na emissão do documento fiscal eletrônico No caso de pessoa
+ física, informar o CPF do desenvolvedor do sistema utilizado na
+ emissão do documento fiscal eletrônico.
+ :ivar xContato: Nome da pessoa a ser contatada Informar o nome da
+ pessoa a ser contatada na empresa desenvolvedora do sistema
+ utilizado na emissão do documento fiscal eletrônico. No caso de
+ pessoa física, informar o respectivo nome.
+ :ivar email: Email da pessoa jurídica/física a ser contatada
+ :ivar fone: Telefone da pessoa jurídica/física a ser contatada
+ Preencher com o Código DDD + número do telefone.
+ """
+
+ class Meta:
+ name = "TEmpresaSoft"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ xContato: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[^@]+@[^\.]+\..+",
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7,12}",
+ },
+ )
+
+
+class Tfase(Enum):
+ """
+ Tipo de Fase.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TfinNf3E(Enum):
+ """
+ Finalidade da NF-3e.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TfonteEnergia(Enum):
+ """
+ Tipo Fonte Energia.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+
+
+class TgrContrat(Enum):
+ """
+ Tipo Grandeza Contratada.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class TgrMed(Enum):
+ """
+ Tipo Grandeza Medida.
+ """
+
+ VALUE_00 = "00"
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_05 = "05"
+
+
+class TgrpTensao(Enum):
+ """
+ Tipo Grupo Tensão.
+ """
+
+ 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"
+
+
+@dataclass
+class Timp(CommonMixin):
+ """
+ Tipo Dados do Imposto NF-3e.
+ """
+
+ class Meta:
+ name = "TImp"
+
+
+class TindIedest(Enum):
+ """
+ Tipo indicador da IE do Destinatário.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_9 = "9"
+
+
+class TmodTar(Enum):
+ """
+ Tipo Modalidade Tarifária.
+ """
+
+ 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"
+
+
+class TmotAjuste(Enum):
+ """
+ Tipo do Motivo de Ajuste.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+
+
+class TmotNaoLeitura(Enum):
+ """
+ Tipo motivo não leitura.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TmotSub(Enum):
+ """
+ Tipo Motivo Substituição.
+ """
+
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+ VALUE_05 = "05"
+
+
+class TorigemQtd(Enum):
+ """
+ Tipo do indicador de origem da quantidade faturada.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+ VALUE_6 = "6"
+
+
+class TpartComp(Enum):
+ """
+ Tipo Compensação (SCE)
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+
+
+class TposTarSimples(Enum):
+ """
+ Tipo Posto Tarifário.
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+
+
+class TposTarifCompleto(Enum):
+ """
+ Tipo Posto Tarifário Completo.
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+ VALUE_6 = "6"
+ VALUE_7 = "7"
+
+
+class Tprocesso(Enum):
+ """
+ Tipo de processo judicial.
+ """
+
+ VALUE_0 = "0"
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+@dataclass
+class TrespTec(CommonMixin):
+ """
+ Tipo Dados da Responsável Técnico.
+
+ :ivar CNPJ: CNPJ da pessoa jurídica responsável técnica pelo sistema
+ utilizado na emissão do documento fiscal eletrônico Informar o
+ CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na
+ emissão do documento fiscal eletrônico.
+ :ivar xContato: Nome da pessoa a ser contatada Informar o nome da
+ pessoa a ser contatada na empresa desenvolvedora do sistema
+ utilizado na emissão do documento fiscal eletrônico. No caso de
+ pessoa física, informar o respectivo nome.
+ :ivar email: Email da pessoa jurídica a ser contatada
+ :ivar fone: Telefone da pessoa jurídica a ser contatada Preencher
+ com o Código DDD + número do telefone.
+ :ivar idCSRT: Identificador do código de segurança do responsável
+ técnico Identificador do CSRT utilizado para geração do hash
+ :ivar hashCSRT: Hash do token do código de segurança do responsável
+ técnico O hashCSRT é o resultado das funções SHA-1 e base64 do
+ token CSRT fornecido pelo fisco + chave de acesso do DF-e.
+ (Implementação em futura NT) Observação: 28 caracteres são
+ representados no schema como 20 bytes do tipo base64Binary
+ """
+
+ class Meta:
+ name = "TRespTec"
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ xContato: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[^@]+@[^\.]+\..+",
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7,12}",
+ },
+ )
+ idCSRT: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ hashCSRT: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "length": 20,
+ "format": "base64",
+ },
+ )
+
+
+class TsubClasse(Enum):
+ """
+ Tipo SubClasse.
+ """
+
+ 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"
+ VALUE_27 = "27"
+ VALUE_28 = "28"
+ VALUE_99 = "99"
+
+
+class Ttarifa(Enum):
+ """
+ Tipo de tarifa de aplicação.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class Tumed(Enum):
+ """
+ Tipo da unidade básica de medida.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+
+
+class TumedItem(Enum):
+ """
+ Tipo da unidade básica de medida.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+ VALUE_3 = "3"
+ VALUE_4 = "4"
+ VALUE_5 = "5"
+
+
+class TtpEmis(Enum):
+ """
+ Tipo de emissão da NF-3e.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class DetItemAntIndDevolucao(Enum):
+ VALUE_1 = "1"
+
+
+class GAdBandMotDifBand(Enum):
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+
+
+class GContabTpLanc(Enum):
+ D = "D"
+ C = "C"
+
+
+class GProcRefIndDevolucao(Enum):
+ VALUE_1 = "1"
+
+
+class GTarifMotDifTarif(Enum):
+ VALUE_01 = "01"
+ VALUE_02 = "02"
+ VALUE_03 = "03"
+ VALUE_04 = "04"
+
+
+class GTarifUMed(Enum):
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class ImpostoIndSemCst(Enum):
+ VALUE_1 = "1"
+
+
+class ProdIndDevolucao(Enum):
+ VALUE_1 = "1"
+
+
+class ProdIndPrecoAcl(Enum):
+ VALUE_1 = "1"
+
+
+@dataclass
+class Taneel(CommonMixin):
+ """
+ :ivar gHistFat: Histórico de Faturamento
+ """
+
+ class Meta:
+ name = "TANEEL"
+
+ gHistFat: List["Taneel.GHistFat"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ "max_occurs": 5,
+ },
+ )
+
+ @dataclass
+ class GHistFat(CommonMixin):
+ """
+ :ivar xGrandFat: Nome da grandeza faturada para exibição
+ Exemplo: Consumo Meses Anteriores
+ :ivar gGrandFat: Grandezas faturadas
+ """
+
+ xGrandFat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ gGrandFat: List["Taneel.GHistFat.GGrandFat"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 13,
+ "max_occurs": 13,
+ },
+ )
+
+ @dataclass
+ class GGrandFat(CommonMixin):
+ """
+ :ivar CompetFat: Ano e mês referência do faturamento
+ (AAAAMM)
+ :ivar vFat: Valor Faturado
+ :ivar uMed: Unidade Básica de Medida 1=kW; 2=kWh; 3=kVAr;
+ 4=kVArh
+ :ivar qtdDias: Quantidade de dias de medição
+ """
+
+ CompetFat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 6,
+ "max_length": 6,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,6}",
+ },
+ )
+ vFat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,4})?",
+ },
+ )
+ uMed: Optional[Tumed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ qtdDias: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{2}",
+ },
+ )
+
+
+@dataclass
+class TendeEmi(CommonMixin):
+ """
+ Tipo Dados do Endereço.
+
+ :ivar xLgr: Logradouro
+ :ivar nro: Número
+ :ivar xCpl: Complemento
+ :ivar xBairro: Bairro
+ :ivar cMun: Código do município (utilizar a tabela do IBGE)
+ :ivar xMun: Nome do município
+ :ivar CEP: CEP Informar zeros não significativos
+ :ivar UF: Sigla da UF
+ :ivar fone: Telefone
+ :ivar email: Endereço de E-mail
+ """
+
+ class Meta:
+ name = "TEndeEmi"
+
+ xLgr: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xBairro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ xMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ CEP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{8}",
+ },
+ )
+ UF: Optional[TufSemEx] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7,12}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[^@]+@[^\.]+\..+",
+ },
+ )
+
+
+@dataclass
+class Tendereco(CommonMixin):
+ """
+ Tipo Dados do Endereço.
+
+ :ivar xLgr: Logradouro
+ :ivar nro: Número
+ :ivar xCpl: Complemento
+ :ivar xBairro: Bairro
+ :ivar cMun: Código do município (utilizar a tabela do IBGE),
+ informar 9999999 para operações com o exterior.
+ :ivar xMun: Nome do município, informar EXTERIOR para operações com
+ o exterior.
+ :ivar CEP: CEP Informar os zeros não significativos
+ :ivar UF: Sigla da UF, informar EX para operações com o exterior.
+ :ivar cPais: Código do país Utilizar a tabela do BACEN
+ :ivar xPais: Nome do país
+ :ivar fone: Telefone
+ :ivar email: Endereço de E-mail
+ """
+
+ class Meta:
+ name = "TEndereco"
+
+ xLgr: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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.portalfiscal.inf.br/nf3e",
+ "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.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xBairro: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ xMun: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ CEP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{8}",
+ },
+ )
+ UF: Optional[Tuf] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ cPais: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,4}",
+ },
+ )
+ xPais: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ fone: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7,12}",
+ },
+ )
+ email: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[^@]+@[^\.]+\..+",
+ },
+ )
+
+
+@dataclass
+class Tmedida(CommonMixin):
+ """
+ :ivar tpGrMed: Tipo de grandeza medida 01 - Demanda; 02 - Demanda
+ Reativa ; 03 - Energia Ativa; 04 - Energia Ativa injetada ; 05 -
+ Energia Reativa
+ :ivar cPosTarif: Tipo de posto tarifário 0 - Único/Não se aplica; 1
+ - Ponta; 2 - Fora Ponta; 3 - Intermediário; 4 - Ponta Reservado
+ ; 5 - Fora ponta Reservado; 6 - Intermediário Reservado ;
+ 7=Reservado
+ :ivar uMed: Unidade Básica de Medida 1 - kW ; 2 - kWh; 3 - kVAr; 4 -
+ kVArh
+ :ivar vMedAnt: Valor da medição (leitura) anterior
+ :ivar vMedAtu: Valor da medição (leitura) atual
+ :ivar vConst: Indicar o fator de multiplicação do medidor
+ :ivar vMed: Valor da medição (vMedAtu – vMedAnt) * vConst
+ :ivar pPerdaTran: Perda de Transformação(percentual)
+ :ivar vMedPerdaTran: Valor medido após perda de transformação vMed *
+ (1 + pPerdTran/100)
+ :ivar vMedPerdaTec: Valor medido após perda técnica
+ """
+
+ class Meta:
+ name = "TMedida"
+
+ tpGrMed: Optional[TgrMed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ cPosTarif: Optional[TposTarifCompleto] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ uMed: Optional[Tumed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ vMedAnt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,4})?",
+ },
+ )
+ vMedAtu: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,4})?",
+ },
+ )
+ vConst: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,6})?",
+ },
+ )
+ vMed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,4})?",
+ },
+ )
+ pPerdaTran: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vMedPerdaTran: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,4})?",
+ },
+ )
+ vMedPerdaTec: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,4})?",
+ },
+ )
+
+
+@dataclass
+class TprotNf3E(CommonMixin):
+ """
+ Tipo Protocolo de status resultado do processamento da NF-3e (Modelo 66)
+
+ :ivar infProt: Dados do protocolo de status
+ :ivar infFisco: Mensagem do Fisco
+ :ivar signature:
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TProtNF3e"
+
+ infProt: Optional["TprotNf3E.InfProt"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ infFisco: Optional["TprotNf3E.InfFisco"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ 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,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+
+ @dataclass
+ class InfProt(CommonMixin):
+ """
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 -
+ Homologação
+ :ivar verAplic: Versão do Aplicativo que processou a NF-3e
+ :ivar chNF3e: Chave de acesso da NF-3e
+ :ivar dhRecbto: Data e hora de processamento, no formato AAAA-
+ MM-DDTHH:MM:SS TZD.
+ :ivar nProt: Número do Protocolo de Status da NF-3e.
+ :ivar digVal: Digest Value da NF-3e processado. Utilizado para
+ conferir a integridade da NF-3e original.
+ :ivar cStat: Código do status da NF-3e.
+ :ivar xMotivo: Descrição literal do status da NF-3e.
+ :ivar Id:
+ """
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ chNF3e: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+ dhRecbto: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ nProt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{16}",
+ },
+ )
+ digVal: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "format": "base64",
+ },
+ )
+ cStat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+ @dataclass
+ class InfFisco(CommonMixin):
+ """
+ :ivar cMsg: Código do status da mensagem do fisco
+ :ivar xMsg: Mensagem do Fisco
+ """
+
+ cMsg: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMsg: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+
+@dataclass
+class TretEnviNf3E(CommonMixin):
+ """
+ Tipo Retorno do recibo de envio do lote de NF-3e (Modelo 66)
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 - Homologação
+ :ivar cUF: Identificação da UF
+ :ivar verAplic: Versão do Aplicativo que processou a NF-3e
+ :ivar cStat: código do status do retorno da consulta.
+ :ivar xMotivo: Descrição literal do status do do retorno da
+ consulta.
+ :ivar infRec: Dados do Recibo do Lote
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TRetEnviNF3e"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ cUF: Optional[TcodUfIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cStat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ infRec: Optional["TretEnviNf3E.InfRec"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+
+ @dataclass
+ class InfRec(CommonMixin):
+ """
+ :ivar nRec: Número do Recibo
+ :ivar dhRecbto: Data e hora do recebimento, no formato AAAA-MM-
+ DDTHH:MM:SS TZD
+ :ivar tMed: Tempo médio de resposta do serviço (em segundos) dos
+ últimos 5 minutos
+ """
+
+ nRec: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{16}",
+ },
+ )
+ dhRecbto: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ tMed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "pattern": r"[0-9]{1,4}",
+ },
+ )
+
+
+@dataclass
+class Tnf3E(CommonMixin):
+ """
+ Tipo Nota Fiscal de Energia Elétrica.
+
+ :ivar infNF3e: Informações da NF-3e
+ :ivar infNF3eSupl: Informações suplementares da NF-3e
+ :ivar signature:
+ """
+
+ class Meta:
+ name = "TNF3e"
+
+ infNF3e: Optional["Tnf3E.InfNf3E"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ infNF3eSupl: Optional["Tnf3E.InfNf3ESupl"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ signature: Optional[Signature] = field(
+ default=None,
+ metadata={
+ "name": "Signature",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+
+ @dataclass
+ class InfNf3E(CommonMixin):
+ """
+ :ivar ide: Identificação da NF-3e
+ :ivar emit: Identificação do Emitente do documento fiscal
+ :ivar dest: Identificação do destinatário / acessante
+ :ivar acessante: Dados do acessante
+ :ivar gSub: Grupo de informações da substituição
+ :ivar gJudic: Grupo de informações para referenciar a NF3e
+ original que foi separada judicialmente
+ :ivar gGrContrat: Grupo de informações das quantidades
+ contratadas
+ :ivar gMed: Grupo de informações dos Medidores
+ :ivar gSCEE: Grupo dos dados do Sistema de Compensação de
+ Energia Elétrica
+ :ivar NFdet: Detalhamento de Produtos e Serviços Quando NF3e
+ Normal com ajustes, utilizar a ultima nota do detalhamento
+ para apresentar a fatura do mês atual
+ :ivar total: Dados dos totais da NF-3e
+ :ivar gFat: Grupo de informações de controle da Fatura
+ :ivar gANEEL: Grupo de informações da Agência Nacional de
+ Energia Eletrica
+ :ivar autXML: Autorizados para download do XML do DF-e Informar
+ CNPJ ou CPF. Preencher os zeros não significativos.
+ :ivar infAdic: Informações Adicionais
+ :ivar gRespTec: Informações do Responsável Técnico pela emissão
+ do DF-e
+ :ivar versao: Versão do leiaute
+ :ivar Id: Identificador da tag a ser assinada Informar a chave
+ de acesso da NF-3e e precedida do literal "NF3e"
+ """
+
+ ide: Optional["Tnf3E.InfNf3E.Ide"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ emit: Optional["Tnf3E.InfNf3E.Emit"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ dest: Optional["Tnf3E.InfNf3E.Dest"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ acessante: Optional["Tnf3E.InfNf3E.Acessante"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ gSub: Optional["Tnf3E.InfNf3E.GSub"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ gJudic: Optional["Tnf3E.InfNf3E.GJudic"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ gGrContrat: List["Tnf3E.InfNf3E.GGrContrat"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 20,
+ },
+ )
+ gMed: List["Tnf3E.InfNf3E.GMed"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 20,
+ },
+ )
+ gSCEE: Optional["Tnf3E.InfNf3E.GScee"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ NFdet: List["Tnf3E.InfNf3E.Nfdet"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ "max_occurs": 13,
+ },
+ )
+ total: Optional["Tnf3E.InfNf3E.Total"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ gFat: Optional["Tnf3E.InfNf3E.GFat"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ gANEEL: Optional[Taneel] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ autXML: List["Tnf3E.InfNf3E.AutXml"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 10,
+ },
+ )
+ infAdic: Optional["Tnf3E.InfNf3E.InfAdic"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ gRespTec: Optional[TrespTec] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "pattern": r"NF3e[0-9]{44}",
+ },
+ )
+
+ @dataclass
+ class Ide(CommonMixin):
+ """
+ :ivar cUF: Código da UF do emitente da NF-3e Código da UF do
+ emitente do Documento Fiscal. Utilizar a Tabela do IBGE
+ de código de unidades da federação.
+ :ivar tpAmb: Tipo do Ambiente 1 - Produção; 2 - Homologação
+ :ivar mod: Modelo da NF-3e Utilizar o código 66 para
+ identificação da NF-3e
+ :ivar serie: Série do documento fiscal Informar a série do
+ documento fiscal (informar zero para série única).
+ :ivar nNF: Número do documento fiscal Número que identifica
+ o documento fiscal 1 a 999999999.
+ :ivar cNF: Código numérico que compõe a Chave de Acesso.
+ Código aleatório gerado pelo emitente, com o objetivo de
+ evitar acessos indevidos ao documento.
+ :ivar cDV: Digito verificador da chave de acesso Informar o
+ dígito de controle da chave de acesso documento fiscal,
+ que deve ser calculado com a aplicação do algoritmo
+ módulo 11 (base 2,9) da chave de acesso.
+ :ivar dhEmi: Data e hora de emissão do documento fiscal
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+ :ivar tpEmis: Forma de emissão do Documento Fiscal 1 -
+ Normal ; 2 - Contingência Off Line
+ :ivar nSiteAutoriz: Identificação do número do Site do
+ Autorizador de recepção da NF3e Se o autorizador da NF3e
+ possuir apenas um site deverá ser informado com Zero
+ (0), em caso de Autorizador trabalhar com múltiplos
+ sites indicar o número do site para qual foi endereçada
+ a NF3e (1 a 9). Observação: O ambiente autorizador que
+ trabalhar com mais de um Site deverá divulgar para cada
+ endereço de site qual número correspondente de
+ nSiteAutoriz o contribuinte pode usar
+ :ivar cMunFG: Código do município de ocorrência do fato
+ gerador
+ :ivar finNF3e: Finalidade de emissão da NF-3e 1 - NF-3e
+ normal; 2 - NF-3e substituição; 3 - NF-3e normal com
+ ajuste;
+ :ivar verProc: Versão do processo de emissão Informar a
+ versão do aplicativo emissor de NF-3e.
+ :ivar dhCont: Data e Hora da entrada em contingência
+ Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS
+ :ivar xJust: Justificativa da entrada em contingência
+ """
+
+ cUF: Optional[TcodUfIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ mod: Optional[TmodNf3E] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ serie: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|[1-9]{1}[0-9]{0,2}",
+ },
+ )
+ nNF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,8}",
+ },
+ )
+ cNF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ cDV: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1}",
+ },
+ )
+ dhEmi: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ tpEmis: Optional[TtpEmis] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ nSiteAutoriz: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1}",
+ },
+ )
+ cMunFG: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ finNF3e: Optional[TfinNf3E] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verProc: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ dhCont: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "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))",
+ },
+ )
+ xJust: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 15,
+ "max_length": 256,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+ @dataclass
+ class Emit(CommonMixin):
+ """
+ :ivar CNPJ: CNPJ do emitente Informar zeros não
+ significativos
+ :ivar IE: Inscrição Estadual do emitente
+ :ivar xNome: Razão social ou Nome do emitente
+ :ivar xFant: Nome fantasia do emitente
+ :ivar enderEmit: Endereço do emitente
+ """
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ IE: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{2,14}",
+ },
+ )
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xFant: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ enderEmit: Optional[TendeEmi] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+
+ @dataclass
+ class Dest(CommonMixin):
+ """
+ :ivar xNome: Razão social ou Nome do destinatário /
+ acessante
+ :ivar CNPJ: Número do CNPJ Em caso de empresa não
+ estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+ :ivar CPF: Número do CPF Informar os zeros não
+ significativos.
+ :ivar idOutros: Identificação do destinatário outros
+ Identificação do destinatário não obrigado a inscrição
+ do CPF tais como estrangeiro, indígena (informar código
+ do RANI) e quilombola; ou destinatário que a
+ distribuidora não possui a informação (nestes casos
+ orienta-se informar "00000").
+ :ivar indIEDest: Indicador da IE do Destinatário/Acessante 1
+ - Contribuinte ICMS (informar a IE do destinatário); 2 -
+ Contribuinte isento de Inscrição no cadastro de
+ Contribuintes do ICMS; 9 - Não Contribuinte, que pode ou
+ não possuir Inscrição Estadual no Cadastro de
+ Contribuintes do ICMS. Nota: No caso de Contribuinte
+ Isento de Inscrição (indIEDest=2) informar a tag IE do
+ destinatário com o literal ISENTO.
+ :ivar IE: Inscrição Estadual do destinatário / acessante
+ :ivar IM: Inscrição Municipal
+ :ivar cNIS: Número da Identificação Social - NIS
+ :ivar NB: Número do Benefício
+ :ivar xNomeAdicional: Nome de destinatário adicional
+ Exemplo: Nome do Conjuge, Companheira(o)
+ :ivar enderDest: Endereço do destinatário / acessante
+ """
+
+ xNome: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{0}|[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+ idOutros: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 2,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"([!-ÿ]{0}|[!-ÿ]{2,20})?",
+ },
+ )
+ indIEDest: Optional[TindIedest] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ IE: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{0,14}|ISENTO",
+ },
+ )
+ IM: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cNIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{15}",
+ },
+ )
+ NB: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 10,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{10}",
+ },
+ )
+ xNomeAdicional: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ enderDest: Optional[TendeEmi] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+
+ @dataclass
+ class Acessante(CommonMixin):
+ """
+ :ivar idAcesso: Código único de Identificação da Unidade
+ Consumidora ou Ponto de Acesso adotado pela
+ distribuidora.
+ :ivar idCodCliente: Código de Identificação do Cliente para
+ empresa emitente
+ :ivar tpAcesso: Tipo de Acessante 0 - Gerador; 1 – Cativo; 2
+ – Livre; 3 – Parcialmente Livre; 4 – Consumidor
+ Especial; 5 – Parcialmente Especial; 6 – Comunhão; 7 –
+ Suprimento; 8 – Distribuidora.
+ :ivar xNomeUC: Nome da Unidade Consumidora
+ :ivar tpClasse: Classe de Consumo da Unidade Consumidora 01
+ - Comercial 02 - Consumo Próprio 03 - Iluminação Pública
+ 04 - Industrial 05 - Poder Público 06 - Residencial 07 -
+ Rural 08 -Serviço Público.
+ :ivar tpSubClasse: Subclasse de Consumo da Unidade
+ Consumidora 01 - Residencial; 02 - Residencial baixa
+ renda; 03 - Residencial baixa renda indígena; 04 -
+ Residencial baixa renda quilombola; 05 - Residencial
+ baixa renda benefício de prestação continuada da
+ assistência social; 06 - Residencial baixa renda
+ multifamiliar; 07 - Comercial; 08 - Serviços de
+ transporte, exceto tração elétrica; 09 - Serviços de
+ comunicação e telecomunicação; 10 - Associação e
+ entidades filantrópicas; 11 - Templos religiosos; 12 -
+ Administração condominial: iluminação e instalações de
+ uso comum de prédio ou conjunto de edificações; 13 -
+ Iluminação em rodovias solicitada por quem detenha
+ concessão ou autorização para administração em rodovias;
+ 14 - Semáforos, radares e câmeras de monitoramento de
+ trânsito, solicitados por quem detenha concessão ou
+ autorização para controle de trânsito; 15 - Outros
+ serviços e outras atividades da classe comercial;
+ 16=Agropecuária rural; 17 - Agropecuária urbana; 18 -
+ Residencial rural; 19 - Cooperativa de eletrificação
+ rural; 20 - Agroindustrial; 21 - Serviço público de
+ irrigação rural; 22 - Escola agrotécnica; 23 -
+ Aquicultura; 24 - Poder público Federal; 25 - Poder
+ Público Estadual ou Distrital; 26 - Poder público
+ Municipal; 27 - Tração Elétrica; 28 - Água esgoto ou
+ saneamento; 99 - Outros.
+ :ivar tpFase: Tipo de ligação 1 - Monofásico; 2 - Bifásico;
+ 3 - Trifásico;
+ :ivar tpGrpTensao: Grupo e Subgrupo de Tensão 01 - A1 - Alta
+ Tensão (230kV ou mais); 02 - A2 - Alta Tensão (88 a
+ 138kV); 03 - A3 - Alta Tensão (69kV); 04 - A3a - Alta
+ Tensão (30kV a 44kV); 05 - A4 - Alta Tensão (2,3kV a
+ 25kV); 06 - AS - Alta Tensão Subterrâneo; 07 - B1 -
+ Residencial; 08 - B1 - Residencial Baixa Renda; 09 - B2
+ - Rural; 10 - B2 - Cooperativa de Eletrificação Rural;
+ 11 - B2 - Serviço Público de Irrigação; 12 - B3 - Demais
+ Classes; 13 - B4a - Iluminação Pública - rede de
+ distribuição; 14 - B4b - Iluminação Pública - bulbo de
+ lâmpada.
+ :ivar tpModTar: Modalidade Tarifária 01 – Convencional
+ Monômia; 02 – Convencional Binômia; 03 – Horária Azul;
+ 04 – Horária Azul APE;05 – Horária Verde;06 – Horária
+ Verde APE; 07 – Horária Branca;08 – Pré-pagamento; 09 –
+ Geração; 10 – Distribuição.
+ :ivar latGPS: Latitude do ponto geográfico da localização da
+ captura
+ :ivar longGPS: Longitude do ponto geográfico da localização
+ da captura
+ :ivar codRoteiroLeitura: Roteiro da Leitura para uso
+ operacional Nome da unidade consumidora, exclusivamente
+ para a classe Poder Público, desde que informado
+ previamente e solicitado pelo consumidor.
+ """
+
+ idAcesso: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 15,
+ "white_space": "preserve",
+ "pattern": r"([!-ÿ]{0}|[!-ÿ]{1,15})?",
+ },
+ )
+ idCodCliente: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 2,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"([!-ÿ]{0}|[!-ÿ]{2,20})?",
+ },
+ )
+ tpAcesso: Optional[Tacessante] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ xNomeUC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 2,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ tpClasse: Optional[Tclasse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ tpSubClasse: Optional[TsubClasse] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ tpFase: Optional[Tfase] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ tpGrpTensao: Optional[TgrpTensao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ tpModTar: Optional[TmodTar] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ latGPS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]\.[0-9]{6}|[1-8][0-9]\.[0-9]{6}|90\.[0-9]{6}|-[0-9]\.[0-9]{6}|-[1-8][0-9]\.[0-9]{6}|-90\.[0-9]{6}",
+ },
+ )
+ longGPS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]\.[0-9]{6}|[1-9][0-9]\.[0-9]{6}|1[0-7][0-9]\.[0-9]{6}|180\.[0-9]{6}|-[0-9]\.[0-9]{6}|-[1-9][0-9]\.[0-9]{6}|-1[0-7][0-9]\.[0-9]{6}|-180\.[0-9]{6}",
+ },
+ )
+ codRoteiroLeitura: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 2,
+ "max_length": 100,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+ @dataclass
+ class GSub(CommonMixin):
+ """
+ :ivar chNF3e: Chave de acesso da NF3e referenciada
+ :ivar gNF: Informação da NF modelo 06 referenciada
+ :ivar motSub: Motivo da substituição 01 – Erro de Leitura ;
+ 02 – Erro de Preço ou Erro de Tarifa; 03 – Decisão
+ Judicial ; 04 – Erro Cadastral; 05 - Erro de Tributação
+ """
+
+ chNF3e: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+ gNF: Optional["Tnf3E.InfNf3E.GSub.GNf"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ motSub: Optional[TmotSub] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+
+ @dataclass
+ class GNf(CommonMixin):
+ """
+ :ivar CNPJ: CNPJ do Emitente Informar o CNPJ do emitente
+ do Documento Fiscal
+ :ivar serie: Serie do documento fiscal
+ :ivar nNF: Número do documento fiscal
+ :ivar CompetEmis: Ano e mês da emissão da NF mod. 06
+ (AAAAMM)
+ :ivar CompetApur: Ano e mês de apuração (AAAAMM)
+ :ivar hash115: Hash do registro no arquivo do convênio
+ 115 Campo poderá ser exigido a critério da UF
+ """
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ serie: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 3,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nNF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,8}",
+ },
+ )
+ CompetEmis: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 6,
+ "max_length": 6,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,6}",
+ },
+ )
+ CompetApur: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 6,
+ "max_length": 6,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,6}",
+ },
+ )
+ hash115: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 32,
+ "max_length": 32,
+ "format": "base64",
+ },
+ )
+
+ @dataclass
+ class GJudic(CommonMixin):
+ """
+ :ivar chNF3e: Chave de acesso da NF3e referenciada
+ """
+
+ chNF3e: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+
+ @dataclass
+ class GGrContrat(CommonMixin):
+ """
+ :ivar tpGrContrat: Tipo de grandeza contratada 1 - Demanda;
+ 2 - Montante de Uso do Sistema de Distribuição; 3 -
+ Reserva de Capacidade; 4 - Energia Contratada
+ :ivar tpPosTar: Tipo de Posto Tarifário Contratado 0 - Único
+ ; 1 - Ponta ; 2 - Fora Ponta
+ :ivar qUnidContrat: Quantidade Contratada em kW ou kWh
+ :ivar nContrat: Número de referência para informar nos
+ produtos a relação com a quantidade contratada
+ """
+
+ tpGrContrat: Optional[TgrContrat] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ tpPosTar: Optional[TposTarSimples] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ qUnidContrat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,6})?",
+ },
+ )
+ nContrat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "min_length": 2,
+ "max_length": 2,
+ "white_space": "preserve",
+ "pattern": r"(0[1-9]|1[0-9]|20)",
+ },
+ )
+
+ @dataclass
+ class GMed(CommonMixin):
+ """
+ :ivar idMedidor: Identificação do medidor
+ :ivar dMedAnt: Data da leitura anterior Formato AAAA-MM-DD
+ :ivar dMedAtu: Data da leitura atual Formato AAAA-MM-DD
+ :ivar nMed: Número de referência para informar nos produtos
+ a relação com a medição
+ """
+
+ idMedidor: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"([!-ÿ]{0}|[!-ÿ]{2,20})?",
+ },
+ )
+ dMedAnt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ dMedAtu: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ nMed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "min_length": 2,
+ "max_length": 2,
+ "white_space": "preserve",
+ "pattern": r"(0[1-9]|1[0-9]|20)",
+ },
+ )
+
+ @dataclass
+ class GScee(CommonMixin):
+ """
+ :ivar tpPartComp: Tipo de participação no sistema de
+ compensação de energia elétrica 1 - Mini ou microgeração
+ (somente uma UC); 2 - Múltiplas unidades consumidoras
+ (condomínio em área definida); 3 - Autoconsumo remoto; 4
+ - Geração compartilhada (consórcio ou cooperativa); 5 -
+ Mista (utilizar quando enquadrado em mais de um tipo de
+ participação)
+ :ivar gConsumidor: Participação no SCEE como Consumidor
+ :ivar gSaldoCred: Saldos de Créditos por posto tarifário
+ :ivar gTipoSaldo: Agrupador de Saldos para registros de
+ múltiplos saldos por posto tarifário
+ """
+
+ tpPartComp: Optional[TpartComp] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ gConsumidor: List["Tnf3E.InfNf3E.GScee.GConsumidor"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ },
+ )
+ gSaldoCred: List["Tnf3E.InfNf3E.GScee.GSaldoCred"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 3,
+ },
+ )
+ gTipoSaldo: List["Tnf3E.InfNf3E.GScee.GTipoSaldo"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 10,
+ },
+ )
+
+ @dataclass
+ class GConsumidor(CommonMixin):
+ """
+ :ivar idAcessGer: Código Único de identificação da
+ unidade geradora Informar o Código Único adotado
+ pela companhia distribuidora para o ponto de acesso
+ da unidade geradora cuja energia foi destinada a
+ esta unidade consumidora.
+ :ivar vPotInst: Potência instalada da micro ou
+ minigeraçao em kW
+ :ivar tpFonteEnergia: Tipo da fonte de energia
+ 1-Hidráulica, 2-Solar, 3-Eólica, 4-Térmica, 5 -
+ Hibrida
+ :ivar enerAloc: Energia alocada Quantidade de energia
+ excedente que é destinado pela unidade geradora a
+ esta unidade consumidora em kWh.
+ :ivar tpPosTar: Tipo de Posto Tarifário 0=Único ;
+ 1=Ponta ; 2=Fora Ponta; 3=Intermediário
+ """
+
+ idAcessGer: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"([!-ÿ]{0}|[!-ÿ]{2,20})?",
+ },
+ )
+ vPotInst: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,4}(\.[0-9]{3})?",
+ },
+ )
+ tpFonteEnergia: Optional[TfonteEnergia] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ enerAloc: List[str] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})?",
+ },
+ )
+ tpPosTar: List[TposTarSimples] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ },
+ )
+
+ @dataclass
+ class GSaldoCred(CommonMixin):
+ """
+ :ivar tpPosTar: Tipo de Posto Tarifário 0=Único ;
+ 1=Ponta ; 2=Fora Ponta; 3 = Intermediario
+ :ivar vSaldAnt: Saldo Anterior de Créditos em kWh
+ :ivar vCredExpirado: Créditos Expirados
+ :ivar vSaldAtual: Saldo Atual de Créditos em kWh
+ :ivar vCredExpirar: Créditos a Expirar Próxima parcela
+ do saldo atualizado de créditos a expirar
+ :ivar CompetExpirar: Ciclo de faturamento em que
+ ocorrerá a expiração (AAAAMM)
+ """
+
+ tpPosTar: Optional[TposTarSimples] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ vSaldAnt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vCredExpirado: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vSaldAtual: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vCredExpirar: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ CompetExpirar: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 6,
+ "max_length": 6,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,6}",
+ },
+ )
+
+ @dataclass
+ class GTipoSaldo(CommonMixin):
+ """
+ :ivar gSaldoCred: Saldos de Créditos por posto tarifário
+ :ivar nTipoSaldo: Número referente ao agrupador de
+ saldos por posto tarifário Aceita valores de 01 a
+ 10. Serve para organizar a informação dos grupos de
+ saldos.
+ """
+
+ gSaldoCred: List[
+ "Tnf3E.InfNf3E.GScee.GTipoSaldo.GSaldoCred"
+ ] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ "max_occurs": 3,
+ },
+ )
+ nTipoSaldo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "min_length": 1,
+ "max_length": 3,
+ "white_space": "preserve",
+ "pattern": r"(0[1-9]|10)",
+ },
+ )
+
+ @dataclass
+ class GSaldoCred(CommonMixin):
+ """
+ :ivar tpPosTar: Tipo de Posto Tarifário 0=Único ;
+ 1=Ponta ; 2=Fora Ponta; 3 = Intermediario
+ :ivar vSaldAnt: Saldo Anterior de Créditos em kWh
+ :ivar vCredExpirado: Créditos Expirados
+ :ivar vSaldAtual: Saldo Atual de Créditos em kWh
+ :ivar vCredExpirar: Créditos a Expirar Próxima
+ parcela do saldo atualizado de créditos a
+ expirar
+ :ivar CompetExpirar: Ciclo de faturamento em que
+ ocorrerá a expiração (AAAAMM)
+ """
+
+ tpPosTar: Optional[TposTarSimples] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ vSaldAnt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vCredExpirado: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vSaldAtual: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vCredExpirar: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ CompetExpirar: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 6,
+ "max_length": 6,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,6}",
+ },
+ )
+
+ @dataclass
+ class Nfdet(CommonMixin):
+ """
+ :ivar det: Detalhamento de Produtos e Serviços
+ :ivar chNF3eAnt: Chave de Acesso da NF-3e anterior Informar
+ apenas para finalidade de Ajuste
+ :ivar mod6HashAnt: HashCode da Modelo 6 Anterior Informar
+ apenas para finalidade de Ajuste
+ """
+
+ det: List["Tnf3E.InfNf3E.Nfdet.Det"] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ "max_occurs": 990,
+ },
+ )
+ chNF3eAnt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "max_length": 44,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{44}",
+ },
+ )
+ mod6HashAnt: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "format": "base64",
+ },
+ )
+
+ @dataclass
+ class Det(CommonMixin):
+ """
+ :ivar gAjusteNF3eAnt: Grupo de identificação do ajuste
+ do item de NF-3e anterior Somente informar no caso
+ de item relacionado a NF-3e anterior
+ :ivar detItemAnt: Grupo de informações referentes a item
+ da NF-3e anterior Este grupo somente deverá ser
+ preenchido para detalhar item ajustado de nota
+ anterior nos casos de item alterado ou excluído
+ :ivar detItem: Grupo de informações referentes a item da
+ NF-3e
+ :ivar nItem: Número do item da NF-3e
+ """
+
+ gAjusteNF3eAnt: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.GAjusteNf3EAnt"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ detItemAnt: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItemAnt"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ detItem: Optional["Tnf3E.InfNf3E.Nfdet.Det.DetItem"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ nItem: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,1}|[1-8]{1}[0-9]{2}|[9]{1}[0-8]{1}[0-9]{1}|[9]{1}[9]{1}[0]{1}",
+ },
+ )
+
+ @dataclass
+ class GAjusteNf3EAnt(CommonMixin):
+ """
+ :ivar tpAjuste: Tipo de ajuste a ser aplicado ao
+ item 1 - Item a ser substituído (deve informar
+ detItemAnt); 2 - Item de substituição (nova
+ imagem do item anterior); 3 - Item a ser
+ eliminado (deve informar detItemAnt); 4 - Item a
+ ser incluído referente a NF-3e anterior ;
+ :ivar motAjuste: Motivo do Ajuste 1 – Erro de
+ Leitura ; 2 – Erro de Preço ou Erro de Tarifa ;
+ 3 – Decisão Judicial ; 4 – Erro Cadastral ; 5 -
+ Erro de Tributação
+ """
+
+ tpAjuste: Optional[TajusteNf3EAnt] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ motAjuste: Optional[TmotAjuste] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+
+ @dataclass
+ class DetItemAnt(CommonMixin):
+ """
+ :ivar vItem: Valor unitário do item Informar o valor
+ sem a influência da decisão
+ judicial/administrativa.
+ :ivar qFaturada: Quantidade Faturada Informar a
+ quantidade de comercialização do produto .
+ :ivar vProd: Valor total do item
+ :ivar cClass: Código de classificação Tabela de
+ Classificação de Item da NF-3e de Energia
+ Elétrica (validar por RV)
+ :ivar vBC: Valor da BC do ICMS
+ :ivar pICMS: Alíquota do ICMS
+ :ivar vICMS: Valor do ICMS
+ :ivar vFCP: Valor do ICMS relativo ao Fundo de
+ Combate à Pobreza (FCP).
+ :ivar vBCST: Valor da BC do ICMS ST
+ :ivar vICMSST: Valor do ICMS ST retido
+ :ivar vFCPST: Valor do ICMS relativo ao Fundo de
+ Combate à Pobreza (FCP).
+ :ivar vPIS: Valor do PIS
+ :ivar vPISEfet: Valor efetivo do PIS
+ :ivar vCOFINS: Valor do COFINS
+ :ivar vCOFINSEfet: Valor Efetivo do COFINS
+ :ivar retTrib: Grupo de informações de retenção de
+ tributos federais do item anterior
+ :ivar indDevolucao: Indicador de devolução do valor
+ do item 1 – Devolução do valor do item
+ :ivar nItemAnt: Número do item da NF-3e anterior
+ """
+
+ vItem: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ qFaturada: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vProd: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ cClass: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 7,
+ "max_length": 7,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vBCST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vICMSST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vFCPST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vPISEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vCOFINS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vCOFINSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ retTrib: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItemAnt.RetTrib"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ indDevolucao: Optional[DetItemAntIndDevolucao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ },
+ )
+ nItemAnt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "min_length": 1,
+ "max_length": 3,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,1}|[1-8]{1}[0-9]{2}|[9]{1}[0-8]{1}[0-9]{1}|[9]{1}[9]{1}[0]{1}",
+ },
+ )
+
+ @dataclass
+ class RetTrib(CommonMixin):
+ """
+ :ivar vRetPIS: Valor do PIS retido
+ :ivar vRetCofins: Valor do COFNS retido
+ :ivar vRetCSLL: Valor da CSLL retida
+ :ivar vBCIRRF: Base de cálculo do IRRF
+ :ivar vIRRF: Valor do IRRF retido
+ """
+
+ vRetPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vRetCofins: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vRetCSLL: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vBCIRRF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vIRRF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+
+ @dataclass
+ class DetItem(CommonMixin):
+ """
+ :ivar gTarif: Grupo de Tarifas por Período
+ :ivar gAdBand: Grupo de Adicional de Bandeira
+ :ivar prod: Dados do Produto ou Serviço
+ :ivar imposto: Tributos incidentes no Produto ou
+ Serviço
+ :ivar gProcRef: Grupo Processo referenciado Este
+ grupo somente deverá ser preenchido quando
+ houver processo judicial ou administrativo que
+ altere valores.
+ :ivar gContab: Grupo de Informações Contábeis
+ Informar o número das contas contábeis objeto do
+ lançamento completo do fato.
+ :ivar infAdProd: Informações adicionais do produto
+ (norma referenciada, informações complementares,
+ etc)
+ :ivar nItemAnt: Número do item da NF-3e anterior que
+ este item está substituindo. Deve sempre existir
+ um detItemAnt que corresponda
+ """
+
+ gTarif: List[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.GTarif"
+ ] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 6,
+ },
+ )
+ gAdBand: List[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.GAdBand"
+ ] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 3,
+ },
+ )
+ prod: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Prod"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ imposto: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ gProcRef: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.GProcRef"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ gContab: List[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.GContab"
+ ] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 99,
+ },
+ )
+ infAdProd: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 500,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ nItemAnt: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "min_length": 1,
+ "max_length": 3,
+ "white_space": "preserve",
+ "pattern": r"[1-9]{1}[0-9]{0,1}|[1-8]{1}[0-9]{2}|[9]{1}[0-8]{1}[0-9]{1}|[9]{1}[9]{1}[0]{1}",
+ },
+ )
+
+ @dataclass
+ class GTarif(CommonMixin):
+ """
+ :ivar dIniTarif: Data de início da aplicação da
+ tarifa Data de início da aplicação da tarifa
+ no período considerado para o faturamento (
+ Formato AAAA-MM-DD)
+ :ivar dFimTarif: Data de fim da aplicação da
+ tarifa Data de fim da aplicação da tarifa no
+ período considerado para o faturamento
+ (Formato AAAA-MM-DD)
+ :ivar tpAto: Tipo de Ato da ANEEL 1 - REH
+ (Resolução homologatória); 2 - Despacho; 3 -
+ REN (Resolução Normativa)
+ :ivar nAto: Número do Ato da ANEEL
+ :ivar anoAto: Ano do Ato da ANEEL (AAAA)
+ :ivar tpTarif: Tarifa de aplicação 1 - TE; 2 -
+ TUSD
+ :ivar cPosTarif: Tipo de posto tarifário 0 -
+ Único/Não se aplica; 1 - Ponta; 2 - Fora
+ Ponta; 3 - Intermediário; 4 - Ponta
+ Reservado; 5 - Fora ponta Reservado; 6 -
+ Intermediário Reservado 7 - Reservado
+ :ivar uMed: Unidade de Medida 1=kW (Aplica-se
+ somente a TUSD); 2=kWh (Aplica-se tanto a
+ TUSD quanto TE)
+ :ivar vTarifHom: Valor da tarifa homologada pela
+ ANEEL
+ :ivar vTarifAplic: Valor da tarifa aplicada
+ :ivar motDifTarif: Motivo da diferença de tarifa
+ aplicada com a homologada 01 - Decisão
+ judicial; 02 - Decisão da distribuidora
+ (tarifa homologada equivale a preço teto);
+ 03 - Desconto Tarifário; 04 - Reajuste
+ tarifário
+ """
+
+ dIniTarif: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ dFimTarif: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ tpAto: Optional[TatoAneel] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ nAto: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 4,
+ "max_length": 4,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ anoAto: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 4,
+ "max_length": 4,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{4}",
+ },
+ )
+ tpTarif: Optional[Ttarifa] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ cPosTarif: Optional[TposTarifCompleto] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ uMed: Optional[GTarifUMed] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vTarifHom: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{8}|[1-9]{1}[0-9]{0,8}(\.[0-9]{8})?",
+ },
+ )
+ vTarifAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{8}|[1-9]{1}[0-9]{0,8}(\.[0-9]{8})?",
+ },
+ )
+ motDifTarif: Optional[GTarifMotDifTarif] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class GAdBand(CommonMixin):
+ """
+ :ivar dIniAdBand: Data de início da aplicação do
+ adicional Data de início da aplicação do
+ adicional de bandeira no período considerado
+ para o faturamento (Formato AAAA-MM-DD)
+ :ivar dFimAdBand: Data de fim da aplicação do
+ adicional Data de fim da aplicação do
+ adicional de bandeira no período considerado
+ para o faturamento ( Formato AAAA-MM-DD)
+ :ivar tpBand: Tipo da bandeira tarifária 1 –
+ Verde; 2 – Amarela; 3 – Vermelha patamar 1;
+ 4 – Vermelha patamar 2 ; 5 - Escassez
+ Hidrica
+ :ivar vAdBand: Valor do Adicional tarifário
+ Resultado decorrente da aplicação do
+ adicional de cada bandeira sobre o consumo
+ faturado no período considerado entre as
+ datas de início e fim. Quando for bandeira
+ verde o campo valor do adicional tarifário
+ deverá ser preenchido com zero (0.00).
+ :ivar vAdBandAplic: Valor do adicional tarifário
+ aplicado
+ :ivar motDifBand: Motivo da diferença do
+ adicional aplicado 01 - Decisão judicial; 02
+ - Decisão da distribuidora (tarifa
+ homologada equivale a preço teto); 03 -
+ Desconto tarifário ; 04 - Alteração de
+ tarifa
+ """
+
+ dIniAdBand: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ dFimAdBand: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ tpBand: Optional[Tband] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ vAdBand: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ vAdBandAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ motDifBand: Optional[GAdBandMotDifBand] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class Prod(CommonMixin):
+ """
+ :ivar indOrigemQtd: Indicador da origem da
+ quantidade faturada 1 - Media; 2 - Medido; 3
+ - Contratada; 4 - Calculada; 5 - Custo de
+ disponibilidade; 6 - Sem quantidade
+ :ivar gMedicao: Grupo para referenciar qual
+ medição e medida estão relacionadas ao item
+ :ivar cProd: Código do produto ou serviço.
+ :ivar xProd: Descrição do produto ou serviço
+ :ivar cClass: Código de classificação Tabela de
+ Classificação de Item da NF-3e de Energia
+ Elétrica (validar por RV)
+ :ivar CFOP: CFOP Utilizar Tabela de CFOP.
+ :ivar uMed: Unidade Básica de Medida 1=kW ;
+ 2=kWh; 3=kVAr; 4=kVArh; 5=UN
+ :ivar qFaturada: Quantidade Faturada Informar a
+ quantidade de comercialização do produto .
+ :ivar vItem: Valor unitário do item O valor
+ unitário do item no caso de energia elétrica
+ corresponde ao valor da tarifa e dos
+ tributos que devam compor a base de cálculo.
+ O item pode estar acrescido do adicional da
+ bandeira tarifária ou o adicional de
+ bandeira poderá ser lançado como um item
+ específico. Este campo também corresponde ao
+ preço médio efetivo relativo ao consumo
+ ativo do período, quando aplicáveis os
+ termos do inciso I da clausula primeira do
+ Convênio ICMS 77/11 (DEVEC).
+ :ivar vProd: Valor total do item
+ :ivar indDevolucao: Indicador de devolução do
+ valor do item 1 – Devolução do valor do item
+ :ivar indPrecoACL: Preço ACL Valor declarado na
+ DEVEC de acordo com convênio ICMS 77/11 Deve
+ informar ICMS10 e não poderá informar grupo
+ de tarifas aplicadas.
+ """
+
+ indOrigemQtd: Optional[TorigemQtd] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ gMedicao: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Prod.GMedicao"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ cProd: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xProd: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 120,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cClass: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 7,
+ "max_length": 7,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{7}",
+ },
+ )
+ CFOP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[123567][0-9]([0-9][1-9]|[1-9][0-9])",
+ },
+ )
+ uMed: Optional[TumedItem] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ qFaturada: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vItem: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ vProd: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ indDevolucao: Optional[ProdIndDevolucao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ },
+ )
+ indPrecoACL: Optional[ProdIndPrecoAcl] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class GMedicao(CommonMixin):
+ """
+ :ivar nMed: Referência para a medição ao
+ qual se refere o item
+ :ivar nContrat: Referência para o grupo de
+ demanda contratada ao qual se refere o
+ item
+ :ivar gMedida: Grupo de medida
+ :ivar tpMotNaoLeitura: Tipo Motivo da não
+ leitura 1 - Consumidor; 2 -
+ Distribuidora; 3 - Independente do
+ Consumidor e distribuidora;
+ """
+
+ nMed: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 2,
+ "white_space": "preserve",
+ "pattern": r"(0[1-9]|1[0-9]|20)",
+ },
+ )
+ nContrat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 2,
+ "max_length": 2,
+ "white_space": "preserve",
+ "pattern": r"(0[1-9]|1[0-9]|20)",
+ },
+ )
+ gMedida: Optional[Tmedida] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ tpMotNaoLeitura: Optional[TmotNaoLeitura] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+
+ @dataclass
+ class Imposto(Timp):
+ """
+ :ivar ICMS00: Prestação sujeito à tributação
+ normal do ICMS Tributada integralmente
+ :ivar ICMS10: Tributada e com cobrança do ICMS
+ por substituição tributária
+ :ivar ICMS20: Prestação sujeito à tributação com
+ redução de BC do ICMS
+ :ivar ICMS40: Tributação Isenta, Não tributada
+ :ivar ICMS51: Tributação com Diferimento A
+ exigência do preenchimento das informações
+ do ICMS diferido fica a critério de cada UF
+ :ivar ICMS60: Tributação pelo ICMS 60 - ICMS
+ cobrado anteriormente por substituição
+ tributária
+ :ivar ICMS90: ICMS Outros Será usado no caso da
+ subvenção ou para NF-3e de ajuste quando for
+ o caso.
+ :ivar indSemCST: Sem Situação Tributária para o
+ ICMS Informar para itens que não tenham
+ nenhuma relação com o ICMS. Quando informado
+ o item NÃO PODE ter CFOP informado Se
+ informado esse grupo o schema não permite
+ informar nenhum dos grupos de ICMSXX
+ :ivar PIS: Dados do PIS
+ :ivar PISEfet: Dados do PIS Efetivo
+ :ivar COFINS: Dados do COFINS
+ :ivar COFINSEfet: Dados do COFINS Efetivo
+ :ivar retTrib: Grupo de informações de retenção
+ de tributos federais
+ """
+
+ ICMS00: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Icms00"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ ICMS10: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Icms10"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ ICMS20: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Icms20"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ ICMS40: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Icms40"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ ICMS51: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Icms51"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ ICMS60: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Icms60"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ ICMS90: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Icms90"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ indSemCST: Optional[ImpostoIndSemCst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ },
+ )
+ PIS: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Pis"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ PISEfet: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Pisefet"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ COFINS: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Cofins"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ COFINSEfet: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.Cofinsefet"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ retTrib: Optional[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.Imposto.RetTrib"
+ ] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+
+ @dataclass
+ class Pis(CommonMixin):
+ """
+ :ivar CST: classificação Tributária do PIS
+ 01 – Tributável com alíquota básica 02 –
+ Tributável com alíquota diferenciada 06
+ – Tributável com alíquota erro 07 –
+ Operação isenta de 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
+ :ivar vBC: Valor da BC do PIS
+ :ivar pPIS: Alíquota do PIS (em percentual)
+ :ivar vPIS: Valor do PIS
+ """
+
+ CST: Optional[PisCst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class Pisefet(CommonMixin):
+ """
+ :ivar vBCPISEfet: Valor da BC do PIS efetivo
+ :ivar pPISEfet: Alíquota efetiva do PIS (em
+ percentual)
+ :ivar vPISEfet: Valor efetivo do PIS
+ """
+
+ vBCPISEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pPISEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vPISEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class Cofins(CommonMixin):
+ """
+ :ivar CST: classificação Tributária do
+ COFINS 01 – Tributável com alíquota
+ básica 02 – Tributável com alíquota
+ diferenciada 06 – Tributável com
+ alíquota erro 07 – Operação isenta de
+ 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
+ :ivar vBC: Valor da BC do COFINS
+ :ivar pCOFINS: Alíquota do COFINS (em
+ percentual)
+ :ivar vCOFINS: Valor do COFINS
+ """
+
+ CST: Optional[CofinsCst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pCOFINS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vCOFINS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class Cofinsefet(CommonMixin):
+ """
+ :ivar vBCCOFINSEfet: Valor da BC do COFINS
+ efetivo
+ :ivar pCOFINSEfet: Alíquota Efetiva do
+ COFINS (em percentual)
+ :ivar vCOFINSEfet: Valor Efetivo do COFINS
+ """
+
+ vBCCOFINSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pCOFINSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vCOFINSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class RetTrib(CommonMixin):
+ """
+ :ivar vRetPIS: Valor do PIS retido
+ :ivar vRetCofins: Valor do COFNS retido
+ :ivar vRetCSLL: Valor da CSLL retida
+ :ivar vBCIRRF: Base de cálculo do IRRF
+ :ivar vIRRF: Valor do IRRF retido
+ """
+
+ vRetPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vRetCofins: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vRetCSLL: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vBCIRRF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+ vIRRF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,8})?",
+ },
+ )
+
+ @dataclass
+ class Icms00(CommonMixin):
+ """
+ :ivar CST: classificação Tributária do
+ Serviço 00 - tributação normal ICMS
+ :ivar vBC: Valor da BC do ICMS
+ :ivar pICMS: Alíquota do ICMS
+ :ivar vICMS: Valor do ICMS
+ :ivar pFCP: Percentual de ICMS relativo ao
+ Fundo de Combate à Pobreza (FCP).
+ :ivar vFCP: Valor do ICMS relativo ao Fundo
+ de Combate à Pobreza (FCP).
+ """
+
+ CST: Optional[Icms00Cst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class Icms10(CommonMixin):
+ """
+ :ivar CST: classificação Tributária do
+ Serviço 10=Tributada e com cobrança do
+ ICMS por substituição tributária
+ :ivar vBCST: Valor da BC do ICMS ST
+ :ivar pICMSST: Alíquota do ICMS ST
+ :ivar vICMSST: Valor do ICMS ST retido
+ :ivar pFCPST: Percentual de ICMS relativo ao
+ Fundo de Combate à Pobreza (FCP).
+ :ivar vFCPST: Valor do ICMS relativo ao
+ Fundo de Combate à Pobreza (FCP).
+ """
+
+ CST: Optional[Icms10Cst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vBCST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMSST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vICMSST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pFCPST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vFCPST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class Icms20(CommonMixin):
+ """
+ :ivar CST: Classificação Tributária do
+ serviço 20 - tributação com BC reduzida
+ do ICMS
+ :ivar pRedBC: Percentual de redução da BC
+ :ivar vBC: Valor da BC do ICMS
+ :ivar pICMS: Alíquota do ICMS
+ :ivar vICMS: Valor do ICMS
+ :ivar vICMSDeson: Valor do ICMS de
+ desoneração
+ :ivar cBenef: Código de Benefício Fiscal na
+ UF aplicado ao item Código de Benefício
+ Fiscal utilizado pela UF, aplicado ao
+ item.
+ :ivar pFCP: Percentual de ICMS relativo ao
+ Fundo de Combate à Pobreza (FCP).
+ :ivar vFCP: Valor do ICMS relativo ao Fundo
+ de Combate à Pobreza (FCP).
+ """
+
+ CST: Optional[Icms20Cst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ pRedBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vICMSDeson: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ cBenef: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_length": 10,
+ "white_space": "preserve",
+ },
+ )
+ pFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class Icms40(CommonMixin):
+ """
+ :ivar CST: Classificação Tributária do
+ serviço 40=Isenta; 41=Não tributada;
+ :ivar vICMSDeson: Valor do ICMS de
+ desoneração
+ :ivar cBenef: Código de Benefício Fiscal na
+ UF aplicado ao item Código de Benefício
+ Fiscal utilizado pela UF, aplicado ao
+ item.
+ """
+
+ CST: Optional[Icms40Cst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vICMSDeson: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ cBenef: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_length": 10,
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class Icms51(CommonMixin):
+ """
+ :ivar CST: Classificação Tributária do
+ serviço Tributação pelo ICMS 51 -
+ Diferimento
+ :ivar vICMSDeson: Valor do ICMS de
+ desoneração
+ :ivar cBenef: Código de Benefício Fiscal na
+ UF aplicado ao item Código de Benefício
+ Fiscal utilizado pela UF, aplicado ao
+ item.
+ """
+
+ CST: Optional[Icms51Cst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vICMSDeson: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ cBenef: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_length": 10,
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class Icms60(CommonMixin):
+ """
+ :ivar CST: Tributação pelo ICMS 60 - ICMS
+ cobrado anteriormente por substituição
+ tributária
+ :ivar vBCSTRet: Valor da BC do ICMS ST
+ retido anteriormente
+ :ivar pICMSSTRet: Aliquota suportada pelo
+ consumidor final.
+ :ivar vICMSSubstituto: Valor do ICMS Próprio
+ do Substituto cobrado em operação
+ anterior
+ :ivar vICMSSTRet: Valor do ICMS ST retido
+ anteriormente
+ :ivar vBCFCPSTRet: Valor da Base de cálculo
+ do FCP retido anteriormente por ST.
+ :ivar pFCPSTRet: Percentual de FCP retido
+ anteriormente por substituição
+ tributária.
+ :ivar vFCPSTRet: Valor do FCP retido por
+ substituição tributária.
+ :ivar pRedBCEfet: Percentual de redução da
+ base de cálculo efetiva.
+ :ivar vBCEfet: Valor da base de cálculo
+ efetiva.
+ :ivar pICMSEfet: Alíquota do ICMS efetiva.
+ :ivar vICMSEfet: Valor do ICMS efetivo.
+ :ivar vICMSDeson: Valor do ICMS de
+ desoneração
+ :ivar cBenef: Código de Benefício Fiscal na
+ UF aplicado ao item Código de Benefício
+ Fiscal utilizado pela UF, aplicado ao
+ item.
+ """
+
+ CST: Optional[Icms60Cst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vBCSTRet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMSSTRet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vICMSSubstituto: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vICMSSTRet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vBCFCPSTRet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pFCPSTRet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vFCPSTRet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pRedBCEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vBCEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vICMSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vICMSDeson: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ cBenef: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_length": 10,
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class Icms90(CommonMixin):
+ """
+ :ivar CST: Classificação Tributária do
+ Serviço 90 - ICMS outros
+ :ivar vBC: Valor da BC do ICMS
+ :ivar pICMS: Alíquota do ICMS
+ :ivar vICMS: Valor do ICMS
+ :ivar vICMSDeson: Valor do ICMS de
+ desoneração
+ :ivar cBenef: Código de Benefício Fiscal na
+ UF aplicado ao item Código de Benefício
+ Fiscal utilizado pela UF, aplicado ao
+ item.
+ :ivar pFCP: Percentual de ICMS relativo ao
+ Fundo de Combate à Pobreza (FCP).
+ :ivar vFCP: Valor do ICMS relativo ao Fundo
+ de Combate à Pobreza (FCP).
+ """
+
+ CST: Optional[Icms90Cst] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vICMSDeson: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ cBenef: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_length": 10,
+ "white_space": "preserve",
+ },
+ )
+ pFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class GProcRef(CommonMixin):
+ """
+ :ivar vItem: Valor unitário do item Informar o
+ valor sem a influência da decisão
+ judicial/administrativa.
+ :ivar qFaturada: Quantidade Faturada Informar a
+ quantidade de comercialização do produto .
+ :ivar vProd: Valor total do item
+ :ivar indDevolucao: Indicador de devolução do
+ valor do item 1 – Devolução do valor do item
+ :ivar vBC: Valor da BC do ICMS
+ :ivar pICMS: Alíquota do ICMS
+ :ivar vICMS: Valor do ICMS
+ :ivar pFCP: Percentual de ICMS relativo ao Fundo
+ de Combate à Pobreza (FCP).
+ :ivar vFCP: Valor do ICMS relativo ao Fundo de
+ Combate à Pobreza (FCP).
+ :ivar vBCST: Valor da BC do ICMS ST
+ :ivar pICMSST: Alíquota do ICMS ST
+ :ivar vICMSST: Valor do ICMS ST retido
+ :ivar pFCPST: Percentual de ICMS relativo ao
+ Fundo de Combate à Pobreza (FCP).
+ :ivar vFCPST: Valor do ICMS relativo ao Fundo de
+ Combate à Pobreza (FCP).
+ :ivar vPIS: Valor do PIS
+ :ivar vPISEfet: Valor efetivo do PIS
+ :ivar vCOFINS: Valor do COFINS
+ :ivar vCOFINSEfet: Valor Efetivo do COFINS
+ :ivar gProc: Grupo identificador do Processo
+ """
+
+ vItem: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ qFaturada: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,11}(\.[0-9]{2,4})?",
+ },
+ )
+ vProd: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,13}(\.[0-9]{2,10})?",
+ },
+ )
+ indDevolucao: Optional[GProcRefIndDevolucao] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ },
+ )
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vBCST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pICMSST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})?",
+ },
+ )
+ vICMSST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ pFCPST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0\.[0-9]{2,4}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2,4})?",
+ },
+ )
+ vFCPST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vPISEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vCOFINS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vCOFINSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ gProc: List[
+ "Tnf3E.InfNf3E.Nfdet.Det.DetItem.GProcRef.GProc"
+ ] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ "max_occurs": 10,
+ },
+ )
+
+ @dataclass
+ class GProc(CommonMixin):
+ """
+ :ivar tpProc: Tipo de Processo 0 - SEFAZ; 1
+ - Justiça Federal; 2 - Justiça Estadual
+ :ivar nProcesso: Número do Processo
+ """
+
+ tpProc: Optional[Tprocesso] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ nProcesso: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 60,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+ @dataclass
+ class GContab(CommonMixin):
+ """
+ :ivar cContab: Número da Conta Contábil do
+ lançamento
+ :ivar xContab: Descrição da conta contábil
+ :ivar vContab: Valor do lançamento na conta
+ contábil Informar o valor do lançamento
+ contábil referente a cada conta a débito e a
+ crédito.
+ :ivar tpLanc: Tipo de lançamento contábil
+ Informar o tipo do lançamento contábil
+ referente a esta conta (D/C).
+ """
+
+ cContab: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 9,
+ "max_length": 13,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ xContab: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 100,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ vContab: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ tpLanc: Optional[GContabTpLanc] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ },
+ )
+
+ @dataclass
+ class Total(CommonMixin):
+ """
+ :ivar vProd: Valor Total dos produtos e serviços
+ :ivar ICMSTot: Totais referentes ao ICMS
+ :ivar vRetTribTot: Total da retenção de tributos federais
+ :ivar vCOFINS: Valor do COFINS
+ :ivar vCOFINSEfet: Total do Valor Efetivo do COFINS
+ :ivar vPIS: Valor do PIS
+ :ivar vPISEfet: Total do Valor Efetivo do PIS
+ :ivar vNF: Valor Total da NF-e
+ """
+
+ vProd: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ ICMSTot: Optional["Tnf3E.InfNf3E.Total.Icmstot"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ vRetTribTot: Optional["Tnf3E.InfNf3E.Total.VRetTribTot"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ vCOFINS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vCOFINSEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vPISEfet: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vNF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class Icmstot(CommonMixin):
+ """
+ :ivar vBC: BC do ICMS
+ :ivar vICMS: Valor Total do ICMS
+ :ivar vICMSDeson: Valor Total do ICMS desonerado
+ :ivar vFCP: Valor Total do FCP (Fundo de Combate à
+ Pobreza).
+ :ivar vBCST: BC do ICMS ST
+ :ivar vST: Valor Total do ICMS ST
+ :ivar vFCPST: Valor Total do FCP (Fundo de Combate à
+ Pobreza) retido por substituição tributária.
+ """
+
+ vBC: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vICMS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vICMSDeson: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vFCP: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vBCST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vFCPST: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class VRetTribTot(CommonMixin):
+ """
+ :ivar vRetPIS: Valor do PIS retido
+ :ivar vRetCofins: Valor do COFNS retido
+ :ivar vRetCSLL: Valor da CSLL retida
+ :ivar vIRRF: Valor do IRRF retido
+ """
+
+ vRetPIS: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vRetCofins: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vRetCSLL: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+ vIRRF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?",
+ },
+ )
+
+ @dataclass
+ class GFat(CommonMixin):
+ """
+ :ivar CompetFat: Ano e mês referência do faturamento
+ (AAAAMM)
+ :ivar dVencFat: Data de vencimento da fatura Formato AAAA-
+ MM-DD
+ :ivar dApresFat: Data de apresentação da fatura Formato
+ AAAA-MM-DD Não obrigatória, conforme item 2.3.2 da Seção
+ 11.1 do Módulo 11 do PRODIST.
+ :ivar dProxLeitura: Data prevista próxima leitura Formato
+ AAAA-MM-DD
+ :ivar nFat: Número da Fatura
+ :ivar codBarras: Linha digitável do código de barras
+ :ivar codDebAuto: Código de autorização débito em conta
+ :ivar codBanco: Número do banco para débito em conta
+ :ivar codAgencia: Número da agência bancária para débito em
+ conta
+ :ivar enderCorresp: Endereço de entrega da fatura. Informar
+ se diferente do endereço do destinatário
+ :ivar gPIX: Grupo de informações do PIX
+ """
+
+ CompetFat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 6,
+ "max_length": 6,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,6}",
+ },
+ )
+ dVencFat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ dApresFat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ dProxLeitura: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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)))))",
+ },
+ )
+ nFat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,20}",
+ },
+ )
+ codBarras: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 48,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,48}",
+ },
+ )
+ codDebAuto: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,20}",
+ },
+ )
+ codBanco: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 3,
+ "max_length": 5,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ codAgencia: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 10,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ enderCorresp: Optional[TendeEmi] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ gPIX: Optional["Tnf3E.InfNf3E.GFat.GPix"] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+
+ @dataclass
+ class GPix(CommonMixin):
+ """
+ :ivar urlQRCodePIX: URL do QRCode do PIX que será
+ apresentado na fatura
+ """
+
+ urlQRCodePIX: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 2,
+ "max_length": 2000,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+ @dataclass
+ class AutXml(CommonMixin):
+ """
+ :ivar CNPJ: CNPJ do autorizado Informar zeros não
+ significativos
+ :ivar CPF: CPF do autorizado Informar zeros não
+ significativos
+ """
+
+ CNPJ: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{14}",
+ },
+ )
+ CPF: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "white_space": "preserve",
+ "pattern": r"[0-9]{11}",
+ },
+ )
+
+ @dataclass
+ class InfAdic(CommonMixin):
+ """
+ :ivar infAdFisco: Informações adicionais de interesse do
+ Fisco Norma referenciada, informações complementares,
+ etc
+ :ivar infCpl: Informações complementares de interesse do
+ Contribuinte
+ """
+
+ infAdFisco: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_length": 1,
+ "max_length": 2000,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ infCpl: List[str] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "max_occurs": 5,
+ "min_length": 1,
+ "max_length": 3000,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+
+ @dataclass
+ class InfNf3ESupl(CommonMixin):
+ """
+ :ivar qrCodNF3e: Texto com o QR-Code para consulta da NF-3e
+ """
+
+ qrCodNF3e: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 50,
+ "max_length": 1000,
+ "white_space": "preserve",
+ "pattern": r"((HTTPS?|https?)://.*\?chNF3e=[0-9]{44}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?)",
+ },
+ )
+
+
+@dataclass
+class TretNf3E(CommonMixin):
+ """
+ Tipo Retorno do Pedido de Autorização de NF-3e (Modelo 66)
+
+ :ivar tpAmb: Identificação do Ambiente: 1 - Produção 2 - Homologação
+ :ivar cUF: Identificação da UF
+ :ivar verAplic: Versão do Aplicativo que processou a NF-3e
+ :ivar cStat: código do status do retorno da consulta.
+ :ivar xMotivo: Descrição literal do status do do retorno da
+ consulta.
+ :ivar protNF3e: Reposta ao processamento da NF-3e
+ :ivar versao:
+ """
+
+ class Meta:
+ name = "TRetNF3e"
+
+ tpAmb: Optional[Tamb] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ cUF: Optional[TcodUfIbge] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ },
+ )
+ verAplic: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 20,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ cStat: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{3}",
+ },
+ )
+ xMotivo: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "min_length": 1,
+ "max_length": 255,
+ "white_space": "preserve",
+ "pattern": r"[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1}",
+ },
+ )
+ protNF3e: Optional[TprotNf3E] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+
+
+@dataclass
+class TenviNf3E(CommonMixin):
+ """
+ Tipo Pedido de Concessão de Autorização de NF-3e.
+ """
+
+ class Meta:
+ name = "TEnviNF3e"
+
+ idLote: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"[0-9]{1,15}",
+ },
+ )
+ NF3e: List[Tnf3E] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.portalfiscal.inf.br/nf3e",
+ "min_occurs": 1,
+ "max_occurs": 50,
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
diff --git a/nfelib/nf3e/bindings/v1_0/nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/nf3e_v1_00.py
new file mode 100644
index 00000000..bafacad0
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/nf3e_v1_00.py
@@ -0,0 +1,21 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.nf3e_tipos_basico_v1_00 import Tnf3E
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class Nf3E(Tnf3E):
+ """
+ Nota Fiscal Eletrônica de Energia Elétrica.
+ """
+
+ class Meta:
+ name = "NF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/proc_evento_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/proc_evento_nf3e_v1_00.py
new file mode 100644
index 00000000..59189a58
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/proc_evento_nf3e_v1_00.py
@@ -0,0 +1,23 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.evento_nf3e_tipos_basico_v1_00 import (
+ TprocEvento,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class ProcEventoNf3E(TprocEvento):
+ """
+ Pedido de Registro de Evento de NF-3e processado.
+ """
+
+ class Meta:
+ name = "procEventoNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/proc_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/proc_nf3e_v1_00.py
new file mode 100644
index 00000000..fbe59c00
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/proc_nf3e_v1_00.py
@@ -0,0 +1,81 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from typing import Optional
+
+from nfelib import CommonMixin
+from nfelib.nf3e.bindings.v1_0.nf3e_tipos_basico_v1_00 import (
+ Tnf3E,
+ TprotNf3E,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class Nf3EProc(CommonMixin):
+ """
+ NF-3e processada.
+
+ :ivar NF3e:
+ :ivar protNF3e:
+ :ivar versao:
+ :ivar ipTransmissor: IP do transmissor do documento fiscal para o
+ ambiente autorizador
+ :ivar nPortaCon: Porta de origem utilizada na conexão (De 0 a 65535)
+ :ivar dhConexao: Data e Hora da Conexão de Origem
+ """
+
+ class Meta:
+ name = "nf3eProc"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
+
+ NF3e: Optional[Tnf3E] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "required": True,
+ },
+ )
+ protNF3e: Optional[TprotNf3E] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "required": True,
+ },
+ )
+ versao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "white_space": "preserve",
+ "pattern": r"1\.00",
+ },
+ )
+ ipTransmissor: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "white_space": "preserve",
+ "pattern": r"(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])",
+ },
+ )
+ nPortaCon: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "pattern": r"[0-9]{1,5}",
+ },
+ )
+ dhConexao: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "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))",
+ },
+ )
diff --git a/nfelib/nf3e/bindings/v1_0/ret_cons_reci_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/ret_cons_reci_nf3e_v1_00.py
new file mode 100644
index 00000000..529a82b3
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/ret_cons_reci_nf3e_v1_00.py
@@ -0,0 +1,23 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.cons_reci_nf3e_tipos_basico_v1_00 import (
+ TretConsReciNf3E,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class RetConsReciNf3E(TretConsReciNf3E):
+ """
+ Schema XML de validação do retorno do Pedido de Consulta da NF-3e.
+ """
+
+ class Meta:
+ name = "retConsReciNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/ret_cons_sit_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/ret_cons_sit_nf3e_v1_00.py
new file mode 100644
index 00000000..a628afe0
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/ret_cons_sit_nf3e_v1_00.py
@@ -0,0 +1,23 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.cons_sit_nf3e_tipos_basico_v1_00 import (
+ TretConsSitNf3E,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class RetConsSitNf3E(TretConsSitNf3E):
+ """
+ Schema XML de validação do retorno da consulta da situação atual da NF-3e.
+ """
+
+ class Meta:
+ name = "retConsSitNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/ret_cons_stat_serv_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/ret_cons_stat_serv_nf3e_v1_00.py
new file mode 100644
index 00000000..097d0dc8
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/ret_cons_stat_serv_nf3e_v1_00.py
@@ -0,0 +1,23 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.cons_stat_serv_nf3e_tipos_basico_v1_00 import (
+ TretConsStatServ,
+)
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class RetConsStatServNf3E(TretConsStatServ):
+ """
+ Schema XML de validação do Resultado da Consulta do Status do Serviço de NF-3e.
+ """
+
+ class Meta:
+ name = "retConsStatServNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/ret_envi_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/ret_envi_nf3e_v1_00.py
new file mode 100644
index 00000000..5e711450
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/ret_envi_nf3e_v1_00.py
@@ -0,0 +1,21 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.nf3e_tipos_basico_v1_00 import TretEnviNf3E
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class RetEnviNf3E(TretEnviNf3E):
+ """
+ Schema XML de validação do retorno do recibo de envio do lote de NF-3e.
+ """
+
+ class Meta:
+ name = "retEnviNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/ret_evento_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/ret_evento_nf3e_v1_00.py
new file mode 100644
index 00000000..a9f594c4
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/ret_evento_nf3e_v1_00.py
@@ -0,0 +1,21 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.evento_nf3e_tipos_basico_v1_00 import TretEvento
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class RetEventoNf3E(TretEvento):
+ """
+ Schema XML de validação do retorno Pedido de Evento da NF-3e.
+ """
+
+ class Meta:
+ name = "retEventoNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/ret_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/ret_nf3e_v1_00.py
new file mode 100644
index 00000000..81d63f64
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/ret_nf3e_v1_00.py
@@ -0,0 +1,21 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass
+
+from nfelib.nf3e.bindings.v1_0.nf3e_tipos_basico_v1_00 import TretNf3E
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+@dataclass
+class RetNf3E(TretNf3E):
+ """
+ Schema XML de validação do retorno do BP-e.
+ """
+
+ class Meta:
+ name = "retNF3e"
+ namespace = "http://www.portalfiscal.inf.br/nf3e"
diff --git a/nfelib/nf3e/bindings/v1_0/tipos_geral_nf3e_v1_00.py b/nfelib/nf3e/bindings/v1_0/tipos_geral_nf3e_v1_00.py
new file mode 100644
index 00000000..a0374096
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/tipos_geral_nf3e_v1_00.py
@@ -0,0 +1,164 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from enum import Enum
+
+__NAMESPACE__ = "http://www.portalfiscal.inf.br/nf3e"
+
+
+class Tamb(Enum):
+ """
+ Tipo Ambiente.
+ """
+
+ VALUE_1 = "1"
+ VALUE_2 = "2"
+
+
+class TcorgaoIbge(Enum):
+ """
+ Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 RFB + 92 BRId)
+ """
+
+ VALUE_11 = "11"
+ VALUE_12 = "12"
+ VALUE_13 = "13"
+ VALUE_14 = "14"
+ VALUE_15 = "15"
+ VALUE_16 = "16"
+ VALUE_17 = "17"
+ VALUE_21 = "21"
+ VALUE_22 = "22"
+ VALUE_23 = "23"
+ VALUE_24 = "24"
+ VALUE_25 = "25"
+ VALUE_26 = "26"
+ VALUE_27 = "27"
+ VALUE_28 = "28"
+ VALUE_29 = "29"
+ VALUE_31 = "31"
+ VALUE_32 = "32"
+ VALUE_33 = "33"
+ VALUE_35 = "35"
+ VALUE_41 = "41"
+ VALUE_42 = "42"
+ VALUE_43 = "43"
+ VALUE_50 = "50"
+ VALUE_51 = "51"
+ VALUE_52 = "52"
+ VALUE_53 = "53"
+ VALUE_90 = "90"
+ VALUE_91 = "91"
+ VALUE_92 = "92"
+ VALUE_93 = "93"
+
+
+class TcodUfIbge(Enum):
+ """
+ Tipo Código da UF da tabela do IBGE.
+ """
+
+ VALUE_11 = "11"
+ VALUE_12 = "12"
+ VALUE_13 = "13"
+ VALUE_14 = "14"
+ VALUE_15 = "15"
+ VALUE_16 = "16"
+ VALUE_17 = "17"
+ VALUE_21 = "21"
+ VALUE_22 = "22"
+ VALUE_23 = "23"
+ VALUE_24 = "24"
+ VALUE_25 = "25"
+ VALUE_26 = "26"
+ VALUE_27 = "27"
+ VALUE_28 = "28"
+ VALUE_29 = "29"
+ VALUE_31 = "31"
+ VALUE_32 = "32"
+ VALUE_33 = "33"
+ VALUE_35 = "35"
+ VALUE_41 = "41"
+ VALUE_42 = "42"
+ VALUE_43 = "43"
+ VALUE_50 = "50"
+ VALUE_51 = "51"
+ VALUE_52 = "52"
+ VALUE_53 = "53"
+
+
+class TmodNf3E(Enum):
+ """
+ Tipo Modelo NF-3e.
+ """
+
+ VALUE_66 = "66"
+
+
+class Tuf(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"
+ EX = "EX"
+
+
+class TufSemEx(Enum):
+ """Tipo Sigla da UF - Sem Exterior"""
+
+ 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"
diff --git a/nfelib/nf3e/bindings/v1_0/xmldsig_core_schema_v1_01.py b/nfelib/nf3e/bindings/v1_0/xmldsig_core_schema_v1_01.py
new file mode 100644
index 00000000..43e47ab7
--- /dev/null
+++ b/nfelib/nf3e/bindings/v1_0/xmldsig_core_schema_v1_01.py
@@ -0,0 +1,269 @@
+"""This file was generated by xsdata, v24.3.1, on 2024-04-05 08:30:20
+
+Generator: DataclassGenerator
+See: https://xsdata.readthedocs.io/
+"""
+from dataclasses import dataclass, field
+from enum import Enum
+from typing import List, Optional
+
+from nfelib import CommonMixin
+
+__NAMESPACE__ = "http://www.w3.org/2000/09/xmldsig#"
+
+
+@dataclass
+class SignatureValueType(CommonMixin):
+ value: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "required": True,
+ "format": "base64",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+class TtransformUri(Enum):
+ HTTP_WWW_W3_ORG_2000_09_XMLDSIG_ENVELOPED_SIGNATURE = (
+ "http://www.w3.org/2000/09/xmldsig#enveloped-signature"
+ )
+ HTTP_WWW_W3_ORG_TR_2001_REC_XML_C14N_20010315 = (
+ "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
+ )
+
+
+@dataclass
+class X509DataType(CommonMixin):
+ X509Certificate: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ "format": "base64",
+ },
+ )
+
+
+@dataclass
+class KeyInfoType(CommonMixin):
+ X509Data: Optional[X509DataType] = field(
+ default=None,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+
+@dataclass
+class TransformType(CommonMixin):
+ XPath: List[str] = field(
+ default_factory=list,
+ metadata={
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ },
+ )
+ Algorithm: Optional[TtransformUri] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class TransformsType(CommonMixin):
+ transform: List[TransformType] = field(
+ default_factory=list,
+ metadata={
+ "name": "Transform",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "min_occurs": 2,
+ "max_occurs": 2,
+ },
+ )
+
+
+@dataclass
+class ReferenceType(CommonMixin):
+ transforms: Optional[TransformsType] = field(
+ default=None,
+ metadata={
+ "name": "Transforms",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ digestMethod: Optional["ReferenceType.DigestMethod"] = field(
+ default=None,
+ metadata={
+ "name": "DigestMethod",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ digestValue: Optional[bytes] = field(
+ default=None,
+ metadata={
+ "name": "DigestValue",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ "format": "base64",
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+ URI: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ "min_length": 2,
+ },
+ )
+ Type_value: Optional[str] = field(
+ default=None,
+ metadata={
+ "name": "Type",
+ "type": "Attribute",
+ },
+ )
+
+ @dataclass
+ class DigestMethod(CommonMixin):
+ Algorithm: str = field(
+ init=False,
+ default="http://www.w3.org/2000/09/xmldsig#sha1",
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class SignedInfoType(CommonMixin):
+ canonicalizationMethod: Optional[
+ "SignedInfoType.CanonicalizationMethod"
+ ] = field(
+ default=None,
+ metadata={
+ "name": "CanonicalizationMethod",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ signatureMethod: Optional["SignedInfoType.SignatureMethod"] = field(
+ default=None,
+ metadata={
+ "name": "SignatureMethod",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ reference: Optional[ReferenceType] = field(
+ default=None,
+ metadata={
+ "name": "Reference",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ Id: Optional[str] = field(
+ default=None,
+ metadata={
+ "type": "Attribute",
+ },
+ )
+
+ @dataclass
+ class CanonicalizationMethod(CommonMixin):
+ Algorithm: str = field(
+ init=False,
+ default="http://www.w3.org/TR/2001/REC-xml-c14n-20010315",
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+
+ @dataclass
+ class SignatureMethod(CommonMixin):
+ Algorithm: str = field(
+ init=False,
+ default="http://www.w3.org/2000/09/xmldsig#rsa-sha1",
+ metadata={
+ "type": "Attribute",
+ "required": True,
+ },
+ )
+
+
+@dataclass
+class SignatureType(CommonMixin):
+ signedInfo: Optional[SignedInfoType] = field(
+ default=None,
+ metadata={
+ "name": "SignedInfo",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ signatureValue: Optional[SignatureValueType] = field(
+ default=None,
+ metadata={
+ "name": "SignatureValue",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ keyInfo: Optional[KeyInfoType] = field(
+ default=None,
+ metadata={
+ "name": "KeyInfo",
+ "type": "Element",
+ "namespace": "http://www.w3.org/2000/09/xmldsig#",
+ "required": True,
+ },
+ )
+ 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/nf3e/schemas/v1_0/consReciNF3eTiposBasico_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/consReciNF3eTiposBasico_v1.00.xsd
new file mode 100644
index 00000000..fdf061fa
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/consReciNF3eTiposBasico_v1.00.xsd
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+ Tipo Protocolo de status resultado do processamento da NF-3e
+
+
+
+
+ Dados do protocolo de status
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a NF-3e
+
+
+
+
+ Chaves de acesso da NF-3e
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+
+
+
+ Número do Protocolo de Status da NF-3e
+
+
+
+
+ Digest Value da NF-3e processado. Utilizado para conferir a integridade da NF-3e original.
+
+
+
+
+ Código do status da NF-3e.
+
+
+
+
+
+
+
+ Descrição literal do status da NF-3e.
+
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+ Código do status da mensagem do fisco
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Pedido de Consulta do Recibo da NF-3e
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Número do Recibo do arquivo a ser consultado
+
+
+
+
+
+
+
+ Tipo Retorno do Pedido de Consulta do Recibo da NF-3e
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a NF-3e
+
+
+
+
+ Número do Recibo Consultado
+
+
+
+
+ código do status do retorno da consulta.
+
+
+
+
+ Descrição literal do status do do retorno da consulta.
+
+
+
+
+ Idntificação da UF
+
+
+
+
+ Resultado do processamento do NF-3e
+
+
+
+
+
+
+
+ Tipo Versão do Consulta do Recibo de NF-3e - 1.00
+
+
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/consReciNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/consReciNF3e_v1.00.xsd
new file mode 100644
index 00000000..3e76adde
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/consReciNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do Pedido de Consulta de NF-3e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/consSitNF3eTiposBasico_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/consSitNF3eTiposBasico_v1.00.xsd
new file mode 100644
index 00000000..5c65f545
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/consSitNF3eTiposBasico_v1.00.xsd
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+ Tipo Pedido de Consulta da Situação Atual da NF-3e
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção;
+2 - Homologação;
+
+
+
+
+ Serviço Solicitado
+
+
+
+
+ Chaves de acesso do NF-3
+
+
+
+
+
+
+
+ Tipo Retorno de Pedido de Consulta da Situação Atual de NF-3e
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou o NF-3e
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+ código da UF de atendimento
+
+
+
+
+
+
+
+ Retornar protNF3e da versão correspondente da NF-3e autorizada
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Retornar procEventoNF3e da versão correspondente do evento NF-3e autorizado
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Consulta situação de NF-3e - 1.00
+
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/consSitNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/consSitNF3e_v1.00.xsd
new file mode 100644
index 00000000..0231b43e
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/consSitNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema de validação XML dp Pedido de Consulta da Situação Atual da NF-3e.
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/consStatServNF3eTiposBasico_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/consStatServNF3eTiposBasico_v1.00.xsd
new file mode 100644
index 00000000..3eabc3a2
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/consStatServNF3eTiposBasico_v1.00.xsd
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+ Tipo Pedido de Consulta do Status do Serviço NF-3e
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Serviço Solicitado
+
+
+
+
+
+
+
+ Tipo Resultado da Consulta do Status do Serviço NF-3e
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a NF-3e
+
+
+
+
+
+
+
+
+
+ Código do status da mensagem enviada.
+
+
+
+
+ Descrição literal do status do serviço solicitado.
+
+
+
+
+ Código da UF responsável pelo serviço
+
+
+
+
+ AAAA-MM-DDTHH:MM:SS TZD
+
+
+
+
+ Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos
+
+
+
+
+
+
+
+
+
+ AAAA-MM-DDTHH:MM:SS TZD. Deve ser preenchida com data e hora previstas para o retorno dos serviços prestados.
+
+
+
+
+ Campo observação utilizado para incluir informações ao contribuinte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Consulta do Status do Serviço NF-3e
+
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/consStatServNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/consStatServNF3e_v1.00.xsd
new file mode 100644
index 00000000..d6e459d9
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/consStatServNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do Pedido de Consulta do Status do Serviço NF-3e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/enviNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/enviNF3e_v1.00.xsd
new file mode 100644
index 00000000..ed75bd42
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/enviNF3e_v1.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Schema XML de validação do Envio de Lote NF-3e para concessão de autorização
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/evCancNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/evCancNF3e_v1.00.xsd
new file mode 100644
index 00000000..b8ef6434
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/evCancNF3e_v1.00.xsd
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ Schema XML de validação do evento do cancelamento
+110111
+
+
+
+
+
+ Descrição do Evento - “Cancelamento”
+
+
+
+
+
+
+
+
+
+
+ Número do Protocolo de Status da NF-3e.
+
+
+
+
+ Justificativa do Cancelamento
+
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/eventoNF3eTiposBasico_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/eventoNF3eTiposBasico_v1.00.xsd
new file mode 100644
index 00000000..536fd22c
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/eventoNF3eTiposBasico_v1.00.xsd
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+ Tipo Evento
+
+
+
+
+
+
+
+ Código do órgão de recepção do Evento.
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ CNPJ do emissor do evento
+
+
+
+
+ Chave de Acesso da NF-3e vinculada ao evento
+
+
+
+
+ Data e Hora do Evento, formato UTC (AAAA-MM-DDThh:mm:ssTZD)
+
+
+
+
+ Tipo do Evento
+
+
+
+
+
+
+
+
+
+
+ Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento o autor do evento deve numerar de forma seqüencial.
+
+
+
+
+
+
+
+
+
+
+ Detalhamento do evento específico
+
+
+
+
+
+ XML do evento
+Insira neste local o XML específico do tipo de evento (cancelamento, encerramento, registro de passagem).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificador da TAG a ser assinada, a regra de formação do Id é:
+“ID” + tpEvento + chave da NF-3e + nSeqEvento
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo retorno do Evento
+
+
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que recebeu o Evento
+
+
+
+
+ Código do órgão de recepção do Evento. Utilizar a Tabela do IBGE extendida, utilizar 90 para identificar SUFRAMA
+
+
+
+
+ Código do status da registro do Evento
+
+
+
+
+ Descrição literal do status do registro do Evento
+
+
+
+
+ Chave de Acesso NF-3e vinculada
+
+
+
+
+ Tipo do Evento vinculado
+
+
+
+
+
+
+
+
+
+
+ Descrição do Evento
+
+
+
+
+
+
+
+
+
+
+ Seqüencial do evento
+
+
+
+
+
+
+
+
+
+
+ Data e Hora de do recebimento do evento ou do registro do evento formato AAAA-MM-DDThh:mm:ssTZD
+
+
+
+
+ Número do protocolo de registro do evento
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo procEvento
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
+ Tipo Versão do Evento
+
+
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/eventoNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/eventoNF3e_v1.00.xsd
new file mode 100644
index 00000000..a4640cd7
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/eventoNF3e_v1.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Schema XML de validação do Pedido de Registro de Evento da NF-3e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/nf3eTiposBasico_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/nf3eTiposBasico_v1.00.xsd
new file mode 100644
index 00000000..d545b558
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/nf3eTiposBasico_v1.00.xsd
@@ -0,0 +1,4005 @@
+
+
+
+
+
+
+
+ Tipo Nota Fiscal de Energia Elétrica
+
+
+
+
+ Informações da NF-3e
+
+
+
+
+
+ Identificação da NF-3e
+
+
+
+
+
+ Código da UF do emitente da NF-3e
+ Código da UF do emitente do Documento Fiscal. Utilizar a
+Tabela do IBGE de código de unidades da federação.
+
+
+
+
+ Tipo do Ambiente
+ 1 - Produção;
+2 - Homologação
+
+
+
+
+ Modelo da NF-3e
+ Utilizar o código 66 para identificação da NF-3e
+
+
+
+
+ Série do documento fiscal
+ Informar a série do documento fiscal (informar zero para série única).
+
+
+
+
+ Número do documento fiscal
+ Número que identifica o documento fiscal 1 a 999999999.
+
+
+
+
+ Código numérico que compõe a Chave de Acesso.
+ Código aleatório gerado pelo emitente, com o objetivo de evitar acessos indevidos ao documento.
+
+
+
+
+
+
+
+
+
+
+ Digito verificador da chave de acesso
+ Informar o dígito de controle da chave de acesso documento fiscal, que deve ser calculado com a aplicação do algoritmo módulo 11 (base 2,9) da chave de acesso.
+
+
+
+
+
+
+
+
+
+
+ Data e hora de emissão do documento fiscal
+ Formato AAAA-MM-DDTHH:MM:DD TZD
+
+
+
+
+ Forma de emissão do Documento Fiscal
+ 1 - Normal
+; 2 - Contingência Off Line
+
+
+
+
+ Identificação do número do Site do Autorizador de recepção da NF3e
+ Se o autorizador da NF3e possuir apenas um site deverá ser informado com Zero (0), em caso de Autorizador trabalhar com múltiplos sites indicar o número do site para qual foi endereçada a NF3e (1 a 9).
+Observação: O ambiente autorizador que trabalhar com mais de um Site deverá divulgar para cada endereço de site qual número correspondente de nSiteAutoriz o contribuinte pode usar
+
+
+
+
+
+
+
+
+
+
+ Código do município de ocorrência do fato gerador
+
+
+
+
+ Finalidade de emissão da NF-3e
+ 1 - NF-3e normal;
+
+2 - NF-3e substituição;
+
+3 - NF-3e normal com ajuste;
+
+
+
+
+ Versão do processo de emissão
+ Informar a versão do aplicativo emissor de NF-3e.
+
+
+
+
+
+
+
+
+
+
+ Informar apenas
+para tpEmis diferente de 1
+
+
+
+ Data e Hora da entrada em contingência
+ Informar a data e hora no formato AAAA-MM-DDTHH:MM:SS
+
+
+
+
+ Justificativa da entrada em contingência
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Identificação do Emitente do documento fiscal
+
+
+
+
+
+ CNPJ do emitente
+ Informar zeros não significativos
+
+
+
+
+ Inscrição Estadual do emitente
+
+
+
+
+ Razão social ou Nome do emitente
+
+
+
+
+
+
+
+
+
+
+ Nome fantasia do emitente
+
+
+
+
+
+
+
+
+
+
+ Endereço do emitente
+
+
+
+
+
+
+
+ Identificação do destinatário / acessante
+
+
+
+
+
+ Razão social ou Nome do destinatário / acessante
+
+
+
+
+
+
+
+
+
+
+
+ Número do CNPJ
+ Em caso de empresa não estabelecida no Brasil, será informado o CNPJ com zeros.
+ Informar os zeros não significativos.
+
+
+
+
+ Número do CPF
+ Informar os zeros não significativos.
+
+
+
+
+ Identificação do destinatário outros
+ Identificação do destinatário não obrigado a inscrição do CPF tais como estrangeiro, indígena (informar código do RANI) e quilombola; ou destinatário que a distribuidora não possui a informação (nestes casos orienta-se informar "00000").
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Indicador da IE do Destinatário/Acessante
+ 1 - Contribuinte ICMS (informar a IE do destinatário);
+
+2 - Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS;
+
+ 9 - Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS.
+
+Nota: No caso de Contribuinte Isento de Inscrição (indIEDest=2) informar a tag IE do destinatário com o literal ISENTO.
+
+
+
+
+
+ Inscrição Estadual do destinatário / acessante
+
+
+
+
+ Inscrição Municipal
+
+
+
+
+
+
+
+
+
+
+
+ Número da Identificação Social - NIS
+
+
+
+
+
+
+
+
+
+
+
+
+ Número do Benefício
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nome de destinatário adicional
+ Exemplo: Nome do Conjuge, Companheira(o)
+
+
+
+
+
+
+
+
+
+
+ Endereço do destinatário / acessante
+
+
+
+
+
+
+
+ Dados do acessante
+
+
+
+
+
+ Código único de Identificação da Unidade Consumidora ou Ponto de Acesso adotado pela distribuidora.
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de Identificação do Cliente para empresa emitente
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de Acessante
+ 0 - Gerador; 1 – Cativo;
+2 – Livre;
+ 3 – Parcialmente Livre;
+4 – Consumidor Especial;
+ 5 – Parcialmente Especial;
+ 6 – Comunhão;
+7 – Suprimento;
+8 – Distribuidora.
+
+
+
+
+ Nome da Unidade Consumidora
+
+
+
+
+
+
+
+
+
+
+ Classe de Consumo da Unidade Consumidora
+ 01 - Comercial
+02 - Consumo Próprio
+03 - Iluminação Pública
+04 - Industrial
+05 - Poder Público
+06 - Residencial
+07 - Rural
+08 -Serviço Público.
+
+
+
+
+ Subclasse de Consumo da Unidade Consumidora
+ 01 - Residencial;
+
+02 - Residencial baixa renda;
+
+03 - Residencial baixa renda indígena;
+
+04 - Residencial baixa renda quilombola;
+
+05 - Residencial baixa renda benefício de prestação continuada da assistência social;
+
+06 - Residencial baixa renda multifamiliar;
+
+07 - Comercial;
+
+08 - Serviços de transporte, exceto tração elétrica;
+
+09 - Serviços de comunicação e telecomunicação;
+
+10 - Associação e entidades filantrópicas;
+
+11 - Templos religiosos;
+
+12 - Administração condominial: iluminação e instalações de uso comum de prédio ou conjunto de edificações;
+
+ 13 - Iluminação em rodovias solicitada por quem detenha concessão ou autorização para administração em rodovias;
+
+ 14 - Semáforos, radares e câmeras de monitoramento de trânsito, solicitados por quem detenha concessão ou autorização para controle de trânsito;
+
+ 15 - Outros serviços e outras atividades da classe comercial;
+16=Agropecuária rural;
+
+17 - Agropecuária urbana;
+
+ 18 - Residencial rural;
+
+19 - Cooperativa de eletrificação rural;
+
+20 - Agroindustrial;
+
+21 - Serviço público de irrigação rural;
+
+22 - Escola agrotécnica;
+
+ 23 - Aquicultura;
+
+24 - Poder público Federal;
+
+25 - Poder Público Estadual ou Distrital;
+
+ 26 - Poder público Municipal;
+
+ 27 - Tração Elétrica;
+
+28 - Água esgoto ou saneamento;
+
+ 99 - Outros.
+
+
+
+
+ Tipo de ligação
+ 1 - Monofásico;
+
+2 - Bifásico;
+
+ 3 - Trifásico;
+
+
+
+
+ Grupo e Subgrupo de Tensão
+ 01 - A1 - Alta Tensão (230kV ou mais);
+
+02 - A2 - Alta Tensão (88 a 138kV);
+03 - A3 - Alta Tensão (69kV);
+04 - A3a - Alta Tensão (30kV a 44kV);
+05 - A4 - Alta Tensão (2,3kV a 25kV);
+06 - AS - Alta Tensão Subterrâneo;
+ 07 - B1 - Residencial;
+08 - B1 - Residencial Baixa Renda;
+ 09 - B2 - Rural;
+ 10 - B2 - Cooperativa de Eletrificação Rural;
+11 - B2 - Serviço Público de Irrigação;
+12 - B3 - Demais Classes;
+ 13 - B4a - Iluminação Pública - rede de distribuição;
+ 14 - B4b - Iluminação Pública - bulbo de lâmpada.
+
+
+
+
+ Modalidade Tarifária
+ 01 – Convencional Monômia; 02 – Convencional Binômia; 03 – Horária Azul; 04 – Horária Azul APE;05 – Horária Verde;06 – Horária Verde APE; 07 – Horária Branca;08 – Pré-pagamento; 09 – Geração; 10 – Distribuição.
+
+
+
+
+ Sequencia XML
+ Localização
+
+
+
+ Latitude do ponto geográfico da localização da captura
+
+
+
+
+ Longitude do ponto geográfico da localização da captura
+
+
+
+
+
+ Roteiro da Leitura para uso operacional
+ Nome da unidade consumidora, exclusivamente para a classe Poder Público, desde que informado previamente e solicitado pelo consumidor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações da substituição
+
+
+
+
+
+
+ Chave de acesso da NF3e referenciada
+
+
+
+
+ Informação da NF modelo 06 referenciada
+
+
+
+
+
+ CNPJ do Emitente
+ Informar o CNPJ do emitente do Documento Fiscal
+
+
+
+
+ Serie do documento fiscal
+
+
+
+
+
+
+
+
+
+
+ Número do documento fiscal
+
+
+
+
+ Ano e mês da emissão da NF mod. 06 (AAAAMM)
+
+
+
+
+ Ano e mês de apuração (AAAAMM)
+
+
+
+
+ Hash do registro no arquivo do convênio 115
+ Campo poderá ser exigido a critério da UF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Motivo da substituição
+ 01 – Erro de Leitura
+; 02 – Erro de Preço ou Erro de Tarifa;
+03 – Decisão Judicial
+; 04 – Erro Cadastral; 05 - Erro de Tributação
+
+
+
+
+
+
+
+ Grupo de informações para referenciar a NF3e original que foi separada judicialmente
+
+
+
+
+
+ Chave de acesso da NF3e referenciada
+
+
+
+
+
+
+
+ Grupo de informações das quantidades contratadas
+
+
+
+
+
+ Tipo de grandeza contratada
+ 1 - Demanda; 2 - Montante de Uso do Sistema de Distribuição;
+3 - Reserva de Capacidade; 4 - Energia Contratada
+
+
+
+
+ Tipo de Posto Tarifário Contratado
+ 0 - Único
+; 1 - Ponta
+; 2 - Fora Ponta
+
+
+
+
+ Quantidade Contratada em kW ou kWh
+
+
+
+
+
+ Número de referência para informar nos produtos a relação com a quantidade contratada
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações dos Medidores
+
+
+
+
+
+ Identificação do medidor
+
+
+
+
+
+
+
+
+
+
+
+
+ Data da leitura anterior
+ Formato AAAA-MM-DD
+
+
+
+
+ Data da leitura atual
+ Formato AAAA-MM-DD
+
+
+
+
+
+ Número de referência para informar nos produtos a relação com a medição
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo dos dados do Sistema de Compensação de Energia Elétrica
+
+
+
+
+
+ Tipo de participação no sistema de compensação de energia elétrica
+ 1 - Mini ou microgeração (somente uma UC); 2 - Múltiplas unidades consumidoras (condomínio em área definida); 3 - Autoconsumo remoto; 4 - Geração compartilhada (consórcio ou cooperativa);
+5 - Mista (utilizar quando enquadrado em mais de um tipo de participação)
+
+
+
+
+ Participação no SCEE como Consumidor
+
+
+
+
+
+ Código Único de identificação da unidade geradora
+ Informar o Código Único adotado pela companhia distribuidora para o ponto de acesso da unidade geradora cuja energia foi destinada a esta unidade consumidora.
+
+
+
+
+
+
+
+
+
+
+
+
+ Potência instalada da micro ou minigeraçao em kW
+
+
+
+
+ Tipo da fonte de energia
+ 1-Hidráulica,
+2-Solar,
+3-Eólica,
+ 4-Térmica, 5 - Hibrida
+
+
+
+
+
+
+
+
+
+ Energia alocada
+ Quantidade de energia excedente que é destinado pela unidade geradora a esta unidade consumidora em kWh.
+
+
+
+
+
+
+
+ Tipo de Posto Tarifário
+ 0=Único
+; 1=Ponta
+; 2=Fora Ponta; 3=Intermediário
+
+
+
+
+
+
+
+
+
+ Saldos de Créditos por posto tarifário
+
+
+
+
+
+ Tipo de Posto Tarifário
+ 0=Único
+; 1=Ponta
+; 2=Fora Ponta; 3 = Intermediario
+
+
+
+
+ Saldo Anterior de Créditos em kWh
+
+
+
+
+ Créditos Expirados
+
+
+
+
+ Saldo Atual de Créditos em kWh
+
+
+
+
+ Sequencia XML
+
+
+
+ Créditos a Expirar
+ Próxima parcela do saldo atualizado de créditos a expirar
+
+
+
+
+ Ciclo de faturamento em que ocorrerá a expiração (AAAAMM)
+
+
+
+
+
+
+
+
+ Agrupador de Saldos para registros de múltiplos saldos por posto tarifário
+
+
+
+
+
+ Saldos de Créditos por posto tarifário
+
+
+
+
+
+ Tipo de Posto Tarifário
+ 0=Único
+; 1=Ponta
+; 2=Fora Ponta; 3 = Intermediario
+
+
+
+
+ Saldo Anterior de Créditos em kWh
+
+
+
+
+ Créditos Expirados
+
+
+
+
+ Saldo Atual de Créditos em kWh
+
+
+
+
+ Sequencia XML
+
+
+
+ Créditos a Expirar
+ Próxima parcela do saldo atualizado de créditos a expirar
+
+
+
+
+ Ciclo de faturamento em que ocorrerá a expiração (AAAAMM)
+
+
+
+
+
+
+
+
+
+ Número referente ao agrupador de saldos por posto tarifário
+ Aceita valores de 01 a 10.
+Serve para organizar a informação dos grupos de saldos.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Detalhamento de Produtos e Serviços
+ Quando NF3e Normal com ajustes, utilizar a ultima nota do detalhamento para apresentar a fatura do mês atual
+
+
+
+
+
+ Detalhamento de Produtos e Serviços
+
+
+
+
+
+ Grupo de identificação do ajuste do item de NF-3e anterior
+ Somente informar no caso de item relacionado a NF-3e anterior
+
+
+
+
+
+ Tipo de ajuste a ser aplicado ao item
+ 1 - Item a ser substituído (deve informar detItemAnt);
+
+2 - Item de substituição (nova imagem do item anterior);
+
+3 - Item a ser eliminado (deve informar detItemAnt);
+4 - Item a ser incluído referente a NF-3e anterior
+;
+
+
+
+
+ Motivo do Ajuste
+ 1 – Erro de Leitura
+; 2 – Erro de Preço ou Erro de Tarifa
+; 3 – Decisão Judicial
+; 4 – Erro Cadastral
+; 5 - Erro de Tributação
+
+
+
+
+
+
+
+
+
+ Grupo de informações referentes a item da NF-3e anterior
+ Este grupo somente deverá ser preenchido para detalhar item ajustado de nota anterior nos casos de item alterado ou excluído
+
+
+
+
+
+ Valor unitário do item
+ Informar o valor sem a influência da decisão judicial/administrativa.
+
+
+
+
+ Quantidade Faturada
+ Informar a quantidade de comercialização do produto .
+
+
+
+
+ Valor total do item
+
+
+
+
+ Código de classificação
+ Tabela de Classificação de Item da NF-3e de Energia Elétrica (validar por RV)
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Valor do ICMS ST retido
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do PIS
+
+
+
+
+ Valor efetivo do PIS
+
+
+
+
+ Valor do COFINS
+
+
+
+
+ Valor Efetivo do COFINS
+
+
+
+
+ Grupo de informações de retenção de tributos federais do item anterior
+
+
+
+
+
+ Valor do PIS retido
+
+
+
+
+ Valor do COFNS retido
+
+
+
+
+ Valor da CSLL retida
+
+
+
+
+ Base de cálculo do IRRF
+
+
+
+
+ Valor do IRRF retido
+
+
+
+
+
+
+
+ Indicador de devolução do valor do item
+ 1 – Devolução do valor do item
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número do item da NF-3e anterior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações referentes a item da NF-3e
+
+
+
+
+
+ Grupo de Tarifas por Período
+
+
+
+
+
+ Data de início da aplicação da tarifa
+ Data de início da aplicação da tarifa no período considerado para o faturamento (
+Formato AAAA-MM-DD)
+
+
+
+
+ Data de fim da aplicação da tarifa
+ Data de fim da aplicação da tarifa no período considerado para o faturamento
+ (Formato AAAA-MM-DD)
+
+
+
+
+ Tipo de Ato da ANEEL
+ 1 - REH (Resolução homologatória); 2 - Despacho; 3 - REN (Resolução Normativa)
+
+
+
+
+
+ Número do Ato da ANEEL
+
+
+
+
+
+
+
+
+
+
+
+ Ano do Ato da ANEEL (AAAA)
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tarifa de aplicação
+ 1 - TE; 2 - TUSD
+
+
+
+
+
+ Tipo de posto tarifário
+ 0 - Único/Não se aplica;
+1 - Ponta;
+2 - Fora Ponta;
+3 - Intermediário;
+4 - Ponta Reservado;
+5 - Fora ponta Reservado;
+6 - Intermediário Reservado
+7 - Reservado
+
+
+
+
+ Unidade de Medida
+ 1=kW (Aplica-se somente a TUSD); 2=kWh (Aplica-se tanto a TUSD quanto TE)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da tarifa homologada pela ANEEL
+
+
+
+
+
+
+
+ Sequencia XML
+ Somente preenchido se a tarifa aplicada for diferente da homologada
+
+
+
+ Valor da tarifa aplicada
+
+
+
+
+
+
+
+ Motivo da diferença de tarifa aplicada com a homologada
+ 01 - Decisão judicial; 02 - Decisão da distribuidora (tarifa homologada equivale a preço teto); 03 - Desconto Tarifário; 04 - Reajuste tarifário
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de Adicional de Bandeira
+
+
+
+
+
+ Data de início da aplicação do adicional
+ Data de início da aplicação do adicional de bandeira no período considerado para o faturamento (Formato AAAA-MM-DD)
+
+
+
+
+ Data de fim da aplicação do adicional
+ Data de fim da aplicação do adicional de bandeira no período considerado para o faturamento (
+Formato AAAA-MM-DD)
+
+
+
+
+ Tipo da bandeira tarifária
+ 1 – Verde; 2 – Amarela; 3 – Vermelha patamar 1; 4 – Vermelha patamar 2
+; 5 - Escassez Hidrica
+
+
+
+
+ Valor do Adicional tarifário
+ Resultado decorrente da aplicação do adicional de cada bandeira sobre o consumo faturado no período considerado entre as datas de início e fim.
+Quando for bandeira verde o campo valor do adicional tarifário deverá ser preenchido com zero (0.00).
+
+
+
+
+ Sequencia XML
+ Somente preenchido se a tarifa aplicada for diferente da homologada
+
+
+
+ Valor do adicional tarifário aplicado
+
+
+
+
+ Motivo da diferença do adicional aplicado
+ 01 - Decisão judicial; 02 - Decisão da distribuidora (tarifa homologada equivale a preço teto); 03 - Desconto tarifário
+; 04 - Alteração de tarifa
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dados do Produto ou Serviço
+
+
+
+
+
+ Indicador da origem da quantidade faturada
+ 1 - Media; 2 - Medido; 3 - Contratada; 4 - Calculada; 5 - Custo de disponibilidade; 6 - Sem quantidade
+
+
+
+
+
+
+ Grupo para referenciar qual medição e medida estão relacionadas ao item
+
+
+
+
+
+ Referência para a medição ao qual se refere o item
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Referência para o grupo de demanda contratada ao qual se refere o item
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de medida
+
+
+
+
+ Tipo Motivo da não leitura
+ 1 - Consumidor;
+2 - Distribuidora;
+3 - Independente do Consumidor e distribuidora;
+
+
+
+
+
+
+
+
+ Código do produto ou serviço.
+
+
+
+
+
+
+
+
+
+
+ Descrição do produto ou serviço
+
+
+
+
+
+
+
+
+
+
+ Código de classificação
+ Tabela de Classificação de Item da NF-3e de Energia Elétrica (validar por RV)
+
+
+
+
+
+
+
+
+
+
+
+
+ CFOP
+ Utilizar Tabela de CFOP.
+
+
+
+
+ Unidade Básica de Medida
+ 1=kW
+; 2=kWh;
+3=kVAr;
+4=kVArh; 5=UN
+
+
+
+
+ Quantidade Faturada
+ Informar a quantidade de comercialização do produto .
+
+
+
+
+ Valor unitário do item
+ O valor unitário do item no caso de energia elétrica corresponde ao valor da tarifa e dos tributos que devam compor a base de cálculo. O item pode estar acrescido do adicional da bandeira tarifária ou o adicional de bandeira poderá ser lançado como um item específico.
+Este campo também corresponde ao preço médio efetivo relativo ao consumo ativo do período, quando aplicáveis os termos do inciso I da clausula primeira do Convênio ICMS 77/11 (DEVEC).
+
+
+
+
+ Valor total do item
+
+
+
+
+ Indicador de devolução do valor do item
+ 1 – Devolução do valor do item
+
+
+
+
+
+
+
+
+
+
+
+
+ Preço ACL
+ Valor declarado na DEVEC de acordo com convênio ICMS 77/11
+Deve informar ICMS10 e não poderá informar grupo de tarifas aplicadas.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributos incidentes no Produto ou Serviço
+
+
+
+
+
+
+
+
+
+ Prestação sujeito à tributação normal do ICMS
+ Tributada integralmente
+
+
+
+
+
+ classificação Tributária do Serviço
+ 00 - tributação normal ICMS
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Sequencia XML
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+
+
+ Tributada e com cobrança do ICMS por substituição tributária
+
+
+
+
+
+ classificação Tributária do Serviço
+ 10=Tributada e com cobrança do ICMS por substituição tributária
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST retido
+
+
+
+
+ Sequencia XML
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+
+
+ Prestação sujeito à tributação com redução de BC do ICMS
+
+
+
+
+
+ Classificação Tributária do serviço
+ 20 - tributação com BC reduzida do ICMS
+
+
+
+
+
+
+
+
+
+
+ Percentual de redução da BC
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Sequencia XML
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Código de Benefício Fiscal na UF aplicado ao item
+ Código de Benefício Fiscal utilizado pela UF, aplicado ao
+ item.
+
+
+
+
+
+
+
+
+
+
+
+
+ Sequencia XML
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+
+
+ Tributação Isenta, Não tributada
+
+
+
+
+
+ Classificação Tributária do serviço
+ 40=Isenta; 41=Não tributada;
+
+
+
+
+
+
+
+
+
+
+
+
+ Sequencia XML
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Código de Benefício Fiscal na UF aplicado ao item
+ Código de Benefício Fiscal utilizado pela UF, aplicado ao
+item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação com Diferimento
+ A exigência do preenchimento das informações do ICMS diferido fica a critério de cada UF
+
+
+
+
+
+ Classificação Tributária do serviço
+ Tributação pelo ICMS 51 - Diferimento
+
+
+
+
+
+
+
+
+
+
+ Sequencia XML
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Código de Benefício Fiscal na UF aplicado ao item
+ Código de Benefício Fiscal utilizado pela UF, aplicado ao
+item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tributação pelo ICMS
+60 - ICMS cobrado anteriormente por substituição tributária
+
+
+
+
+
+ Tributação pelo ICMS
+60 - ICMS cobrado anteriormente por substituição tributária
+
+
+
+
+
+
+
+
+
+
+
+ Choice referente ao conjunto de tags do ICMS Retido #246 até #253.
+Deverá ser informado esse conjunto do ICMS Retido ou o conjunto do ICMS efetivo
+
+
+
+
+ Valor da BC do ICMS ST retido anteriormente
+
+
+
+
+ Aliquota suportada pelo consumidor final.
+
+
+
+
+ Valor do ICMS Próprio do Substituto cobrado em operação anterior
+
+
+
+
+ Valor do ICMS ST retido anteriormente
+
+
+
+
+
+ Valor da Base de cálculo do FCP retido anteriormente por ST.
+
+
+
+
+ Percentual de FCP retido anteriormente por substituição tributária.
+
+
+
+
+ Valor do FCP retido por substituição tributária.
+
+
+
+
+
+
+ Choice referente ao conjunto de tags do ICMS Efetivo
+Deverá ser informado esse conjunto do ICMS Efetivo ou o conjunto do ICMS retido
+
+
+
+
+ Percentual de redução da base de cálculo efetiva.
+
+
+
+
+ Valor da base de cálculo efetiva.
+
+
+
+
+ Alíquota do ICMS efetiva.
+
+
+
+
+ Valor do ICMS efetivo.
+
+
+
+
+
+
+ Sequencia XML
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Código de Benefício Fiscal na UF aplicado ao item
+ Código de Benefício Fiscal utilizado pela UF, aplicado ao
+ item.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICMS Outros
+ Será usado no caso da subvenção ou para NF-3e de ajuste quando for o caso.
+
+
+
+
+
+ Classificação Tributária do Serviço
+ 90 - ICMS outros
+
+
+
+
+
+
+
+
+
+
+ Sequência XML
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+
+ Sequencia XML
+
+
+
+ Valor do ICMS de desoneração
+
+
+
+
+ Código de Benefício Fiscal na UF aplicado ao item
+ Código de Benefício Fiscal utilizado pela UF, aplicado ao
+ item.
+
+
+
+
+
+
+
+
+
+
+
+
+ Sequencia XML
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+
+
+
+ Sem Situação Tributária para o ICMS
+ Informar para itens que não tenham nenhuma relação com o ICMS.
+Quando informado o item NÃO PODE ter CFOP informado
+
+Se informado esse grupo o schema não permite informar nenhum dos grupos de ICMSXX
+
+
+
+
+
+
+
+
+
+
+
+ Dados do PIS
+
+
+
+
+
+ classificação Tributária do PIS
+ 01 – Tributável com alíquota básica
+02 – Tributável com alíquota diferenciada
+06 – Tributável com alíquota erro
+07 – Operação isenta de 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do PIS
+
+
+
+
+ Alíquota do PIS (em percentual)
+
+
+
+
+ Valor do PIS
+
+
+
+
+
+
+
+ Dados do PIS Efetivo
+
+
+
+
+
+ Valor da BC do PIS efetivo
+
+
+
+
+ Alíquota efetiva do PIS (em percentual)
+
+
+
+
+ Valor efetivo do PIS
+
+
+
+
+
+
+
+ Dados do COFINS
+
+
+
+
+
+ classificação Tributária do COFINS
+ 01 – Tributável com alíquota básica
+02 – Tributável com alíquota diferenciada
+06 – Tributável com alíquota erro
+07 – Operação isenta de 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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do COFINS
+
+
+
+
+ Alíquota do COFINS (em percentual)
+
+
+
+
+ Valor do COFINS
+
+
+
+
+
+
+
+ Dados do COFINS Efetivo
+
+
+
+
+
+ Valor da BC do COFINS efetivo
+
+
+
+
+ Alíquota Efetiva do COFINS (em percentual)
+
+
+
+
+ Valor Efetivo do COFINS
+
+
+
+
+
+
+
+ Grupo de informações de retenção de tributos federais
+
+
+
+
+
+ Valor do PIS retido
+
+
+
+
+ Valor do COFNS retido
+
+
+
+
+ Valor da CSLL retida
+
+
+
+
+ Base de cálculo do IRRF
+
+
+
+
+ Valor do IRRF retido
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo Processo referenciado
+ Este grupo somente deverá ser preenchido quando houver processo judicial ou administrativo que altere valores.
+
+
+
+
+
+ Valor unitário do item
+ Informar o valor sem a influência da decisão judicial/administrativa.
+
+
+
+
+ Quantidade Faturada
+ Informar a quantidade de comercialização do produto .
+
+
+
+
+ Valor total do item
+
+
+
+
+ Indicador de devolução do valor do item
+ 1 – Devolução do valor do item
+
+
+
+
+
+
+
+
+
+
+
+
+ Valor da BC do ICMS
+
+
+
+
+ Alíquota do ICMS
+
+
+
+
+ Valor do ICMS
+
+
+
+
+ Sequencia XML
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+ Valor da BC do ICMS ST
+
+
+
+
+ Alíquota do ICMS ST
+
+
+
+
+ Valor do ICMS ST retido
+
+
+
+
+ Sequencia XML
+
+
+
+ Percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+ Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).
+
+
+
+
+
+
+ Valor do PIS
+
+
+
+
+ Valor efetivo do PIS
+
+
+
+
+ Valor do COFINS
+
+
+
+
+ Valor Efetivo do COFINS
+
+
+
+
+ Grupo identificador do Processo
+
+
+
+
+
+ Tipo de Processo
+ 0 - SEFAZ; 1 - Justiça Federal; 2 - Justiça Estadual
+
+
+
+
+ Número do Processo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de Informações Contábeis
+ Informar o número das contas contábeis objeto do lançamento completo do fato.
+
+
+
+
+
+ Número da Conta Contábil do lançamento
+
+
+
+
+
+
+
+
+
+
+ Descrição da conta contábil
+
+
+
+
+
+
+
+
+
+
+ Valor do lançamento na conta contábil
+ Informar o valor do lançamento contábil referente a cada conta a débito e a crédito.
+
+
+
+
+ Tipo de lançamento contábil
+ Informar o tipo do lançamento contábil referente a esta conta (D/C).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações adicionais do produto (norma referenciada, informações complementares, etc)
+
+
+
+
+
+
+
+
+
+
+
+ Número do item da NF-3e anterior que este item está substituindo.
+Deve sempre existir um detItemAnt que corresponda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número do item da NF-3e
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Chave de Acesso da NF-3e anterior
+ Informar apenas para finalidade de Ajuste
+
+
+
+
+ HashCode da Modelo 6 Anterior
+ Informar apenas para finalidade de Ajuste
+
+
+
+
+
+
+ Dados dos totais da NF-3e
+
+
+
+
+
+ Valor Total dos produtos e serviços
+
+
+
+
+ Totais referentes ao ICMS
+
+
+
+
+
+ BC do ICMS
+
+
+
+
+ Valor Total do ICMS
+
+
+
+
+ Valor Total do ICMS desonerado
+
+
+
+
+ Valor Total do FCP (Fundo de Combate à Pobreza).
+
+
+
+
+ BC do ICMS ST
+
+
+
+
+ Valor Total do ICMS ST
+
+
+
+
+ Valor Total do FCP (Fundo de Combate à Pobreza) retido por substituição tributária.
+
+
+
+
+
+
+
+ Total da retenção de tributos federais
+
+
+
+
+
+ Valor do PIS retido
+
+
+
+
+ Valor do COFNS retido
+
+
+
+
+ Valor da CSLL retida
+
+
+
+
+ Valor do IRRF retido
+
+
+
+
+
+
+
+ Valor do COFINS
+
+
+
+
+ Total do Valor Efetivo do COFINS
+
+
+
+
+ Valor do PIS
+
+
+
+
+ Total do Valor Efetivo do PIS
+
+
+
+
+ Valor Total da NF-e
+
+
+
+
+
+
+
+ Grupo de informações de controle da Fatura
+
+
+
+
+
+ Ano e mês referência do faturamento (AAAAMM)
+
+
+
+
+ Data de vencimento da fatura
+ Formato AAAA-MM-DD
+
+
+
+
+ Data de apresentação da fatura
+ Formato AAAA-MM-DD
+Não obrigatória, conforme item 2.3.2 da Seção 11.1 do Módulo 11 do PRODIST.
+
+
+
+
+ Data prevista próxima leitura
+ Formato AAAA-MM-DD
+
+
+
+
+ Número da Fatura
+
+
+
+
+
+
+
+
+
+
+
+
+ Linha digitável do código de barras
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Código de autorização débito em conta
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Número do banco para débito em conta
+
+
+
+
+
+
+
+
+
+
+ Número da agência bancária para débito em conta
+
+
+
+
+
+
+
+
+
+
+
+
+ Endereço de entrega da fatura.
+ Informar se diferente do endereço do destinatário
+
+
+
+
+ Grupo de informações do PIX
+
+
+
+
+
+ URL do QRCode do PIX que será apresentado na fatura
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Grupo de informações da Agência Nacional de Energia Eletrica
+
+
+
+
+ Autorizados para download do XML do DF-e
+ Informar CNPJ ou CPF. Preencher os zeros não significativos.
+
+
+
+
+
+
+ CNPJ do autorizado
+ Informar zeros não significativos
+
+
+
+
+ CPF do autorizado
+ Informar zeros não significativos
+
+
+
+
+
+
+
+
+ Informações Adicionais
+
+
+
+
+ Sequencia XML
+
+
+
+ Informações adicionais de interesse do Fisco
+ Norma referenciada, informações complementares, etc
+
+
+
+
+
+
+
+
+
+
+ Informações complementares de interesse do Contribuinte
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações do Responsável Técnico pela emissão do DF-e
+
+
+
+
+
+ Versão do leiaute
+
+
+
+
+ Identificador da tag a ser assinada
+ Informar a chave de acesso da NF-3e e precedida do literal "NF3e"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Informações suplementares da NF-3e
+
+
+
+
+
+ Texto com o QR-Code para consulta da NF-3e
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Pedido de Concessão de Autorização de NF-3e
+
+
+
+
+
+
+
+
+
+ Tipo Dados do Endereço
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE)
+
+
+
+
+ Nome do município
+
+
+
+
+
+
+
+
+
+
+ CEP
+ Informar zeros não significativos
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF
+
+
+
+
+ Telefone
+
+
+
+
+
+
+
+
+
+
+ Endereço de E-mail
+
+
+
+
+
+
+ Tipo Dados do Endereço
+
+
+
+
+ Logradouro
+
+
+
+
+
+
+
+
+
+
+ Número
+
+
+
+
+
+
+
+
+
+
+ Complemento
+
+
+
+
+
+
+
+
+
+
+ Bairro
+
+
+
+
+
+
+
+
+
+
+ Código do município (utilizar a tabela do IBGE), informar 9999999 para operações com o exterior.
+
+
+
+
+ Nome do município, informar EXTERIOR para operações com o exterior.
+
+
+
+
+
+
+
+
+
+
+ CEP
+ Informar os zeros não significativos
+
+
+
+
+
+
+
+
+
+
+ Sigla da UF, informar EX para operações com o exterior.
+
+
+
+
+ Código do país
+ Utilizar a tabela do BACEN
+
+
+
+
+
+
+
+
+
+
+ Nome do país
+
+
+
+
+
+
+
+
+
+
+ Telefone
+
+
+
+
+
+
+
+
+
+
+ Endereço de E-mail
+
+
+
+
+
+
+ Tipo Protocolo de status resultado do processamento da NF-3e (Modelo 66)
+
+
+
+
+ Dados do protocolo de status
+
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Versão do Aplicativo que processou a NF-3e
+
+
+
+
+ Chave de acesso da NF-3e
+
+
+
+
+ Data e hora de processamento, no formato AAAA-MM-DDTHH:MM:SS TZD.
+
+
+
+
+ Número do Protocolo de Status da NF-3e.
+
+
+
+
+ Digest Value da NF-3e processado. Utilizado para conferir a integridade da NF-3e original.
+
+
+
+
+ Código do status da NF-3e.
+
+
+
+
+
+
+
+ Descrição literal do status da NF-3e.
+
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+ Código do status da mensagem do fisco
+
+
+
+
+
+
+
+ Mensagem do Fisco
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Retorno do Pedido de Autorização de NF-3e (Modelo 66)
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Identificação da UF
+
+
+
+
+ Versão do Aplicativo que processou a NF-3e
+
+
+
+
+ código do status do retorno da consulta.
+
+
+
+
+ Descrição literal do status do do retorno da consulta.
+
+
+
+
+ Reposta ao processamento da NF-3e
+
+
+
+
+
+
+
+ Tipo Retorno do recibo de envio do lote de NF-3e (Modelo 66)
+
+
+
+
+ Identificação do Ambiente:
+1 - Produção
+2 - Homologação
+
+
+
+
+ Identificação da UF
+
+
+
+
+ Versão do Aplicativo que processou a NF-3e
+
+
+
+
+ código do status do retorno da consulta.
+
+
+
+
+ Descrição literal do status do do retorno da consulta.
+
+
+
+
+ Dados do Recibo do Lote
+
+
+
+
+
+ Número do Recibo
+
+
+
+
+ Data e hora do recebimento, no formato AAAA-MM-DDTHH:MM:SS TZD
+
+
+
+
+ Tempo médio de resposta do serviço (em segundos) dos últimos 5 minutos
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Dados do Imposto NF-3e
+
+
+
+
+ Tipo Dados da Empresa de Software
+
+
+
+
+
+ CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico
+ Informar o CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico.
+
+
+
+
+ CPF da pessoa física desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico
+ No caso de pessoa física, informar o CPF do desenvolvedor do sistema utilizado na emissão do documento fiscal eletrônico.
+
+
+
+
+
+ Nome da pessoa a ser contatada
+ Informar o nome da pessoa a ser contatada na empresa desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico. No caso de pessoa física, informar o respectivo nome.
+
+
+
+
+
+
+
+
+
+
+ Email da pessoa jurídica/física a ser contatada
+
+
+
+
+ Telefone da pessoa jurídica/física a ser contatada
+ Preencher com o Código DDD + número do telefone.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Histórico de Faturamento
+
+
+
+
+
+ Nome da grandeza faturada para exibição
+ Exemplo: Consumo Meses Anteriores
+
+
+
+
+
+
+
+
+
+
+ Grandezas faturadas
+
+
+
+
+
+ Ano e mês referência do faturamento (AAAAMM)
+
+
+
+
+ Valor Faturado
+
+
+
+
+ Unidade Básica de Medida
+ 1=kW; 2=kWh; 3=kVAr; 4=kVArh
+
+
+
+
+ Quantidade de dias de medição
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de grandeza medida
+ 01 - Demanda;
+02 - Demanda Reativa
+; 03 - Energia Ativa;
+04 - Energia Ativa injetada
+; 05 - Energia Reativa
+
+
+
+
+ Tipo de posto tarifário
+ 0 - Único/Não se aplica; 1 - Ponta; 2 - Fora Ponta; 3 - Intermediário; 4 - Ponta Reservado ; 5 - Fora ponta Reservado; 6 - Intermediário Reservado
+; 7=Reservado
+
+
+
+
+
+ Unidade Básica de Medida
+ 1 - kW
+; 2 - kWh;
+3 - kVAr;
+4 - kVArh
+
+
+
+
+ Valor da medição (leitura) anterior
+
+
+
+
+ Valor da medição (leitura) atual
+
+
+
+
+ Indicar o fator de multiplicação do medidor
+
+
+
+
+ Valor da medição
+ (vMedAtu – vMedAnt) * vConst
+
+
+
+
+ Sequencia XML
+
+
+
+ Perda de Transformação(percentual)
+
+
+
+
+ Valor medido após perda de transformação
+ vMed * (1 + pPerdTran/100)
+
+
+
+
+
+ Valor medido após perda técnica
+
+
+
+
+
+
+ Tipo Dados da Responsável Técnico
+
+
+
+
+ CNPJ da pessoa jurídica responsável técnica pelo sistema utilizado na emissão do documento fiscal eletrônico
+ Informar o CNPJ da pessoa jurídica desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico.
+
+
+
+
+ Nome da pessoa a ser contatada
+ Informar o nome da pessoa a ser contatada na empresa desenvolvedora do sistema utilizado na emissão do documento fiscal eletrônico. No caso de pessoa física, informar o respectivo nome.
+
+
+
+
+
+
+
+
+
+
+ Email da pessoa jurídica a ser contatada
+
+
+
+
+ Telefone da pessoa jurídica a ser contatada
+ Preencher com o Código DDD + número do telefone.
+
+
+
+
+
+
+
+
+
+
+ Sequencia XML
+
+
+
+ Identificador do código de segurança do responsável técnico
+ Identificador do CSRT utilizado para geração do hash
+
+
+
+
+
+
+
+
+
+ Hash do token do código de segurança do responsável técnico
+ O hashCSRT é o resultado das funções SHA-1 e base64 do token CSRT fornecido pelo fisco + chave de acesso do DF-e. (Implementação em futura NT)
+
+Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo processo de emissão do NF-3e
+
+
+
+
+
+
+
+
+
+ Tipo Identificador de controle do envio do lote. Número seqüencial auto-incremental, de controle correspondente ao identificador único do lote enviado. A responsabilidade de gerar e controlar esse número é do próprio contribuinte.
+
+
+
+
+
+
+
+
+ Tipo Versão da NF-3e
+
+
+
+
+
+
+
+
+ Tipo hora
+
+
+
+
+
+
+
+
+ Tipo Email
+
+
+
+
+
+
+
+
+
+
+ Finalidade da NF-3e
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de Documento de Identificação
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo CFOP
+
+
+
+
+
+
+
+
+ Tipo indicador da IE do Destinatário
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de emissão da NF-3e
+
+
+
+
+
+
+
+
+
+
+
+ Tipo acessante
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de Classe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo SubClasse
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de Fase
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Grupo Tensão
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Modalidade Tarifária
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Competência
+
+
+
+
+
+
+
+
+
+
+ Tipo Motivo Substituição
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Grandeza Contratada
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Posto Tarifário
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Posto Tarifário Completo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Compensação (SCE)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Fonte Energia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo do ajuste na NF-3e anterior
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo do ajuste na NF-3e anterior
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo do Motivo de Ajuste
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo do indicador de origem da quantidade faturada
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Grandeza Medida
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo da unidade básica de medida
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo da unidade básica de medida
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo da bandeira tarifária
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de ato da ANEEL
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de tarifa de aplicação
+
+
+
+
+
+
+
+
+
+
+
+ Tipo de processo judicial
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo motivo não leitura
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo componente da fatura
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/nf3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/nf3e_v1.00.xsd
new file mode 100644
index 00000000..35c6c83a
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/nf3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Nota Fiscal Eletrônica de Energia Elétrica
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/procEventoNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/procEventoNF3e_v1.00.xsd
new file mode 100644
index 00000000..b1f738ca
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/procEventoNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Pedido de Registro de Evento de NF-3e processado
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/procNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/procNF3e_v1.00.xsd
new file mode 100644
index 00000000..9a9ef41b
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/procNF3e_v1.00.xsd
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+ NF-3e processada
+
+
+
+
+
+
+
+
+
+ IP do transmissor do documento fiscal para o ambiente autorizador
+
+
+
+
+ Porta de origem utilizada na conexão (De 0 a 65535)
+
+
+
+
+
+
+
+
+
+ Data e Hora da Conexão de Origem
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/retConsReciNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/retConsReciNF3e_v1.00.xsd
new file mode 100644
index 00000000..5164cd13
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/retConsReciNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do Pedido de Consulta da NF-3e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/retConsSitNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/retConsSitNF3e_v1.00.xsd
new file mode 100644
index 00000000..498e9ae0
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/retConsSitNF3e_v1.00.xsd
@@ -0,0 +1,9 @@
+
+
+
+
+
+ Schema XML de validação do retorno da consulta da situação atual da NF-3e.
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/retConsStatServNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/retConsStatServNF3e_v1.00.xsd
new file mode 100644
index 00000000..7693291a
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/retConsStatServNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do Resultado da Consulta do Status do Serviço de NF-3e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/retEnviNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/retEnviNF3e_v1.00.xsd
new file mode 100644
index 00000000..792bd8cc
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/retEnviNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do recibo de envio do lote de NF-3e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/retEventoNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/retEventoNF3e_v1.00.xsd
new file mode 100644
index 00000000..3f17214c
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/retEventoNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno Pedido de Evento da NF-3e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/retNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/retNF3e_v1.00.xsd
new file mode 100644
index 00000000..9f08629c
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/retNF3e_v1.00.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ Schema XML de validação do retorno do BP-e
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/tiposGeralNF3e_v1.00.xsd b/nfelib/nf3e/schemas/v1_0/tiposGeralNF3e_v1.00.xsd
new file mode 100644
index 00000000..f46ed583
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/tiposGeralNF3e_v1.00.xsd
@@ -0,0 +1,729 @@
+
+
+
+
+
+ Data e Hora, formato UTC (AAAA-MM-DDThh:mm:ssTZD, onde TZD = +hh:mm ou -hh:mm)
+
+
+
+
+
+
+
+
+ Tipo Código da UF da tabela do IBGE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Código do Município da tabela do IBGE
+
+
+
+
+
+
+
+
+ Tipo Código de orgão (UF da tabela do IBGE + 90 SUFRAMA + 91 RFB + 92 BRId)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Código da UF da tabela do IBGE + 99 para Exterior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Chave de Documento Fiscal Eletrônico
+
+
+
+
+
+
+
+
+
+ Tipo Segundo Codigo Barra
+
+
+
+
+
+
+
+ Tipo Número do Protocolo de Status
+
+
+
+
+
+
+
+
+ Tipo Número do Recibo do envio de lote de DF-e
+
+
+
+
+
+
+
+
+ Tipo Código da Mensagem enviada
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ tamanho varíavel (3-14)
+
+
+
+
+
+
+
+
+ Tipo Número do CNPJ Opcional
+
+
+
+
+
+
+
+
+ Tipo Número do CPF
+
+
+
+
+
+
+
+
+ Tipo Número do CPF de tamanho variável (3-11)
+
+
+
+
+
+
+
+
+ Tipo Decimal com 5 dígitos, sendo 3 inteiros e 2 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 5 dígitos, sendo 3 inteiros e 2 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 6 dígitos, sendo 3 inteiros e 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 6 dígitos, sendo 3 inteiros e 3 decimais usado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 6 ou 5 dígitos, sendo 3 inteiros e 3 ou 2 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com até 3 dígitos inteiros, podendo ter de 2 até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com até 3 dígitos inteiros e 2 até 4 decimais. Utilizados em TAGs opcionais, não aceita valor zero.
+
+
+
+
+
+
+
+
+ Tipo Decimal com 3 inteiros (no máximo 100), com até 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 4 dígitos inteiros e 2 a 8 casas decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 8 dígitos, sendo 5 inteiros e 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 dígitos, sendo 8 inteiros e 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 dígitos, sendo 8 inteiros e 3 decimais utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 dígitos, sendo 8 inteiros e 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 12 dígitos, sendo 8 inteiros e 4 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 9 inteiros e 6 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 9 inteiros e 6 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 9 inteiros e 8 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 9 inteiros e 8 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 11 inteiros e 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 11 inteiros e 4 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 11 dígitos inteiros e 0 a 4 casas decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 12 inteiros e 3 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 12 inteiros e 3 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 16 dígitos, sendo 12 de corpo e 4 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 16 dígitos, sendo 12 inteiros e 4 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 13 inteiros e 2 decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 15 dígitos, sendo 13 inteiros e 2 decimais, utilizado em tags opcionais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 13 dígitos inteiros e 2 a 6 casas decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 13 dígitos inteiros e 2 a 8 casas decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 13 dígitos inteiros e 2 a 10 casas decimais
+
+
+
+
+
+
+
+
+ Tipo Decimal com 13 dígitos inteiros e 2 a 4 casas decimais
+
+
+
+
+
+
+
+
+ Tipo Inscrição Estadual do Destinatário
+
+
+
+
+
+
+
+
+ Tipo Modelo NF-3e
+
+
+
+
+
+
+
+
+ Tipo Inscrição Estadual do Emitente
+
+
+
+
+
+
+
+
+ Tipo Número do Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Série do Documento Fiscal
+
+
+
+
+
+
+
+
+ Tipo Sigla da UF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Sigla da UF - Sem Exterior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo Ambiente
+
+
+
+
+
+
+
+
+
+ Tipo Versão do Aplicativo
+
+
+
+
+
+
+
+
+ Tipo Motivo
+
+
+
+
+
+
+
+
+ Tipo Justificativa
+
+
+
+
+
+
+
+
+ Tipo Serviço solicitado
+
+
+
+
+
+ Tipo ano
+
+
+
+
+
+
+
+
+ Tipo temp médio em segundos
+
+
+
+
+
+
+
+
+ Tipo string genérico
+
+
+
+
+
+
+
+
+ Tipo data AAAA-MM-DD
+
+
+
+
+
+
+
+
+ Coordenada geográfica Latitude
+
+
+
+
+
+
+
+ Coordenada geográfica Longitude
+
+
+
+
+
+
+
+ Tipo número sequencial único do AN
+
+
+
+
+
+
+
+ Tipo IP versão 4
+
+
+
+
+
+
+
diff --git a/nfelib/nf3e/schemas/v1_0/xmldsig-core-schema_v1.01.xsd b/nfelib/nf3e/schemas/v1_0/xmldsig-core-schema_v1.01.xsd
new file mode 100644
index 00000000..6e9063c9
--- /dev/null
+++ b/nfelib/nf3e/schemas/v1_0/xmldsig-core-schema_v1.01.xsd
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+