...
Bloco de código |
---|
language | java |
---|
theme | Midnight |
---|
title | Example of Automatic Routine |
---|
collapse | true |
---|
|
#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("Compensation successful")
Else
Alert("An error occurred in the compensation process")
EndIf
EndIf
Return |
Informações |
---|
|
To use the Automatic Accounts Payable Clearing process, call the function: FinCmpAut. Clearing can be carried out from N to N: N advances/returns (PA or NDF) for N bills (NF, DP, etc.) or vice versa.
Automatic Accounts Payable Clearing |
...
Use this operation to clear bills payable:
- Clearing bills from a supplier/store with advances from the same supplier/store
- Clearing bills from a given supplier with advances from the same supplier regardless of the bill receivable store
- Clear a bill from a given supplier with advances from several suppliers, in which case a supplier range or all suppliers can be established. Then, the bill can be cleared with any advance bill from the same supplier pending in the bill file, irrespective of the supplier for this bill.
...
Deck of Cards |
---|
id | Parameters |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Questions (F12) |
---|
effectType | fade |
---|
| Question | Description | Consider store? | This field indicates whether to consider the store of the supplier when filtering records to be cleared. Thus, if you select "No", all "PA" bills from all stores are displayed for confirmation of clearing. If you select "Yes", only "PA" bills from the main bill store are considered. | Consider Supplier? | Select option "Original" to consider same supplier of bill in clearing, or "Others" to clear bills between different suppliers. | From Supplier? | Enter the initial code of the range of suppliers to be considered in clearing | To Supplier ? | Enter the final code of the range of stores to be considered in clearing | Cons. branches below? | Enter "Yes" to consider branches of your system, or "No" to consider only the branch you logged on. This question no longer affects the clearing process. Use button Branches to select the branches to be considered when selecting bills to be cleared. | From Branch? | Enter the initial code of the range of branches to be considered in clearing. This question no longer affects the clearing process. Use button Branches to select the branches to be considered when selecting bills to be cleared. | To Branch ? | Enter the final code of the range of branches to be considered in clearing. This question no longer affects the clearing process. Use button Branches to select the branches to be considered when selecting bills to be cleared. | Group Entries? | Enter "YES" to group the accounting entries generated through clearing in a single entry | Display Entries? | Enter "YES" to display onscreen the accounting entries generated through clearing, otherwise "NO" | Clear Bills? | Enter option "Regular" for clearing to consider bills of type NF, PA, NDF, or "Tax" to consider TX and TXA generated tax bills. | Accounts online? | Enter "YES" to book online the entries related to accounts payable clearing, otherwise "NO". | Clear transferred? | Enter "Yes" to allow clearing of bills transferred to bank (Bordereau), otherwise "No" | Clear tax balance? | Define not to zero TX balance when clearing between taxes, leaving the submission of DARF and tax payment pending, the feature of this question is only applied when the question Clear Bills? = "Taxes" | Consider ps of tax. of PA? | Define, when clearing between regular NF x PA bills, if taxes of type TXA of PA have postings, whether these values are used to clear the balance of TX of NF, the feature of this question is only applied when the question Clear Bills? = "Regular" |
|
Card |
---|
id | 2 |
---|
label | Parameters (SX6) |
---|
effectType | fade |
---|
| Parameter | Description | Default | MV_CTBFLAG | Enter whether to select booking flags of the offline routines in the accounting entry transaction - SIGACTB. | .F. | MV_BX10925 | Define when withholding of PIS COFINS and CSLL taxes are processed: 1 = At Posting or 2 = At Issue | 1 | MV_PABRUTO | Define, at PA generation with taxes, whether 1 = Generate a PA with gross value. 2 = Generate a PA with net value (system default). | 2 | MV_LIBCHEQ | Option for release of bank balance when checks are generated before write-off. | S | MV_PAPRIME | It defines whether, at PA generation with taxes, the INSS and ISS taxes are provisioned in the net PA. 1=Yes 2=No (default) | 2 | 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 | 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_IMPADT | Define the use of IRRF generation in advance payable |
| MV_SOLNCP | Define the use of Credit Note request routine | .F. | MV_MUNIC | Identifies the code of the finance department of the municipality for ISS collection. | MUNIC | MV_MCUSTO | Currency used to check the credit limit entered in the customer register. | 2 | MV_COMSEIC | Enable integration of service purchase order for Easy Siscoserv. | .F. | MV_ESS0012 | Enable integration of Incoming Document from SIGACOM to SIGAESS. | .F. | MV_ESS0013 | Enable integration of bills generated in SIGAFIN by SIGACOM for SIGAESS. | .F. | MV_ESS0022 | Enable SIGAEIC x SIGAESS Integration | .F. | MV_JURXFIN | Enable integration between modules SIGAFIN - Financials and SIGAPFS - Legal. Disabled by default. |
| MV_PCOINTE | It indicates whether the integration of Planning and Budget Control processes with Entries/Locks processes is active (1=Yes / 2=No). | 2 | MV_BXDTFIN | To not allow postings dated before the date set in parameter MV_DATAFIM (1=Allow, 2=Do not Allow) | 2 | MV_UNIAO | Identify the code given to the Federal Revenue for payment of Income Tax. | UNION | MV_ESTADO | Acronym of the state of the company using the System, to calculate the ICMS (7, 12 or 18%). | SP | MV_PISNAT | Nature for bills related to PIS. | PIS | MV_COFINS | Nature for bills related to COFINS. | COFINS | MV_CSLL | Nature for bills related to CSLL. | CSLL | MV_IRF | Nature for bills related to IRF. | IRF | MV_ISS | Nature for bills related to ISS. | ISS | 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_COMPCP | It indicates whether in an Invoice clearance with a PA, the taxes are proportionated. | .F. | MV_MRETISS | ISS withholding mode in acquisition of services. 1 = when issuing main bill; 2 = when posting main bill | 1 | MV_CPIMPAT | Indicate whether to clear taxes due automatically. 1 - Automatic; 2 - Manual | 2 | MV_AG10925 | Enter whether to combine CCP taxes in one bill only when the three taxes occur in the same bill. | 2 | MV_FINVDOC | Activate control of required documents in routines for releasing bill payable postings/transactions? ("1" = Yes / "2" = No) | 2 | MV_CMTXCON | Indicate whether to generate indexation for bills with rate contracted at CP clearing. T = Generate CM / F = Do Not Generate CM | .F. | MV_CALCCM | Indicate whether to calculate indexation. Valid: "S" - calculate it or "N" - do not calculate it. | S | MV_TXPRCON | Define whether to use the rate entered in clearing in entire process. T = Rt in Process, F = Individual Rt | .F. |
|
|
05. ACCOUNTING
The booking of processes applied to an accounts payable clearing via Financials module is done through the standard entries below:
...
SE
...
Taxable Event
...
ON
...
OFF (CTBAFIN)
...
589
...
Cancellation of clearing of accounts payable bills
...
X
...
X
...
597
...
Clearing of accounts payable
...
X
...
X
Options to set parameters MV_PABRUTO, MV_BP10925, MV_PAPRIME When parameter MV_PABRUTO, is equal to 2 (Net), when you generate bills of type PA (advance payment), the generation with net value is maintained, in which the tax values that can be withheld at addition are deducted. For example, when you clear a bill of type INVOICE with a PA, given that both withhold taxes at posting, for coherent values you should set the parameters below as follows: - MV_COMPCP= .T. - Indicate whether in an Invoice clearance with a PA, the taxes are proportionated.
- MV_BP10925 = 2 - Consider the Net Value in Partial Posting, deducting taxes.
- MV_PAPRIME = 1 - Consider tax provisioning for net PA.
When parameter MV_PABRUTO is equal to 1 (Gross), when you generate bills of type PA, it is generated with gross value, not deducting the tax values that can be withheld at addition. Then you must clear an Invoice with a PA by the gross value, setting parameters as follows: - MV_PABRUTO = 1 - Gross and MV_BX10925 = 1 Tax at posting or MV_BX10925=2 Tax at issue
- MV_BP10925 = 1 - Consider the Gross Value in Partial Posting, without deducting taxes.
- MV_PAPRIME = 2 - Do not consider tax provisioning for net PA.
Informações |
---|
| If you do not configure the system with one of these two options, upon reversal, the bill of type PA may acquire the status partially cleared. |
Informações |
---|
| Parameter MV_COMPCP has no effect if parameter MV_PABRUTO is set to 1. You need to set these parameters whether bills have taxes or not. |
Informações |
---|
| The clearing between Invoice x PA, from the invoice as well as from the PA, is not allowed if parameter MV_PABRUTO is set to 2 (Net) and the natures are different. However, we recommend using the same financial nature for Invoice and PA bills, to make sure the tax values generated do not diverge. |
|
05. ACCOUNTING
The booking of processes applied to an accounts payable clearing via Financials module is done through the standard entries below:
SE | Taxable Event | ON | OFF (CTBAFIN) |
---|
589 | Cancellation of clearing of accounts payable bills | X | X |
597 | Clearing of accounts payable | X | X |
Card documentos |
---|
Informacao | The booking of clearing will always be made based on the data of the Cleared Bill and it can be any type of obligation: NF, TX, DP, etc. as long as the transfer (SE5) has the following classification: E5_TIPODOC = 'CP' and E5_MOTBX = 'CMP' |
---|
Titulo | IMPORTANT! |
---|
|
Booking Variables
Totvs custom tabs box |
---|
tabs | Online,Offline,Example |
---|
ids | online,offline,example |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | online |
---|
| The following list of variables to configure Standardized Entry 597 (Accounts Payable Clearing) for online booking of Payable Clearing (FINA340): VALOR - Stores the value cleared VALOR2 - Addition Value VALOR3 - Deduction Value VALOR4 - Variation of Adjustment for Inflation VLRINSTR - Stores the value cleared nSldReal - Stores the value cleared in the corresponding currency of bill ABATIMENTO - Deduction Values REGVALOR - Recno of current record STRLCTPAD - Key of main bill + document number These variables are fed with data from the record that originated the clearing. Whereas for records selected for clearing, the booking is made by SE5. In online booking, you cannot change the booking branch. The booking occurs at the branch selected.
Example: Select NF1 and click Clear. On the screen for selecting bills to be cleared, select PA1 and PA2. When booking online, the NF1 information will be in the booking variables. Whereas the clearing data of each PA will have their respective SE5 records selected.
Reversal Variables: VALUE - Stores the value cleared VLRINSTR - Stores the value cleared |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | offline |
---|
| When we force the selection of bills to be cleared, the booking brings both bills (example: Invoice x PA), booking the value of both bills, which may cause a double entry. The variables available for offline booking (CTBAFIN): VALOR - Stores the value cleared VALOR2 - Addition Value VALOR3 - Deduction Value REGVALOR - RECNO of current record STRLCTPAD - Key of main bill + document number These variables are fed with data from the record that originated the clearing. Whereas for records selected for clearing, the booking is made by SE5. |
Totvs custom tabs box items |
---|
default | no |
---|
referencia | example |
---|
| Example: LP597 In field CT5_HIST, enter: U_HIST597() Create the following function:
Bloco de código |
---|
language | java |
---|
theme | Midnight |
---|
firstline | 1 |
---|
linenumbers | true |
---|
| User function HIST597()
Local aSaveSE5 := SE5->(GetArea())
Local aSaveSE2 := SE2->(GetArea())
Local xRet := Nil
If REGVALOR <> 0
SE2->(dbGoto(REGVALOR))
xRet:= "TESTE TIPO: "+ SE2->E2_TIPO + " RECNO: "+ ALLTRIM(STR(SE2->(RECNO())))
Else
xRet:= "TESTE TIPO: "+ SE5->E5_TIPO + " TIPODOC: "+SE5->E5_TIPODOC + " RECNO: "+ ALLTRIM(STR(SE5->(RECNO())))
Endif
RestArea(aSaveSE2)
RestArea(aSaveSE5)
Return(xRet) |
|
|
Card documentos |
---|
Informacao | The booking of clearing will always be made based on the data of the Cleared Bill and it can be any type of obligation: NF, TX, DP, etc. as long as the transfer (SE5) has the following classification: E5_TIPODOC = 'CP' and E5_MOTBX = 'CMP' |
---|
Titulo | IMPORTANT! |
---|
|
Informações |
---|
|
Booking of DIC type The booking of DIC type generated by clearing can be done by LP 510 - Addition of Bill Payable, because it is generated through the FINA050 (Accounts Payable) automatic routine.
Booking of taxes generated when clearing. LP 597 - Clearing Payable itself can book taxes generated by clearing, through variables: NPIS340, NCOF340, NCSL340, NIRF340, NISS340.In the other cases, the booking remains unchanged, as documented below |
See Also:
Booking
...
of CR/CP Clearings
06. TABLES
- SE2 - Accounts Payable Register
- SE5 - Checks Register
- SED - Natures Register
- SA2 - Suppliers Register
- FK2 - Postings Payable
- FK3 - Calculated Taxes
- FK4 - Withheld Taxes
- FK5 - Bank Transactions
- FK6 - Accessory Values
- FK7 - Auxiliary Table
- FKA - Transaction Tracking
...