# CFDI40179

Source: https://xmlvalid.com/rules/CFDI40179

> El valor del campo TasaOCuota que corresponde a Traslado no contiene un valor del catálogo c_TasaOcuota o se encuentra fuera de rango (…, …, …).

- Level: error
- Rule sets: SAT validations of CFDI 4.0 and Pagos 2.0 Matrices of 25 March 2026 and Pagos 2.0 rev. B
- Context: `cfdi:Concepto/cfdi:Impuestos/cfdi:Traslados/cfdi:Traslado`
- Test: `not(@TasaOCuota) or @TipoFactor = 'Exento' or mx:rate(@Impuesto, @TipoFactor, @TasaOCuota, true())`

In English: The rate of a line's transferred tax is not in catalogue c_TasaOCuota for its tax and factor: VAT 0, 0.16 or 0.08 (border region), the IEPS rates, or an IEPS quota up to 72.1605.

## Why it fails

- A rate written as a percentage (16) instead of a fraction (0.160000).
- A transferred ISR (001), which is only withheld.

## How to fix it

- Give the rate as a fraction with six decimals, as the catalogue lists it: 0.160000 for VAT at 16 %.

Validate a document against these rules: https://xmlvalid.com/validate
