01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||
---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||
Segmento: | Backoffice | ||||
Módulo: | SIGAFIS - Libros fiscales | ||||
Función: |
| ||||
Ticket: | 6468378 | ||||
Requisito/Story/Issue (informe el requisito vinculado): | DMICNS-6684 |
02. SITUACIÓN/REQUISITO
Se solicitó el desarrollo para cumplir con la Resolución general A.P.I. 22_18 (Pcia. de Santa Fe. Se adjunta la especificación, OCT y archivo CnrtVigentes_20190722_1905.csv (padrón).
La rutina importa el archivo CSV de Santa Fe para que actualice la tabla SFH, creando o actualizando registros en la tabla.
03. SOLUCIÓN
Se realizó la implementación de la funcionalidad de acuerdo con la especificación para la rutina de importar el archivo CSV de la provincia de Santa Fe - Argentina para actualizar o crear registros en la tabla de empresa vs. Zona fiscal (SFH).
Se creó la rutina RG 12-18 – Santa Fe (FISA835).
Es necesario descargar e aplicar el paquete, después de eso, incluya la rutina en el menú del módulo.
Aplique el paquete de esta solución e incluya la rutina RG 12-18 – Santa Fe (FISA835) por el Módulo Configurador (Entorno | Archivos | Menús)
En el sistema registre Clientes (SA1) que tengan CUITS que estén y no estén en el archivo que se importará.
En el sistema registre Proveedores (SA2) que tengan CUITS que estén y no estén en el archivo que se importará.
En el sistema incluya registros de Empresa vs. Zona fiscal (SFH) que tengan Clientes o Proveedores que estén y no estén en el archivo que se importará.
Por medio de la rutina RG 12-18 – Santa Fe (FISA835) , en el módulo Libros fiscales (Actualizaciones | Archivos) , seleccione el tipo de impuesto (Percepción/Retención) y Período (Mes/Año)
Libros fiscales (FISA835)
- Por medio de la rutina “RG 12-18 – Santa Fe”, en el módulo SIGAFIS - Libros fiscales (Actualizaciones | Archivos).
- Acceda a la rutina, informando el tipo de impuesto y el período.
- Informe el camino del archivo CSV que se importará.
- Espere que la rutina procese la información.
- Verifique la información en la tabla Empresa vs. Zona fiscal (SFH).
- Acceda a la rutina, informando el tipo de impuesto y el período.
Reglas de la rutina:
La rutina procesará la información de percepción y retención.
La Percepción procesará la información de los clientes y proveedores para el impuesto IBK, en el caso de proveedores solamente si el cuit de la empresa (SIGAMAT) estuviera en el archivo que será importado por la rutina.
La Retención solamente procesará la información de los proveedores para el impuesto IBR.
Generación de la tabla de Búsquedas
A fin de extraer del padrón solamente los registros correspondientes a los CUITS activos, genere un archivo de búsqueda con la siguiente información:
Seleccione registros de:
SA1, SA2 y SM0
con los números de CUIT obtenidos, genere un único registro por cuit/origen, con la siguiente información:
- cui_numcui = Número de CUIT
- cui_origen = (“C”=Cliente ßSA1), (“P”=Proveedor ßSA2) y (“E”=Empresa ß SM0)
- cui_clipro = Código de Cliente (A1_COD), Código de Proveedor (A2_COD)
Si cui_origen=”E” a cui_clipro=SM0_CGC
Generación de la tabla Padrón reducido
Importe el Padrón a una tabla temporal de la Base de datos (Store Procedure)
Con base en los registros informados en la tabla “cui”, acceda al Padrón por medio del Nº de CUIT y genere el Padrón reducido:
Genere un registro en la tabla “cib”, como se detalla:
- cib_numcui=cui_numcui
- cib_origen=cui_origen
- cib_clipro=cui_clipro
- cib_alicuota=Alícuota
- cib_percent=Si Alicuota = “0” a cib_percent=”100”
sino, cib_percent=”0”
- cib_desde=Inicio vigencia
- cib_hasta=Final vigencia
La actualización de la tabla SFH obedece las siguientes reglas:
- cib_desde=Inicio vigencia
- cib_hasta=Final vigencia
1.Percepción a Clientes
1.Si cib_origen=”C” y cib_marca=”S”, acceda a la tabla “SFH” para el cliente indicado, donde FH_IMPOSTO=”IBK”, seleccionando el registro de mayor FH_FIMVIGE
a.Si encuentra el registro y
si cib_desde<=FH_FIMVIGE
No actualiza
si cib_desde=(FH_FIMVIGE + 1 día) y FH_ALIQ=cib_alicuota y FH_PERCENT=cib_percent
Actualiza:
FH_FIMVIGE=cib_hasta
sino:
Genera un registro “SFH” por sucursal (SA1), donde
FH_AGENTE=FH_AGENTE del registro seleccionado
FH_CLIENTE=FH_CLIENTE del registro seleccionado
FH_TIPO=FH_TIPO del registro seleccionado
FH_LOJA =Según SA1
FH_APERIB=FH_APERIB del registro seleccionado
FH_PERCIBI=FH_PERCIBI del registro seleccionado
FH_ZONAFIS=FH_ZONAFIS del registro seleccionado
FH_IMPOSTO=FH_IMPOSTO del registro seleccionado
FH_ALIQ=cib_alicuota
FH_PERCENT=cib_percent
FH_ISENTO =“N”
FH_INVIGE=cib_desde
FH_FIMVIGE=cib_hasta
b.Si NO encuentra el registro
Genera un registro “SFH” por sucursal (SA1), donde:
FH_AGENTE=”N”
FH_CLIENTE=cib_clipro
FH_TIPO=”I”
FH_LOJA =Según SA1
FH_APERIB=”S”
FH_PERCIBI=“S”
FH_ZONAFIS=”SF”
FH_IMPOSTO=”IBK”
FH_ALIQ=cib_alicuota
FH_PERCENT=cib_percent
FH_ISENTO=“N”
FH_INVIGE=cib_desde
FH_FIMVIGE=cib_hasta
2.Si cib_origen=”C” y cib_marca=”N”, acceda a la tabla “SFH”, para el cliente indicado, donde FH_IMPOSTO=”IBK” seleccionando el registro de mayor FH_FIMVIGE
a.Si encuentra el registro y:
Si cib_desde<=FH_FIMVIGE
No actualiza
Si cib_desde>FH_FIMVIGE
Genera un registro “SFH” por sucursal (SA1), donde
FH_AGENTE=FH_AGENTE del registro seleccionado
FH_CLIENTE= FH_CLIENTE del registro seleccionado
FH_TIPO= FH_TIPO del registro seleccionado
FH_LOJA =Según SA1
FH_APERIB=FH_APERIB del registro seleccionado
FH_PERCIBI= FH_PERCIBI del registro seleccionado
FH_ZONAFIS= FH_ZONAFIS del registro seleccionado
FH_IMPOSTO= FH_IMPOSTO del registro seleccionado
FH_ALIQ=”0”
FH_PERCENT=“100”
FH_ISENTO=”N”
FH_INVIGE=Inicio vigencia
FH_FIMVIGE=””
b.Si NO encuentra el registro
No actualiza
2.Percepción de Proveedores
1.Si cib_origen=”E” y cib_marca=”S”, acceda a la tabla “SFH” para todos los proveedores, donde FH_IMPOSTO=”IBK”, seleccionando el registro de mayor FH_FIMVIGE
a.Si encuentra el registro y:
Si cib_desde<=FH_FIMVIGE
No actualiza
Si cib_desde=(FH_FIMVIGE + 1 día) y FH_ALIQ=cib_alicuota y FH_PERCENT=cib_percent
Actualiza:
FH_FIMVIGE=cib_hasta
Sino
Genera un registro “SFH” por sucursal (SA1), donde
FH_AGENTE=FH_AGENTE del registro seleccionado
FH_FORNECE= FH_FORNECE del registro seleccionado
FH_TIPO=FH_TIPO del registro seleccionado
FH_LOJA =Según SA2
FH_APERIB= FH_APERIBI del registro seleccionado
FH_PERCIBI=FH_PERCIBI del registro seleccionado
FH_ZONAFIS= FH_ZONAFIS del registro seleccionado
FH_IMPOSTO= FH_IMPOSTO del registro seleccionado
FH_ALIQ=cib_alicuota
FH_PERCENT=cib_percent
FH_ISENTO=“N”
FH_INVIGE=cib_desde
FH_FIMVIGE=cib_hasta
b.Si NO encuentra el registro
No actualiza, pues significa que el proveedor no es agente de percepción.
2.Si cib_origen=”E” y cib_marca=”N”, acceda a la tabla “SFH”, para el proveedor indicado, donde FH_IMPOSTO=”IBK” seleccionando el registro de mayor FH_FIMVIGE
a.Si encuentra el registro y:
Si cib_desde<=FH_FIMVIGE
No actualiza
Si cib_desde>FH_FIMVIGE y FH_INVIGE<>cib_desde
Actualiza
FH_FIMVIGE=cib_desde
Genera un registro “SFH” por sucursal (SA1), donde
FH_AGENTE=FH_AGENTE del registro seleccionado
FH_FORNECE=FH_FORNECE del registro seleccionado
FH_TIPO=FH_TIPO del registro seleccionado
FH_LOJA =FH_LOJA del registro seleccionado
FH_APERIB=FH_APERIB del registro seleccionado
FH_PERCIBI=FH_PERCIBI del registro seleccionado
FH_ZONAFIS=FH_ZONAFIS del registro seleccionado
FH_IMPOSTO=FH_IMPOSTO del registro seleccionado
FH_ALIQ=”0”
FH_PERCENT=“100”
FH_ISENTO=”N”
FH_INVIGE=Inicio vigencia
FH_FIMVIGE=””
b.Si NO encuentra el registro
No actualiza
3.Retención a Proveedores
1.Si cib_origen=”P” y cib_marca=”S”, acceda a la tabla “SFH” para el proveedor indicado, donde FH_IMPOSTO=”IBR” e FH_ZONFIS=”SF”, seleccionando el registro de mayor FH_FIMVIGE
a.Si encuentra el registro y
Si cib_desde<=FH_FIMVIGE
No actualiza
Si cib_desde=(FH_FIMVIGE + 1 día) y FH_ALIQ=cib_alicuota y FH_PERCENT=cib_percent
Actualiza
FH_FIMVIGE=cib_hasta
Sino
Genera registros “SFH” por sucursal (SA2), donde
FH_AGENTE=FH_AGENTE del registro seleccionado
FH_FORNECE=FH_FORNECE del registro seleccionado
FH_TIPO=FH_TIPO del registro seleccionado
FH_LOJA=FH_LOJA del registro seleccionado
FH_ZONAFIS= FH_ZONAFIS del registro seleccionado
FH_APERIB=FH_APERIB del registro seleccionado
FH_PERCIBI=FH_PERCIBI del registro seleccionado
FH_IMPOSTO= FH_IMPOSTO del registro seleccionado
FH_ALIQ=cib_alicuota
FH_PERCENT=cib_percent
FH_ISENTO=“N”
FH_INVIGE=cib_desde
FH_FIMVIGE=cib_hasta
b.Si NO encuentra el registro
Genera registros “SFH” por sucursal (SA2), donde:
FH_AGENTE=”N”
FH_FORNECE=cib_clipro
FH_TIPO=”I”
FH_LOJA =Según SA2
FH_PERCIBI=”N”
FH_APERIB=”N”
FH_ZONAFIS=”SF”
FH_IMPOSTO=”IBR”
FH_ALIQ=cib_alicuota
FH_PERCENT=cib_percent
FH_ISENTO=“N”
FH_INVIGE=cib_desde
FH_FIMVIGE=cib_hasta
2.Si cib_origen=”P” y cib_marca=”N”, acceda a la tabla “SFH”, para el proveedor indicado, donde FH_IMPOSTO=”IBR” y FH_ZONFIS=”SF”, seleccionando el registro de mayor FH_FIMVIGE
a.Si encuentra el registro y:
Si cib_desde<=FH_FIMVIGE
No actualiza
Si cib_desde>FH_FIMVIGE
Genera un registro “SFH” por sucursal (SA2), donde
FH_AGENTE=FH_AGENTE del registro seleccionado
FH_FORNECE=FH_FORNECE del registro seleccionado
FH_TIPO=FH_TIPO del registro seleccionado
FH_LOJA =FH_LOJA del registro seleccionado
FH_ZONAFIS=FH_ZONAFIS del registro seleccionado
FH_IMPOSTO=FH_IMPOSTO del registro seleccionado
FH_ALIQ=”0”
FH_PERCENT=“100”
FH_ISENTO=”N”
FH_INVIGE=Inicio vigencia
FH_FIMVIGE=””
b.Si NO encuentra el registro
No actualiza
04. INFORMACIÓN ADICIONAL
N/A
05. ASUNTOS RELACIONADOS
N/A