Este documento es un material de especificación de los requisitos de innovación. Se trata de un contenido sumamente técnico.

                                               

Información General

 

Especificación

Producto

PROTHEUS

Módulo

SIGAFIS

Segmento ejecutor

 

Projeto1

Mercado Internacional

IRM/EPIC1

 

Requisito/Story/Issue1

 

Subtarea1

 

Chamado/Ticket2

MMI-4536

País

(  ) Brasil  (X) Argentina  (  ) México  (  ) Chile  (  ) Paraguay  (  ) Ecuador

(  ) EEUU  (  ) Colombia   (  ) Otro _____________.

Otros

 

Objetivo

Se solicita creación de Padrón de Ingresos Brutos de la Provincia IIBB de Mendoza, para actualizar la tabla SFH (Empresa vs. Zona Fiscal), para Percepciones de IIBB de Mendoza, informando:

-       Situación fiscal del cliente/proveedor (Inscripto, Monotributista, Convenio Multilateral, etc.)

-       Exenciones fiscales del cliente/proveedor (empresa)

-       Identificación de la situación de “Riego Fiscal” del cliente/proveedor (empresa) y sus fechas de vigencia

-       Adicional:
Se estima conveniente que para el cálculo de retenciones (rutinas “fina085a”, “fina850” y “fina855”), se valide que el valor de CCO_CRFRET sea <>”0” en lugar de identificar la provincia, con lo cual se posibilita que esta funcionalidad sea utilizada para cualquier provincia que lo requiera.

 

Definición de la Regla de Negocio

Configuración

Previamente, el usuario debe obtener de la página web de la AFIP o donde corresponda el archivo con el padrón de Riesgo Fiscal de Mendoza para importar al sistema con la opción Padrón IBB Mendoza.


Modificar la función FISA075, la cual se encuentra en el menú del módulo Libros Fiscales - Miscelánea -  Arch. Magnéticos

Agregar la pregunta “Seleccionar registros de” al grupo de preguntas FISA075, con las opciones:

  • Clientes
  • Proveedores
  • Ambos

El usuario debe cargar la tabla de equivalencias de actividades aplicables a este régimen. Esta será empleada para obtener las alícuotas correspondientes a cada actividad. Los datos a registrar son:

- Valor Origen (CCP_VORIGE): Código fiscal; compras o ventas, el cual corresponde con FF_CFO_C o FF_CFO_V.

- Valor Destino (CCP_VDESTI): Código de actividad; especificadas en la RG No. 19/12.

  • Se especifican sólo las actualizaciones correspondientes a Percepciones, dado que las Retenciones fueron desarrolladas oportunamente a través del llamado THDEZB (P10).
  • Se debe confirmar la existencia del campo CCO_CRFPER (Coeficiente incremento alícuota de Percepción por Riesgo Fiscal), en caso de no existir se deberá de ejecutar el compatibilizador correspondiente al llamado TQFJMO (P11).
  • Agregar el campo CGF_CODCLI a la tabla CGF.

Rutina

Tipo de Operación

Opción de Menú

Reglas de Negocio

FISA075.PRW – Padrón IIBB Mendoza

Alteración

Miscelanea - Arch. Magneticos - Padrón IIB Mendoza

-


Tablas Utilizadas

  • CCO – Estado Vs. Ing. Brutos
  • SFH – Retención Impuestos
  • SA1 – Clientes
  • SA2 – Proveedores
  • CGF – Exención de Ret. por Actividad
  • SFF – Configuración adicional de impuestos
  • CCP – Equivalencias
  • SF1 – Encabezado de Factura de Entrada
  • SD1 – Item de la factura de Entrada

Flujo del Proceso

Parametrización

Informar:
- Ruta y nombre del archivo del padrón a importar
- Tabla de Actividad
- Módulo (“C” = Clientes), (“P” = Proveedores) y (“A” = Ambos)

Generación de la tabla de pesquisas

A fin de extraer del padrón sólo los registros correspondientes a los CUITs activos, generar un archivo de pesquisas con la siguiente información:
En base a los parámetros informados en el punto 1, seleccionar registros de:

- Si Módulo = ”C” catálogo de clientes (SA1)
- Si Módulo = ”P” catálogo de proveedores y empresas (SA2 y SM0)
- Si Módulo = ”A” catálogo de clientes, proveedores y empresas (SA1, SA2 y SM0)

Con los números de CUIT obtenidos generar un único registro por cuit/origen con la siguiente información:

- cui_numcui = Número de CUIT
- cui_origen = “P” = Proveedores (SA2), “C” = Clientes (SA1) o “E” = Empresa (SM0)
- cui_clipro = Código de Cliente (SA1_COD), Proveedor (SA2_COD). Si cui_origen = ”E” el dato corresponde a SM0_CGC

Este es un proceso general, no por filial dado que la búsqueda y actualización se efectúa a nivel CUIT (Clave Única de identificación Tributaria).
Si un proveedor/cliente tiene varias tiendas, todas deberían tener el mismo CUIT. En tal caso la actualización aplica para todas las tiendas del mismo proveedor/cliente.

 Retenciones (IBR)

El usuario debe cargar la tabla de equivalencias de actividades aplicables a este régimen. Esta será empleada para obtener las alícuotas correspondientes a cada actividad. Los datos a registrar son:

  • Valor Origen (CCP_VORIGE): Código fiscal; compras o ventas, el cual corresponde con FF_CFO_C o FF_CFO_V.
  • Valore Destino (CCP_VDESTI): Código de actividad; especificadas en la RG No. 19/12.

Previamente, el usuario debe tener el archivo con el padrón de Retención de la Provincia de Mendoza para importarlo al sistema, con la nueva opción “Padrón IIBB Mendoza”.
A través de una ventana inicial se informará el propósito de la rutina y la fecha del último proceso (almacenada en un parámetro), donde se tendrá un botón para indicar los parámetros para la generación del proceso, como se muestra en la Figura 1 (Prototipo de Pantallas). Al seleccionar los parámetros y dar clic en el botón para continuar, se iniciará la importación.
Se genera una tabla temporal con los registros extraídos del archivo padrón, para procesarlos de acuerdo a la regla de negocio:

  • Solo se procesarán los registros donde el CUIT contenga guiones (“-“) en las posiciones 3 y 12.

Estructura de la tabla temporal

Campo

Tipo

Longitud

Decimales

Descripción

CUIT

C

14

 

Número de CUIT

NO_INSCR

C

10

 

Número Inscripción

TIPO

C

3

 

Tipo

COD_ACT

C

6

 

Código Actividad

FCH_INIA

D

8

 

Fecha Inicio Actividad

ALIQ_ACT

N

5

2

Alícuota Actividad

TASACERO

C

1

 

Tasa Cero

RIESGO

C

1

 

Riesgo

FCH_INIR

D

8

 

Fecha Inicio Riesgo

FCH_FINR

D

8

 

Fecha Fin Riesgo

Cuenta con un índice por el campo CUIT.

Layout Padrón de Retención – Provincia de Mendoza

Volumen actual: 37.000 registros aprox.

Contenido: Padrón de IIBB de Mendoza

Nombre

Tipo

Formato

CUIT

String

 

Número Inscripción

Integer

 

Tipo

String

IB=IIBB; CM=Convenio Multilateral; E=Escribano; SCS=Sellos; RG=Registro automotor

Código Actividad

String

 

Fecha Inicio Actividad

String

 

Alícuota Actividad

Number

00.00 (Según res. 19/20)

Tasa Cero

String

Exención (A=Aprobada; R=Rechazada; P=Pendiente; N=No corresponde)

Riesgo

String

(S=Si; N=No)

Fecha Inicio Riesgo

String

 

Fecha Fin Riesgo

String

 

    

El archivo de texto tiene estas características:

Campos separados por punto y coma “;”.

Tipo = “CM” -> TIPO =”V”

Tipo =”M”   -> TIPO =”M”

Tipo =”P”   -> TIPO = “”

Tipo =”R”   -> TIPO = “”

Sino  -> TIPO = “I”

Los “TIPO” = “P” o “R” no será considerados para las actualizaciones por TIPO, serán considerados únicamente cuando tengan Tasa Cero o Riesgo Fiscal.

Se utilizará una tabla para registrar por código de actividad, la exención de retenciones de Ingresos Brutos correspondientes a la provincia de Mendoza.

Estructura de la tabla CGF

Campo

Tipo

Longitud

Decimales

Picture

Descripción

CGF_FILIAL

C

2

 

 

Sucursal del Sistema

CGF_COD

C

6

 

@! 

Proveedor

CGF_LOJA

C

2

 

@! 

Sucursal

CGF_IMPOST

C

3

 

@!   

Impuesto

CGF_ZONFIS

C

2

 

@!       

Zona Fiscal

CGF_CFO

C

5

 

@9 

Cod. Fiscal

CGF_CODACT

C

6

 

 

Cod. Actividad

CGF_PEREXE

N

6

2

@999.99

Porcentaje Exención

CGF_INIVIG

D

8

 

 

Fecha Inicio Vigencia

CGF_FIMVIG

D

8

 

 

Fecha Fin Vigencia

CGF_CODCLI

C

6

 

@!

Cliente

Actualización

Este es un proceso general, no por filial dado que la búsqueda y actualización se efectúa a nivel CUIT (Clave Única de Identificación Tributaria).

El proceso debe ejecutarse a partir del Padrón de CUITs activos en el sistema, esto es, procesar la tabla de proveedores:

Ejecutar un Query de la tabla de Proveedores  (SA2) en donde se seleccionen los registros que cumplan estas condiciones:

  • Que el CUIT no esté vacío (A2_CGC <> ‘’)
  • Que no estén eliminados (D_E_L_E_T_ = ‘’)
  • Todas las filiales
  • Ordenar por CUIT (A2_CGC)

Si se duplican los CUITS, se tomará un solo registro.

En base a los registros obtenidos del query de Proveedores, se busca el CUIT en la tabla temporal del Padrón. Se debe tener en cuenta que en el padrón puede existir más de un registro con el mismo CUIT (en este caso se deben procesar en forma secuencial, actualizando el mismo registro de SFH).

1- Tipo

  • Si existe registro en SFH donde (FH_IMPOSTO=”IBR” y FH_ ZONFIS =”ME”)

Si encuentra el registro fuera de vigencia o con Tipo diferente:

  • Situación 1

FH_ INIVIGE = “”

FH_ FIMVIGE = “”

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado
    FH_FIMVIGE = DDATABASE -1
  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde:

FH_TIPO = TIPO

FH_INIVIGE = DDATABASE

FH_FIMVIGE = ””

  • Situación 2

FH_ INIVIGE = “”

FH_FIMVIGE = INFORMADA y VIGENTE

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde:

FH_TIPO = TIPO
FH_INIVIGE = DDATABASE
FH_FIMVIGE = FH_FIMVIGE del registro seleccionado (antes de actualizarlo)

  • Situación 3

FH_ INIVIGE = INFORMADA

FH_FIMVIGE = “”

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde:
    FH_TIPO = TIPO
    FH_INIVIGE = DDATABASE
    FH_FIMVIGE = ””
  • Situación 4

FH_ INIVIGE = INFORMADA
FH_FIMVIGE = INFORMADA y VIGENTE

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado
    FH_FIMVIGE = DDATABASE -1
  • Nuevo Registro
  • Generar nuevo registro, similar al seleccionado, donde:
    FH_TIPO = TIPO
    FH_INIVIGE = DDATABASE
    FH_FIMVIGE = FH_FIMVIGE del registro seleccionado (antes de actualizarlo)
  • Situación 5

FH_ INIVIGE = “”
FH_FIMVIGE = INFORMADA Y NO VIGENTE

Resultado
:

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde:
    FH_TIPO = TIPO
    FH_INIVIGE = DDATABASE
    FH_FIMVIGE = ””
  • Situación 6

FH_ INIVIGE = INFORMADA
FH_FIMVIGE = INFORMADA Y NO VIGENTE

Resultado
:

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde:
    FH_TIPO = TIPO
    FH_INIVIGE = DDATABASE
    FH_FIMVIGE = ””
  • Si no existe registro en SFH donde (FH_IMPOSTO=”IBR” y FH_ ZONFIS =”ME”)

Insertar registro SFH:

Campo

Contenido

FH_AGENTE

”N”

FH_FILIAL

A2_FILIAL

FH_FORNECE

A2_COD

FH_LOJA

A2_LOJA

FH_IMPOSTO

“IBR”

FH_PERCIBI

“N”

FH_ISENTO

“N”

FH_APERIB

”N”

FH_ ZONFIS

“ME”

FH_TIPO

TIPO

FH_INIVIGE

CTOD(“”)

FH_FIMVIGE

CTOD(“”)

 

2- Si no es Tasa cero y no es Riesgo  y no existe el registro CUIT en el padrón:

  • No Actualiza

3- Si es tasa cero (TASACERO = A – Aprobada)  y si existe el registro CUIT en el padrón:

  • Si no existe registro en SFH donde (FH_IMPOSTO=”IBR” y FH_ ZONFIS =”ME”) y (FH_FIMVIGE=”” o FH_FIMVIGE>Fecha de Proceso):

Insertar registro SFH:

Campo

Contenido

FH_AGENTE

”N”

FH_FILIAL

A2_FILIAL

FH_FORNECE

A2_COD

FH_LOJA

A2_LOJA

FH_IMPOSTO

“IBR”

FH_PERCIBI

“N”

FH_ISENTO

“N”

FH_APERIB

”N”

FH_ ZONFIS

“ME”

FH_TIPO

TIPO

FH_INIVIGE

CTOD(“”)

FH_FIMVIGE

CTOD(“”)

Insertar registro en CGF:

Campo

Contenido

CGF_FILIAL

FH_FILIAL

CGF_FORNECE

FH_FORNECE

CGF_LOJA

FH_LOJA

CGF_IMPOSTO

FH_IMPOSTO

CGF_ZONFIS

FH_ ZONFIS

CGF_CFO

CCP_VDESTI

CGF_CODACT

COD_ACT

CGF_PEREXE

100

CGF_INIVIGE

DDATABASE

CGF_FIMVIGE

CTOD(“”)

* CCP_VDESTI, donde CCP_VORIGE = COD_ACT (Informada en el archivo de padrón)

  • Si existe registro en SFH donde (FH_IMPOSTO=”IBR” y FH_ZONFIS=”ME”) y (FH_FIMVIGE=”” o FH_FIMVIGE>Fecha de Proceso):

Actualiza registro SFH:

Campo

Contenido

FH_TIPO

TIPO

Si no existe registro en CGF o CGF_FIMVIGE<=Fecha de proceso:

Insertar registro en CGF:

Campo

Contenido

CGF_FILIAL

FH_FILIAL

CGF_FORNECE

FH_FORNECE

CGF_LOJA

FH_LOJA

CGF_IMPOSTO

FH_IMPOSTO

CGF_ZONFIS

FH_ ZONFIS

CGF_CFO

CCP_VDESTI

CGF_CODACT

COD_ACT

CGF_PEREXE

100

CGF_INIVIGE

DDATABASE

CGF_FIMVIGE

CTOD(“”)

CGF_CODCLI

 

* CCP_VDESTI, donde CCP_VORIGE = COD_ACT (Informada en el archivo de padrón)

  • Si existe registro en SFH donde FH_IMPOSTO = ”IBR”, FH_ZONFIS=”ME”, FH_FIMVIGE>Fecha de Proceso y  FH_SITUACA = “2”

         Generar registro SFH, donde

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_CLIENTE

FH_CLIENTE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_ PERCIBI

FH_PERCIBI del registro actualizado

FH_ISENTO

FH_ISENTO del registro actualizado

FH_ APERIB

FH_APERIB del registro actualizado

FH_ZONFIS

FH_ZONFIS del registro actualizado

FH_SITUACA

“1”

FH_ALIQ

FH_ALIQ del registro actualizado

FH_PERCENT

FH_PERCENT del registro actualizado

FH_INIVIGE

FH_FIMVIGE del registro actualizado + 1 día

FH_FIMVIGE

“”

 

4- Si es riesgo (RIESGO = S – Si) y si existe el registro CUIT en el padrón: 

  • Si existe registro SFH donde (FH_IMPOSTO=”IBR” y FH_ ZONFIS =”ME” y (FH_FIMVIGE=”” o FH_FIMVIGE>Fecha de Proceso) y FH_SITUACA<>”2”):

Actualizar registro SFH:

Campo

Contenido

FH_TIPO

TIPO

FH_STUACA

”2”

FH_INIVIGE

FCH_INIR

FH_FIMVIGE

FCH_FINR

  • Si  FCH_FINR <> “” y si existe registro SFH donde (FH_IMPOSTO=”IBR” y FH_ ZONFIS =”ME” y FH_SITUACA=”2” y FH_FIMVIGE=””)

Actualizar registro SFH:

Campo

Contenido

FH_TIPO

TIPO

FH_FIMVIGE

FCH_FINR

E insertar registro SFH:

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_FILIAL

FH_FILIAL del registro actualizado

FH_FORNECE

FH_FORNECE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_PERCIBI

FH_PERCIBI

FH_ISENTO

FH_ISENTO del registro actualizado

FH_APERIB

FH_APERIB del registro actualizado

FH_ ZONFIS

FH_ ZONFIS  del registro actualizado

FH_TIPO

FH_TIPO del registro actualizado

FH_SITUACA

“”

FH_ALIQ

FH_ALIQ  del registro actualizado

FH_PERCENT

FH_PERCENT  del registro actualizado

FH_INIVIGE

“”

FH_FIMVIGE

“"

  • Si no existe registro SFH donde FH_IMPOSTO=”IBR” y FH_ ZONFIS =”ME” y FH_FIMVIGE=””

Insertar registro SFH:

Campo

Contenido

FH_AGENTE

”N”

FH_FILIAL

A2_FILIAL

FH_FORNECE

A2_COD

FH_LOJA

A2_LOJA

FH_IMPOSTO

“IBR”

FH_PERCIBI

“N”

FH_ISENTO

“N”

FH_APERIB

”N”

FH_ ZONFIS

“ME”

FH_TIPO

TIPO

FH_SITUACA

“2”

FH_ALIQ

0

FH_PERCENT

0

FH_INIVIGE

FCH_INIR

FH_FIMVIGE

FCH_FINR

  •  Si es riesgo (RIESGO = S – Si) y no existe el registro CUIT en el padrón: 

Si existe registro SFH donde FH_IMPOSTO=”IBR” y FH_ ZONFIS =”ME” y (FH_FIMVIGE=”” y FH_SITUACA=”2”):

Actualizar registro SFH:

Campo

Contenido

FH_TIPO

TIPO

FH_FIMVIGE

Fecha de Proceso - 1

E insertar registro SFH:

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_FILIAL

FH_FILIAL del registro actualizado

FH_FORNECE

FH_FORNECE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_PERCIBI

FH_PERCIBI

FH_ISENTO

FH_ISENTO del registro actualizado

FH_APERIB

FH_APERIB del registro actualizado

FH_ ZONFIS

FH_ ZONFIS  del registro actualizado

FH_TIPO

FH_TIPO del registro actualizado

FH_SITUACA

“”

FH_ALIQ

FH_ALIQ  del registro actualizado

FH_PERCENT

FH_PERCENT  del registro actualizado

FH_INIVIGE

“”

FH_FIMVIGE

“”

  • Si no es TASASCERO (es RIESGO) y existe registro en CGF donde CGF_FIMVIGE””

Actualizar registro CGF:

Campo

Contenido

CGF_FIMVIGE

Fecha de Proceso - 1

En referencia al requisito original, esto equivale a:

SI cib_marca=”S”, cib_tasacero=”N” y SI existe registro CGF, donde (XX_FIMVIGE=””

XX_FIMVIGE=(Fecha de Proceso – 1 día)

  • SI cib_marca=”N” y SI existe registro CGF, donde XX_FIMVIGE=””

XX_FIMVIGE=(Fecha de Proceso – 1 día)

Al final del proceso:

  • Actualizar el parámetro MV_RETMZFC con la fecha de proceso (ddatabase).
  • Dar aviso de si se realizaron o no actualizaciones 

Ordenes de Pago (OP)

Aquí se tendrá que buscar el registro de SFH (Ingresos Brutos), donde;

Prever la exención de la retención de ingresos brutos: Proveedor OP = FH_FORNECE y Loja OP = FH_LOJA y FH_IMPOSTO = “IBR” y FH_ ZONFIS = “ME” y (CGF_FIMVIGE = “” o CGF_FIMVIGE > Fecha Emisión de la OP ) y que el XX_CFO = (FF_CFO_C o FF_CFO_V), según corresponda, para no practicar la retención sobre dicho concepto fiscal.

Actualizar la alícuota:  Proveedor OP= FH_FORNECE y Loja OP = FH_LOJA y FH_IMPOSTO = “IBR” y FH_ ZONFIS = “ME” y (FH_FIMVIGE = “” o FH_FIMVIGE <= Fecha Emisión de la OP ):

Alícuota Retención = Alícuota Retención * 2

Consideraciones:

  • En una misma factura de compra pueden venir productos con varias actividades del proveedor; considerar que unas pueden ser exentas y otras no.
  • En pagos parciales se debe calcular de forma proporcional las actividades gravadas y exentas en la misma factura.
  • En Pagos Anticipados aplica retención al 100% ya que no hay referencia de actividades.

Percepciones (IBF)


Este es un proceso general, no por filial dado que la búsqueda y actualización se efectúa a nivel CUIT (Clave Única de Identificación Tributaria).
El proceso debe ejecutarse a partir del Padrón de CUITs activos en el sistema, esto es, procesar la tabla de proveedores:
Ejecutar un Query de la tabla de Proveedores (SA2) en donde se seleccionen los registros que cumplan estas condiciones:

  • Que el CUIT no esté vacío (A2_CGC <> ‘’)
  •  Que no estén eliminados (D_E_L_E_T_ = ‘’)
  • Todas las filiales
  • Ordenar por CUIT (A2_CGC)

Si se duplican los CUITS, se tomará un solo registro.

En base a los registros obtenidos del query de Proveedores, se busca el CUIT en la tabla temporal del Padrón. Se debe tener en cuenta que en el padrón puede existir más de un registro con el mismo CUIT (en este caso se deben procesar en forma secuencial, actualizando el mismo registro de SFH).

1- Clientes – Tipo

1- Si cib_origen = ”C” y cib_marca = ”S”, acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información

  • Situación 1

FH_ INIVIGE = “”

FH_ FIMVIGE = “” FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro

Generar nuevo registro similar al seleccionado, donde:

FH_TIPO = TIPO

FH_INIVIGE = DDATABASE

FH_FIMVIGE = ””

  • Situación 2

FH_ INIVIGE = “”

FH_FIMVIGE = INFORMADA y VIGENTE

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde:

FH_TIPO = TIPO

FH_INIVIGE = DDATABASE

FH_FIMVIGE = FH_FIMVIGE del registro seleccionado (antes de actualizarlo)

  • Situación 3

FH_ INIVIGE = INFORMADA

FH_FIMVIGE = “”

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde:

FH_TIPO = TIPO

FH_INIVIGE = DDATABASE

FH_FIMVIGE = ””

  • Situación 4

FH_ INIVIGE = INFORMADA

FH_FIMVIGE = INFORMADA y VIGENTE

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro
  • Generar nuevo registro, similar al seleccionado, donde: 
  • FH_TIPO = TIPO FH_INIVIGE = DDATABASE 
  • FH_FIMVIGE = FH_FIMVIGE del registro seleccionado (antes de actualizarlo)
  • Situación 5

FH_ INIVIGE = “”

FH_FIMVIGE = INFORMADA y NO VIGENTE

Resultado:

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde: 
  • FH_TIPO = TIPO 
  • FH_INIVIGE = DDATABASE 
  • FH_FIMVIGE = ””
  • Situación 6

FH_ INIVIGE = INFORMADA

FH_FIMVIGE = INFORMADA y NO VIGENTE

Resultado:

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde: 
  • FH_TIPO = TIPO 
  • FH_INIVIGE = DDATABASE 
  • FH_FIMVIGE = ””

Si no se cumplen las situaciones anteriores.

Campo

Contenido

FH_TIPO

CIB_TIPO

Si no encuentra el registro

  • Genera un registro en “SFH” para cada sucursal del cliente en proceso (SA1):

Campo

Contenido

FH_AGENTE

“N”

FH_CLIENTE

Según SA1

FH_LOJA

Según SA1

FH_IMPOSTO

“IBF”

FH_ PERCIBI

“S”

FH_ISENTO

“N”

FH_ APERIB

“N”

FH_ZONFIS

“ME”

FH_TIPO

CIB_TIPO

FH_INIVIGE

“”

FH_FIMVIGE

“”

2- Si cib_marca = ”N”

  • No actualiza

2- Proveedores – Tipo

1- Si cib_origen = ”P” y cib_marca = ”S”, acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información.

a) Si encuentra el registro fuera de vigencia o con Tipo diferente:

  • Situación 1

FH_ INIVIGE = “”
FH_ FIMVIGE = “”

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde: FH_TIPO = TIPO

FH_INIVIGE = DDATABASE

FH_FIMVIGE = ””

  • Situación 2

FH_ INIVIGE = “”

FH_FIMVIGE = INFORMADA y VIGENTE

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  •  Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde: 
    FH_TIPO = TIPO 
    FH_INIVIGE = DDATABASE
    FH_FIMVIGE = FH_FIMVIGE del registro seleccionado (antes de actualizarlo)
  • Situación 3

FH_ INIVIGE = INFORMADA

FH_FIMVIGE = “”

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado

FH_FIMVIGE = DDATABASE -1

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde: FH_TIPO = TIPO FH_INIVIGE = DDATABASE FH_FIMVIGE = ””
  • Situación 4

FH_ INIVIGE = INFORMADA

FH_FIMVIGE = INFORMADA y VIGENTE

FH_TIPO <> TIPO

Resultado:

  • Registro seleccionado 
    FH_FIMVIGE = DDATABASE -1
  •  Nuevo Registro
  • Generar nuevo registro, similar al seleccionado, donde: 

    FH_TIPO = TIPO 
    FH_INIVIGE = DDATABASE
    FH_FIMVIGE = FH_FIMVIGE del registro seleccionado (antes de actualizarlo)

  • Situación 5

FH_ INIVIGE = “”

FH_FIMVIGE = INFORMADA y NO VIGENTE

Resultado:

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde: 
  • FH_TIPO = TIPO 
  • FH_INIVIGE = DDATABASE
  •  FH_FIMVIGE = ””
  • Situación 6

FH_ INIVIGE = INFORMADA

FH_FIMVIGE = INFORMADA y NO VIGENTE

Resultado:

  • Nuevo Registro
  • Generar nuevo registro similar al seleccionado, donde: 

FH_TIPO = TIPO 

FH_INIVIGE = DDATABASE 

FH_FIMVIGE = ””

Si no se cumplen las situaciones anteriores.

Campo

Contenido

FH_TIPO

CIB_TIPO

b) Si no encuentra el registro

Genera un registro en “SFH” para cada sucursal del proveedor en proceso (SA2):

Campo

Contenido

FH_AGENTE

“N”

FH_FORNECE

Según SA2

FH_LOJA

Según SA2

FH_IMPOSTO

“IBF”

FH_ PERCIBI

“S”

FH_ISENTO

“N”

FH_ APERIB

“N”

FH_ZONFIS

“ME”

FH_TIPO

CIB_TIPO

FH_INIVIGE

“”

FH_FIMVIGE

“”

  • Si cib_marca = ”N”

No actualiza

3- Tasa Cero – Clientes

1- Si cib_origen = ”C”, cib_marca = ”S” y cib_tasacero=”S” acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF” y (FH_FIMVIGE = “” o FH_FIMVIGE>Fecha de Proceso), y no exista un registro.

  • Genera un registro en “SFH” para cada sucursal del cliente en proceso (SA1):

Campo

Contenido

FH_AGENTE

“N”

FH_CLIENTE

Según SA1

FH_LOJA

Según SA1

FH_IMPOSTO

“IBF”

FH_ PERCIBI

“N”

FH_ISENTO

“N”

FH_ APERIB

“N”

FH_ZONFIS

“ME”

FH_TIPO

CIB_TIPO

FH_INIVIGE

“”

FH_FIMVIGE

“”

  • Genera un registro CGF para cada sucursal del cliente en proceso (SA1)

Campo

Contenido

CGF_COD

 

CGF_LOJA

FH_LOJA

CGF_IMPOSTO

FH_IMPOSTO

CGF_ZONFIS

FH_ZONFIS

CGF_CFO

CCP_VDESTI

CGF_CODACT

Código Actividad

CGF_PEREXEN

“100”

CGF_INIVIGE

DDATABASE

CGF_FIMVIGE

CTOD(“”)

CGF_CODCLI

FH_CLIENTE

2- Si cib_origen = ”C”, cib_marca = ”S” y cib_tasacero=”S” acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF” y (FH_FIMVIGE = “” o FH_FIMVIGE>Fecha de Proceso), si existe registro:

a) Si no posee registro CGF o (CGF_FIMVIGE <= Fecha de Proceso)

  • Genera un registro CGF para cada sucursal del cliente en proceso (SA1)

Campo

Contenido

CGF_COD

 

CGF_LOJA

FH_LOJA

CGF_IMPOSTO

FH_IMPOSTO

CGF_ZONFIS

FH_ZONFIS

CGF_CFO

CCP_VDESTI

CGF_CODACT

COD_ACT

CGF_PEREXEN

“100”

CGF_INIVIGE

DDATABASE

CGF_FIMVIGE

CTOD(“”)

CGF_CODCLI

FH_CLIENTE

b) Si posee registro CGF, donde (CGF_FIMVIGE > Fecha de Proceso)

  • No actualiza

3- Si cib_origen = ”C”, cib_marca = ”S” y cib_tasacero=”S” acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF”, FH_FIMVIGE>Fecha de Proceso y FH_SITUACA = “2”, si existe registro:

Generar registro SFH, donde

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_CLIENTE

FH_CLIENTE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_ PERCIBI

FH_PERCIBI del registro actualizado

FH_ISENTO

FH_ISENTO del registro actualizado

FH_ APERIB

FH_APERIB del registro actualizado

FH_ZONFIS

FH_ZONFIS del registro actualizado

FH_SITUACA

“1”

FH_ALIQ

FH_ALIQ del registro actualizado

FH_PERCENT

FH_PERCENT del registro actualizado

FH_INIVIGE

FH_FIMVIGE del registro actualizado + 1 día

FH_FIMVIGE

“”

4- Si cib_origen = ”C”, cib_marca = ”S” y cib_tasacero=”N”, si existe registro CGF, donde CGF_FIMVIGE = “”

  • Actualiza registro

Campo

Contenido

CGF_FIMVIGE

Fecha de proceso – 1 día

5- Si cib_origen = “C” y cib_marca = “N”, si existe registro CGF, dónde CGF_FIMVIGE = ””

  • Actualiza registro

Campo

Contenido

CGF_FIMVIGE

Fecha de proceso – 1 día

4- Tasa Cero – Proveedores

1- Si cib_origen = ”E”, cib_marca = ”S” y cib_tasacero=”S” acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO = ”IBF” y (FH_fimvige = “” o FH_FIMVIGE>Fecha de Proceso), seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información y no exista un registro.

  • Genera un registro en “SFH” para cada sucursal del proveedor en proceso (SA2):

Campo

Contenido

FH_AGENTE

“N”

FH_FORNECE

Según SA2

FH_LOJA

Según SA2

FH_IMPOSTO

“IBF”

FH_ PERCIBI

“N”

FH_ISENTO

“N”

FH_ APERIB

“N”

FH_ZONFIS

“ME”

FH_TIPO

CIB_TIPO

FH_INIVIGE

“”

FH_FIMVIGE

“”

  • Genera un registro CGF para cada sucursal del proveedor en proceso (SA1)

Campo

Contenido

CGF_COD

FH_FORNECE

CGF_LOJA

FH_LOJA

CGF_IMPOSTO

FH_IMPOSTO

CGF_ZONFIS

FH_ZONFIS

CGF_CFO

CCP_VDESTI

CGF_CODACT

Código Actividad

CGF_PEREXEN

“100”

CGF_INIVIGE

DDATABASE

CGF_FIMVIGE

CTOD(“”)

CGF_CODCLI

 

2- Si cib_origen = ”E”, cib_marca = ”S” y cib_tasacero=”S” acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO = ”IBF” y (FH_FIMVIGE = “” o FH_FIMVIGE>Fecha de Proceso), si existe registro:

a) Si no posee registro CGF o (CGF_FIMVIGE <= Fecha de Proceso)

  • Genera un registro CGF para cada sucursal del proveedor en proceso (SA2)

Campo

Contenido

CGF_COD

FH_FORNECE

CGF_LOJA

FH_LOJA

CGF_IMPOSTO

FH_IMPOSTO

CGF_ZONFIS

FH_ZONFIS

CGF_CFO

CCP_VDESTI

CGF_CODACT

Código Actividad

CGF_PEREXEN

“100”

CGF_INIVIGE

DDATABASE

CGF_FIMVIGE

CTOD(“”)

CGF_CODCLI

 

b) Si posee registro CGF, donde (CGF_FIMVIGE > Fecha de Proceso)

  • No actualiza

3- Si cib_origen = ”E”, cib_marca = ”S” y cib_tasacero=”S” acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO = ”IBF”, FH_FIMVIGE>Fecha de Proceso y FH_SITUACA = “2”, si existe registro:

  • Generar registro SFH, donde

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_CLIENTE

FH_CLIENTE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_ PERCIBI

FH_PERCIBI del registro actualizado

FH_ISENTO

FH_ISENTO del registro actualizado

FH_ APERIB

FH_APERIB del registro actualizado

FH_ZONFIS

FH_ZONFIS del registro actualizado

FH_SITUACA

“1”

FH_ALIQ

FH_ALIQ del registro actualizado

FH_PERCENT

FH_PERCENT del registro actualizado

FH_INIVIGE

FH_FIMVIGE del registro actualizado + 1 día

FH_FIMVIGE

“”

4- Si cib_origen = ”E”, cib_marca = ”S” y cib_tasacero=”N”, si existe registro CGF, donde CGF_FIMVIGE = “”

  • Actualiza registro

Campo

Contenido

CGF_FIMVIGE

Feche de proceso – 1 día

5-Si cib_origen = “E” y cib_marca = “N”, si existe registro CGF, dónde CGF_FIMVIGE = ””

  • Actualiza registro

Campo

Contenido

CGF_FIMVIGE

Feche de proceso – 1 día

5- Riesgo Fiscal – Clientes

1- Si cib_origen = ”C”, cib_marca = ”S”, cib_riesgo=”S” acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF” y (FH_FIMVIGE = “” o FH_FIMVIGE>Fecha de Proceso) y FH_SITUACA <> “2”

  • Si existe registro actualizar

Campo

Contenido

FH_SITUACA

2

FH_INIVIGE

FCH_INIR

FH_FIMVIGE

FCH_FINR

2- Si cib_origen = ”C”, cib_marca = ”S”, cib_riesgo=”S” y FCH_FINR <>NULL acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF, FH_SITUACA = “2” y FH_FIMVIGE=””

  • Si existe registro actualizar

Campo

Contenido

FH_FIMVIGE

FCH_FINR

  • Generar registro SFH, donde

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_CLIENTE

FH_CLIENTE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_ PERCIBI

FH_PERCIBI del registro actualizado

FH_ISENTO

FH_ISENTO del registro actualizado

FH_ APERIB

FH_APERIB del registro actualizado

FH_ZONFIS

FH_ZONFIS del registro actualizado

FH_SITUACA

“”

FH_ALIQ

FH_ALIQ del registro actualizado

FH_PERCENT

FH_PERCENT del registro actualizado

FH_INIVIGE

“”

FH_FIMVIGE

“”

3- Si cib_origen = ”C”, cib_marca = ”S” y cib_riesgo=”S” acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF” y FH_FIMVIGE = “” y no existe un registro

  • Genera un registro en “SFH” para cada sucursal del cliente en proceso (SA1):

Campo

Contenido

FH_AGENTE

“N”

FH_CLIENTE

Según SA1

FH_LOJA

Según SA1

FH_IMPOSTO

“IBF”

FH_ PERCIBI

“N”

FH_ISENTO

“N”

FH_ APERIB

“N”

FH_ZONFIS

“ME”

FH_SITUACA

“2”

FH_ALIQ

“”

FH_PERCENT

“0”

FH_INIVIGE

FCH_INIR

FH_FIMVIGE

FCH_FINR

4- Si cib_origen = ”C”, cib_marca = ”N” acceder a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO = ”IBF”, FH_FIMVIGE = “” y FH_SITUACA = “2”

  • Si existe registro actualizar

Campo

Contenido

FH_FIMVIGE

Fecha de Proceso – 1 día

  • Generar registro SFH, donde

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_CLIENTE

FH_CLIENTE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_ PERCIBI

FH_PERCIBI del registro actualizado

FH_ISENTO

FH_ISENTO del registro actualizado

FH_ APERIB

FH_APERIB del registro actualizado

FH_ZONFIS

FH_ZONFIS del registro actualizado

FH_SITUACA

“”

FH_ALIQ

FH_ALIQ del registro actualizado

FH_PERCENT

FH_PERCENT del registro actualizado

FH_INIVIGE

“”

FH_FIMVIGE

“”

6- Riesgo Fiscal – Proveedores

1- Si cib_origen = ”E”, cib_marca = ”S”, cib_riesgo=”S” acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO = ”IBF” y (FH_FIMVIGE = “” o FH_FIMVIGE>Fecha de Proceso) y FH_SITUACA <> “2”

  • Si existe registro actualizar

Campo

Contenido

FH_SITUACA

2

FH_INIVIGE

FCH_INIR

FH_FIMVIGE

FCH_FINR

2- Si cib_origen = ”E”, cib_marca = ”S”, cib_riesgo=”S” y FCH_FINR <>NULL acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO = ”IBF, FH_SITUACA = “2” y FH_FIMVIGE=””

  • Si existe registro actualizar

Campo

Contenido

FH_FIMVIGE

FCH_FINR

  • Generar registro SFH, donde

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_FORNECE

FH_FORNECE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_ PERCIBI

FH_PERCIBI del registro actualizado

FH_ISENTO

FH_ISENTO del registro actualizado

FH_ APERIB

FH_APERIB del registro actualizado

FH_ZONFIS

FH_ZONFIS del registro actualizado

FH_SITUACA

“”

FH_ALIQ

FH_ALIQ del registro actualizado

FH_PERCENT

FH_PERCENT del registro actualizado

FH_INIVIGE

“”

FH_FIMVIGE

“”

3- Si cib_origen = ”E”, cib_marca = ”S” y cib_riesgo=”S” acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO = ”IBF” y FH_FIMVIGE = “” y no existe registro

  • Genera un registro en “SFH” para cada sucursal del proveedor en proceso (SA1):

Campo

Contenido

FH_AGENTE

“N”

FH_FORNECE

Según SA2

FH_LOJA

Según SA2

FH_IMPOSTO

“IBF”

FH_ PERCIBI

“N”

FH_ISENTO

“N”

FH_ APERIB

“N”

FH_ZONFIS

“ME”

FH_SITUACA

“2”

FH_ALIQ

“”

FH_PERCENT

“0”

FH_INIVIGE

FCH_INIR

FH_FIMVIGE

FCH_FINR

4- Si cib_origen = ”E”, cib_marca = ”N” acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO = ”IBF”, FH_FIMVIGE = “” y FH_SITUACA = “2”

  • Si existe registro actualizar

Campo

Contenido

FH_FIMVIGE

Fecha de Proceso – 1 día

Generar registro SFH, donde

Campo

Contenido

FH_AGENTE

FH_AGENTE del registro actualizado

FH_FORNECE

FH_FORNECE del registro actualizado

FH_LOJA

FH_LOJA del registro actualizado

FH_IMPOSTO

FH_IMPOSTO del registro actualizado

FH_ PERCIBI

FH_PERCIBI del registro actualizado

FH_ISENTO

FH_ISENTO del registro actualizado

FH_ APERIB

FH_APERIB del registro actualizado

FH_ZONFIS

FH_ZONFIS del registro actualizado

FH_SITUACA

“”

FH_ALIQ

FH_ALIQ del registro actualizado

FH_PERCENT

FH_PERCENT del registro actualizado

FH_INIVIGE

“”

FH_FIMVIGE

“”

Al final del proceso:

  • Actualizar el parámetro MV_RETMZFC con la fecha de proceso (ddatabase).
  • Dar aviso de si se realizaron o no actualizaciones 

Percepción de Ingresos Brutos


Rutina ImpGener (afectando mata465n, mata467n, mata468n, mata101 y mata466n)


Si hay un registro vigente dónde FH_IMPOSTO =”IBF”, (CGF_INIVIGE = “” o CGF_INIVIGE <= Fecha de emisión del Comprobante de Entrada/Salida) y (CGF_FIMVIGE = “” o CGF_FIMVIGE => Fecha de emisión del Comprobante de Entrada/Salida).

  • El acceso a la tablas SFF debe verificar además que CGF_CFO = (FF_CFO_C - Entrada o FF_CFO_V - Salida) para no practicar la percepción de IIBB sobre dicho concepto fiscal.

Si hay un registro vigente dónde FH_IMPOSTO = “IBF”, FH_SITUACA =”2”, (FH_INIVIGE = “” o FH_INIVIGE <= Fecha de emisión del Comprobante de Entrada/Salida) y (FH_FIMVIGE = “” o FH_FIMVIGE => Fecha de emisión del Comprobante de Entrada/Salida).

  • Alícuota Percepción = Alícuota Percepción * CCO_CRFPER (Cuando CCO_CRFPER <> “0”).


Ejemplo:
Alícuota seleccionada = 2.5
CCO_CRFPER = 10.00%
Alícuota a aplicar = 2.5 * (1+CCO_CRFPER)
= 2.5 * 10 %
= 2.75

Diccionario de Datos

 No aplica

Grupo de Preguntas

No aplica

Consulta Estándar

No aplica

Este documento es un material de especificación de los requisitos de innovación. Se trata de un contenido sumamente técnico.