Páginas filhas
  • Clearing Between Portfolios - FINA450 - Financials P12

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações
title

...

Note
This routine was adjusted to comply with the General Personal Data Protection Law (Statute No. 13.70) so that some fields containing data regarded as sensitive and/or personal are blurred, becoming illegible.

01. OVERVIEW

Use this routine to execute clearings of bills payable with bills receivable, thus offsetting accounts between supplier and customer.

This process takes the following bills into account:

  • Debit bills - example:  NF (Tax Invoice), BOL (Bank Slip), etc.
  • Credit bills - example: PA (Advance Payment), RA (Advance Receipt), and return bills (NDF and NCC).

02. EXECUTION

  • Manually

Procedure manually performed through the Clearing Between Portfolios (FINA450), with the display of the screens involved in the process - actions/commands from the user are required

...

Procedure automatically performed in the Clearing Between Portfolios routine (FINA450) without the display of screen - no interaction from the user required.
Used in customizations in which the process does not require user interactions (MSEXECAUTO)

Bloco de código
languagejava
themeMidnight
titleExample of automatic routine

...

collapsetrue
#include "rwmake.ch"

...


#include 'tbiconn.ch'

...


   
User Function Auto450()

...


    Local aAutoCab := {}

...


    Local aArea    := GetArea()

...


    Local cTabSe1  := "TMPSE1A"

...


    Local cTabSe2  := "TMPSE2A"

...


    Local aSE1450  := {}

...


    Local aSE2450  := {}

...


    Local aFilCmp  := {}

...


 
    Private lMsHelpAuto := .F.

...


    Private lMsErroAuto := .F.

...


 
    BeginSql Alias cTabSe1
        SELECT R_E_C_N_O_ as

...

 RECNO
            FROM %Table:SE1%

...

 SE1
            WHERE SE1.E1_FILIAL = 'D MG 01

...

 '
                AND SE1.E1_PREFIXO = 'CPT'

...


                AND SE1.E1_NUM = 'VT001'

...


                AND SE1.E1_TIPO = 'NF'
                AND SE1.E1_CLIENTE = 'FIN001'

...


                AND SE1.E1_LOJA    = '01'

...


                AND SE1.%NotDel%

...


    EndSql
 
    While (cTabSe1)->(!EOF())

...


        SE1->(DbGoto((cTabSe1)->RECNO))

...


        AAdd(aSE1450, {SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM+SE1->E1_PARCELA+SE1->E1_TIPO})

...


        If ascan(aFilCmp,SE1->E1_FILIAL) ==

...

 0
            Aadd(aFilCmp, SE1->E1_FILIAL)

...


        EndIf   
        (cTabSe1)->(DbSkip())

...

 
    Enddo
 
    (cTabSe1)->(DbCloseArea())

...


 
    BeginSql Alias cTabSe2
        SELECT R_E_C_N_O_ as

...

 RECNO
            FROM %Table:SE2%

...

 SE2
            WHERE SE2.E2_FILIAL = 'D MG 02

...

 '
                AND SE2.E2_PREFIXO = 'CPT'

...


                AND SE2.E2_NUM = 'VT001'

...


                AND SE2.E2_TIPO = 'NF'
                AND SE2.E2_FORNECE = 'FIN001'

...


                AND SE2.E2_LOJA    = '01'

...


                AND SE2.%NotDel%

...


    EndSql
 
    While (cTabSe2)->(!EOF())

...


        SE2->(DbGoto((cTabSe2)->RECNO))

...


        AAdd(aSE2450, {SE2->E2_FILIAL+SE2->E2_PREFIXO+SE2->E2_NUM+SE2->E2_PARCELA+SE2->E2_TIPO+SE2->E2_FORNECE+SE2->E2_LOJA})

...


        If ascan(aFilCmp,SE2->E2_FILIAL) ==

...

 0
            Aadd(aFilCmp, SE2->E2_FILIAL)

...


        EndIf   
        (cTabSe2)->(DbSkip())

...

 
    Enddo
     
    (cTabSe2)->(DbCloseArea())

...


 
    aAutoCab :={  {"AUTDVENINI450", cTod('27/08/19') , nil},;

...


                {"AUTDVENFIM450", cTod('27/08/19') , nil},;

...


                {"AUTNLIM450" ,8000, nil},;
                {"AUTCCLI450" , "FIN001" , nil},;

...


                {"AUTCLJCLI" , "01" , nil},;

...


                {"AUTCFOR450" , "FIN001" , nil},;

...


                {"AUTCLJFOR" , "01" , nil},;

...


                {"AUTCMOEDA450" , "01" , nil},;

...


                {"AUTNDEBCRED" , 1 , nil},;

...


                {"AUTLTITFUTURO", .F. , nil},;

...


                {"AUTARECCHAVE" ,aSE1450, nil},;
                {"AUTAPAGCHAVE" , aSE2450 , nil},;

...


                {"AUTAFILCOMP" , aFilCmp , nil}} //

...

Optional parameter to be entered only when a clearance between multiple branches exist
 
    MSExecAuto({|x,y,z| Fina450(x,y,z)}, nil , aAutoCab , 3

...

 )
 
    If !lMsErroAuto
        ConOut("Added successfully! ")
        confirmsx8()
    Else
        ConOut("Error when adding!")
        rollbacksx8()
        MostraErro()
    EndIf
 
    RestArea(aArea)
Return
Informações
titleNote

Important:

  • For the clearing to work between branches, use the parameter AUTAFILCOMP; otherwise, there is no need to set it.
  • If the Customer and Supplier stores are empty, the system will consider all stores with the same supplier and customer code.  (Available as of June 1st, 2023)

For further information, access the automatic routine documentation.
Automatic Clearing Between

...

Portfolios

...


03. OPERATIONS

  • Clear

Operation for clearing between portfolios payable/receivable. 

  • Cancel

Operation for canceling the transaction generated by the clearing.

  • Reversal 

Operation for reversing the transaction generated by the clearing.

  • Caption

It displays the caption chart and meanings related to the bill payable. Image Removed

Image Added

  • Search

Search for the bill in the accounts payable file, having it placed and highlighted in the browser.

  • View

Operation for viewing the bill selected, so you can check its balance and value.

04. PARAMETERS APPLIED

List of parameters applied to FINA450 and its processing

Deck of Cards
id

...

1
Card
label

...

Questions (F12)

Question

Description

Group Entries?

Enter "Yes" to group the accounting entries generated through the clearing in a single entry 

Display Entries?

Enter "Yes" to display onscreen the accounting entries generated through clearing, otherwise "No" 

Clear Transferred Bills?

Enter "Yes" to allow the clearing of bills transferred to the bank (Bordereau), otherwise "No"

Select Branches? 

If "Yes" the branch selection screen is displayed for the multi-branch clearing process

Card
labelParameters (SX6)

Question

Description 

Default

MV_BX10925

Define when withholding of PIS COFINS and CSLL taxes are processed: 1 = At Posting or 2 = At Issue  

1

MV_BP10925

Define whether to consider the gross value of partial posting or the net value plus taxes. (1=Gross Val./2=Net Val.)

1

MV_CC10925

Configure the calculation and withholding of PCC in Clearing Between Portfolios. 1. (Default) Do Not Calculate PCC,  2. Calculate PCC on payable, 3. Calculate PCC payable and receivable

1

MV_NUMCOMP

Sequential numbering for Clearing between portfolios.  

000000

MV_CTLIPAG

Control postings payable through filled-out release date. If .T., the system checks whether field E2_DATALIB is filled out, otherwise, it does not control them 

F

MV_VLMINPG

The minimum value to post the bill, even if field E2_DATALIB is not filled out and the content of parameter MV_CTLIPAG is .T.  

0

MV_JURTIPO

The bills receivable interests can be (S)imple, only (C)ompound, or (M)ixed = Simple up to 30 days of delay, and later Compound.  

M

MV_LJINTFS

Indicate integration with Financial Services.

.F.

MV_JURXFIN

Enable integration between modules SIGAFIN - Financials and SIGAPFS - Legal. Disabled by default.  

.F.

MV_CTBFLAG

Indicate if the accounting flags of the offline routines are selected during the accounting entry transaction                    

.F.


05. MAIN PROCESSES

...

Deck of Cards
id0202
Card
label

...

Clear

Procedures
To execute a clearing between portfolios:

  1. Have a bill payable available for clearing.
  2. Have a bill receivable available for clearing.
  3. In the Clearing Between Portfolios browser, press (F12) to set routine parameters.
  4. Configure them and confirm.
  5. Then, click option Clear, and a parameter settings screen opens

...

Image Added
Note: in this screen, fill out data on bills from steps 1 and 2.
Then, select the bills registered in steps 1 and 2, then select the option Save in the right-hand corner of the screen.

...

Image Added   

Informações
titleInformation
Clearing between portfolios uses a sequential numbering through parameter MV_NUMCOMP, controlled by field IDENTEE in tables SE1, SE2, and SE5, and field IDPROC in tables FK1 and FK2
Card
labelCancel

Procedures
To cancel a clearing between portfolios:

  1. Have a clearing between portfolios.
  2. In the Clearing Between Portfolios browser, press (F12) to set routine parameters.
  3. Set and confirm routine parameters.
  4. Place the cursor on the bill cleared and select the option Cancel.

...

Image Added

5. Press OK

Aviso
titleImportant
The operation to cancel the clearing between portfolios is done based on tables FK1 and FK2, using field IDPROC to locate the records cleared,

...

the integrity of these tables is crucial to this operation
Aviso
titleImportant
The users without editing permission for records of other branches in the browser (Permission 115) cannot cancel or reverse records in which the source of the payment is different from the logged-in branch. That is, if the payment originated in a different branch, the posting records may not be found for reversal.
Card
labelReverse

Procedures
To execute a reversal between portfolios:

  1. Have a clearing between portfolios.
  2. In the Clearing Between Portfolios browser, press (F12) to set routine parameters.
  3. Set and confirm routine parameters.
  4. Place the cursor on the bill cleared and select option Reverse.

...

Image Added
5. Press OK.

Aviso
titleImportant
The operation to reverse the clearing between portfolios is done based on tables FK1 and FK2, using field IDPROC to locate the records cleared. The integrity of these tables is crucial to this operation.
Aviso
titleImportant
The users without editing permission for records of other branches in the browser (Permission 115) cannot cancel or reverse records in which the source of the payment is different from the logged-in branch. That is, if the payment originated in a different branch, the posting records may not be found for reversal.
Card
labelClearance with PCC withholding

The Clearance Between Portfolios routine performs the withholding of PIS, Cofins, and CSLL when the company using Protheus withholds these taxes because it is possible to control the withholding through the generation of 'TX' type bills.

Informações
titleImportant

The Clearance between Portfolios routine will now withhold PIS, Cofins, and CSLL taxes for both accounts payable and accounts receivable, starting with sources with a version later than December 2021. 

 
To withhold PIS, COFINS, and CSLL taxes in routine Clearing Between Portfolios, set parameters as shown below:

MV_BX10925 = 1 (PCC withholding on posting)

MV_BR10925 = 1 (PCC withholding on posting)

MV_CC10925 = 2 or 3 (enable PCC withholding on clearance between portfolios)

MV_BP10925 = 1 or 2 (Net or Gross)

MV_BQ10925 = 1 or 2 (Net or Gross)


For the correct withholding of PIS, COFINS, and CSLL taxes in the Clearance Between Portfolios, the parameters MV_BP10925 and MV_BQ10925 must have consistent content (Net or Gross for both). Otherwise, the system will display the following message:

...

 

Image Added

Another point regarding the configuration of parameters MV_BP10925 and MV_BQ10925 is that, on the screen for selecting bills that will be cleared, the bills will be presented with their net value regardless of their configuration. These parameters affect the calculations and saving that involve partial clearing.


Informações
titleInformation
  • To withhold the PCC of Bills Payable in routine Clearing Between Portfolios, set parameter MV_BX10925 = 1 (at posting).
  • This implementation includes only the withholding of PCC, not of IR and ISS.
  • If the value of bill receivable is lower than the net value of the bill payable, the PCC is calculated on the cleared value (value of bill receivable).
Card
labelClearance with

...

Inc. Tax on Posting

The Clearance between Portfolios routine performs Income Tax withholding on posting for both bills payable and bills receivable.

Informações
titleImportant
The routine of clearance between portfolios now performs the withholding income tax on the posting contemplating cumulatively for both accounts payable and accounts receivable, as of sources with a version later than December 2021.

...


06. ACCOUNTING

The booking of processes applied to accounts payable clearing via the Financials module is done through the standard entries below:

SE

Taxable Event

ON

OFF (CTBAFIN)

535

Cancellation of Bills Payable/Receivable Clearing

X

 


594

Accounts Payable/Receivable - Clearance Between Portfolios

X

 




07. TABLES

  • SE2 - Accounts Payable Register
  • SE1 - Accounts Receivable Register
  • SE5 - Bank Transaction
  • SED - Natures Register
  • SA1 – Customers Register
  • SA2 – Suppliers Register
  • FK2 - Postings Payable
  • FK1 - Postings Receivable
  • FK6 - Accessory Values
  • FK7 - Auxiliary Table
  • FKA - Transaction Tracing


08. ENTRY POINTS

Entry point

Note

F450BROW

Entry point that allows handling field contents, and which fields will compose the browser in the clearing between portfolios routine.
Documentation: {+}https://tdn.totvs.com/x/p6Rc+

Image Removed

lFA450BU

Entry point lFA450BU allows the customer to add a button.
Documentation: {+}https://tdn.totvs.com/x/E6Vc+

Image Removed

F450ValCon

Use entry point F450ValCon to validate the data related to selected bills and to control the clearing confirmation process, in routine Portfolios Clearing. Executed in function FA450CMP().
Documentation: {+}https://tdn.totvs.com/x/haVc+

Image Removed

F450SE5

Entry point F450SE5 is executed after all bills selected onscreen are cleared.
Documentation: {+}https://tdn.totvs.com/x/GqNc+

Image Removed

F450OWN

 Assemble filter expression of SE1 file in IndRegua. 
Documentation: {+}https://tdn.totvs.com/x/FqNc+

Image Removed

F450FIL

Customize IndRegua filter 
Documentation: {+}https://tdn.totvs.com/x/nwtRCg+

Image Removed

F450OWN1

Assemble filter expression of SE2 file in IndRegua. 
Documentation: {+}https://tdn.totvs.com/x/9GASCw+

Image Removed

F450FIL1

Customize IndRegua filter 
Documentation: {+}https://tdn.totvs.com/x/ogtRCg+

Image Removed

F450ORDEM

 


F450GRAVA

To handle the data of the temporary table responsible for clearing.
Documentation: {+}https://tdn.totvs.com/x/k422C+

Image Removed

F450Conf

Entry point F450CONF validates the marking of bills for clearing.
Documentation: {+}https://tdn.totvs.com/x/FaNc+

Image Removed

F450valid

Use this entry point to validate clearing screen data.
Documentation: {+}https://tdn.totvs.com/x/iaVc+

Image Removed

F450CAES

Entry point F450CAES validates or executes a procedure after the user confirms the Cancellation/Reversal of clearing between portfolios.
Documentation: {+}https://tdn.totvs.com/x/FKNc+

Image Removed

F450SE1C

Entry point F450SE1C makes complementary recordings in file SE1. It requires no return and does not go through any parameter.
Documentation: {+}https://tdn.totvs.com/x/GKNc+

Image Removed

F450SE2C

Entry point F450SE2C makes complementary recordings in file SE2. It requires no return and does not go through any parameter.
Documentation: {+}https://tdn.totvs.com/x/GaNc+

Image Removed

FA450BUT

Entry point FA450BUT adds toolbar options. Its return is the button array.
Documentation: {+}https://tdn.totvs.com/x/vaNc+

Image Removed

FILEMOT

Entry point to read the text file of accounts receivable posting reasons.
Documentation: {+}https://tdn.totvs.com/x/IF1NDQ+

Image Removed