Skip to content

[16.0][FWP][IMP] l10n_es_extension: add the generic non-deductible VAT family - #955

Open
eantones wants to merge 5 commits into
16.0from
16.0-imp-l10n_es_extension-nd_taxes
Open

[16.0][FWP][IMP] l10n_es_extension: add the generic non-deductible VAT family#955
eantones wants to merge 5 commits into
16.0from
16.0-imp-l10n_es_extension-nd_taxes

Conversation

@eantones

Copy link
Copy Markdown
Member

Forward-port of the generic non-deductible VAT family from 14.0 (#953) to 16.0, plus the exempt-without-deduction-right output VAT that 16.0 never received.

  • [IMP] l10n_es_extension: pre-commit auto fixes — the committed README artifacts were stale against the readme sources and the pinned generator (old digest, author name split by the comma, missing OCA banner).
  • Cherry-pick of the s_iva0 override + s_iva0_sdd (merged on 14.0, missing here: the 16.0 module shipped without account_tax_data.xml).
  • Cherry-pick of the non-deductible family: 15 tax templates (goods and intra-community / reverse-charge variants), the name overrides of the four official servicios-corrientes templates, and the mapping lines on the official intra-community and IRPF 15 positions.
  • Cherry-pick of the TAI position mapping block, without the 14.0 migration script: on 16.0 the chart update wizard remains the vehicle for materializing chart data on existing companies.

All l10n_es references used by the data files exist on 16.0 with the same xml-ids (mod303 tags, 472/477 accounts, tax groups, fiscal positions, official templates); the data files are identical to the 14.0 ones at #953 head.

Review note: the name overrides keep the 14.0 wording ("IVA Soportado no deducible 4% (servicios corrientes)") while the 16.0 official style is percent-first ("4% IVA Soportado no deducible"). The disambiguation suffix is the point of the override; the style can be aligned if preferred.

Do not merge until Oxigen is live in production on 18.0: the 14→18 migration chain consumes this branch via refs/pull, and merging early would change what the chain loads.

eantones added 4 commits July 25, 2026 16:33
Regenerate the module's README artifacts with the repository's pinned
oca-gen-addon-readme: the committed files were stale against the readme
sources and the current generator output (old digest, author name split
by the comma, missing description bullet and OCA banner).
The goods variants (bienes corrientes / bienes de inversion) and the
intra-community / reverse-charge cases of the non-deductible input VAT
are generic to the Spanish localization, but the official l10n_es only
ships the four servicios corrientes templates (4%, 5%, 10% and 21% --
the latter under its historical xml-id p_iva0_nd). Declare the missing
family here: 15 tax templates, the name overrides of the four official
ones, and the mapping lines that plug them into the official
intra-community and IRPF 15 fiscal positions, following the same
pattern l10n_es_special_prorate uses for its prorate taxes.

The records are a faithful copy of the ones oxigen_l10n_es declared
until now (they were born there in 2022, but they are not
client-specific). The terminal xml-id names are kept identical on
purpose: the oxigen_l10n_es 14.0.1.1.0 migration relies on them to
hand over the existing records in place, and the template
synchronization of later Odoo versions pairs records by name.

(cherry picked from commit cebdd1a)
…ition

The official 'No sujeto por reglas de localizacion (TAI)' fiscal
position only maps the deductible taxes to their no-sujeto
counterparts; the non-deductible family must fall the same way. Add
the nine mapping lines (servicios / bienes corrientes / bienes de
inversion at 4%, 10% and 21%) to the official position template.

Forward-port note: the 14.0 migration that materialized the missing
lines on existing companies is not carried; on 16.0 the mapping lines
reach existing companies through the chart update wizard, which
remains the standard vehicle for chart data.

(cherry picked from commit 40ac75b25f207683fa2696a51050b6ffe86a92ff)
@eantones eantones added the no merge before Oxigen 18 Do not merge until Oxigen is live in production on 18.0 (migration cutover). label Jul 25, 2026
@codecov

codecov Bot commented Jul 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 54.14%. Comparing base (4c3d730) to head (7718a0d).

Additional details and impacted files
@@           Coverage Diff           @@
##             16.0     #955   +/-   ##
=======================================
  Coverage   54.14%   54.14%           
=======================================
  Files         339      339           
  Lines        6959     6959           
  Branches     1035     1035           
=======================================
  Hits         3768     3768           
  Misses       3055     3055           
  Partials      136      136           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…aming

The four official ND templates this module renames (4%/5%/10%/21%,
disambiguated as "(servicios corrientes)") kept the 14.0 wording, with
the percent after the concept; 16.0 names its officials percent-first
("4% IVA Soportado no deducible"). Restyle the four override strings to
the 16.0 convention so fresh-16 dropdowns stay consistent; the
disambiguating surname is unchanged. Existing databases are untouched:
the override is template data only.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no merge before Oxigen 18 Do not merge until Oxigen is live in production on 18.0 (migration cutover).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant