diff --git a/nfelib/nfse/bindings/v1_0/tipos_complexos_v1_00.py b/nfelib/nfse/bindings/v1_0/tipos_complexos_v1_00.py index 51028dbc..ad33d574 100644 --- a/nfelib/nfse/bindings/v1_0/tipos_complexos_v1_00.py +++ b/nfelib/nfse/bindings/v1_0/tipos_complexos_v1_00.py @@ -2453,7 +2453,7 @@ class TcinfoTributacao(CommonMixin): """ :ivar tribMun: Grupo de informações relacionados ao Imposto Sobre Serviços de Qualquer Natureza - ISSQN - :ivar tribNac: Grupo de informações de outros tributos relacionados + :ivar tribFed: Grupo de informações de outros tributos relacionados ao serviço prestado :ivar totTrib: Grupo de informações para totais aproximados dos tributos relacionados ao serviço prestado @@ -2470,7 +2470,7 @@ class Meta: "required": True, }, ) - tribNac: Optional[TctribNacional] = field( + tribFed: Optional[TctribNacional] = field( default=None, metadata={ "type": "Element", diff --git a/nfelib/nfse/samples/v1_0/ConsultarNFSeEnvio-ped-sitnfse.xml b/nfelib/nfse/samples/v1_0/ConsultarNFSeEnvio-ped-sitnfse.xml index 9ae579e2..6b1775bf 100644 --- a/nfelib/nfse/samples/v1_0/ConsultarNFSeEnvio-ped-sitnfse.xml +++ b/nfelib/nfse/samples/v1_0/ConsultarNFSeEnvio-ped-sitnfse.xml @@ -72,11 +72,11 @@ 1 1 - + 8.99 9.99 9.99 - + 0.01 @@ -125,4 +125,4 @@ - \ No newline at end of file + diff --git a/nfelib/nfse/samples/v1_0/ConsultarNFSeRPS-ped-sitnfserps.xml b/nfelib/nfse/samples/v1_0/ConsultarNFSeRPS-ped-sitnfserps.xml index c9c949d8..45b177bd 100644 --- a/nfelib/nfse/samples/v1_0/ConsultarNFSeRPS-ped-sitnfserps.xml +++ b/nfelib/nfse/samples/v1_0/ConsultarNFSeRPS-ped-sitnfserps.xml @@ -40,15 +40,15 @@ 1 1 - + 8.99 9.99 9.99 - + 0.01 - \ No newline at end of file + diff --git a/nfelib/nfse/samples/v1_0/dps-regime-normal.xml b/nfelib/nfse/samples/v1_0/dps-regime-normal.xml new file mode 100644 index 00000000..02ec46c6 --- /dev/null +++ b/nfelib/nfse/samples/v1_0/dps-regime-normal.xml @@ -0,0 +1,60 @@ + + + + 1 + 2023-09-09T09:42:06-03:00 + 20220719 + 00007 + 2 + 2023-09-09 + 1 + 4202404 + + 00000000000000 + 152422 + + 2 + 0 + + + + 00000000000000 + 00000 + XXXXXXX XXXXXXXXXXX LTDA ME + + ARY XXXXXXX XXXXX + 79 + XXXXXXXX XXXXX + + + + + 4202404 + + + 010101 + Teste de NF Nacional com imposto + 111111111 + + + + + 20.00 + + + + 1 + 1 + + + 0.40 + 0.00 + 0.00 + + + 0 + + + + + diff --git a/nfelib/nfse/samples/v1_0/GerarNFSeEnvio-env-loterps.xml b/nfelib/nfse/samples/v1_0/dps-simples.xml similarity index 75% rename from nfelib/nfse/samples/v1_0/GerarNFSeEnvio-env-loterps.xml rename to nfelib/nfse/samples/v1_0/dps-simples.xml index c9c949d8..66ffa04a 100644 --- a/nfelib/nfse/samples/v1_0/GerarNFSeEnvio-env-loterps.xml +++ b/nfelib/nfse/samples/v1_0/dps-simples.xml @@ -34,21 +34,16 @@ 9999999.99 9.99 - - - - 1 - 1 - - - 8.99 - 9.99 - 9.99 - - - 0.01 - - + + + + 1 + 1 + + + 0.01 + + - \ No newline at end of file + diff --git a/nfelib/nfse/schemas/v1_0/tiposComplexos_v1.00.xsd b/nfelib/nfse/schemas/v1_0/tiposComplexos_v1.00.xsd index 01d606aa..08483924 100644 --- a/nfelib/nfse/schemas/v1_0/tiposComplexos_v1.00.xsd +++ b/nfelib/nfse/schemas/v1_0/tiposComplexos_v1.00.xsd @@ -1255,7 +1255,7 @@ - + Grupo de informações de outros tributos relacionados ao serviço prestado diff --git a/tests/nfse/test_nfse.py b/tests/nfse/test_nfse.py index 7f7fc840..0d8831e3 100644 --- a/tests/nfse/test_nfse.py +++ b/tests/nfse/test_nfse.py @@ -1,7 +1,8 @@ -# Copyright (C) 2019 - TODAY Raphaël Valyi - Akretion +# Copyright (C) 2023 - TODAY Raphaël Valyi - Akretion import os from xmldiff import main +from unittest import TestCase from xsdata.formats.dataclass.serializers.config import SerializerConfig from xsdata.formats.dataclass.parsers import XmlParser @@ -12,62 +13,63 @@ from nfelib.nfse.bindings.v1_0 import dps_v1_00 -def test_in_out_nfse(): - path = os.path.join("nfelib", "nfse", "samples", "v1_0") - for filename in ["ConsultarNFSeEnvio-ped-sitnfse.xml"]: - input_file = os.path.join(path, filename) - parser = XmlParser() - obj = parser.from_path(Path(input_file)) - serializer = XmlSerializer(config=SerializerConfig(pretty_print=True)) - xml = serializer.render( - obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"} - ) +class NFseTests(TestCase): + def test_in_out_consulta(self): + path = os.path.join("nfelib", "nfse", "samples", "v1_0") + for filename in ["ConsultarNFSeEnvio-ped-sitnfse.xml"]: + input_file = os.path.join(path, filename) + parser = XmlParser() + obj = parser.from_path(Path(input_file)) + serializer = XmlSerializer(config=SerializerConfig(pretty_print=True)) + xml = serializer.render( + obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"} + ) - output_file = "tests/output_nfse.xml" - with open(output_file, "w") as f: - f.write(xml) + output_file = "tests/output_nfse.xml" + with open(output_file, "w") as f: + f.write(xml) - diff = main.diff_files(input_file, output_file) - assert len(diff) == 0 - if len(diff) != 0: - break + diff = main.diff_files(input_file, output_file) + assert len(diff) == 0 + if len(diff) != 0: + break -def test_in_out_dps(): - path = os.path.join("nfelib", "nfse", "samples", "v1_0") - for filename in ["GerarNFSeEnvio-env-loterps.xml", "ConsultarNFSeRPS-ped-sitnfserps.xml"]: - input_file = os.path.join(path, filename) - parser = XmlParser() - obj = parser.from_path(Path(input_file)) - serializer = XmlSerializer(config=SerializerConfig(pretty_print=True)) - xml = serializer.render( - obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"} - ) + def test_in_out_dps(self): + path = os.path.join("nfelib", "nfse", "samples", "v1_0") + for filename in ["dps-simples.xml", "dps-regime-normal.xml"]: + input_file = os.path.join(path, filename) + parser = XmlParser() + obj = parser.from_path(Path(input_file)) + serializer = XmlSerializer(config=SerializerConfig(pretty_print=True)) + xml = serializer.render( + obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"} + ) - output_file = "tests/output_nfse_dps.xml" - with open(output_file, "w") as f: - f.write(xml) + output_file = "tests/output_nfse_dps.xml" + with open(output_file, "w") as f: + f.write(xml) - diff = main.diff_files(input_file, output_file) - assert len(diff) == 0 - if len(diff) != 0: - break + diff = main.diff_files(input_file, output_file) + assert len(diff) == 0 + if len(diff) != 0: + break -def test_in_out_pedRegEvento(): - path = os.path.join("nfelib", "nfse", "samples", "v1_0") - for filename in ["CancelarNFSe-ped-cannfse.xml"]: - input_file = os.path.join(path, filename) - parser = XmlParser() - obj = parser.from_path(Path(input_file)) - serializer = XmlSerializer(config=SerializerConfig(pretty_print=True)) - xml = serializer.render( - obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"} - ) + def test_in_out_pedRegEvento(self): + path = os.path.join("nfelib", "nfse", "samples", "v1_0") + for filename in ["CancelarNFSe-ped-cannfse.xml"]: + input_file = os.path.join(path, filename) + parser = XmlParser() + obj = parser.from_path(Path(input_file)) + serializer = XmlSerializer(config=SerializerConfig(pretty_print=True)) + xml = serializer.render( + obj=obj, ns_map={None: "http://www.sped.fazenda.gov.br/nfse"} + ) - output_file = "tests/output_nfse_pedRegEvento.xml" - with open(output_file, "w") as f: - f.write(xml) + output_file = "tests/output_nfse_pedRegEvento.xml" + with open(output_file, "w") as f: + f.write(xml) - diff = main.diff_files(input_file, output_file) - assert len(diff) == 0 - if len(diff) != 0: - break + diff = main.diff_files(input_file, output_file) + assert len(diff) == 0 + if len(diff) != 0: + break