Ir al contenido

Catálogo 05 — Tipo de tributo

Catálogo SUNAT que clasifica los tributos que afectan una línea o el total de un comprobante electrónico. Es fundamental para construir los nodos TaxTotal y TaxSubtotal del XML UBL 2.1.

CódigoDescripción
1000IGV
2000ISC
9995Exportación
9996Gratuitas
9997Exonerado
9998Inafecto
9999Otros Tributos
7152ICBPER
1016IVAP

openUBL utiliza el catálogo principalmente de forma interna para generar el XML:

  • 1000 (IGV) para líneas con tipoAfectacionIGV = "10".
  • 9997 (Exonerado) para tipoAfectacionIGV = "20".
  • 9998 (Inafecto) para tipoAfectacionIGV = "30".
  • 7152 (ICBPER) para el impuesto a la bolsa plástica, cuando se configura icbTasa.

No es necesario pasar estos códigos manualmente en la mayoría de modelos de venta; el ContentEnricher y el renderer los asignan en función de la afectación del IGV.

from openubl.models import Invoice, Proveedor, Cliente, DocumentoVentaDetalle
from decimal import Decimal
# Línea gravada: el renderer asignará automáticamente tributo 1000 (IGV)
invoice = Invoice(
serie="F001",
numero=125,
proveedor=Proveedor(ruc="20100100100", razonSocial="Mi Empresa S.A.C."),
cliente=Cliente(
nombre="Cliente Ejemplo",
numeroDocumentoIdentidad="20123456789",
tipoDocumentoIdentidad="6",
),
detalles=[
DocumentoVentaDetalle(
descripcion="Producto gravado",
cantidad=Decimal("1"),
precio=Decimal("100.00"),
tipoAfectacionIGV="10", # Gravado → tributo 1000
)
],
moneda="PEN",
)