Instalación y uso
npm install --save sunat-catalogs
const Catalogs = ;
Atributos Estáticos (Statics Attributes)
Todos los catálogos definidos en la sección "Definición de Catálogos", tendrán los siguientes atributos estáticos, los cuales nos permitiran acceder a los metadatos del catálogo.
Atributo |
Descripción |
---|---|
numeroCat |
Número de catálogo |
tituloCat |
Título del catálogo |
nombreCat |
Nombre del catálogo definida por la agencia |
agenciaCat |
Agencia del catálogo |
uriCat |
URI del catálogo |
const TipoTributo = ; console; // Resultado: 05 console; // Resultado: Código de tipos de tributos y otros conceptos console; // Resultado: Codigo de tributos console; // Resultado: PE:SUNAT console; // Resultado: urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo05 console;// Resultado: Catálogo Nro. 05 - Código de tipos de tributos y otros conceptos
IMPORTANTE:
Los métodos estáticos se llaman sin crear instancias de su clase y tampoco son invocables cuando se instancia la clase.
Funciones
Todos los catálogos definidos en la sección "Definición de Catálogos", tendrán definida la función
descripcion()
para acceder a la descripción de los códigos de los catálogos.
Cada catálogo también cuenta con funciones propias.
const TipoTributo = ; const tributo = TipoTributoICBPER; console;// Resultado: Impuesto al Consumo de las bolsas de plástico console;// Resultado: ICBPER console;// Resultado: S console;// Resultado: OTH
Definición de Catálogos
Catálogo Nro. 01 - Código de Tipo de Documento
Para este catálogo se ha definido la clase de nombre TipoDocumeto
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de documento
const TipoDocumento = ; const documento = TipoDocumentoFA; console;// Resultado: Factura
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
FA | 01 | Factura |
BV | 03 | Boleta de Venta |
NC | 07 | Nota de Crédito |
ND | 08 | Nota de Débito |
GRR | 09 | Guía de Remisión Remitente |
CPER | 20 | Comprobante de Retención |
GRT | 31 | Guía de Remisión Transportista |
CPEP | 40 | Comprobante de Percepción |
Catálogo Nro. 02 - Código de Tipo de Monedas
Para este catálogo se ha definido la clase de nombre TipoMoneda
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de moneda
const TipoMoneda = ; const moneda = TipoMonedaSOL; console;// Resultado: Sol
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
SOL | PEN | Sol |
DOLAR | USD | US Dollar |
EURO | EUR | Euro |
Catálogo Nro. 03 - Códigos de Tipo de Unidad de Medida
Para este catálogo se ha definido la clase de nombre TipoUnidadMedida
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de unidad de medida
const TipoUnidadMedida = ; const medida = TipoUnidadMedidaUNIDAD_INTERNACIONAL; console;// Resultado: Número de unidades internacionales
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
UNIDAD_INTERNACIONAL | NIU | Número de unidades internacionales |
UNIDAD_MEDIDA_ACORDADA | ZZ | Unidad de medida acordada entre dos partes |
Catálogo Nro. 04 - Código de País
Para este catálogo se ha definido la clase de nombre Pais
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del país
const Pais = ; const pais = PaisPERU; console;// Resultado: Perú
En la siguiente tabla se describen las constantes disponibles:
Constante | Codigo | Descripción |
---|---|---|
PERU | PE | Perú |
Catálogo Nro. 05 - Código de Tipos de Tributos
Para este catálogo se ha definido la clase de nombre TipoTributo
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de tributonombre()
- Permite obtener el nombre del tipo de tributocategoria()
- Permite obtener la categoría del tipo de tributocodigo()
- Permite obtener el código internacional del tipo de tributo
const TipoTributo = ; const tributo = TipoTributoIGV; console;// Resultado: IGV Impuesto General a las Ventas console;// Resultado: IGV console;// Resultado: S console;// Resultado: VAT
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
IGV | 1000 | Impuesto General a las Ventas |
IVAP | 1016 | Impuesto a la Venta Arroz Pilado |
ISC | 2000 | Impuesto al Consumo de las Bolsas de Plástico |
ICBPER | 7152 | Impuesto a la Bolsa Plastica |
EXP | 9995 | Exportación |
GRA | 9996 | Gratuito |
EXO | 9997 | Exonerado |
INA | 9998 | Inafecto |
OTROS | 9999 | Otros Tributos |
Catálogo Nro. 06 - Código de Tipo de Documento de Identidad
Para este catálogo se ha definido la clase de nombre TipoDocumentoIdentidad
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del documento de identidad
const TipoDocumentoIdentidad = ; const documento = TipoDocumentoIdentidadDNI; console;// Resultado: Documento Nacional de Identidad
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
NO_DOMICILIADO | 0 | DOC.TRIB.NO.DOM.SIN.RUC |
DNI | 1 | Documento Nacional de Identidad |
CARNET_EXTRANJERIA | 4 | Carnet de extranjería |
RUC | 6 | Registro Unico de Contributentes |
PASAPORTE | 7 | Pasaporte |
TIN | C | TIN - Doc Trib PP.NN |
IN | D | IN - Doc Trib PP. JJ |
TAM | E | TAM - Tarjeta Andina de Migración |
Catálogo Nro. 07 - Código de Tipo de Afectación del IGV
Para este catálogo se ha definido la clase de nombre TipoAfectacionIgv
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de afectacióncodTributo(onerosa)
- Permite obtener el código del tributo relacionado al tipo de afectaciónonerosa
- Definir comotrue
si la operación es onerosa yfalse
si la operación es gratuita
const TipoAfectacionIgv = ; const afectacion = TipoAfectacionIgvGRAVADO_IVAP; console;// Resultado: Gravado - IVAP console;// Resultado: 1016 console;// Resultado: 9996
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
GRAVADO_ONEROSA | 10 | Gravado - Operación Onerosa |
GRAVADO_PREMIO | 11 | Gravado - Retiro por premio |
GRAVADO_DONACION | 12 | Gravado - Retiro por donación |
GRAVADO_RETIRO | 13 | Gravado - Retiro |
GRAVADO_PUBLICIDAD | 14 | Gravado - Retiro por publicidad |
GRAVADO_BONIFICACIONES | 15 | Gravado - Bonificaciones |
GRAVADO_ENTREGA_TRABAJADORES | 16 | Gravado - Retiro por entrega a trabajadores |
GRAVADO_IVAP | 17 | Gravado - IVAP |
EXONERADO_ONEROSA | 20 | Exonerado - Operación Onerosa |
EXONERADO_GRATUITA | 21 | Exonerado - Transferencia gratuita |
INAFECTO_ONEROSA | 30 | Inafecto - Operación Onerosa |
INAFECTO_BONIFICACION | 31 | Inafecto - Retiro por Bonificación |
INAFECTO_RETIRO | 32 | Inafecto - Retiro |
INAFECTO_MUESTRAS_MEDICAS | 33 | Inafecto - Retiro por Muestras Médicas |
INAFECTO_CONVENIO_COLECTIVO | 34 | Inafecto - Retiro por Convenio Colectivo |
INAFECTO_PREMIO | 35 | Inafecto - Retiro por premio |
INAFECTO_PUBLICIDAD | 36 | Inafecto - Retiro por publicidad |
INAFECTO_GRATUITA | 37 | Inafecto - Transferencia gratuita |
EXPORTACION | 40 | Exportación de Bienes o Servicios |
Catálogo Nro. 08 - Código de Tipos de Sistema de Cálculo del ISC
Para este catálogo se ha definido la clase de nombre TipoSistemaIsc
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de sistema de cálculo
const TipoSistemaIsc = ; const documento = TipoSistemaIscSISTEMA_VALOR; console;// Resultado: Sistema al valor
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
SISTEMA_VALOR | 01 | Sistema al valor |
APLICACION_MONTO_FIJO | 02 | Aplicación del monto fijo |
SISTEMA_PRECIO_PUBLICO | 03 | Sistema de precios de venta al público |
Catálogo Nro. 09 - Códigos de Tipo de Nota de Crédito
Para este catálogo se ha definido la clase de nombre TipoNotaCredito
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de nota de crédito
const TipoNotaCredito = ; const nc = TipoNotaCreditoANULACION_OPERACION; console;// Resultado: Anulación de la operación
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
ANULACION_OPERACION | 01 | Anulación de la operación |
ANULACION_ERROR_RUC | 02 | Anulación por error en el RUC |
CORRECCION_ERROR_DESCRIPCION | 03 | Corrección por error en la descripción |
DESCUENTO_GLOBAL | 04 | Descuento global |
DESCUENTO_ITEM | 05 | Descuento por ítem |
DEVOLUCION_TOTAL | 06 | Devolución total |
DEVOLUCION_ITEM | 07 | Devolución por ítem |
BONIFICACION | 08 | Bonificación |
DISMINUCION_VALOR | 09 | Disminución en el valor |
OTROS_CONCEPTOS | 10 | Otros Conceptos |
AJUSTES_OPERACION_EXPORTACION | 11 | Ajustes de operaciones de exportación |
AJUSTES_AFECTOS_IVAP | 12 | Ajustes afectos al IVAP |
Catálogo Nro. 10 - Códigos de Tipo de Nota de Débito
Para este catálogo se ha definido la clase de nombre TipoNotaDebito
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de nota de débito
const TipoNotaDebito = ; const nd = TipoNotaDebitoINTERESES_MORA; console;// Resultado: Intereses por mora
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
INTERESES_MORA | 01 | Intereses por mora |
AUMENTO_VALOR | 02 | Aumento en el valor |
PENALIDADES | 03 | Penalidades/ otros conceptos |
AJUSTES_OPERACION_EXPORTACION | 11 | Ajustes de operaciones de exportación |
AJUSTES_AFECTOS_IVAP | 12 | Ajustes afectos al IVAP |
Catálogo Nro. 12 - Código de Documentos Relacionados
Para este catálogo se ha definido la clase de nombre DocumentoRelacionado
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del documento relacionado
const DocumentoRelacionado = ; const documento = DocumentoRelacionadoFA_ANTICIPO; console;// Resultado: Factura - emitida por anticipos
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
FA_CORREGIR_RUC | 01 | Factura - emitida para corregir error en el RUC |
FA_ANTICIPO | 02 | Factura - emitida por anticipos |
BV_ANTICIPO | 03 | Boleta de Venta - emitida por anticipos |
TICKET_SALIDA_ENAPU | 04 | Ticket de Salida - ENAPU |
CODIGO_SCOP | 05 | Código SCOP |
OTROS | 99 | Otros |
Catálogo Nro. 16 - Código de Tipo de Precio de Venta (TipoPrecioVenta)
Para este catálogo se ha definido la clase de nombre DocumentoRelacionado
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del documento relacionado
const DocumentoRelacionado = ; const documento = DocumentoRelacionadoFA_ANTICIPO; console;// Resultado: Factura - emitida por anticipos
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
PRECIO_UNITARIO | 01 | Precio unitario (incluye el IGV) |
VALOR_REFERENCIAL_UNITARIO | 02 | Valor referencial unitario en operaciones no onerosas (Gratuitas) |
TARIFAS_REGULADAS | 03 | Tarifas reguladas |
Catálogo Nro. 19 - Código de Estado del Ítem
Para este catálogo se ha definido la clase de nombre EstadoItem
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del estado de ítem
const EstadoItem = ; const estado = EstadoItemADICIONAR; console;// Resultado: Adicionar
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
ADICIONAR | 1 | Adicionar |
MODIFICAR | 2 | Modificar |
ANULADO | 3 | Anulado |
Catálogo Nro. 22 - Código de Regimen de Percepciones
Para este catálogo se ha definido la clase de nombre RegimenPercepcion
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción de la percepcióntasa()
- Permite obtener la tasa de percepción
const RegimenPercepcion = ; const percepcion = RegimenPercepcionVENTA_INTERNA; console;// Resultado: Percepción venta interna console;// Resultado: 2.00
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
VENTA_INTERNA | 01 | Percepción venta interna |
ADQUISICION_COMBUSTIBLE | 02 | Percepción a la adquisición de combustible |
TASA_ESPECIAL | 03 | Percepción realizada al agente de percepción con tasa especial |
Catálogo Nro. 23 - Código de Regimen de Retenciones
Para este catálogo se ha definido la clase de nombre RegimenRetencion
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción de la retencióntasa()
- Permite obtener la tasa de retención
const RegimenRetencion = ; const retencion = RegimenRetencionTASA_3; console;// Resultado: Tasa 3% console;// Resultado: 3.00
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
TASA_3 | 01 | Tasa 3% |
TASA_6 | 02 | Tasa 6% |
Catálogo Nro. 51 - Códigos de Tipo de Operación
Para este catálogo se ha definido la clase de nombre TipoOperacion
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del tipo de operación
const TipoOperacion = ; const operacion = TipoOperacionVENTA_INTERNA; console;// Resultado: Venta interna
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
VENTA_INTERNA | 0101 | Venta interna |
VENTA_INTERNA_GASTOS_DEDUCIBLES | 0112 | Sustenta gastos deducibles PPNN |
VENTA_INTERNA_NRUS | 0113 | NRUS |
EXPORTACION_BIENES | 0200 | Exportación de Bienes |
EXPORTACION_SERVICIOS_INTEGRAMENTE_PAIS | 0201 | Prestación servicios realizados íntegramente en el país |
EXPORTACION_SERVICIOS_HOSPEDAJE_NO_DOMICILIADO | 0202 | Prestación de servicios de hospedaje no domiciliado |
EXPORTACION_SERVICIOS_TRANSPORTE_NAVIERAS | 0203 | Transporte de navieras |
EXPORTACION_SERVICIOS_NAVES_AERONAVES_EXTRANJERAS | 0204 | Servicios a naves y aeronaves de bandera extranjera |
EXPORTACION_SERVICIOS_PAQUETE_TURISTICO | 0205 | Servicios que conformen un paquete turístico |
EXPORTACION_SERVICIOS_TRANSPORTE_CARGA | 0206 | Servicios complementarios al transporte de carga |
EXPORTACION_SERVICIOS_SUMINISTRO_ELECTRICO_ZED | 0207 | Suministro de energía eléctrica domiciliados en ZED |
EXPORTACION_SERVICIOS_PARCIALMENTE_EXTRANJERO | 0208 | Prestación servicios realizados parcialmente en el extranjero |
OPERACIONES_CARTA_PORTE_AEREO | 0301 | Operaciones con carta de porte aéreo |
OPERACIONES_TRANSPORTE_FERROVIARIO | 0302 | Operaciones de transporte ferroviario de pasajeros |
OPERACIONES_REGALIA_PETROLEO | 0303 | Operaciones de pago de regalía petrolera |
VENTA_NO_DOMICILIADA_NO_CALIFICA_EXPORTACION | 0401 | Ventas no domiciliados que no califican como exportación |
OPERACION_DETRACCION | 1001 | Operación sujeta a detracción |
OPERACION_DETRACCION_RECURSOS_HIDROBIOLOGICOS | 1002 | Recursos hidrobiológicos |
OPERACION_DETRACCION_TRANSPORTE_PASAJEROS | 1003 | Servicios de transporte pasajeros |
OPERACION_DETRACCION_TRANSPORTE_CARGA | 1004 | Servicios de transporte carga |
OPERACION_PERCEPCION | 2001 | Operación sujeta a percepción |
Catálogo Nro. 53 - Códigos de Cargos o Descuentos
Para este catálogo se ha definido la clase de nombre CargoDescuento
, la misma que cuenta con las siguientes funciones:
descripcion()
- Permite obtener la descripción del cargo o descuentoindicador()
- Permite saber si el código corresponde a un cargo (true) o un descuento (false)nivel()
- Permite obtener el nivel relacionado al código (item o global)esCargoDet()
- Determina si corresponde a un cargo por detalle (true o false)esDescuentoDet()
- Determina si corresponde a un descuento por detalle (true o false)esCargoGlb()
- Determina si corresponde a un cargo global (true o false)esDescuentoGlb()
- Determina si corresponde a un descuento global (true o false)
const CargoDescuento = ; const operacion = CargoDescuentoDCTOS_ITEM_AFECTA_BASE_IGV_IVAP; console;// Resultado: Descuentos que afectan la base imponible del IGV/IVAP
En la siguiente tabla se describen las constantes disponibles:
Constante | Código | Descripción |
---|---|---|
DCTOS_ITEM_AFECTA_BASE_IGV_IVAP | 00 | Descuentos que afectan la base imponible del IGV/IVAP |
DCTOS_ITEM_NO_AFECTA_BASE_IGV_IVAP | 01 | Descuentos que no afectan la base imponible del IGV/IVAP |
DCTOS_GLOBAL_AFECTA_BASE_IGV_IVAP | 02 | Descuentos globales que afectan la base imponible del IGV/IVAP |
DCTOS_GLOBAL_NO_AFECTA_BASE_IGV_IVAP | 03 | Descuentos globales que no afectan la base imponible del IGV/IVAP |
CARGOS_ITEM_AFECTA_BASE_IGV_IVAP | 47 | Cargos que afectan la base imponible del IGV/IVAP |
CARGOS_ITEM_NO_AFECTA_BASE_IGV_IVAP | 48 | Cargos que no afectan la base imponible del IGV/IVAP |
CARGOS_GLOBAL_AFECTA_BASE_IGV_IVAP | 49 | Cargos globales que afectan la base imponible del IGV/IVAP |
CARGOS_GLOBAL_NO_AFECTA_BASE_IGV_IVAP | 50 | Cargos globales que no afectan la base imponible del IGV/IVAP |