ÍNDICE

Esta rutina se ajustó para cumplir con la Ley general de protección de datos (Ley n° 13.70), siendo que algunos campos que presentan información considerada como datos sensibles y/o personales se ocultarán, dejando de ser legibles. |
01. VISIÓN GENERAL
Esta rutina permite ejecutar las compensaciones de todos los anticipos efectuados y registrados, realizados por los proveedores (títulos tipo PA), además de notas de crédito por descontar (títulos tipo NDF).
Los anticipos seleccionados e informados por el usuario se deducirán del valor total del título original.
02. EJECUCIÓN
Procedimiento efectuado de forma manual vía rutina Compensación cuentas por pagar (FINA340), con exhibición de las pantallas involucradas en el proceso y necesitando de acciones/comandos del usuario.
Procedimiento realizado de forma automática en la rutina de Compensación cuentas por pagar (FINA340), sin exhibición de pantallas o necesidad de interacción del usuario.
Se utiliza en personalizaciones donde el proceso no necesita de interacciones del usuario (MSEXECAUTO)
#INCLUDE "Protheus.ch"
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
Static __COMPAUT := Nil
User Function CMPAUTOMA()
Local lRet := .F.
Local cQry := ""
Local aTipos := {"NF ", "PA ", "NDF"}
Local cTblTmp := ""
Local aNF := {}
Local aPA_NDF := {}
Local aContabil := {}
Local bBlock := Nil
Local aEstorno := {}
Local nSldComp := 0
Local nTaxaPA := 0
Local nTaxaNF := 0
Local nHdl := 0
Local nOperacao := 0
If __COMPAUT == Nil
cQry := "SELECT E2_TIPO TIPO, R_E_C_N_O_ R_E_C_N_O FROM " + RetSqlName("SE2") + " "
cQry += "WHERE E2_SALDO > 0 AND E2_TIPO IN (?) "
cQry += "ORDER BY E2_TIPO"
cQry := ChangeQuery(cQry)
__COMPAUT := FWPreparedStatement():New(cQry)
EndIf
__COMPAUT:SetIn(1, aTipos)
cQry := __COMPAUT:GetFixQuery()
cTblTmp := MpSysOpenQuery(cQry)
While (cTblTmp)->(!Eof())
If (cTblTmp)->TIPO $ MVPAGANT+"|"+MV_CPNEG
Aadd(aPA_NDF, (cTblTmp)->R_E_C_N_O)
Else
Aadd(aNF, (cTblTmp)->R_E_C_N_O)
EndIf
(cTblTmp)->(DbSkip())
lRet := .T.
EndDo
(cTblTmp)->(DbCloseArea())
cTblTmp := ""
If lRet
Pergunte("AFI340", .F.)
lContabiliza := MV_PAR11 == 1
lAglutina := MV_PAR08 == 1
lDigita := MV_PAR09 == 1
lRet := FinCmpAut(aNF, aPA_NDF, aContabil, bBlock, aEstorno, nSldComp, dDatabase, nTaxaPA ,nTaxaNF, nHdl, nOperacao)
If lRet
Alert("Compensación realizada con éxito")
Else
Alert("Ocurrió un error en el proceso de compensación")
EndIf
EndIf
Return
|
Para utilizar el proceso de Compensación automática cuentas por pagar es necesario activar la función: FinCmpAut. La compensación puede realizarse de N a N: N anticipos/devoluciones (PA o NDF) para N títulos (NF, DP, etc.) o viceversa. Compensación cuentas por pagar automática |
03. OPERACIONES
Por medio de esta operación es posible la compensación de títulos por pagar:
- Compensar títulos de un mismo proveedor/tienda con anticipos de este mismo proveedor/tienda.
- Compensar títulos de un determinado proveedor con anticipos de este mismo proveedor, sin importar cuál es la tienda del título por compensar.
- Compensar título de determinado proveedor con anticipos de diversos proveedores, pudiendo determinarse un rango de proveedores o todos. Con ello, el título puede compensarse con cualquier título de anticipo pendiente en el registro de títulos, sin importar cuál es el proveedor de este título.
La fecha de la compensación debe ser mayor que la fecha de emisión de los títulos involucrados, por ejemplo: - PA con emisión el día 29/03
- NF con emisión el día 02/04
La compensación de estos títulos solamente podrá efectuarse después del día 02/04, teniendo en cuenta que el día 29/03 aún no existía la NF, de esta manera, el concepto de bajas se aplicará correctamente en las operaciones de compensación. (E2_BAIXA maior que E2_EMISSAO) - Por el Financiero no es posible realizar la compensación de Pagos anticipados vincuados a Pedidos de compra.
Para la compensación entre anticipos y títulos de diferentes sucursales, debe utilizarse la opción Sucursales para definir las sucursales que se considerarán para la selección de los títulos por compensar. Si no se utiliza la opción Sucursales, solamente los títulos de la sucursal actual se considerarán para la compensación. 
Si la base financiera fuera totalmente compartida y no se utilizara la opción Sucursales, se considerarán para el proceso todos los anticipos de todas las sucursales. |
|
Operación que permite realizar el borrado del movimiento generado por la compensación
Operación que permite realizar la reversión del movimiento generado por la compensación, generando de esta manera su contrapartida.
Muestra el cuadro de leyendas y sus significados referidos de la situación del título por pagar.

Busca el título dentro del archivo Cuentas por pagar, teniendo como resultado el título marcado y resaltado en la browse.
Operación que permite visualizar el título marcado, pudiendo verificar su saldo y valor.
04. PARÁMETROS APLICADOS
Lista de parâmetros aplicados al FINA340 y su procesamiento
Pregunta | Descripción |
|---|
¿Considera tienda? | Este campo indica si la tienda del proveedor debe considerarse en el filtro de los registros que se compensarán. De esta manera, si se escogiera la opción "No", todos los títulos "PA" de todas las tiendas se traerán para la confirmación de la compensación. Si se escogiera la opción "Sí", solamente se considerarán las "PA" de la tienda del título principal. | ¿Considera proveedor? | Informe la opción "Original" para que el proveedor que se considerará en la compensación sea el mismo del título, u "Otros" siendo posible compensar títulos entre diferentes proveedores. | ¿De Proveedor? | Informe el código inicial del intervalo de proveedores que se considerarán en la compensación. | ¿A Proveedor? | Informe el código final del intervalo de proveedores que se considerarán en la compensación | ¿Cons. las Sucursales siguientes? | Informe "Sí" para que se consideren las sucursales de su sistema, o "No" considerando solamente la sucursal conectada. Esta pregunta ya no tiene efecto en el proceso de compensación. Utilice la opción Sucursales para la selección de las sucursales que se considerarán para la selección de los títulos que conformarán la compensación. | ¿De Sucursal? | Informe el código inicial del intervalo de sucursales que se considerarán en la compensación. Esta pregunta ya no tiene efecto en el proceso de compensación. Utilice la opción Sucursales para la selección de las sucursales que se considerarán para la selección de los títulos que conformarán la compensación. | ¿A Sucursal? | Informe el código final del intervalo de sucursales que se considerarán en la compensación. Esta pregunta ya no tiene efecto en el proceso de compensación. Utilice la opción Sucursales para la selección de las sucursales que se considerarán para la selección de los títulos que conformarán la compensación. | ¿Agrupa asiento? | Informe la opción "SÍ" para que los asientos contables generados por medio de la compensación se agrupen en un único asiento | ¿Muestra asientos? | Informe la opción "SÍ" para que los asientos contables generados por medio de la compensación se muestren en pantalla, o "NO", en caso contrario. | ¿Compensa títulos? | Informe la opción "Normales" para que se consideren en la compensación los títulos del tipo NF,PA,NDF, o "Impuesto" para que se consideren los títulos de impuestos generados TX y TXA | ¿Contabiliza online? | Informe "SÍ" para que la contabilidad de los asientos referentes a la compensación de cuentas por pagar se realice online, o "NO", en caso contrario. | ¿Compensa transferidos? | Informe "Sí" si permite la compensación de títulos transferidos al banco (Borderó), o "No" en caso contrario. | ¿Compensa saldo del impuesto? | Define si en el momento de la compensación entre impuestos, no se pondrá en cero el saldo del TX, dejando pendiente para envío del DARF y pago del impuesto, la funcionalidad de esta pregunta solamente se aplicará si la pregunta ¿Compensa títulos? = "Impuestos" | ¿Considera Bj de Imp. del PA? | Define si en el momento de la compensación entre títulos normales NF vs. PA, si los impuestos del tipo TXA del PA tuvieran baja, estos valores se utilizarán para liquidar el saldo del TX de la NF, la funcionalidad de esta pregunta solamente se aplicará si la pregunta ¿Compensa títulos? = "Normales" |
|
Parámetro | Descripción | Estándar |
|---|
MV_CTBFLAG | Indica si el marcado de los flags de contabilidad de las rutinas offline se realizará en la transacción del asiento contable - SIGACTB. | .F. | MV_BX10925 | Define el momento del tratamiento de la retención de los impuestos Pis Cofins y Csll, 1 = En la baja o 2 = En la emisión. | 1 | MV_PABRUTO | Define si en la generación del PA con impuestos 1 = Genera un PA con el valor bruto. 2 = Genera un PA con el valor neto (estándar del sistema). | 2 | MV_LIBCHEQ | Se utiliza esta opción para aprobar el saldo bancario por la generación de cheques antes de la baja. | S | MV_PAPRIME | Define si en la generación del PA con impuestos, se aprovisionarán los impuestos de Inss e Iss para PA Neto 1=Sí 2=No (Default) | 2 | MV_CTLIPAG | Controla las bajas por pagar por medio de la fecha de liberación completada, si fuera .T. el sistema verifica si se completó el campo E2_DATALIB, en caso contrario no controla. | .F. | MV_VLMINPG | Valor mínimo para ejecutar la baja del título, aunque el campo E2_DATALIB no se hubiera completado y el parámetro MV_CTLIPAG fuera .T. | 0 | MV_IMPADT | Define la utilización de la generación de IRRF en anticipo por pagar. |
| MV_SOLNCP | Define si debe utilizarse la rutina de solicitud de Nota de crédito | .F. | MV_MUNIC | Se utiliza para identificar el código dado al Departamento de finanzas del municipio para pagar el ISS. | MUNIC | MV_MCUSTO | Moneda utilizada para verificar el límite de crédito informado en el Archivo de clientes. | 2 | MV_COMSEIC | Habilita la integración del pedido de compra de servicios al Easy Siscoserv. | .F. | MV_ESS0012 | Habilita la integración del Documento de entrada del SIGACOM con el SIGAESS. | .F. | MV_ESS0013 | Habilita la integración de los títulos generados en el SIGAFIN por el SIGACOM con el SIGAESS. | .F. | MV_ESS0022 | Habilita la integración SIGAEIC vs. SIGAESS | .F. | MV_JURXFIN | Habilita la integración entre los módulos SIGAFIN - Financiero y SIGAPFS - Jurídico estándar deshabilitado. |
| MV_PCOINTE | Indica si la integración de los procesos de Planificación y control presupuestario con los procesos de Registros / Bloqueos está activa (1=Sí/ 2=No). | 2 | MV_BXDTFIN | No permite fecha de baja menor que la fecha contenida en el parámetro MV_DATAFIM (1=Permite, 2=No permite) | 2 | MV_UNIAO | Se utiliza para identificar el código dado al Fisco para pago del Impuesto a la renta. | FEDERACIÓN | MV_ESTADO | Sigla del estado de la empresa usuaria del sistema para efectos de cálculo de ICMS (7, 12 o 18%). | SP | MV_PISNAT | Modalidad para títulos referentes al PIS. | PIS | MV_COFINS | Modalidad para títulos referentes al COFINS. | COFINS | MV_CSLL | Modalidad para títulos referentes al CSLL | CSLL | MV_IRF | Modalidad para títulos referentes al IRF | IRF | MV_ISS | Modalidad para títulos referentes al ISS | ISS | MV_BP10925 | Define si en el valor de pago debe considerar el valor bruto de la baja parcial o el valor neto, considerando los impuestos.(1=Val Bruto/2=Val Neto) | 1 | MV_COMPCP | Indica si en la compensación de una Fact. con un PA los impuestos serán proporcionales. | .F. | MV_MRETISS | Modo de retención del ISS en las adquisiciones de servicios 1 = en la emisión del título principal; 2 = en la baja del título principal | 1 | MV_CPIMPAT | Indica si habrá compensación automática de impuestos por pagar. 1 - Automática; 2 - Manual | 2 | MV_AG10925 | Indica si los impuestos de PCC se agruparán en un título solamente si ocurrieran los tres impuestos en el mismo título. | 2 | MV_FINVDOC | ¿Activa el control de documentos obligatorios en las rutinas de liberación para baja / movimiento de los títulos por pagar? ("1" = Sí / "2" = No) | 2 | MV_CMTXCON | Indica que se generará corrección monetaria para títulos con tasa contratada en la compensación CP T = Genera CM / F = No genera CM | .F. | MV_CALCCM | Indica si el cálculo de corrección monetaria se efectuará o no. Válidos: "S" - calcula o "N" - no calcula. | S |
|
|
05. CONTABILIDAD
La contabilidad de los procesos aplicados a la compensación cuentas por pagar vía módulo Financiero se realiza por los asientos estándar siguientes:
LP | Hecho generador | ON | OFF (CTBAFIN) |
|---|
| 589 | Anulación de compensación de títulos cuentas por pagar | X | X |
| 597 | Compensación cuentas por pagar | X | X |

Contabilidad del tipo DIC La contabilidad del título del tipo DIC generado por la compensación, puede contabilizarse por el AE 510 - Inclusión de títulos por pagar, pues este se genera por medio de la rutina automática del FINA050 (Cuentas por pagar). Contabilidad le los impuestos generados en la compensación. La contabilidad de los impuestos generados por la compensación, pueden contabilizarse por el propio AE 597 - Compensación por pagar, por medio de las variables: NPIS340, NCOF340, NCSL340, NIRF340 y NISS340. En los otros casos, la contabilidad permanece la misma, de acuerdo con la siguiente documentación: Variables de contabilidad FINA340 |
06. TABLAS RELACIONADAS
- SE2 - Archivo del cuentas por pagar.
- SEF - Archivo de cheques.
- SED - Archivo de modalidades.
- SA2 - Archivo de proveedores.
- FK2 - Bajas por pagar.
- FK3 - Impuestos calculados.
- 0FK4 - Impuestos retenidos.
- FK5 - Movimientos bancarios.
- FK6 - Valores complementarios.
- FK7 - Tabla auxiliar.
- FKA - Rastreo de movimiento.
07. PUNTOS DE ENTRADA
Punto de entrada | Observación |
|---|
F340BROW | El punto de entrada F340BROW se activará antes del browse y podrá utilizarse en el tratamiento de los datos mostrados en el browse. Documentación: http://tdn.totvs.com/x/56Jc |
F340LIBT | El punto de entrada indica si habrá la validación de liberación del título en el momento de la compensación. Documentación: http://tdn.totvs.com/x/_a2FDg |
F340DTFIN | El PE se activa en las validaciones del parámetro MV_DATAFIN existentes en la Compensación CP. Documentación: http://tdn.totvs.com/x/6qJc |
F340TAXA | En este punto de entrada es posible modificar las tasas de las monedas que se utilizarán en la compensación del cuentas por pagar. Documentación: http://tdn.totvs.com/x/aK_FDg |
F340ATLIS | Este Punto de entrada permite el manejo del Array aTitulos, para modificación del listBox de la pantalla de compensación. Documentación: http://tdn.totvs.com/x/gKRc |
F340TOTCP | Punto de entrada F340TOTCP() permite manejar los valores totales de los títulos que se compensarán. Documentación: http://tdn.totvs.com/x/nYIbCQ |
F340MKTIT | El punto de entrada F340MKTIT permite la personalización de los títulos seleccionados en la markbrowse. Permite el manejo del array que contiene los títulos, y con la 8º ocurrencia de este, contiene un valor lógico que indica si el título está marcado o no. Documentación: http://tdn.totvs.com/x/L6Rc |
F340NAT |
|
F340_PA | El punto de entrada F340_PA se ejecutará después de contabilizar cada título de compensación por pagar. Documentación: http://tdn.totvs.com/x/7aJc |
F340SE5 | El punto de entrada F340SE5 maneja Movimientos bancarios procesados teniendo como parámetro el Recno de los registros SE5 utilizados en la Compensación. Documentación: http://tdn.totvs.com/x/sAKqC |
F340GRV | El punto de entrada F340GRV valida la inclusión en la rutina de Compensación de cuentas por pagar (FINA340) Documentación: http://tdn.totvs.com/x/IgBzB |
F340ACAN | Este punto de entrada permite que se cree una regla para informar cuándo se Revertirá o no. Documentación: http://tdn.totvs.com/x/j7GFDg |
F340CAN | Punto de entrada que se activa al realizar la confirmación de la reversión de compensación. Documentación: http://tdn.totvs.com/x/zoFdAg |
F340GREST | Grabación de datos adicionales en la reversión de la compensación Documentación: http://tdn.totvs.com/x/iqVc |
F340FCAN | Puto de entrada que permite la grabación de información complementaria en el momento de la reversión de la compensación. Documentación: http://tdn.totvs.com/x/W7KFDg |
FA340QRY | Complemento de query para anulación de la compensación Documentación: http://tdn.totvs.com/x/lgwGD |
FA340FILT | El punto de entrada FA340FILT se ejecuta en el montaje de la tabla de títulos por compensar y se utilizará para seleccionar qué títulos se compensarán Documentación: http://tdn.totvs.com/x/rqNc |
F340CMP | Tiene como finalidad permitir al usuario calcular el título de NDF o PA y se activará en la función Fa340Tit() Documentación: http://tdn.totvs.com/x/6aJc |
FA340ORD | Punto de entrada que permite la modificación del índice, cambiando de esta manera el orden de los títulos mostrados en la markbrowse para la compensación por pagar Documentación: http://tdn.totvs.com/x/r6Nc |
F340ValOk | El punto de entrada F340ValOk, permite el control de los datos y de la confirmación de la pantalla de compensación de títulos por pagar Documentación: http://tdn.totvs.com/x/fKVc |
F340TOTCP | Permite manejar los valores totales de títulos que se compensarán. Documentación: http://tdn.totvs.com/x/nYIbCQ |
F340VLD | Punto de entrada que permite validar si un título se compensará o no. Documentación: http://tdn.totvs.com/x/J6Vc |
F340LEGE |
|
SE5FI340 | Punto de entrada que permite realizar grabaciones complementarias en la tabla SE5, después de la grabación del movimiento bancario del título principal en la compensación por pagar automática Documentación: http://tdn.totvs.com/x/56Rc |
SE5FI341 | Punto de entrada que permite realizar grabaciones complementarias en la tabla SE5, después de la grabación del movimiento bancario del título de Anticipo en la compensación por pagar automática. Documentación: http://tdn.totvs.com/x/6KRc |
F340GERNDF | Posibilidad de grabar campos adicionales en la inclusión de la NDF generada por la compensación por pagar. Documentación: http://tdn.totvs.com/x/kvdbDQ |
FA340NDFGrv |
|
F340FLCP | Permite implementar una expresión complementaria en el filtro de títulos. Documentación: http://tdn.totvs.com/x/66Jc |
F340FCPTOP | Este punto de entrada permite crear un nuevo filtro para la rutina de Compensación cuentas por pagar - FINA340. Documentación: http://tdn.totvs.com/x/r_xZE |
08. OTRAS REGLAS DE COMPENSACIÓN
Reglas para generación de corrección monetaria en el proceso de compensación del cuentas por pagar: - Compensación de títulos con tasas contratadas iguales - Se generará el valor de corrección monetaria solamente si la tasa del movimiento fuera modificada en la pantalla de compensación. En este caso, la corrección monetaria estará vinculada al título ubicado al inicio de la compensación (y no a los títulos seleccionados posteriormente) y el valor será con base en la diferencia entre el valor con la tasa contratada y el valor considerando la nueva tasa informada (no existe uso de la tasa diaria).
- Compensación de títulos sin tasas contratadas - El valor de corrección monetaria se generará para cada título involucrado en el proceso de compensación, si hubiera una diferencia entre el valor de la tasa en el día de la inclusión del título y el valor de la tasa en el día de la baja de la compensación. Observación: Si hubiera una modificación en el valor de la tasa en el momento de la compensación, este valor se considerará solamente para el título marcado y su corrección monetaria será referente a la diferencia entre el valor considerando la nueva tasa (informada en pantalla) y el valor considerando la tasa en el día de la inclusión. Para todos los otros títulos involucrados en este proceso de compensación, se considerará la tasa del día de la compensación y la tasa del día de la inclusión.
- Compensación de títulos con tasas contratadas diferentes - Por norma, el sistema no permite realizar este tipo de compensación. Sin embargo, es posible habilitarla por medio del parámetro MV_CMTXCON (https://tdn.totvs.com/x/7ZVWFw). En este caso, la corrección monetaria se generará siempre vinculada a la factura. El valor será referente a la diferencia del valor de la factura y el valor del pago compensado.
- Tasa informada en la compensación - Como estándar, el sistema asume la tasa informada en la compensación solamente para el titulo de partida (marcado). Sin embargo, es posible definir si la tasa informada se considerará en todo el proceso por medio del parámetro MV_TXPRCON(parámetro MV_TXPRCON). En este caso, la tasa informada se considerará no solamente para el título de partida, si no también para los seleccionados, de acuerdo con la moneda. Si se utiliza la tasa por proceso, la corrección monetaria se realizará por medio de la variación de la tasa del título (Tasa del día o Tasa contratada) con la tasa informada. Si no se informa la tasa, el sistema sigue el comportamiento estándar.
Para la generación de corrección monetaria, es necesario que el parámetro MV_CALCCM esté habilitado. |
|
|
<!-- esconder o menu -->
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|