Recuperación IVA comisiones

Función general

Mostrar el listado de la recuperación del IVA en las comisiones pagadas, para un área de seguros, un tipo de intermediario y dentro de un período de tiempo determinado por el usuario.

El procedimiento presenta un listado de las comisiones a la cual se ha de recuperar el IVA, por cada uno de los intermediarios, que se encuentran asociados al tipo de intermediario seleccionado por el usuario, la información ha de estar agrupado por compañía, periodo de liquidación, intermediario y número de póliza .

Se debe totaliza la información por intermediario y final general.
 

Información técnica

Recuperación IVA comisiones

(AGL858)

Parámetros

Validaciones

 

Campo

Descripción

 Error/adv

Área de seguro

Debe estar lleno
60215

Período - Desde

Debe estar lleno
05072

Período - Hasta

Debe estar lleno 
01097
Debe ser posterior a la fecha desde 
11425

Frecuencia de ejecución

A petición del usuario.

Requisitos

No aplica.

Instrucciones de ejecución

Este reporte se ejecuta desde el módulo de reportes de intermediarios con la opción menú de reportes de intermediarios.

Instrucciones en caso de interrupción

Volver a ejecutar.

Proceso batch

Proceso

  • Se leen de la tabla de primas (premium), todos aquellos recibos que pertenezcan al área de seguros seleccionada por el usuario (parámetro área de seguros), donde la fecha del pago (premium.dStatDate), se encuentre dentro del período señalado por el usuario y el recibo posea el estado de "Cobrado/Devuelto" (premium.nStatus_pre = 2 ), "Domiciliado Cobrado" (premium.nStatus_pre = 5 ), "Cobrado/convenio de Pago" (premium.nStatus_pre = 6 ), "Cobrado/Cta. Corriente"  (premium.nStatus_pre = 7 ) o "Financiado" (premium.nStatus_pre = 8). Adicionalmente se debe tomar la fecha de vigencia del recibo (premium.dEffecdate).

  •  
  • Se debe comprobar que los recibos seleccionados han de pertenecer a pólizas (policy) que se encuentren válidas (policy.statusva), luego, por cada registro en la tabla de recibos que cumpla las condiciones, se realizan las siguientes validaciones:

  •  
    • Si el recibo no es financiado (premium.bStatus_pre = 2 , 5, 6 y 7), se obtiene de la tabla de detalles del recibo (detail_pre), la información necesaria para determinar el monto de la prima afecta (detail_pre.nPremiumA), el monto de la prima exenta (detail_pre.nPremiumE), todos los montos en moneda origen.

    •  
    • Si el recibo es financiado (premium.bStatus_pre = 8), se debe comprobar los giros del contrato que están cobrados, para ello se lee la tabla de giros de un contrato de financiamiento (financ_dra),  para obtener el monto de la prima afecta (financ_dra.nAmo_Afec), el monto de la prima exenta (financ_dra.nAmo_Exen), el monto del IVA (financ_dra.nIVA), el monto de la cuota neta (financ_dra.nAmount_Net) y el monto de la comisión (financ_dra.nCommission), todos los montos en moneda origen. Para determinar la fecha de inicio vigencia del giro se debe tomar la menor fecha de expiración (financ_dra.dExpirdat), de los giros seleccionados.
     
  • De la tabla de recibo de una prima (premium), se obtiene el intermediario al cual se le ha acreditado la comisión (intermedia).

  •  
  • Se obtiene el factor de cambio de la moneda "unidad de fomento" o "UF" de la tabla factor de cambio de monedas (Exchange)
    •  
  • Se determinan las descripciones de los campos: "Área de seguro" , "Ramo comercial", "Producto"  y "Tipo de intermediario".
  •  
    Los montos expresados en pesos, se obtienen al convertir cada monto de la moneda original del recibo a la moneda local (código reservado de moneda, 1). Para ello se debe hacer uso de la rutina de conversión del sistema: "insCalConvertExchange2". Es importante destacar que la fecha que se utilice para convertir los montos en el caso de este reporte será la fecha en que toma efecto el pago del recibo o el giro (premium.dStatDate ó financ_dra.dStat_Date).
     
    La información obtenida es ordenada por área de seguro, tipo de intermediario, número de intermediario, ramo, producto y  número de póliza.
       
    Se imprime una sola línea en el reporte por cada póliza.

    Efecto

    No tiene efecto sobre la base de datos.

    Notas al programador

    Condición de búsqueda para la tabla de primas (Premium)

     
     

    Información

    Campo

    Operador

    Valor

    Observación

    Tipo de registro  sCertype = '2' Se deben tomar en cuenta sólo pólizas
    Código del ramo nBranch >= 0 Se deben tomar en cuenta los recibos de cualquier ramo
    Código del producto nProduct >= 0 Se deben tomar en cuenta los recibos de cualquier producto
    Número del recibo nReceipt >= 0 Se deben tomar en cuenta todos los recibos
    Dígito de control nDigit = 0 Recibos cuyo número de modificación de distribución de reaseguro sea cero (0)
    Número de parte en el convenio nPayumbe >= 0 Se debe tomar en cuenta cualquier parte del convenio
    Área de seguro nInsur_Area = Área de seguro del reporte Área de seguro indicada (parámetro Área de Seguro) para la ejecución del reporte
    Tipo de recibo. nType = 1 Recibo del tipo de cobro, valor "1"
    Estado del recibo nStatus_pre 2, 5, 6, 7 y 8 Estado del recibo,  (tabla 19)
    Estado del registro sStatusva = 1,4 y 5 Estado del registro (tabla 181)
    Fecha del pago  del recibo dStatDate >= Parámetro periodo  desde  Fecha de inicio del período indicada para la ejecución del reporte (Parámetro Período -  Desde)
    y dStatDate <= Parámetro periodo  hasta  Fecha final del período indicada para la ejecución del reporte (Parámetro Período -  hasta)

    Condición de búsqueda para la tabla de pólizas (policy)

     

    Información

    Campo

    Operador

    Valor

    Observación

    Tipo de registro
    sCerType
    = "2" Se deben tomar en cuenta sólo las pólizas
    Ramo comercial nBranch premium.nBranch Código del ramo del recibo en tratamiento
    Producto nProduct premium.nProduct Código del producto del recibo en tratamiento
    Número de Póliza nPolicy = premium.nPolicy Número de la póliza del recibo en tratamiento
    Estado de la póliza sStatus_Pol = "1","4"  y "5" Estado de la póliza, valores posibles tabla 181

    Condición de búsqueda para la tabla de detalle del recibo (Detail_pre)

     

    Información

    Campo

    Operador

    Valor

    Observación

    Tipo de registro  sCertype = premium.sCertype Tipo de registro del recibo en tratamiento
    Código del Ramo nBranch = premium.nBranch Código de ramo del recibo en tratamiento
    Código del producto nProduct = premium.nProduct Código de producto del recibo en tratamiento
    Número del recibo nReceipt = premium.nReceipt Número del recibo en tratamiento
    Dígito de control nDigit = premium.nDigit Recibos cuyo número de modificación de distribución de reaseguro sea cero (0)
    Número de parte en el convenio nPayumbe = premium.nPaynumbe Se debe tomar en cuenta cualquier parte del convenio del recibo en tratamiento
    Número consecutivo de desglose nId_bill >= 0 Se debe tomar en cuenta cualquier número de desglose

    Condición de búsqueda para la tabla de giros financiamiento (Financ_dra)

     
     

    Información

    Campo

    Operador

    Valor

    Observación

    Número de contrato de financiamiento nContrat = premium.ncontrat Número de recibo que ha sido seleccionado
    Número de giro nDraft >= 0 Todos los giros del contrato de financiamiento en tratamiento
    Estado del giro nStat_Draft = 2 y 4 Valores posibles según tabla 253
    Fecha pago del recibo (dStat_Date >= Parámetro fecha desde Fecha de inicio del período indicada para la ejecución del reporte (Parámetro Período -  Desde)
    y dStat_Date) <= Parámetro fecha hasta Fecha final del período indicada para la ejecución del reporte (Parámetro Período -  hasta)
    Estado del registro sStatregt = "1" Estado general del registro. Valores únicos según tabla 26.

    Condición de búsqueda para la tabla de intermediarios (intermedia)

     
     

    Información

    Campo

    Operador

    Valor

    Observación

    Código del intermediario
    nIntermed
    = premium.nIntermed Código de identificación del intermediario en tratamiento

    Condición de búsqueda de datos de un intermediario en la tabla de clientes (client)

     
     

    Información

    Campo

    Operador

    Valor

    Observación

    Código de cliente
    sClient
    = intermedia.sClient Código del cliente asociado al intermediario en tratamiento

    Condición de búsqueda para la descripción de valores en la tabla de Área de seguros (table5001)

     

    Información

    Campo

    Operador

    Valor

    Observación

    Código del Área de seguro nInsur_Area = premium.nInsur_area Código de la moneda en que el recibo es emitido
    Estado del registro sStatregt = "1" Estado general del registro. Valores únicos según tabla 26.

    Condición de búsqueda para la tabla de ramos comerciales (table10)

     
     

    Información

    Campo

    Operador

    Valor

    Observación

    Código del ramo comercial nBranch = Premium.nBranch Código del ramo comercial
    Estado del registro sStatregt = "1" Estado general del registro. Valores únicos según tabla 26.

    Condición de búsqueda para la descripción de productos (Prodmaster)

     

    Información

    Campo

    Operador

    Valor

    Observación

    Código del ramo nBranch = premium.nBranch  Código del ramo de la póliza en tratamiento
    Código del Producto nProduct = premium.nProduct  Código del producto de la póliza en tratamiento
    Estado del registro sStatregt = "1" Estado general del registro. Valores únicos según tabla 26.

    Condición de búsqueda para el factor de cambio de la moneda (exchange)

     

    Información

    Campo

    Operador

    Valor

    Observación

    Código de la moneda nCurrency = Código interno de la unidad de fomento Se debe tomar el código de la moneda "Unidad de Fomento" "UF". valores posibles según tabla 11
    Fecha de efecto dEffecdate <= Fecha del computador Fecha del computador
    Fecha de anulación  (dNulldate > Fecha del computador Fecha del computador
    ó dNulldate Nulo) Nulo

    Condición de búsqueda para el tipo de intermediario (interm_typ)

     

    Información

    Campo

    Operador

    Valor

    Observación

    Tipo de intermediario nInterTyp = intermedia.nInterTyp Se debe tomar el código de tipo de intermediario de la tabla de intermediarios.
    Estado del registro sStatregt <= "1" Estado general del registro. Valores únicos según tabla 26.

    Fórmula

    Comisión neta

    Comisión Neta = Total de comisión / 1.18

    Donde:

    Total de comisión = (Premium.nComAmou), pero si es financiado (financ_dra.nCommission).

    IVA Comisión

    Comisión Neta = Total de comisión - Comisión Neta

    Donde:

    Total de comisión = (Premium.nComAmou), pero si es financiado (financ_dra.nCommission).

    IVA recu origen

    IVA recu origen = (IVA comisión * ( Prima afecta / Prima neta )) / factor de cambio

    Donde:

    IVA comisión = ver fórmula IVA comisión
    Prima afecta = (detail_pre.npremiuma), pero si el recibo fue financiado (financ_dra.nAmo_Afec)
    Prima neta = (premium.npremiumn) , pero si el recibo fue financiado (financ_dra.amount_net)
    Factor de cambio = (premium.nExchange)

    IVA recu pesos

    IVA recu origen = IVA comisión * ( Prima afecta / Prima neta )

    Donde:

    IVA comisión = ver fórmula IVA comisión
    Prima afecta = (detail_pre.npremiuma), pero si el recibo fue financiado (financ_dra.nAmo_Afec)
    Prima neta = (premium.npremiumn) , pero si el recibo fue financiado (financ_dra.amount_net)

    Listados

  • Título "Recuperación IVA comisiones" (encabezado del reporte, por cada página)
    • "Consorcio de Seguros"
    • "Área de seguro " + 'área de seguro seleccionada para el reporte (table5001.sDescript)'
    • "Fecha" + 'Fecha del computador, formato: DD/MM/AAAA'
    • "Recuperación IVA comisiones" + 'Descripción del tipo de intermediario (interm_typ.sDescript), tomando en cuenta (intermdia.nIntermed)'
    • "Periodo liquidación desde " + 'parámetro fecha desde' + " hasta " + 'parámetro fecha hasta, formato: DD/MM/AAAA'
    • "Página" + 'número de página'

    •  
  • SubTitulo (agrupado por intermediario)
    • Primera Línea
      • "RUT Comisionista" + 'Código del cliente del intermediario (intermedia.sClient)'.
    • Segunda Línea
      • "Número Comisionista" + 'Número de intermediario (intermedia.nIntermed)'.
    • Tercera Línea
      • "Nombre Comisionista" + 'Nombre del intermediario (client.sCliename)'.
      • "Valor UF" + 'Valor de la tabla de monedas (exchange.nExchange)'
    • Cuarta Línea (tabular)
      • "Ramo"
      • "Producto"
      • "Póliza"
      • "Moneda"
      • "Inicio del período"
      • "Prima pagada"
      • "Prima afecta"
      • "Prima exenta"
      • "IVA por Recauda."
      • "Prima Neta"
      • "Comisión Neta"
      • "IVA comisión"
      • "Total Comisión"
      • "IVA recu origen"
      • "IVA recu pesos"

      •  
  • Datos de comisiones devengadas (detalle del reporte)
    • "Descripción corta del Ramo comercial (table10.sShortDes), tomando en cuenta el campo ramo de una póliza (policy.nBranch)'
    • 'Descripción corta del producto (prodmaster.sShort_des), tomando en en cuenta el campo producto (premium.nProduct)'
    • 'Número de póliza (premium.nPolicy)'
    • 'Moneda del recibo (premium.nCurrency)'
    • 'Fecha de inicio de vigencia del recibo (premium.dEffecdate), pero si el recibo fue financiado, se toma la menor fecha de los giros seleccionados (financ_dra.dExpirdat), formato: DD/MM/AAAA''
    • 'Prima total pagada (premium.nPremium), pero si el recibo fue financiado (financ_dra.nAmount). En moneda origen'
    • 'Prima afecta del recibo (detail_pre.npremiuma), pero si el recibo fue financiado (financ_dra.nAmo_Afec). En moneda origen'
    • 'Prima exenta del recibo (detail_pre.npremiume), pero si el recibo fue financiado (financ_dra.nAmo_Exen). En moneda origen'
    • 'Monto del impuesto (Iva), del recibo (premium.nTaxAmount), pero si el recibo fue financiado (financ_dra.nIVA). En moneda origen'
    • 'Prima Neta del recibo (premium.npremiumn) , pero si el recibo fue financiado (financ_dra.amount_net). En moneda origen'
    • 'Comisión neta ver fórmula comisión neta. En moneda local (pesos)'
    • 'IVA Comisión  ver fórmula IVA comisión. En moneda local (pesos)'
    • 'Total de comisión del recibo (Premium.nComAmou), pero si es financiado (financ_dra.nCommission)'. En moneda local (pesos)'.
    • 'Monto de IVA a recuperar en moneda origen, ver fórmula IVA recu origen. En moneda origen'
    • 'Monto de IVA a recuperar en pesos, ver fórmula IVA recu pesos. En moneda local (pesos)'

    •  
  • Totales  (por intermediario)
    • 'Suma de todas las primas totales pagadas por intermediario'.
    • 'Suma de las primas afectas por intermediario'.
    • 'Suma de las primas exentas por intermediario'.
    • 'Suma de los montos del impuesto por intermediario'.
    • 'Suma de las primas netas por intermediario'.
    • 'Suma de las comisiones netas por intermediario'
    • 'Suma del IVA Comisión por intermediario'
    • 'Suma del total de comisión por intermediario'.
    • 'Suma del monto de IVA a recuperar en moneda origen por intermediario'
    • 'Suma del monto de IVA a recuperar en pesos por intermediario'

    •  
  • Total General
    • 'Suma de todas las primas totales pagadas de todos los intermediarios'.
    • 'Suma de las primas afectas de todos los intermediarios'.
    • 'Suma de las primas exentas de todos los intermediarios'.
    • 'Suma de los montos del impuesto de todos los intermediarios'.
    • 'Suma de las primas netas de todos los intermediarios'.
    • 'Suma de las comisiones netas de todos los intermediarios'.
    • 'Suma del IVA Comisión de todos los intermediarios'
    • 'Suma del total de comisión de todos los intermediarios'.
    • 'Suma del monto de IVA a recuperar en moneda origen de todos los intermediarios'
    • 'Suma del monto de IVA a recuperar en pesos de todos los intermediarios'