ÍNDICE

  1. Visión general.
  2. Ejemplo de utilización.
    1. Configuraciones previas.
    2. Plantilla txt.
    3. Flujo de prueba.
  3. Regla de negocio.
  4. Tablas.
  5. Versiones.

01. VISIÓN GENERAL 

Se modifico la rutina  FISA067.PRW  para la opción "RES 816-14 - PADRON ALICUOTAS DIFERENCIALES y OTROS".

El patch contiene la rutina:

  • FISA067.PRW – "Exencion de Per. Y Ret. lib".
  • FISA818.PRW – Clase de lectura.

 02. EJEMPLO DE UTILIZACIÓN


Configuraciones previas


  1. El archivo que se importará debe tener el formato de separador por punto y coma, únicamente se aceptan archivos con este formato.

    1. El archivo no se procesará si no coinciden las fechas del txt con las fechas informadas en el parámetro. (mismo mes y mismo año).
  2. En el programa de Proveedores que puede encontrar en el menú del módulo Compras (Actualizaciones | archivos). Debe de contar con registros de proveedores configurados con el Cuit indicado en el padrón.

  3. En el programa de Clientes que puede encontrar en el menú del módulo Compras (Actualizaciones | archivos). Debe de contar con registros de clientes configurados con el Cuit indicado en el padrón.

  4. De acuerdo al caso a verificar(siempre y cuando sea necesario) si existen registros en “Empr vs Z. Fiscal” (Libros Fiscales | Miscelanea | Arch. Magneticos | Exencion de Per. Y Ret. lib)  para el impuesto de retención IBR o el impuesto de percepción IBP.


Plantilla txt

Para poder llevar a cabo una correcta importación de los registros dentro del archivo de texto es de suma importancia tener en consideración, la siguiente estructura para los datos:


CAMPOLONGITUDTIPODESDEHASTAFORMATODESCRIPCIÓN / CONTENIDO
Fecha de publicación8N18DDMMAAAA1062014
Separador1A99

Fecha Vigencia Desde8N1017DDMMAAAA2062014
Separador1A1818

Fecha Vigencia  Hasta8N1926DDMMAAAA31082014
Separador1A2727

Número de Cuit11N283899999999999Cuit del Contribuyente
Separador1A3939

Tipo-Contr_Insc1A4040C' o 'D'D' (Directo C.A.B.A.) O  'C' (CONVENIO)
Separador1A4141

Marca-alta sujeto1A4242S o N o BS' (el sujeto se incorporó al Padrón)
Separador1A4343

Marca-alícuota1A4444S o N o BN' (*)
Separador1A4545

Alícuota- Percepción4A46499,990
Separador1A5050

Alícuota- Retención4A51549,990
Separador1A5555

Nro-Grupo- Percepción2N56570Deberá estar en ceros
Separador1A5858

Nro-Grupo- Retención2N59600Deberá estar en ceros
Separador1A6161

Razón Social60A62121
Razón Social del  Contribuyente


Flujo de Prueba:

  1. En el programa Exención de Percepción y Retención IIBB (FISA067) que puede encontrar en el menú de Libros Fiscales (Misceláneas | Archivos magnéticos) cargaremos el padrón.
    1. Seleccionamos la opción 1 – Padrones Alícuotas Diferencias y Otros.
    2. En el apartado de la Información Preliminar seleccionamos 1- Proveedor o 2 – Cliente, e informamos el periodo correspondiente al padrón que utilizaremos.
    3. En la ventana emergente seleccionamos la ruta de donde será cargado el Padrón .TXT.
  2. El sistema comenzará a cargar la información que tiene el Padrón. Al finalizar envía el mensaje: “¡Archivo Importado!”.
  3. Mediante el programa Empresa Vs Zona Fiscal (MATA999) que se encuentra ubicado en el módulo de Libros Fiscales (Actualizaciones | Archivos) verificar la actualización de Clientes y Proveedores de acuerdo a la normativa RES 816-14 - PADRON ALICUOTAS DIFERENCIALES y OTROS, para los impuestos: IBPIBR.

03. REGLA DE NEGOCIO

SFH CAMPOS:

Nombre

Campo

AgenteFH_AGENTE
Cliente FH_CLIENTE
TipoFH_TIPO
Sucursal FH_LOJA
Paga IBFH_APERIB
Paga imp.FH_PERCIBI
Zona FiscalFH_ZONAFIS
ImpuestoFH_IMPOSTO
Alícuota FH_ALIQ
Ini. VigenciaFH_INIVIGE
Fin Vigencia 

FH_FIMVIGE

% ExcenciónFH_PERCENT
Exento FH_ISENTO

 -cib_origen= CUIT padrón
- cib_desde= Fecha vigencia desde padrón
- cib_hasta=  Fecha vigencia hasta padrón
- cib_tipcon=Si Tipo-contr.-insc.="D" o "I"

                                                sino à “V”
- cib_aliper= Alícuota-percepción (*)
- cib=aliret=Alícuota-retención
- cib_marca=Si existe en padrón


ALÍCUOTA DE PERCEPCIÓN=”0”

PERCEPCIÓN A CLIENTES 

Para determinar la actualización de la tabla SFH, se debe buscar si el CUIT existe en el “Padrón”(Archivo a cargar)

Si es cliente y existe en el padrón, acceder a la tabla “SFH” para el cliente indicado, donde impuesto (FH_IMPOSTO) igual a IBP, seleccionando el registro de mayor fin de vigencia( FH_FIMVIGE) o dicha fecha no posea información:

  • Si encuentra el registro y


a)Si coincide la alícuota y FH_PERCENT=”100” 


Actualiza Fecha fin de vigencia (FH_FIMVIGE) igual a la fecha de vigencia hasta (Padrón)
Si situacion (FH_SITUACA) igual  a  “1” o “2” entonces  actualiza igual  a ”5” 


b)Si (no coincide la alícuota o FH_PERCENT<>”100”) y FH_FIMVIGE < cib_hasta o FH_FIMVIGE=””

Genera un nuevo registro “SFH” tomando como base los datos del registro encontrado, actualizando: 


FH_ALIQ=cib_aliper 
FH_PERCENT=”100” 

FH_PERCIBI=”N” 
FH_APERIB=”N” 

FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta 
FH_ISENTO=”N”

FH_SITUACA=“5” 


c)Si (no coincide la alícuota o FH_PERCENT<> “100”) y FH_FIMVIGE = cib_hasta,

actualiza: 

Si situacion (FH_SITUACA) igual  a  “1” o “2” entonces  actualiza igual  a ”5”

FH_ALIQ=cib_aliper 
FH_PERCENT=”100” 

FH_PERCIBI=”N” 
FH_APERIB=”N” 

FH_ISENTO=”N”


  • Si cib_marca=“S” y NO posee registro SFH donde FH_IMPOSTO=”IBP” y (FH_ISENTO=”S” o FH_PERCENT=”100”, donde FH_FIMVIGE=””) 

Genera registro SFH, donde: 


FH_AGENTE = “N” 

FH_CLIENTE = Según SA1 

FH_LOJA =   Según SA1 

FH_IMPOSTO = IBP” 

FH_PERCIBI = “N” 

FH_ISENTO = “N” 

FH_APERIB=”N” 

FH_ZONAFIS=”CF” 
FH_SITUACA=“5” 
FH_TIPO=cib_tipcon 

FH_PERCENT=”100” 

FH_INIVIGE=”cib_desde” 

FH_FIMVIGE=”cib_hasta” 


 

  • Si cib_marca=”N” y SI posee registro SFH donde FH_IMPOSTO=”IBP” y (FH_ISENTO=”S” o FH_PERCENT=”100”, donde FH_FIMVIGE=””) 

FH_FIMVIGE=cib_hasta


PERCEPCIÓN A PROVEEDORES

Si el CUIT de la empresa se encuentra en el padrón (archivo txt a importar), realiza la búsqueda en “SFH" para el proveedor indicado, donde FH_IMPOSTO=”IBP”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información:


  • Si encuentra el registro y 


a)Si coincide la alícuota y FH_PERCENT=”100” 

Actualiza Fecha fin de vigencia (FH_FIMVIGE) igual a la fecha de vigencia hasta (Padrón)
Si situacion (FH_SITUACA) igual  a  “1” o “2” entonces  actualiza igual  a ”5” 


b)Si (no coincide la alícuota o FH_PERCENT<> “100”) y FH_FIMVIGE < cib_hasta o FH_FIMVIGE=””

Genera un nuevo registro “SFH” tomando como base los datos del registro encontrado, actualizando: 
FH_ALIQ=cib_aliper 
FH_PERCENT=”100” 

FH_PERCIBI=”N” 
FH_APERIB=”N” 

FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta 
FH_ISENTO=”N” 

FH_SITUACA=“5” 


c)Si (no coincide la alícuota o FH_PERCENT<>”100”) y FH_FIMVIGE = cib_hasta, actualiza: 


Si FH_SITUACA=“1” o FH_SITUACA=“2” à FH_SITUACA=”5” 

FH_ALIQ=cib_aliper 
FH_PERCENT=”100” 

FH_PERCIBI=”N” 
FH_APERIB=”N” 

FH_ISENTO=”N” 


  • Si cib_marca=”S”y NO posee registro SFH donde FH_IMPOSTO=”IBP”


continúa sin actualizar ni generar registro alguno


  • Si cib_marca=”N” y SI posee registro SFH donde FH_IMPOSTO=”IBP” y (FH_ISENTO=”S” o FH_PERCENT=”100" donde FH_FIMVIGE=”) 

FH_FIMVIGE=cib_hasta


ALÍCUOTA DE RETENCIÓN=”0”

RETENCIONES A PROVEEDORES

Si cib_origen=”P” y cib_marca=”S”, acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO=”IBR” y FH_ZONAFIS=”CF”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información 

  • Si encuentra el registro y


a)Si coincide la alícuota y FH_PERCENT=”100” 

Actualiza Fecha fin de vigencia (FH_FIMVIGE) igual a la fecha de vigencia hasta (Padrón)
Si situacion (FH_SITUACA) igual  a  “1” o “2” entonces  actualiza igual  a ”5” 


b)Si (no coincide la alícuota o FH_PERCENT<> “100”) y FH_FIMVIGE < cib_hasta o FH_FIMVIGE=””

Genera un nuevo registro “SFH” tomando como base los datos del registro encontrado, actualizando: 
FH_ALIQ=cib_aliper 
FH_PERCENT=”100” 

FH_PERCIBI=”N” 
FH_APERIB=”N” 

FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta 
FH_ISENTO=”N” 

FH_SITUACA=“5” 


c)Si (no coincide la alícuota o FH_PERCENT<>”100”) y FH_FIMVIGE = cib_hasta, actualiza: 


Si FH_SITUACA=“1” o FH_SITUACA=“2” à FH_SITUACA=”5” 

FH_ALIQ=cib_aliper 
FH_PERCENT=”100” 

FH_PERCIBI=”N” 
FH_APERIB=”N” 

FH_ISENTO=”N” 


  • Si cib_marca=”S”y NO posee registro SFH donde FH_IMPOSTO=”IBR”  FH_ZONAFIS=”CF” y (FH_ISENTO=”S” o FH_PERCENT=”100”, donde FH_FIMVIGE=”) 

Genera registro SFH, donde: 

FH_AGENTE=”N” 
FH_FORNECE = Según SA2 

FH_LOJA =   Según SA2 

FH_IMPOSTO = IBR” 

FH_PERCIBI = “N” 

FH_ISENTO = “N” 

FH_SITUACA=“5” 

FH_APERIB=”N” 

FH_ZONAFIS=”CF” 
FH_TIPO= cib_tipcon 
FH_PERCENT=”100” 

FH_INIVIGE=”cib_desde” 

FH_FIMVIGE=”cib_hasta” 


  • Si cib_marca=”N” y SI posee registro SFH donde FH_IMPOSTO=”IBR”, FH_ZONAFIS=”CF” y (FH_ISENTO=”S” o FH_PERCENT=”100”) 

FH_FIMVIGE=cib_hasta 


ALÍCUOTA DE PERCEPCIÓN <>”0”

PERCEPCIÓN A CLIENTES 

Para determinar la actualización de la tabla SFH, se debe buscar si el CUIT existe en el “Padrón”(Archivo a cargar)

Si es cliente y existe en el padrón, acceder a la tabla “SFH” para el cliente indicado, donde impuesto (FH_IMPOSTO) igual a IBP, seleccionando el registro de mayor fin de vigencia( FH_FIMVIGE) o dicha fecha no posea información:

  • Si encuentra el registro y


a)Si coincide la alícuota y FH_PERCENT=”100” 


Actualiza Fecha fin de vigencia (FH_FIMVIGE) igual a la fecha de vigencia hasta (Padrón)
Si situacion (FH_SITUACA) igual  a  “1” o “2” entonces  actualiza igual  a ”5” 


b)Si (no coincide la alícuota o FH_PERCENT<>”100”) y FH_FIMVIGE < cib_hasta o FH_FIMVIGE=””

Genera un nuevo registro “SFH” tomando como base los datos del registro encontrado, actualizando: 


FH_ALIQ=cib_aliper 
FH_PERCENT=”100” 

FH_PERCIBI=”N” 
FH_APERIB=”N” 

FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta 
FH_ISENTO=”N”

FH_SITUACA=“5” 


c)Si (no coincide la alícuota o FH_PERCENT<> “100”) y FH_FIMVIGE = cib_hasta

Actualiza: 
Si situacion (FH_SITUACA) igual  a  “1” o “2” entonces  actualiza igual  a ”5”

FH_ALIQ=cib_aliper 

FH_PERCENT=”0” 

FH_PERCIBI=”S” 
FH_APERIB=”S” 

FH_ISENTO=”N”


  • Si NO posee registro SFH

Genera registro SFH, donde: 

FH_CLIENTE=cib_clipro 
FH_TIPO= cib_tipcon 
FH_LOJA =Según SA1
FH_PERCIBI=“S” 

FH_ZONAFIS=”CF” 
FH_IMPOSTO=”IBP” 
FH_ALIQ=cib_aliper, 
FH_PERCENT=”0” 

FH_PERCIBI=”S” 

FH_SITUACA=”5” 
FH_APERIB=”S” 

FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta 
FH_ISENTO=”N”



 

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

a)Si encuentra el registro y el mismo está vigente (FH_FIMVIGE => cib_desde): 

FH_FIMVIGE=clb_hasta 


b)Si NO encuentra el registro o el mismo no está vigente (FH_FIMVIGE < cib_desde): 
continúa sin actualizar ni generar registro alguno

PERCEPCIÓN A PROVEEDORES

Si el CUIT de la empresa se encuentra en el padrón (archivo txt a importar), realiza la búsqueda en “SFH" para el proveedor indicado, donde FH_IMPOSTO=”IBP”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información:


  • Si encuentra el registro y:

a)Si coincide la alícuota 


Actualiza Fecha fin de vigencia (FH_FIMVIGE) igual a la fecha de vigencia hasta (Padrón)

Si situacion (FH_SITUACA) igual  a  “1” o “2” entonces  actualiza igual  a ”5” 


b)Si no coincide la alícuota y FH_FIMVIGE < cib_hasta o FH_FIMVIGE=”” à genera un nuevo registro “SFH” tomando como base los datos del registro encontrado, actualizando: 
FH_ALIQ=cib_aliper 

FH_PERCENT=”0” 
FH_PERCIBI=”S” 
FH_APERIB=”S” 

FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta 
FH_ISENTO=”N” 
FH_SITUACA=“5” 

 c)Si no coincide la alícuota y FH_FIMVIGE = cib_hasta, actualiza: 
Si FH_SITUACA=“1” o FH_SITUACA=“2” à FH_SITUACA=”5” 
FH_ALIQ=cib_aliper 

FH_PERCENT=”0” 

FH_PERCIBI=”S” 
FH_APERIB=”S” 

FH_ISENTO=”N”

  • Si NO encuentra el registro 
    continúa sin actualizar ni generar registro alguno


  • Si cib_origen=”E” y cib_marca=”N”, acceder a la tabla “SFH”, para el proveedor indicado, donde FH_IMPOSTO=”IBP”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información 

Si encuentra el registro y:

a)Si el mismo está vigente, actualiza: 

FH_FIMVIGE=cib_desde 

 

b)Si NO encuentra el registro o el mismo no está vigente (FH_FIMVIGE < cib_desde): 
continúa sin actualizar ni generar registro alguno 


ALÍCUOTA DE RETENCIÓN <>”0”

RETENCIONES A PROVEEDORES

Si cib_origen=”P” y cib_marca=”S”, acceder a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO=”IBR” y FH_ZONAFIS=”CF”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información 

Si encuentra el registro y:


a)Si coincide la alícuota 
Actualiza FH_FIMVIGE=cib_hasta 

Si FH_SITUACA=“1” o FH_SITUACA=“2” à FH_SITUACA=”5”

b)Si no coincide la alícuota y FH_FIMVIGE < cib_hasta o FH_FIMVIGE=”” 

Genera un nuevo registro “SFH” tomando como base los datos del registro encontrado,

actualizando: 


FH_ALIQ=cib_aliret 
FH_PERCENT=”0” 
FH_PERCIBI=”N” 
FH_APERIB=”N” 
FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta  

FH_ISENTO=”N” 

FH_SITUACA= “5” 

c)Si no coincide la alícuota y FH_FIMVIGE = cib_hasta, actualiza: 
Si FH_SITUACA=“1” o FH_SITUACA=“2” à FH_SITUACA=”5” 

FH_ALIQ=cib_aliret 

FH_PERCENT=”0” 
FH_PERCIBI=”N” 
FH_APERIB=”N” 
FH_ISENTO=”N”

 

  • Si NO encuentra el registro 


Genera un registro “SFH” por sucursal (SA2), actualizando: 
FH_FORNECE=cib_clipro 
FH_TIPO= cib_tipcon 
FH_LOJA =Según SA2 
FH_PERCIBI=“N” 
FH_APERIB=”N” 

FH_ZONAFIS=”CF” 
FH_IMPOSTO=”IBR” 
FH_ALIQ=cib_aliret, 
FH_INVIGE=cib_desde 
FH_FIMVIGE=cib_hasta 
FH_ISENTO=”N”


  • Si cib_origen=”P” y cib_marca=”N”, acceder a la tabla “SFH”, para el proveedor indicado, donde FH_IMPOSTO=”IBR” y FH_ZONAFIS=”CF”, seleccionando el registro de mayor FH_FIMVIGE o dicha fecha no posea información 

a)Si encuentra el registro y el mismo está vigente, actualiza: 

FH_FIMVIGE=clb_hasta 

 b)Si NO encuentra el registro o el mismo no está vigente (FH_FIMVIGE < cib_desde): 
OK à continúa sin actualizar ni generar registro alguno

04. TABLAS UTILIZADAS


SA1Clientes
SA2Proveedores
SFHEmpresa Vs Zona fiscal


05. Versiones

  • 12.1.17 
  • 12.1.23
  • 12.1.25