Passo 1: Criar fórmulas: 1 - Código: ANO Descrição: ANO Fórmula: ANO 2 - Código: MES Descrição: MES Fórmula: MES 3 - Código: MESCAIXA Descrição: MÊS CAIXA Fórmula: MESCX 4 - Código: CHAPA Descrição: CHAPA Fórmula: CHAPA 5 - Código: COLIGADA Descrição: COLIGADA Fórmula: COLIGADACORRENTE 6 - Código: PERIODO Descrição: PERIODO Fórmula: PERIODO 7- Código: PESSOA Descrição: PESSOA Texto: TABFUNC('CODPESSOA','S')
Passo 2: Criar eventos:
1 - Código: 0046 Descrição:PAGAMENTO DE AUTÔNOMOS CC 46, provento, valor, sem incidências. 2 - Código: XXXX Descrição: INSS AUTÔNOMOS Fórmula: INSSAUT CC 85, desconto, valor, sem incidências. 3 - Código: YYYY Descrição: IRRF AUTÔNOMOS Fórmula: IRRFAUT CC 84, desconto, valor, sem incidências, prioridade 99. 4 - WWWW Descrição:BASE TRIBUTADA DE INSS AUTÔNOMO MÚLTIPLOS VÍNCULOS,CC 417 base de calculo, valor, sem incidências, prioridade 81. OBS.: Caso os eventos já existam com outro código, alterar o código correspondente no processo abaixo. O mesmo para casos onde já exista o código sugerido e há necessidade de criar outro código.
Passo 3: Acessar o menu "Utilitários -> Consultas SQL" e cadastrar as seguintes sentenças SQL SQL | Oracle | SQL | Oracle | 1 - Código: IRRFAUT Título: IRRF Autônomos | 1 - Código: IRRFAUT Título: IRRF Autônomos | SELECT TAB1.VAL + TAB2.VAL RESULT FROM (SELECT ISNULL (SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('0046')AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP=PFFINANC.ANOCOMP AND PFPERFF.MESCOMP=PFFINANC.MESCOMP AND PFPERFF.NROPERIODO=PFFINANC.NROPERIODO AND PFPERFF.MESCOMP =:FRM_MES /*MES ATUAL*/ ) TAB1, (SELECT ISNULL(SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('0046') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO=PFFINANC.NROPERIODO AND PFPERFF.MESCOMP <:FRM_MES /*MESES ANTERIORES*/ ) TAB2 | SELECT TAB1.VAL + TAB2.VAL RESULT FROM (SELECT NVL (SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('0046') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO=PFFINANC.NROPERIODO AND PFPERFF.MESCOMP =:FRM_MES /*MES ATUAL*/ ) TAB1, (SELECT NVL(SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('0046') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.V=PFFINANC.MESCOMP AND PFPERFF.NROPERIODO=PFFINANC.NROPERIODO AND PFPERFF.MESCOMP <:FRM_MES /*MESES ANTERIORES*/ ) TAB2 | 2 - Código: IRRFAUT1 Título: IRRF Autônomos 1 | 2 - Código: IRRFAUT1 Título: IRRF Autônomos 1 | SELECT TAB1.VAL + TAB2.VAL RESULT FROM (SELECT ISNULL (SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('XXXX') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP =:FRM_MES /*MES ATUAL*/ ) TAB1, (SELECT ISNULL (SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('XXXX') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP <:FRM_MES /*MESES ANTERIORES*/ ) TAB2 | SELECT TAB1.VAL + TAB2.VAL RESULT FROM (SELECT NVL(SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('XXXX') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP =:FRM_MES /*MES ATUAL*/ ) TAB1, (SELECT NVL(SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('XXXX') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP <:FRM_MES /*MESES ANTERIORES*/ ) TAB2 | 3 - Código: IRRFDESC Título: IRRF Desconta do de Autônomos | 3 - Código: IRRFDESC Título: IRRF Desconta do de Autônomos | SELECT TAB1.VAL + TAB2.VAL RESULT FROM (SELECT ISNULL (SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CHAPA <> :FRM_CHAPA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('YYYY') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP =:FRM_MES /*MES ATUAL*/ ) TAB1, (SELECT ISNULL (SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CHAPA <> :FRM_CHAPA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFFINANC.CODEVENTO IN ('YYYY') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP <:FRM_MES /*MESES ANTERIORES*/ ) TAB2 | SELECT TAB1.VAL + TAB2.VAL RESULT FROM (SELECT NVL(SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CHAPA <> :FRM_CHAPA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFUNC.CHAPA = PFFINANC.CHAPA AND PFFINANC.CODEVENTO IN ('YYYY') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP =:FRM_MES /*MES ATUAL*/ ) TAB1, (SELECT NVL (SUM(PFFINANC.VALOR),0) VAL FROM PFUNC, PFFINANC, PFPERFF WHERE PFUNC.CODCOLIGADA =:FRM_COLIGADA AND PFUNC.CODPESSOA =:FRM_PESSOA AND PFUNC.CHAPA <> :FRM_CHAPA AND PFUNC.CODCOLIGADA = PFFINANC.CODCOLIGADA AND PFFINANC.CODEVENTO IN ('YYYY') AND PFPERFF.ANOCOMP=:FRM_ANO AND PFPERFF.MESCAIXACOMUM=:FRM_MESCAIXA AND PFPERFF.CODCOLIGADA=:FRM_COLIGADA AND PFPERFF.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFPERFF.CHAPA=PFFINANC.CHAPA AND PFPERFF.ANOCOMP =PFFINANC.ANOCOMP AND PFPERFF.MESCOMP =PFFINANC.MESCOMP AND PFPERFF.NROPERIODO =PFFINANC.NROPERIODO AND PFPERFF.MESCOMP <:FRM_MES /*MESES ANTERIORES*/ ) TAB2 |
Passo 4: Criar as formulas 1 - Código: IRRFAUT Descrição: IRRFAUT Fórmula: EXECSQL ('IRRFDESC'); EXECSQL ('IRRFAUT1'); EXECSQL ('IRRFAUT'); SE TFUNC ='A' ENTAO (TR ((((RESULTSQL ('IRRFAUT' , 'RESULT')))*0.40) - (( RESULTSQL ('IRRFAUT1' , 'RESULT'))))- RESULTSQL ('IRRFDESC' , 'RESULT')) SENAO FALSO FIMSE 2 - Código: INSSAUT Descrição: INSS Autônomos Fórmula: DECL MAXIMO; SETVAR(MAXIMO, TABCALCULO ('LIMITESUPERIOR','INSS',MTDATA (1, INCMES(MES,1), INCANO(MES,ANO,1)),3)*0.20 ); SE LI('WWWW')=0 ENTAO MIN(MAXIMO,LI('0046')*0.20) SENAO MIN(MAXIMO,LI('WWWW')*0.20) FIMSE
Observação: Calculo da formula baseado no parâmetro "Calcula INSS conforme eSocial" marcado.
Deverá lançar os eventos 0046, XXXX, YYYY no envelope e pedir recálculo. OBS: O único que deverá ser informado o valor é o 0046 (Pagamento).
Exemplo: Funcionário com múltiplos vínculos, na primeira chapa foram lançados os seguintes eventos: - 0046 - PAGAMENTO DE AUTÔNOMOS no valor de R$ 7.000,00
- XXXX - INSS AUTÔNOMOS sem valor e
- YYYY - IRRF AUTÔNOMOS sem valor
Feito o calculo e o recalculo. Sistema realizou corretamente o cálculo de IRRF.
Na segunda chapa foram lançados os eventos: - 0046 - PAGAMENTO DE AUTÔNOMOS no valor de R$ 8.000,00
- XXXX - INSS AUTÔNOMOS sem valor e
- YYYY - IRRF AUTÔNOMOS sem valor.
Feito o calculo e o recálculo. Sistema considerou os descontos e base da outra chapa e realizou o cálculo de IRRF corretamente.
Na primeira chapa será informado o valor de base do INSS para controle do calculo, caso ocorro o recálculo.
|