# CFDI40166

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

> El valor valor del campo ValorUnitario debe ser mayor que cero (0) cuando el tipo de comprobante es Ingreso, Egreso o Nomina.

- 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:Conceptos/cfdi:Concepto`
- Test: `not(/cfdi:Comprobante/@TipoDeComprobante = ('I', 'E', 'N')) or mx:dec(@ValorUnitario) gt 0`

In English: In an I, E or N CFDI a line's ValorUnitario (unit price) must be more than zero.

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