From 00a501a6c2c15e09596db38857725c4ad945f997 Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 22:28:11 -0300 Subject: [PATCH 01/11] chore: Do not install `setuptools` using Make tasks Since commit cdb2ec6db495ccc81b5a01d1086bb11d07bf744b, `setuptools` is installed and managed through dependency manifests (`requirements.*`), so we can delete Make task `python-setuptools-install`. --- Makefile | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index a753ff71..5fd577d4 100644 --- a/Makefile +++ b/Makefile @@ -10,10 +10,6 @@ PYTHON_PIP_VERSION_SPECIFIER = $(shell \ grep -E '^pip==.+' --no-filename --only-matching --no-messages -- requirements{,-dev}.{txt,in} \ | head -n 1 | sed 's/^pip//' \ ) -PYTHON_SETUPTOOLS_VERSION_SPECIFIER = $(shell \ - grep -E '^setuptools==.+' --no-filename --only-matching --no-messages -- requirements{,-dev}.{txt,in} \ - | head -n 1 | sed 's/^setuptools//' \ -) PYTHON_VIRTUALENV_DIR = venv PYTHON_PIP_TOOLS_VERSION_SPECIFIER = $(shell \ grep -E '^pip-tools==.+' --no-filename --only-matching --no-messages -- requirements{,-dev}.{txt,in} \ @@ -37,7 +33,7 @@ TOXENV ?= py310 .PHONY: build dist deploy upload-release .PHONE: python-virtualenv .PHONY: python-deps-compile python-deps-sync-check python-pip-tools-install -.PHONY: python-pip-install python-setuptools-install +.PHONY: python-pip-install help: @grep '^[a-zA-Z]' $(MAKEFILE_LIST) | sort | awk -F ':.*?## ' 'NF==2 {printf "\033[36m %-25s\033[0m %s\n", $$1, $$2}' @@ -69,7 +65,7 @@ install-dev: ## Install for development python -m pip install --editable . python -m pip check -install-deps-dev: python-pip-install python-setuptools-install +install-deps-dev: python-pip-install install-deps-dev: python-pip-tools-install install-deps-dev: ## Install dependencies for development python -m pip install -r requirements.txt @@ -137,9 +133,6 @@ python-virtualenv: ## Create virtual Python environment python-pip-install: ## Install Pip $(PYTHON_PIP) install 'pip$(PYTHON_PIP_VERSION_SPECIFIER)' -python-setuptools-install: ## Install Setuptools - $(PYTHON_PIP) install 'setuptools$(PYTHON_SETUPTOOLS_VERSION_SPECIFIER)' - python-deps-compile: $(patsubst %,python-deps-compile-%,$(PYTHON_PIP_TOOLS_SRC_FILES)) python-deps-compile: ## Compile Python dependency manifests From 2272bd0c4bca8fdd64b58d27ba5c46073073dd7c Mon Sep 17 00:00:00 2001 From: Jose Tomas Robles Hahn Date: Wed, 29 Oct 2025 22:43:58 -0300 Subject: [PATCH 02/11] fix: Installing Pip version 24 in GitHub Actions fails when default's 25 From : > To avoid version conflicts, install the required `pip` version (24.2) > right after `setup-python` action. --- .github/workflows/ci.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 33ad8b4d..4b00b92b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -45,6 +45,9 @@ jobs: python-version: "${{ matrix.python_version }}" check-latest: true + - name: Install Pip + run: make python-pip-install + - name: Create Python Virtual Environment run: make python-virtualenv PYTHON_VIRTUALENV_DIR="venv" From 8758118757aac41efea66508bc053a07cffc201e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Oct 2025 01:59:01 +0000 Subject: [PATCH 03/11] chore(deps): Bump lxml from 5.4.0 to 6.0.2 Bumps [lxml](https://github.com/lxml/lxml) from 5.4.0 to 6.0.2. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](https://github.com/lxml/lxml/compare/lxml-5.4.0...lxml-6.0.2) --- updated-dependencies: - dependency-name: lxml dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- pyproject.toml | 2 +- requirements.in | 2 +- requirements.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 36b0e76b..93b18438 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ dependencies = [ "cryptography>=43.0.0", "defusedxml>=0.6.0,<1", "jsonschema>=3.1.1", - "lxml>=5.2.1,<6", + "lxml>=5.2.1,<7", "marshmallow>=3,<5", "pydantic>=2.10.0,!=1.7.*,!=1.8.*,!=1.9.*", "pyOpenSSL>=24.0.0", diff --git a/requirements.in b/requirements.in index 1a6f437d..9b00bb37 100644 --- a/requirements.in +++ b/requirements.in @@ -13,7 +13,7 @@ Django>=4.2 djangorestframework>=3.10.3,<3.17 importlib-metadata==8.7.0 jsonschema==4.25.0 -lxml==5.4.0 +lxml==6.0.2 marshmallow==4.0.1 pydantic==2.11.7 pyOpenSSL==25.1.0 diff --git a/requirements.txt b/requirements.txt index caefdf10..f0b1e004 100644 --- a/requirements.txt +++ b/requirements.txt @@ -40,7 +40,7 @@ jsonschema==4.25.0 # via -r requirements.in jsonschema-specifications==2023.12.1 # via jsonschema -lxml==5.4.0 +lxml==6.0.2 # via # -r requirements.in # signxml From 5e3798bfadd14d3b50a76bfecb9568e41b70eec0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 1 Nov 2025 08:05:47 +0000 Subject: [PATCH 04/11] chore(deps): Bump typing-extensions from 4.14.0 to 4.15.0 Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.14.0 to 4.15.0. - [Release notes](https://github.com/python/typing_extensions/releases) - [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md) - [Commits](https://github.com/python/typing_extensions/compare/4.14.0...4.15.0) --- updated-dependencies: - dependency-name: typing-extensions dependency-version: 4.15.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- requirements.in | 2 +- requirements.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 4f840a61..27d369b9 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -190,7 +190,7 @@ types-pytz==2025.2.0.20250809 # via -r requirements-dev.in types-setuptools==80.9.0.20250809 # via -r requirements-dev.in -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -c requirements.txt # beautifulsoup4 diff --git a/requirements.in b/requirements.in index 9b00bb37..177d0337 100644 --- a/requirements.in +++ b/requirements.in @@ -20,4 +20,4 @@ pyOpenSSL==25.1.0 pytz==2025.2 setuptools==80.9.0 signxml==4.2.0 -typing-extensions==4.14.0 +typing-extensions==4.15.0 diff --git a/requirements.txt b/requirements.txt index f0b1e004..7f0fdada 100644 --- a/requirements.txt +++ b/requirements.txt @@ -68,7 +68,7 @@ signxml==4.2.0 # via -r requirements.in sqlparse==0.5.0 # via django -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -r requirements.in # asgiref From fc685e1c8673a5075559a1d891aa9c68f6b105ec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 00:40:55 +0000 Subject: [PATCH 05/11] chore(deps): Bump django from 4.2.25 to 4.2.26 Bumps [django](https://github.com/django/django) from 4.2.25 to 4.2.26. - [Commits](https://github.com/django/django/compare/4.2.25...4.2.26) --- updated-dependencies: - dependency-name: django dependency-version: 4.2.26 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7f0fdada..bac0a359 100644 --- a/requirements.txt +++ b/requirements.txt @@ -25,7 +25,7 @@ cryptography==45.0.7 # signxml defusedxml==0.7.1 # via -r requirements.in -django==4.2.25 +django==4.2.26 # via # -r requirements.in # django-filter From 702734a5eeaee4c87291839c8fa9721d258f6509 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Nov 2025 22:10:15 +0000 Subject: [PATCH 06/11] chore(deps): Bump pip-tools from 7.4.1 to 7.5.1 Bumps [pip-tools](https://github.com/jazzband/pip-tools) from 7.4.1 to 7.5.1. - [Release notes](https://github.com/jazzband/pip-tools/releases) - [Changelog](https://github.com/jazzband/pip-tools/blob/main/CHANGELOG.md) - [Commits](https://github.com/jazzband/pip-tools/compare/7.4.1...v7.5.1) --- updated-dependencies: - dependency-name: pip-tools dependency-version: 7.5.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements-dev.in | 2 +- requirements-dev.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev.in b/requirements-dev.in index 1f19bf2c..43281103 100644 --- a/requirements-dev.in +++ b/requirements-dev.in @@ -11,7 +11,7 @@ coverage==7.10.7 flake8==7.3.0 isort==6.0.1 mypy==1.18.2 -pip-tools==7.4.1 +pip-tools==7.5.1 tox==4.27.0 twine==6.2.0 types-jsonschema==4.25.0.20250809 diff --git a/requirements-dev.txt b/requirements-dev.txt index 27d369b9..cbcf6524 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -111,7 +111,7 @@ pathspec==0.9.0 # via # black # mypy -pip-tools==7.4.1 +pip-tools==7.5.1 # via -r requirements-dev.in platformdirs==4.3.6 # via From 953eeb832f297bcf9d9b9614490f2a759da85a79 Mon Sep 17 00:00:00 2001 From: Samuel Villegas Date: Thu, 13 Nov 2025 15:12:03 -0300 Subject: [PATCH 07/11] chore(deps): Bump pip-tools from 7.5.1 to 7.5.2 Bumps [pip-tools](https://github.com/jazzband/pip-tools) from 7.5.1 to 7.5.2. - [Release notes](https://github.com/jazzband/pip-tools/releases) - [Changelog](https://github.com/jazzband/pip-tools/blob/main/CHANGELOG.md) - [Commits](https://github.com/jazzband/pip-tools/compare/v7.5.1...v7.5.2) --- requirements-dev.in | 2 +- requirements-dev.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements-dev.in b/requirements-dev.in index 43281103..f84a40e6 100644 --- a/requirements-dev.in +++ b/requirements-dev.in @@ -11,7 +11,7 @@ coverage==7.10.7 flake8==7.3.0 isort==6.0.1 mypy==1.18.2 -pip-tools==7.5.1 +pip-tools==7.5.2 tox==4.27.0 twine==6.2.0 types-jsonschema==4.25.0.20250809 diff --git a/requirements-dev.txt b/requirements-dev.txt index cbcf6524..7f138d71 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -111,7 +111,7 @@ pathspec==0.9.0 # via # black # mypy -pip-tools==7.5.1 +pip-tools==7.5.2 # via -r requirements-dev.in platformdirs==4.3.6 # via From e07d848aeb47085b96f81cdd94f8cc052741c718 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Nov 2025 18:24:52 +0000 Subject: [PATCH 08/11] chore(deps): Bump pip from 24.2 to 25.3 Bumps [pip](https://github.com/pypa/pip) from 24.2 to 25.3. - [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst) - [Commits](https://github.com/pypa/pip/compare/24.2...25.3) --- updated-dependencies: - dependency-name: pip dependency-version: '25.3' dependency-type: indirect ... Signed-off-by: dependabot[bot] --- requirements-dev.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 7f138d71..615708fa 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -214,7 +214,7 @@ zipp==3.20.2 # importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==24.2 +pip==25.3 # via pip-tools setuptools==80.9.0 # via From 9898051a5dc2f7203818809d4b11fcee50ec1598 Mon Sep 17 00:00:00 2001 From: Samuel Villegas Date: Thu, 13 Nov 2025 12:44:21 -0300 Subject: [PATCH 09/11] fix(rcv): Refactor grouping logic for RCV parsing - Updated to handle case when a main row is encountered and the entry_key already exists and the code doesn't update the stored row. - Changed the grouping key from folio to entry_key (combination of folio, tipo docto, and rut) - Solves the issue where some rows with the same `folio` but different `rut` or `tipo docto` were missing. Ref: https://app.shortcut.com/cordada/story/17311/ --- src/cl_sii/rcv/parse_csv.py | 38 +- .../RCV-venta-extra-empty-impuestos-rows.csv | 3 + src/tests/test_rcv_parse_csv.py | 672 +++++++++++++++--- 3 files changed, 586 insertions(+), 127 deletions(-) diff --git a/src/cl_sii/rcv/parse_csv.py b/src/cl_sii/rcv/parse_csv.py index 0169b399..e44acad9 100644 --- a/src/cl_sii/rcv/parse_csv.py +++ b/src/cl_sii/rcv/parse_csv.py @@ -1590,20 +1590,22 @@ def _parse_rcv_csv_file( expected_field_names=expected_input_field_names, ) - # Group rows by folio and handle "Otros Impuestos" logic - folio_groups: MutableMapping[str, Any] = {} + # Group rows by 'folio + tipo docto + rut' to handle "Otros Impuestos" logic + entry_key_groups: MutableMapping[str, Any] = {} - # Otros Impuestos field names + # Field names differ slightly between RCV Venta and RCV Compra if isinstance(input_csv_row_schema, RcvVentaCsvRowSchema): codigo_otro_impuesto_key = "Codigo Otro Imp." valor_otro_impuesto_key = "Valor Otro Imp." tasa_otro_impuesto_key = "Tasa Otro Imp." + rut_key = "Rut cliente" else: codigo_otro_impuesto_key = "Codigo Otro Impuesto" valor_otro_impuesto_key = "Valor Otro Impuesto" tasa_otro_impuesto_key = "Tasa Otro Impuesto" + rut_key = "Rut Proveedor" - # First pass: collect all rows and group by folio + # First pass: collect all rows and group by folio + tipo docto + rut for row_ix, row_data in enumerate(csv_reader, start=1): if max_n_rows is not None and row_ix > max_n_rows + n_rows_offset: raise rows_processing.MaxRowsExceeded(f"Exceeded 'max_n_rows' limit: {max_n_rows}.") @@ -1615,13 +1617,17 @@ def _parse_rcv_csv_file( row_data.pop(_field_name, None) folio = str(row_data.get('Folio')) if row_data.get('Folio') is not None else '' + tipo_docto = row_data.get('Tipo Doc') + rut = row_data.get(rut_key) - # If both fields are None, it's an "otros impuestos" row + # Concatenate folio, tipo_docto, and rut to create unique entry key + entry_key = f"{folio}_{tipo_docto}_{rut}" + + # If Nro, Fecha Recepcion, and Monto Total are all None or empty, + # it's an "otros impuestos" row is_main = not ( - ( - row_data.get("Nro") in (None, "") - and row_data.get("Fecha Recepcion") in (None, "") - ) + row_data.get("Nro") in (None, "") + and row_data.get("Fecha Recepcion") in (None, "") and (row_data.get("Monto Total") in (None, "")) ) otros_impuestos_data = { @@ -1642,17 +1648,21 @@ def _parse_rcv_csv_file( ), } - if folio not in folio_groups: - folio_groups[folio] = { + if entry_key not in entry_key_groups: + entry_key_groups[entry_key] = { 'row': (row_ix, row_data), 'otros_impuestos': [otros_impuestos_data], } - if not is_main and folio in folio_groups: + elif is_main: + # Update main row if this is a main entry + entry_key_groups[entry_key]['row'] = (row_ix, row_data) + entry_key_groups[entry_key]['otros_impuestos'].insert(0, otros_impuestos_data) + elif not is_main: if any(otros_impuestos_data.values()): - folio_groups[folio]['otros_impuestos'].append(otros_impuestos_data) + entry_key_groups[entry_key]['otros_impuestos'].append(otros_impuestos_data) # Second pass: yield grouped rows - for folio, group in folio_groups.items(): + for folio, group in entry_key_groups.items(): if group['row']: row_ix, row_data = group['row'] row_data['Otros Impuestos'] = group['otros_impuestos'] diff --git a/src/tests/test_data/sii-rcv/RCV-venta-extra-empty-impuestos-rows.csv b/src/tests/test_data/sii-rcv/RCV-venta-extra-empty-impuestos-rows.csv index 5e9f99e9..a20dace8 100644 --- a/src/tests/test_data/sii-rcv/RCV-venta-extra-empty-impuestos-rows.csv +++ b/src/tests/test_data/sii-rcv/RCV-venta-extra-empty-impuestos-rows.csv @@ -3,3 +3,6 @@ Nro;Tipo Doc;Tipo Venta;Rut cliente;Razon Social;Folio;Fecha Docto;Fecha Recepci ;33;Del Giro;54213736-3;CHILE SPA;6541;01/09/2025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;271;701395;18;;;;;; 2;33;Del Giro;42509414-9;COMERCIAL SPA;9874;01/09/2025;01/09/2025 09:53:17;;;0;8879040;1687018;13136156;0;0;0;0;0;-;0;0;0;0;0;;;;0;;0;2;0;0;0;;;;12354;;24;2570098;31.5 3;33;Del Giro;68840666-8;TEXAS SPA;3210;01/09/2025;01/09/2025 10:58:51;08/09/2025 14:15:23;;0;20522880;3899347;30471437;0;0;0;0;0;-;0;0;0;0;0;;;;0;;0;2;0;0;0;;;;12354;;24;6049210;31.5; +4;34;Del Giro;68840666-8;TEXAS SPA;3210;01/09/2025;01/09/2025 10:58:51;08/09/2025 14:15:23;;0;9999;3899347;30471437;0;0;0;0;0;-;0;0;0;0;0;;;;0;;0;2;0;0;0;;;;12354;;24;6049210;31.5; +5;33;Del Giro;54213736-3;THE COMPANY SPA;3210;01/09/2025;01/09/2025 10:58:51;08/09/2025 14:15:23;;0;9999;3899347;30471437;0;0;0;0;0;-;0;0;0;0;0;;;;0;;0;2;0;0;0;;;;12354;;24;6049210;31.5; +;33;Del Giro;54213736-3;THE COMPANY SPA;3210;01/09/2025;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;271;701395;18;;;;;; diff --git a/src/tests/test_rcv_parse_csv.py b/src/tests/test_rcv_parse_csv.py index c1264194..a598560a 100644 --- a/src/tests/test_rcv_parse_csv.py +++ b/src/tests/test_rcv_parse_csv.py @@ -4,7 +4,7 @@ import unittest from collections.abc import Iterable, Iterator from decimal import Decimal -from typing import Callable +from typing import Callable, Optional from unittest import mock import cl_sii.rcv.constants @@ -425,6 +425,8 @@ def test_parse_rcv_compra_pendiente_row(self) -> None: class FunctionsTest(unittest.TestCase): + maxDiff = None + def test_parse_rcv_venta_csv_file(self) -> None: rcv_file_path = get_test_file_path( 'test_data/sii-rcv/RCV-venta-rz_leading_trailing_whitespace.csv', @@ -608,126 +610,570 @@ def test_parse_rcv_venta_csv_file_empty_otros_impuestos_rows(self) -> None: rut=Rut('1-9'), input_file_path=rcv_file_path, ) - assert isinstance(items, Iterable) and isinstance(items, Iterator) - entry_struct, row_ix, row_data, row_parsing_errors = next(items) - - expected_entry_struct = RvDetalleEntry( - emisor_rut=Rut('1-9'), - tipo_docto=cl_sii.rcv.constants.RcvTipoDocto.FACTURA_ELECTRONICA, - folio=6541, - fecha_emision_date=datetime.date(2025, 9, 1), - receptor_rut=Rut('54213736-3'), - monto_total=9565862, - fecha_recepcion_dt=convert_naive_dt_to_tz_aware( - dt=datetime.datetime(2025, 9, 1, 10, 9), - tz=SII_OFFICIAL_TZ, + items_list = list(items) + expected_entries_list: list[ + tuple[Optional[RvDetalleEntry], int, dict[str, object], dict[str, object]] + ] + expected_entries_list = [ + ( + RvDetalleEntry( + emisor_rut=Rut('1-9'), + tipo_docto=cl_sii.rcv.constants.RcvTipoDocto.FACTURA_ELECTRONICA, + folio=6541, + fecha_emision_date=datetime.date(2025, 9, 1), + receptor_rut=Rut('54213736-3'), + monto_total=9565862, + fecha_recepcion_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 1, 10, 9), + tz=SII_OFFICIAL_TZ, + ), + tipo_venta='DEL_GIRO', + receptor_razon_social='CHILE SPA', + fecha_acuse_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 8, 14, 15, 23), + tz=SII_OFFICIAL_TZ, + ), + fecha_reclamo_dt=None, + monto_exento=0, + monto_neto=7217280, + monto_iva=1371283, + iva_retenido_total=0, + iva_retenido_parcial=0, + iva_no_retenido=0, + iva_propio=0, + iva_terceros=0, + liquidacion_factura_emisor_rut=None, + neto_comision_liquidacion_factura=0, + exento_comision_liquidacion_factura=0, + iva_comision_liquidacion_factura=0, + iva_fuera_de_plazo=0, + tipo_documento_referencia=0, + folio_documento_referencia=None, + num_ident_receptor_extranjero=None, + nacionalidad_receptor_extranjero=None, + credito_empresa_constructora=0, + impuesto_zona_franca_ley_18211=None, + garantia_dep_envases=0, + indicador_venta_sin_costo=2, + indicador_servicio_periodico=0, + monto_no_facturable=0, + total_monto_periodo=0, + venta_pasajes_transporte_nacional=None, + venta_pasajes_transporte_internacional=None, + numero_interno=None, + codigo_sucursal='12354', + nce_o_nde_sobre_factura_de_compra=None, + otros_impuestos=[ + OtrosImpuestos( + codigo_otro_impuesto='27', + valor_otro_impuesto=275904, + tasa_otro_impuesto=Decimal('10'), + ), + OtrosImpuestos( + codigo_otro_impuesto='271', + valor_otro_impuesto=701395, + tasa_otro_impuesto=Decimal('18'), + ), + ], + ), + 1, + { + 'Tipo Doc': '33', + 'Tipo Venta': 'DEL_GIRO', + 'Rut cliente': '54213736-3', + 'Razon Social': 'CHILE SPA', + 'Folio': '6541', + 'Fecha Docto': '01/09/2025', + 'Fecha Recepcion': '01/09/2025 10:09:00', + 'Fecha Acuse Recibo': '08/09/2025 14:15:23', + 'Fecha Reclamo': None, + 'Monto Exento': '0', + 'Monto Neto': '7217280', + 'Monto IVA': '1371283', + 'Monto total': '9565862', + 'IVA Retenido Total': '0', + 'IVA Retenido Parcial': '0', + 'IVA no retenido': '0', + 'IVA propio': '0', + 'IVA Terceros': '0', + 'RUT Emisor Liquid. Factura': None, + 'Neto Comision Liquid. Factura': '0', + 'Exento Comision Liquid. Factura': '0', + 'IVA Comision Liquid. Factura': '0', + 'IVA fuera de plazo': '0', + 'Tipo Docto. Referencia': '0', + 'Folio Docto. Referencia': None, + 'Num. Ident. Receptor Extranjero': None, + 'Nacionalidad Receptor Extranjero': None, + 'Credito empresa constructora': '0', + 'Impto. Zona Franca (Ley 18211)': None, + 'Garantia Dep. Envases': '0', + 'Indicador Venta sin Costo': '2', + 'Indicador Servicio Periodico': '0', + 'Monto No facturable': '0', + 'Total Monto Periodo': '0', + 'Venta Pasajes Transporte Nacional': None, + 'Venta Pasajes Transporte Internacional': None, + 'Numero Interno': None, + 'Codigo Sucursal': '12354', + 'NCE o NDE sobre Fact. de Compra': None, + 'Otros Impuestos': [ + { + 'codigo_otro_impuesto': '27', + 'valor_otro_impuesto': '275904', + 'tasa_otro_impuesto': '10', + }, + { + 'codigo_otro_impuesto': '271', + 'valor_otro_impuesto': '701395', + 'tasa_otro_impuesto': '18', + }, + ], + 'emisor_rut': Rut('1-9'), + }, + {}, ), - tipo_venta='DEL_GIRO', - receptor_razon_social='CHILE SPA', - fecha_acuse_dt=convert_naive_dt_to_tz_aware( - dt=datetime.datetime(2025, 9, 8, 14, 15, 23), - tz=SII_OFFICIAL_TZ, + ( + RvDetalleEntry( + emisor_rut=Rut('1-9'), + tipo_docto=cl_sii.rcv.constants.RcvTipoDocto.FACTURA_ELECTRONICA, + folio=9874, + fecha_emision_date=datetime.date(2025, 9, 1), + receptor_rut=Rut('42509414-9'), + monto_total=13136156, + fecha_recepcion_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 1, 9, 53, 17), + tz=SII_OFFICIAL_TZ, + ), + tipo_venta='DEL_GIRO', + receptor_razon_social='COMERCIAL SPA', + fecha_acuse_dt=None, + fecha_reclamo_dt=None, + monto_exento=0, + monto_neto=8879040, + monto_iva=1687018, + iva_retenido_total=0, + iva_retenido_parcial=0, + iva_no_retenido=0, + iva_propio=0, + iva_terceros=0, + liquidacion_factura_emisor_rut=None, + neto_comision_liquidacion_factura=0, + exento_comision_liquidacion_factura=0, + iva_comision_liquidacion_factura=0, + iva_fuera_de_plazo=0, + tipo_documento_referencia=0, + folio_documento_referencia=None, + num_ident_receptor_extranjero=None, + nacionalidad_receptor_extranjero=None, + credito_empresa_constructora=0, + impuesto_zona_franca_ley_18211=None, + garantia_dep_envases=0, + indicador_venta_sin_costo=2, + indicador_servicio_periodico=0, + monto_no_facturable=0, + total_monto_periodo=0, + venta_pasajes_transporte_nacional=None, + venta_pasajes_transporte_internacional=None, + numero_interno=None, + codigo_sucursal='12354', + nce_o_nde_sobre_factura_de_compra=None, + otros_impuestos=[ + OtrosImpuestos( + codigo_otro_impuesto='24', + valor_otro_impuesto=2570098, + tasa_otro_impuesto=Decimal('31.5'), + ) + ], + ), + 3, + { + 'Tipo Doc': '33', + 'Tipo Venta': 'DEL_GIRO', + 'Rut cliente': '42509414-9', + 'Razon Social': 'COMERCIAL SPA', + 'Folio': '9874', + 'Fecha Docto': '01/09/2025', + 'Fecha Recepcion': '01/09/2025 09:53:17', + 'Fecha Acuse Recibo': None, + 'Fecha Reclamo': None, + 'Monto Exento': '0', + 'Monto Neto': '8879040', + 'Monto IVA': '1687018', + 'Monto total': '13136156', + 'IVA Retenido Total': '0', + 'IVA Retenido Parcial': '0', + 'IVA no retenido': '0', + 'IVA propio': '0', + 'IVA Terceros': '0', + 'RUT Emisor Liquid. Factura': None, + 'Neto Comision Liquid. Factura': '0', + 'Exento Comision Liquid. Factura': '0', + 'IVA Comision Liquid. Factura': '0', + 'IVA fuera de plazo': '0', + 'Tipo Docto. Referencia': '0', + 'Folio Docto. Referencia': None, + 'Num. Ident. Receptor Extranjero': None, + 'Nacionalidad Receptor Extranjero': None, + 'Credito empresa constructora': '0', + 'Impto. Zona Franca (Ley 18211)': None, + 'Garantia Dep. Envases': '0', + 'Indicador Venta sin Costo': '2', + 'Indicador Servicio Periodico': '0', + 'Monto No facturable': '0', + 'Total Monto Periodo': '0', + 'Venta Pasajes Transporte Nacional': None, + 'Venta Pasajes Transporte Internacional': None, + 'Numero Interno': None, + 'Codigo Sucursal': '12354', + 'NCE o NDE sobre Fact. de Compra': None, + 'Otros Impuestos': [ + { + 'codigo_otro_impuesto': '24', + 'valor_otro_impuesto': '2570098', + 'tasa_otro_impuesto': '31.5', + } + ], + 'emisor_rut': Rut('1-9'), + }, + {}, ), - fecha_reclamo_dt=None, - monto_exento=0, - monto_neto=7217280, - monto_iva=1371283, - iva_retenido_total=0, - iva_retenido_parcial=0, - iva_no_retenido=0, - iva_propio=0, - iva_terceros=0, - liquidacion_factura_emisor_rut=None, - neto_comision_liquidacion_factura=0, - exento_comision_liquidacion_factura=0, - iva_comision_liquidacion_factura=0, - iva_fuera_de_plazo=0, - tipo_documento_referencia=0, - folio_documento_referencia=None, - num_ident_receptor_extranjero=None, - nacionalidad_receptor_extranjero=None, - credito_empresa_constructora=0, - impuesto_zona_franca_ley_18211=None, - garantia_dep_envases=0, - indicador_venta_sin_costo=2, - indicador_servicio_periodico=0, - monto_no_facturable=0, - total_monto_periodo=0, - venta_pasajes_transporte_nacional=None, - venta_pasajes_transporte_internacional=None, - numero_interno=None, - codigo_sucursal='12354', - nce_o_nde_sobre_factura_de_compra=None, - otros_impuestos=[ - OtrosImpuestos( - codigo_otro_impuesto='27', - valor_otro_impuesto=275904, - tasa_otro_impuesto=Decimal('10'), + ( + RvDetalleEntry( + emisor_rut=Rut('1-9'), + tipo_docto=cl_sii.rcv.constants.RcvTipoDocto.FACTURA_ELECTRONICA, + folio=3210, + fecha_emision_date=datetime.date(2025, 9, 1), + receptor_rut=Rut('68840666-8'), + monto_total=30471437, + fecha_recepcion_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 1, 10, 58, 51), + tz=SII_OFFICIAL_TZ, + ), + tipo_venta='DEL_GIRO', + receptor_razon_social='TEXAS SPA', + fecha_acuse_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 8, 14, 15, 23), + tz=SII_OFFICIAL_TZ, + ), + fecha_reclamo_dt=None, + monto_exento=0, + monto_neto=20522880, + monto_iva=3899347, + iva_retenido_total=0, + iva_retenido_parcial=0, + iva_no_retenido=0, + iva_propio=0, + iva_terceros=0, + liquidacion_factura_emisor_rut=None, + neto_comision_liquidacion_factura=0, + exento_comision_liquidacion_factura=0, + iva_comision_liquidacion_factura=0, + iva_fuera_de_plazo=0, + tipo_documento_referencia=0, + folio_documento_referencia=None, + num_ident_receptor_extranjero=None, + nacionalidad_receptor_extranjero=None, + credito_empresa_constructora=0, + impuesto_zona_franca_ley_18211=None, + garantia_dep_envases=0, + indicador_venta_sin_costo=2, + indicador_servicio_periodico=0, + monto_no_facturable=0, + total_monto_periodo=0, + venta_pasajes_transporte_nacional=None, + venta_pasajes_transporte_internacional=None, + numero_interno=None, + codigo_sucursal='12354', + nce_o_nde_sobre_factura_de_compra=None, + otros_impuestos=[ + OtrosImpuestos( + codigo_otro_impuesto='24', + valor_otro_impuesto=6049210, + tasa_otro_impuesto=Decimal('31.5'), + ) + ], ), - OtrosImpuestos( - codigo_otro_impuesto='271', - valor_otro_impuesto=701395, - tasa_otro_impuesto=Decimal('18'), + 4, + { + 'Tipo Doc': '33', + 'Tipo Venta': 'DEL_GIRO', + 'Rut cliente': '68840666-8', + 'Razon Social': 'TEXAS SPA', + 'Folio': '3210', + 'Fecha Docto': '01/09/2025', + 'Fecha Recepcion': '01/09/2025 10:58:51', + 'Fecha Acuse Recibo': '08/09/2025 14:15:23', + 'Fecha Reclamo': None, + 'Monto Exento': '0', + 'Monto Neto': '20522880', + 'Monto IVA': '3899347', + 'Monto total': '30471437', + 'IVA Retenido Total': '0', + 'IVA Retenido Parcial': '0', + 'IVA no retenido': '0', + 'IVA propio': '0', + 'IVA Terceros': '0', + 'RUT Emisor Liquid. Factura': None, + 'Neto Comision Liquid. Factura': '0', + 'Exento Comision Liquid. Factura': '0', + 'IVA Comision Liquid. Factura': '0', + 'IVA fuera de plazo': '0', + 'Tipo Docto. Referencia': '0', + 'Folio Docto. Referencia': None, + 'Num. Ident. Receptor Extranjero': None, + 'Nacionalidad Receptor Extranjero': None, + 'Credito empresa constructora': '0', + 'Impto. Zona Franca (Ley 18211)': None, + 'Garantia Dep. Envases': '0', + 'Indicador Venta sin Costo': '2', + 'Indicador Servicio Periodico': '0', + 'Monto No facturable': '0', + 'Total Monto Periodo': '0', + 'Venta Pasajes Transporte Nacional': None, + 'Venta Pasajes Transporte Internacional': None, + 'Numero Interno': None, + 'Codigo Sucursal': '12354', + 'NCE o NDE sobre Fact. de Compra': None, + 'Otros Impuestos': [ + { + 'codigo_otro_impuesto': '24', + 'valor_otro_impuesto': '6049210', + 'tasa_otro_impuesto': '31.5', + } + ], + 'emisor_rut': Rut('1-9'), + }, + {}, + ), + ( + RvDetalleEntry( + emisor_rut=Rut('1-9'), + tipo_docto=cl_sii.rcv.constants.RcvTipoDocto.FACTURA_NO_AFECTA_O_EXENTA_ELECTRONICA, # noqa: E501 + folio=3210, + fecha_emision_date=datetime.date(2025, 9, 1), + receptor_rut=Rut('68840666-8'), + monto_total=30471437, + fecha_recepcion_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 1, 10, 58, 51), + tz=SII_OFFICIAL_TZ, + ), + tipo_venta='DEL_GIRO', + receptor_razon_social='TEXAS SPA', + fecha_acuse_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 8, 14, 15, 23), + tz=SII_OFFICIAL_TZ, + ), + fecha_reclamo_dt=None, + monto_exento=0, + monto_neto=9999, + monto_iva=3899347, + iva_retenido_total=0, + iva_retenido_parcial=0, + iva_no_retenido=0, + iva_propio=0, + iva_terceros=0, + liquidacion_factura_emisor_rut=None, + neto_comision_liquidacion_factura=0, + exento_comision_liquidacion_factura=0, + iva_comision_liquidacion_factura=0, + iva_fuera_de_plazo=0, + tipo_documento_referencia=0, + folio_documento_referencia=None, + num_ident_receptor_extranjero=None, + nacionalidad_receptor_extranjero=None, + credito_empresa_constructora=0, + impuesto_zona_franca_ley_18211=None, + garantia_dep_envases=0, + indicador_venta_sin_costo=2, + indicador_servicio_periodico=0, + monto_no_facturable=0, + total_monto_periodo=0, + venta_pasajes_transporte_nacional=None, + venta_pasajes_transporte_internacional=None, + numero_interno=None, + codigo_sucursal='12354', + nce_o_nde_sobre_factura_de_compra=None, + otros_impuestos=[ + OtrosImpuestos( + codigo_otro_impuesto='24', + valor_otro_impuesto=6049210, + tasa_otro_impuesto=Decimal('31.5'), + ) + ], ), - ], - ) - expected_row_data = { - 'Tipo Doc': '33', - 'Tipo Venta': 'DEL_GIRO', - 'Rut cliente': '54213736-3', - 'Razon Social': 'CHILE SPA', - 'Folio': '6541', - 'Fecha Docto': '01/09/2025', - 'Fecha Recepcion': '01/09/2025 10:09:00', - 'Fecha Acuse Recibo': '08/09/2025 14:15:23', - 'Fecha Reclamo': None, - 'Monto Exento': '0', - 'Monto Neto': '7217280', - 'Monto IVA': '1371283', - 'Monto total': '9565862', - 'IVA Retenido Total': '0', - 'IVA Retenido Parcial': '0', - 'IVA no retenido': '0', - 'IVA propio': '0', - 'IVA Terceros': '0', - 'RUT Emisor Liquid. Factura': None, - 'Neto Comision Liquid. Factura': '0', - 'Exento Comision Liquid. Factura': '0', - 'IVA Comision Liquid. Factura': '0', - 'IVA fuera de plazo': '0', - 'Tipo Docto. Referencia': '0', - 'Folio Docto. Referencia': None, - 'Num. Ident. Receptor Extranjero': None, - 'Nacionalidad Receptor Extranjero': None, - 'Credito empresa constructora': '0', - 'Impto. Zona Franca (Ley 18211)': None, - 'Garantia Dep. Envases': '0', - 'Indicador Venta sin Costo': '2', - 'Indicador Servicio Periodico': '0', - 'Monto No facturable': '0', - 'Total Monto Periodo': '0', - 'Venta Pasajes Transporte Nacional': None, - 'Venta Pasajes Transporte Internacional': None, - 'Numero Interno': None, - 'Codigo Sucursal': '12354', - 'NCE o NDE sobre Fact. de Compra': None, - 'Otros Impuestos': [ + 5, { - 'codigo_otro_impuesto': '27', - 'valor_otro_impuesto': '275904', - 'tasa_otro_impuesto': '10', + 'Tipo Doc': '34', + 'Tipo Venta': 'DEL_GIRO', + 'Rut cliente': '68840666-8', + 'Razon Social': 'TEXAS SPA', + 'Folio': '3210', + 'Fecha Docto': '01/09/2025', + 'Fecha Recepcion': '01/09/2025 10:58:51', + 'Fecha Acuse Recibo': '08/09/2025 14:15:23', + 'Fecha Reclamo': None, + 'Monto Exento': '0', + 'Monto Neto': '9999', + 'Monto IVA': '3899347', + 'Monto total': '30471437', + 'IVA Retenido Total': '0', + 'IVA Retenido Parcial': '0', + 'IVA no retenido': '0', + 'IVA propio': '0', + 'IVA Terceros': '0', + 'RUT Emisor Liquid. Factura': None, + 'Neto Comision Liquid. Factura': '0', + 'Exento Comision Liquid. Factura': '0', + 'IVA Comision Liquid. Factura': '0', + 'IVA fuera de plazo': '0', + 'Tipo Docto. Referencia': '0', + 'Folio Docto. Referencia': None, + 'Num. Ident. Receptor Extranjero': None, + 'Nacionalidad Receptor Extranjero': None, + 'Credito empresa constructora': '0', + 'Impto. Zona Franca (Ley 18211)': None, + 'Garantia Dep. Envases': '0', + 'Indicador Venta sin Costo': '2', + 'Indicador Servicio Periodico': '0', + 'Monto No facturable': '0', + 'Total Monto Periodo': '0', + 'Venta Pasajes Transporte Nacional': None, + 'Venta Pasajes Transporte Internacional': None, + 'Numero Interno': None, + 'Codigo Sucursal': '12354', + 'NCE o NDE sobre Fact. de Compra': None, + 'Otros Impuestos': [ + { + 'codigo_otro_impuesto': '24', + 'valor_otro_impuesto': '6049210', + 'tasa_otro_impuesto': '31.5', + } + ], + 'emisor_rut': Rut('1-9'), }, + {}, + ), + ( + RvDetalleEntry( + emisor_rut=Rut('1-9'), + tipo_docto=cl_sii.rcv.constants.RcvTipoDocto.FACTURA_ELECTRONICA, + folio=3210, + fecha_emision_date=datetime.date(2025, 9, 1), + receptor_rut=Rut('54213736-3'), + monto_total=30471437, + fecha_recepcion_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 1, 10, 58, 51), + tz=SII_OFFICIAL_TZ, + ), + tipo_venta='DEL_GIRO', + receptor_razon_social='THE COMPANY SPA', + fecha_acuse_dt=convert_naive_dt_to_tz_aware( + dt=datetime.datetime(2025, 9, 8, 14, 15, 23), + tz=SII_OFFICIAL_TZ, + ), + fecha_reclamo_dt=None, + monto_exento=0, + monto_neto=9999, + monto_iva=3899347, + iva_retenido_total=0, + iva_retenido_parcial=0, + iva_no_retenido=0, + iva_propio=0, + iva_terceros=0, + liquidacion_factura_emisor_rut=None, + neto_comision_liquidacion_factura=0, + exento_comision_liquidacion_factura=0, + iva_comision_liquidacion_factura=0, + iva_fuera_de_plazo=0, + tipo_documento_referencia=0, + folio_documento_referencia=None, + num_ident_receptor_extranjero=None, + nacionalidad_receptor_extranjero=None, + credito_empresa_constructora=0, + impuesto_zona_franca_ley_18211=None, + garantia_dep_envases=0, + indicador_venta_sin_costo=2, + indicador_servicio_periodico=0, + monto_no_facturable=0, + total_monto_periodo=0, + venta_pasajes_transporte_nacional=None, + venta_pasajes_transporte_internacional=None, + numero_interno=None, + codigo_sucursal='12354', + nce_o_nde_sobre_factura_de_compra=None, + otros_impuestos=[ + OtrosImpuestos( + codigo_otro_impuesto='24', + valor_otro_impuesto=6049210, + tasa_otro_impuesto=Decimal('31.5'), + ), + OtrosImpuestos( + codigo_otro_impuesto='271', + valor_otro_impuesto=701395, + tasa_otro_impuesto=Decimal('18'), + ), + ], + ), + 6, { - 'codigo_otro_impuesto': '271', - 'valor_otro_impuesto': '701395', - 'tasa_otro_impuesto': '18', + 'Tipo Doc': '33', + 'Tipo Venta': 'DEL_GIRO', + 'Rut cliente': '54213736-3', + 'Razon Social': 'THE COMPANY SPA', + 'Folio': '3210', + 'Fecha Docto': '01/09/2025', + 'Fecha Recepcion': '01/09/2025 10:58:51', + 'Fecha Acuse Recibo': '08/09/2025 14:15:23', + 'Fecha Reclamo': None, + 'Monto Exento': '0', + 'Monto Neto': '9999', + 'Monto IVA': '3899347', + 'Monto total': '30471437', + 'IVA Retenido Total': '0', + 'IVA Retenido Parcial': '0', + 'IVA no retenido': '0', + 'IVA propio': '0', + 'IVA Terceros': '0', + 'RUT Emisor Liquid. Factura': None, + 'Neto Comision Liquid. Factura': '0', + 'Exento Comision Liquid. Factura': '0', + 'IVA Comision Liquid. Factura': '0', + 'IVA fuera de plazo': '0', + 'Tipo Docto. Referencia': '0', + 'Folio Docto. Referencia': None, + 'Num. Ident. Receptor Extranjero': None, + 'Nacionalidad Receptor Extranjero': None, + 'Credito empresa constructora': '0', + 'Impto. Zona Franca (Ley 18211)': None, + 'Garantia Dep. Envases': '0', + 'Indicador Venta sin Costo': '2', + 'Indicador Servicio Periodico': '0', + 'Monto No facturable': '0', + 'Total Monto Periodo': '0', + 'Venta Pasajes Transporte Nacional': None, + 'Venta Pasajes Transporte Internacional': None, + 'Numero Interno': None, + 'Codigo Sucursal': '12354', + 'NCE o NDE sobre Fact. de Compra': None, + 'Otros Impuestos': [ + { + 'codigo_otro_impuesto': '24', + 'valor_otro_impuesto': '6049210', + 'tasa_otro_impuesto': '31.5', + }, + { + 'codigo_otro_impuesto': '271', + 'valor_otro_impuesto': '701395', + 'tasa_otro_impuesto': '18', + }, + ], + 'emisor_rut': Rut('1-9'), }, - ], - 'emisor_rut': Rut('1-9'), - } - - self.assertEqual(row_data, expected_row_data) - self.assertEqual(entry_struct, expected_entry_struct) + {}, + ), + ] + self.assertEqual(items_list, expected_entries_list) def test_parse_rcv_compra_registro_csv_file(self) -> None: # TODO: implement for 'parse_rcv_compra_registro_csv_file'. From f0621e6c01aa3300e330cba88de4c7e645f484af Mon Sep 17 00:00:00 2001 From: Samuel Villegas Date: Thu, 13 Nov 2025 15:46:01 -0300 Subject: [PATCH 10/11] chore: Update history for new version --- HISTORY.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index 8ef8b487..b2ea4d7c 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,17 @@ # History +## 0.63.0 (2025-11-13) + +- (PR #928, 2025-10-29) Do not install `setuptools` using Make tasks +- (PR #929, 2025-10-29) Installing Pip version 24 in GitHub Actions fails when default's 25 +- (PR #907, 2025-10-29) chore(deps): Bump lxml from 5.4.0 to 6.0.2 +- (PR #934, 2025-11-03) chore(deps): Bump typing-extensions from 4.14.0 to 4.15.0 +- (PR #935, 2025-11-11) chore(deps): Bump django from 4.2.25 to 4.2.26 +- (PR #933, 2025-11-13) chore(deps): Bump pip-tools from 7.4.1 to 7.5.1 +- (PR #938, 2025-11-13) deps: Bump pip-tools from 7.5.1 to 7.5.2 +- (PR #917, 2025-11-13) chore(deps): Bump pip from 24.2 to 25.3 +- (PR #937, 2025-11-13) rcv: Refactor grouping logic for RCV parsing + ## 0.62.0 (2025-10-29) - (PR #924, 2025-10-29) deps: Update `keyring` from 21.4.0 to 25.6.0 From b2cc1ecdac8d4b0b10bd082f9ada85aeb1949b8c Mon Sep 17 00:00:00 2001 From: Samuel Villegas Date: Thu, 13 Nov 2025 15:46:03 -0300 Subject: [PATCH 11/11] chore: Bump version from 0.62.0 to 0.63.0 --- .bumpversion.cfg | 2 +- src/cl_sii/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 34ba068e..805251fc 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.62.0 +current_version = 0.63.0 commit = True tag = False message = chore: Bump version from {current_version} to {new_version} diff --git a/src/cl_sii/__init__.py b/src/cl_sii/__init__.py index 24c05d68..11c39121 100644 --- a/src/cl_sii/__init__.py +++ b/src/cl_sii/__init__.py @@ -4,4 +4,4 @@ """ -__version__ = '0.62.0' +__version__ = '0.63.0'