Skip to content

[FIX] l10n_uy_edi_special_regime: report MntBruto also on export CFEs - #444

Closed
jue-adhoc wants to merge 1 commit into
ingadhoc:19.0from
adhoc-dev:19.0-t-73403-jue-1
Closed

jue-adhoc wants to merge 1 commit into
ingadhoc:19.0from
adhoc-dev:19.0-t-73403-jue-1

Conversation

@jue-adhoc

@jue-adhoc jue-adhoc commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

Complementario a #443 (ya mergeado): aplica los últimos comentarios del review que correspondían. Rebasado sobre 19.0 — el PR contiene solo el commit del fix.

1. MntBruto también en CFE de exportación (observación confirmada)

La exclusión de exportación del MntBruto = 3 era un error: el CAE especial es una propiedad del contribuyente, así que Uruware firma todos los CFE de la compañía con él, exportación incluida (verificado en XML firmados reales de homologación: e-Factura Exportación con CAEEspecial=2). Y la norma lo exige:

  • Formato CFE v25.2, zona A campo 10 (Indicador Montos Brutos): aplica también a e-Fac Exp y sus NC/ND (condicional en la matriz de obligatoriedad).
  • Zona G campo 5 (CAE especial): "Si G-C5 = 2, 3 o 4, A-C10 debe ser igual a 3" — sin excepción para exportación.

Se elimina la exclusión de expo en _l10n_uy_edi_apply_special_regime(). Las líneas de exportación conservan su indicador propio (IndFact = 10, el mapeo a 16 solo reemplaza indicadores de tasa), y el bloqueo pre-envío de líneas gravadas sigue excluyendo expo (el chequeo nativo ya las rechaza).

Nota alcance e-Remito: no requiere cambios — en la misma matriz, A-C10 es "no corresponde" (0) para e-Rem y e-Rem Exp, así que el MntBruto = None de l10n_uy_edi_stock es correcto por norma.

2. _post con soft=True (observación confirmada)

Se espeja el filtro de super(): los borradores con fecha futura (que no se postean en esa pasada, quedan para auto-post) ya no se validan, así un infractor con fecha futura no aborta el posteo de los movimientos válidos del batch.

Tests

  • El expected de exportación pasa a ser el estándar de l10n_uy_edi más MntBruto = 3 (test test_110).
  • Suite completa: 0 failed, 0 error(s) of 12 tests.

Task: https://www.adhoc.inc/odoo/project.task/73403

@roboadhoc

Copy link
Copy Markdown
Contributor

Pull request status dashboard

- The special CAE is a property of the taxpayer, so Uruware signs every
  CFE of the company with it, export ones included: DGI then requires
  MntBruto = 3 on them too (Formato CFE, zone A field 10 is conditional
  for e-Fac Exp / its NC-ND, and zone G field 5 states "Si G-C5=2, 3 o 4,
  A-C10 debe ser igual a 3"). Drop the export exclusion from
  _l10n_uy_edi_apply_special_regime; export lines keep their own billing
  indicator (IndFact = 10) since the 16 mapping only replaces VAT rate
  indicators, and the pre-send taxed-lines check still excludes exports
  (the native check already rejects taxed lines on them)
- _post: mirror the soft=True filter of super() so a future-dated
  offending draft (not being posted in this pass) does not abort the
  posting of the valid moves of the batch
- Tests: expo expected XML is now the l10n_uy_edi standard one plus
  MntBruto = 3

Change note: Corrección complementaria para compañías bajo régimen Literal E (IVA mínimo): las facturas de exportación ahora también incluyen el indicador de montos brutos que exige DGI cuando el comprobante se firma con CAE especial, evitando rechazos que inutilizan numeración. Además, al validar facturas en lote, un borrador con fecha futura que tenga impuestos incorrectos ya no impide confirmar el resto de las facturas del lote.
@hav-adhoc

Copy link
Copy Markdown
Contributor

@roboadhoc r+ bump

@roboadhoc roboadhoc closed this in a546fd8 Sep 8, 2026
roboadhoc added a commit that referenced this pull request Sep 8, 2026
@roboadhoc
roboadhoc deleted the 19.0-t-73403-jue-1 branch September 8, 2026 19:44
@roboadhoc roboadhoc added the 18.1 label Sep 8, 2026

This branch was previously deployed

1 inactive deployment
merge — e3d6c4ae Deployed Sep 8, 2026 by roboadhoc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants