[Códigos de error de la SUNAT](https://fe.kembec.com/errores/)

# Error 2071

> La moneda debe ser la misma en todo el documento. Salvo las percepciones que sólo son en moneda nacional

Fuente: hoja [«Reglas de validación actualizado al 24.04.2026»](https://cpe.sunat.gob.pe/sites/default/files/2026-05/Reglas%20de%20validaci%C3%B3n%20actualizado%20al%2024.04.2026%20%281%29.xlsx) de la SUNAT.

Rechaza el comprobante: no se registra.`class`: `"rejected"`

## Qué haces en producción

En la beta no se registra nada ni cuentan los plazos, y no hay `status` ni `validity`.

Factura o nota: el número queda usado; emite otra con otro número. Resumen o baja: corrige y reenvía; puede llevar el mismo nombre.

[Las 121 reglas que lo disparan en tu XML](https://fe.kembec.com/errores/2071/#que-lo-dispara)

## Qué lo dispara en tu XML

121 reglas de la hoja, en 5 documentos. Una regla que se repite igual en varios documentos sale una vez.

| Campo | Condición | Tipo | Documento |
| --- | --- | --- | --- |
| Importe total de la venta · Tipo de moneda del Comprobante · **Tipo de moneda del comprobante** `/SummaryDocuments/sac:SummaryDocumentsLine/sac:TotalAmount@currencyID` | Si existe algún atributo currencyID en la misma línea /SummaryDocuments/sac:SummaryDocumentsLine/ con valor diferente a "Tipo de moneda del comprobante" (excepto las monedas contenidas en el tag sac:SUNATPerceptionSummaryDocumentReference/) | ERROR | Resumen diario (RC) fila 80 |
| Tipo de moneda en la cual se emite la factura electrónica · `/Invoice/cbc:DocumentCurrencyCode` | La moneda de los totales de línea y totales de comprobantes (excepto para los totales de Percepción y Detracción) es diferente al valor del Tag UBL | ERROR | Factura (01) fila 27 |
| Valor unitario por ítem · `@currencyID` | Si existe el atributo, el valor del atributo es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 180 |
| Precio de venta unitario por item · `@currencyID` | Si existe el atributo, el valor del atributo es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 184 |
| Valor referencial unitario por ítem en operaciones gratuitas (no onerosas) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 193 · Boleta de venta (03) fila 186 |
| Monto total de tributos del ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 203 · Boleta de venta (03) fila 196 |
| Afectación al IGV por ítem · Afectación al IVAP por ítem · **Moneda base** `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' | ERROR | Factura (01) fila 207 |
| Afectación al IGV por ítem · Afectación al IVAP por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 214 |
| Sistema de ISC por ítem · Afectacion otros tributos por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 239, 243 · Boleta de venta (03) filas 232, 236 · Nota de débito (08) filas 221, 225 |
| Impuesto al consumo de bolsas de plástico por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 261 · Boleta de venta (03) fila 255 · Nota de débito (08) fila 243 |
| Valor de venta por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' | ERROR | Factura (01) fila 281 |
| Cargo/descuento por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 293, 295 · Boleta de venta (03) filas 287, 289 |
| Monto total de tributos · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 302 · Boleta de venta (03) fila 296 · Nota de crédito (07) fila 290 · Nota de débito (08) fila 273 |
| Total valor de venta - exportación · Total valor de venta - operaciones inafectas · Total valor de venta - operaciones exoneradas · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 312, 315 · Boleta de venta (03) filas 306, 309 · Nota de crédito (07) filas 299, 302 · Nota de débito (08) filas 283, 286 |
| Total valor de venta - operaciones gratuitas · Sumatoria de tributos de operaciones gratuitas · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 331, 334 · Boleta de venta (03) filas 325, 329 |
| Total valor de venta - operaciones gravadas (IGV/IVAP) · Sumatoria de IGV/IVAP · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 349, 355 |
| Sumatoria ISC · Sumatoria otros tributos · Sumatoria ICBPER · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 371, 377 · Boleta de venta (03) filas 367, 373 |
| Cargos y/o descuentos globales · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 402, 404 · Boleta de venta (03) filas 398, 400 |
| Sumatoria otros descuentos (que no afectan la base imponible del IGV) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 407 · Boleta de venta (03) fila 403 |
| Sumatoria otros cargos (que no afectan la base imponible del IGV) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 410 · Boleta de venta (03) fila 406 |
| Importe total de la venta, cesión en uso o del servicio prestado · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 413 |
| Total valor de venta · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 417 · Boleta de venta (03) fila 413 |
| Total precio de venta (Subtotal de la factura) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 422 |
| Monto de redondeo del importe total · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 424 · Boleta de venta (03) fila 420 · Nota de débito (08) fila 392 |
| FISE (Ley N.° 29852) Fondo de Inclusión Social Energético · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 450 · Boleta de venta (03) fila 445 |
| Importe del anticipo · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 486 · Boleta de venta (03) fila 479 |
| Total de anticipos · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 509 |
| Forma de pago · Monto neto pendiente de pago · `@currencyID` | Si existe el atributo, el valor del atributo es diferente al ingresado en 'Tipo de moneda' * Validación a partir del 01/09/2021 es ERROR · Listado: Catálogo (002) | ERROR | Factura (01) fila 871 |
| Monto del pago único o de las cuotas · Fecha del pago único o de las cuotas · `@currencyID` | Si existe el atributo, el valor del atributo es diferente al ingresado en 'Tipo de moneda' * Validación a partir del 01/09/2021 es ERROR · Listado: Catálogo (002) | ERROR | Factura (01) fila 880 |
| Importe de la operación · Porcentaje de la retención · Importe de la retención · `@currencyID` | Si existe el atributo, el valor del atributo es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) filas 897, 900 |
| Retenciones de Renta de segunda categoría · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Factura (01) fila 913 |
| Tipo de moneda en la cual se emite la boleta de venta electrónica · `/Invoice/cbc:DocumentCurrencyCode` | La moneda de los totales de línea y totales de comprobantes (excepto para los totales de Percepción y Detracción) es diferente al valor del Tag UBL · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 28 |
| Valor unitario por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 173 |
| Precio de venta unitario por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 177 |
| Afectación al IGV por ítem · Afectación IVAP por ítem · **Moneda base** `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 200 · Nota de débito (08) fila 186 |
| Afectación al IGV por ítem · Afectación IVAP por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 207 · Nota de crédito (07) filas 205, 212 · Nota de débito (08) fila 194 |
| Valor de venta por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 275 · Nota de débito (08) fila 265 |
| Total valor de venta - operaciones gratuitas · Sumatoria de tributos de operaciones gratuitas · **Importe del tributo** `/Invoice/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 328 |
| Total valor de venta - operaciones gravadas (IGV o IVAP) · Sumatoria IGV o IVAP · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) filas 344, 351 · Nota de débito (08) filas 325, 334 |
| Importe total · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 409 · Nota de débito (08) fila 389 |
| Subtotal de la boleta de venta · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 418 |
| Total de anticipos · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Boleta de venta (03) fila 502 |
| Tipo de moneda en la cual se emite la nota de crédito electrónica · `/CreditNote/cbc:DocumentCurrencyCode` | La moneda de los totales de línea y totales de comprobantes es diferente al valor del Tag UBL | ERROR | Nota de crédito (07) fila 31 |
| Valor unitario por ítem que modifica · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 184 · Nota de débito (08) fila 162 |
| Precio de venta unitario por item que modifica · Valor referencial unitario por ítem en operaciones gratuitas (no onerosas) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 187 |
| Monto total de tributos del ítem que modifica · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 199 · Nota de débito (08) fila 179 |
| Sistema de ISC por ítem · Afectación otros tributos por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) filas 238, 242 |
| Impuesto al consumo de bolsas de plástico por ítem · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 260 |
| Valor de venta por ítem que modifica · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 282 |
| Total valor de venta - operaciones gratuitas · Sumatoria de impuestos de operaciones gratuitas · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) filas 319, 321 · Nota de débito (08) filas 303, 307 |
| Total valor de venta - operaciones gravadas (IGV o IVAP) · Sumatoria IGV o IVAP · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' | ERROR | Nota de crédito (07) filas 338, 347 |
| Sumatoria ISC · Sumatoria otros tributos · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' | ERROR | Nota de crédito (07) filas 366, 372 |
| Sumatoria ICBPER · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 389 · Nota de débito (08) fila 375 |
| Sumatoria otros cargos · (que no afectan la base imponible) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' | ERROR | Nota de crédito (07) fila 399 |
| Importe total · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' | ERROR | Nota de crédito (07) fila 404 |
| Monto de redondeo del importe total · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' | ERROR | Nota de crédito (07) fila 407 |
| Forma de pago · Monto neto pendiente de pago · `@currencyID` | Si existe el atributo, el valor del atributo es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 463 |
| Monto del pago único o de las cuotas · Fecha del pago único o de las cuotas · `@currencyID` | Si existe el atributo, el valor del atributo es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de crédito (07) fila 471 |
| Tipo de moneda en la cual se emite la nota de débito electrónica · `/DebitNote/cbc:DocumentCurrencyCode` | La moneda de los totales de línea y totales de comprobantes es diferente al valor del Tag UBL | ERROR | Nota de débito (08) fila 31 |
| Precio de venta unitario por item que modifica · Valor referencial unitario por ítem en operaciones gratuitas (no onerosas) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de débito (08) fila 167 |
| Sumatoria ISC · Sumatoria otros tributos · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de débito (08) filas 353, 359 |
| Sumatoria otros cargos · (que no afectan la base imponible) · `@currencyID` | Si existe el atributo, el valor es diferente al ingresado en 'Tipo de moneda' · Listado: Catálogo (002) | ERROR | Nota de débito (08) fila 385 |

## Otros códigos del mismo campo

| Código | Efecto | Texto de la SUNAT |
| --- | --- | --- |
| [3088](https://fe.kembec.com/errores/3088/) | Rechazo | El valor ingresado como moneda del comprobante no es valido (catalogo nro 02). |
| [2070](https://fe.kembec.com/errores/2070/) | Rechazo | El XML no contiene el tag o no existe informacion de DocumentCurrencyCode |
| [2337](https://fe.kembec.com/errores/2337/) | Rechazo | La moneda debe ser la misma en todo el documento |
| [2048](https://fe.kembec.com/errores/2048/) | Rechazo | El dato ingresado en TaxAmount no cumple con el formato establecido |
| [2788](https://fe.kembec.com/errores/2788/) | Rechazo | El dato ingresado en moneda debe ser PEN |
| [2792](https://fe.kembec.com/errores/2792/) | Rechazo | El dato ingresado en moneda del monto de cargo/descuento para percepcion debe ser PEN |
| [3000](https://fe.kembec.com/errores/3000/) | Rechazo | El monto total del impuestos sobre el valor de venta de operaciones gratuitas/inafectas/exoneradas debe ser igual a 0.00 |
| [3208](https://fe.kembec.com/errores/3208/) | Rechazo | La moneda del monto de la detracción debe ser PEN |

[Los 2.077 códigos](https://fe.kembec.com/errores/)

Fuente

Textos y reglas copiados sin cambios de la hoja [«Reglas de validación actualizado al 24.04.2026»](https://cpe.sunat.gob.pe/sites/default/files/2026-05/Reglas%20de%20validaci%C3%B3n%20actualizado%20al%2024.04.2026%20%281%29.xlsx) de la SUNAT, publicada en [cpe.sunat.gob.pe](https://cpe.sunat.gob.pe/) y descargada el 17.10.2026.
