# CFDI40105

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

> El campo FormaPago no contiene el valor "99" (…, MetodoPago PPD).

- 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:Comprobante`
- Test: `not(@MetodoPago = 'PPD') or not(@FormaPago) or @FormaPago = '99'`

In English: With MetodoPago PPD (paid in instalments or later), FormaPago must be 99 (to be defined): the actual payments go in payment receipts.

## Why it fails

- The invoice is paid later, but the software fills FormaPago with the form the customer usually pays with (03, transfer).

## How to fix it

- Give FormaPago 99 with PPD, and issue a payment receipt (Pagos 2.0) with the real form when the money arrives; or use PUE if the invoice is paid when issued.

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