ERP – Operações e Cálculos Fiscais – Como chegar no valor do crédito diferido na apuração do PIS e COFINS
Dúvida
Como chegar no valor do crédito diferido na apuração do PIS e COFINS, no módulo Gestão de Tributos?
Solução
Segue abaixo um exemplo prático demonstrando como o sistema realiza o cálculo do crédito diferido na apuração do PIS e COFINS:
1. Neste exemplo o valor do crédito diferido é 74,71:
2. Para chegar nesse valor primeiro é feito um select que busca os créditos no mês:
SELECT E660NFC.NUMNFI,
E660INC.CSTPIS,
E660INC.CSTCOF,
E660INC.VLRBPR AS VLRBPR,
E660INC.QTDBPI AS QTDBPI,
E660INC.ALIPIS,
E660INC.VLRPIR AS VLRPIR,
E660INC.PERPIR,
E660INC.VLRBCR AS VLRBCR,
E660INC.QTDBCO AS QTDBCO,
E660INC.ALICOF,
E660INC.VLRCOR AS VLRCOR,
E660INC.PERCOR,
E660INC.VLRBPF AS VLRBPF,
E660INC.QTDBPF AS QTDBPF,
E660INC.ALIPIF,
E660INC.VLRPIF AS VLRPIF,
E660INC.PERPIF,
E660INC.VLRBCF AS VLRBCF,
E660INC.QTDBCF AS QTDBCF,
E660INC.ALICFF,
E660INC.VLRCFF AS VLRCFF,
E660INC.PERCFF,
E660INC.VLRBSP AS VLRBSP,
E660INC.VLRSTP AS VLRSTP,
E660INC.VLRBSC AS VLRBSC,
E660INC.VLRSTC AS VLRSTC,
E660INC.BASCRE,
E095FOR.TIPMER,
E001TNS.COMNAT,
E001TNS.CPRTCF AS TIPMOV,
'NFC' AS ORIMOV,
' ' AS ORIPPI,
E001TNS.CPRTCF,
0 AS VLREPI,
0 AS VLRECO,
E660NFC.FILCON,
E660NFC.DATEXC,
E660INC.PERSTP,
E660INC.PERSTC,
E660NFC.TIPNFE
FROM E001TNS,
E660NFC,
E660INC,
E095FOR
WHERE E095FOR.CODFOR = E660NFC.CODFOR
AND E001TNS.CODEMP = E660NFC.CODEMP
AND E001TNS.CODTNS = E660NFC.CODTNS
AND E660INC.CODEMP = E660NFC.CODEMP
AND E660INC.CODFIL = E660NFC.CODFIL
AND E660INC.CODFOR = E660NFC.CODFOR
AND E660INC.NUMNFI = E660NFC.NUMNFI
AND E660INC.NUMNFF = E660NFC.NUMNFF
AND E660INC.CODSNF = E660NFC.CODSNF
AND E660INC.CODTNS = E660NFC.CODTNS
AND ( ( E660INC.CSTCOF = '50'
OR E660INC.CSTCOF = '51'
OR E660INC.CSTCOF = '52'
OR E660INC.CSTCOF = '53'
OR E660INC.CSTCOF = '54'
OR E660INC.CSTCOF = '55'
OR E660INC.CSTCOF = '56'
OR E660INC.CSTCOF = '60'
OR E660INC.CSTCOF = '61'
OR E660INC.CSTCOF = '62'
OR E660INC.CSTCOF = '63'
OR E660INC.CSTCOF = '64'
OR E660INC.CSTCOF = '65'
OR E660INC.CSTCOF = '66'
OR E660INC.CSTCOF = '67'
OR E660INC.CSTCOF = '70'
OR E660INC.CSTCOF = '71'
OR E660INC.CSTCOF = '72'
OR E660INC.CSTCOF = '73'
OR E660INC.CSTCOF = '74'
OR E660INC.CSTCOF = '75'
OR E660INC.CSTCOF = '98'
OR E660INC.CSTCOF = '99' )
AND ( E660INC.CSTPIS = '50'
OR E660INC.CSTPIS = '51'
OR E660INC.CSTPIS = '52'
OR E660INC.CSTPIS = '53'
OR E660INC.CSTPIS = '54'
OR E660INC.CSTPIS = '55'
OR E660INC.CSTPIS = '56'
OR E660INC.CSTPIS = '60'
OR E660INC.CSTPIS = '61'
OR E660INC.CSTPIS = '62'
OR E660INC.CSTPIS = '63'
OR E660INC.CSTPIS = '64'
OR E660INC.CSTPIS = '65'
OR E660INC.CSTPIS = '66'
OR E660INC.CSTPIS = '67'
OR E660INC.CSTPIS = '70'
OR E660INC.CSTPIS = '71'
OR E660INC.CSTPIS = '72'
OR E660INC.CSTPIS = '73'
OR E660INC.CSTPIS = '74'
OR E660INC.CSTPIS = '75'
OR E660INC.CSTPIS = '98'
OR E660INC.CSTPIS = '99' ) )
AND E660NFC.CODEMP = 1
AND ( ( E660NFC.CODFIL = 1 )
OR ( E660NFC.CODFIL = 2 )
OR ( E660NFC.CODFIL = 7 )
OR ( E660NFC.CODFIL = 9 )
OR ( E660NFC.CODFIL = 11 )
OR ( E660NFC.CODFIL = 12 )
OR ( E660NFC.CODFIL = 14 )
OR ( E660NFC.CODFIL = 20 )
OR ( E660NFC.CODFIL = 21 )
OR ( E660NFC.CODFIL = 80 ) )
AND ( ( E660NFC.DATENT >= '01/10/2023'
AND E660NFC.DATENT <= '31/10/2023'
AND ( E660NFC.DATEXC = '31/12/1900'
OR E660NFC.DATEXC IS NULL ) )
OR ( E660NFC.DATEXC >= '01/10/2023'
AND E660NFC.DATEXC <= '31/10/2023' ) )
AND E660NFC.SITNFC = '2'
AND ( E660INC.VLRBPR > 0
OR E660INC.QTDBPI > 0
OR E660INC.VLRBCR > 0
OR E660INC.QTDBCO > 0
OR E660INC.VLRBPF > 0
OR E660INC.QTDBPF > 0
OR E660INC.VLRBCF > 0
OR E660INC.QTDBCF > 0
OR E660INC.VLRBSC > 0
OR E660INC.VLRBSP > 0 )
2.1. Depois é feito outro select que busca a base do PIS e COFINS do faturamento do mês:
SELECT E660INV.CSTPIS,
SUM(E660INV.VLRMRC) AS VLRCTB,
SUM(E660INV.VLRBPF) AS VLRBPF,
E660INV.PERPIF AS PERPIF,
SUM(E660INV.QTDBPF) AS QTDBPF,
E660INV.ALIPIF AS ALIPIF,
SUM(E660INV.VLRPIF) AS VLRPIF,
SUM(E660INV.VLRBSP) AS VLRBSP,
SUM(E660INV.VLRSTP) AS VLRSTP,
E660INV.CSTCOF,
SUM(E660INV.VLRBCF) AS VLRBCF,
E660INV.PERCFF AS PERCFF,
SUM(E660INV.QTDBCF) AS QTDBCF,
E660INV.ALICFF AS ALICFF,
SUM(E660INV.VLRCFF) AS VLRCFF,
SUM(E660INV.VLRBSC) AS VLRBSC,
SUM(E660INV.VLRSTC) AS VLRSTC,
E022CLF.REGTRI AS TRICPL,
E075PRO.REGTRI AS TRIPRO,
E080SER.REGTRI AS TRISER,
E085CLI.ZONFRA,
'NFV' AS TIPMOV,
' ' AS CPRTCF,
E660NFV.FILCON,
0 AS OPEFIL,
E660INV.PERSTP,
E660INV.PERSTC,
E660INV.CODTNS
FROM E660INV
INNER JOIN E660NFV
ON E660NFV.CODEMP = E660INV.CODEMP
AND E660NFV.CODFIL = E660INV.CODFIL
AND E660NFV.CODCLI = E660INV.CODCLI
AND E660NFV.NUMNFI = E660INV.NUMNFI
AND E660NFV.NUMNFF = E660INV.NUMNFF
AND E660NFV.CODSNF = E660INV.CODSNF
AND E660NFV.CODTNS = E660INV.CODTNS
INNER JOIN E085CLI
ON E085CLI.CODCLI = E660NFV.CODCLI
INNER JOIN E001TNS
ON E001TNS.CODEMP = E660NFV.CODEMP
AND E001TNS.CODTNS = E660NFV.CODTNS
INNER JOIN E070IMP
ON E070IMP.CODEMP = E660NFV.CODEMP
AND E070IMP.CODFIL = E660NFV.CODFIL
LEFT JOIN E075PRO
ON E075PRO.CODEMP = E660INV.CODEMP
AND E075PRO.CODPRO = E660INV.CODPRO
LEFT JOIN E080SER
ON E080SER.CODEMP = E660INV.CODEMP
AND E080SER.CODSER = E660INV.CODSER
LEFT JOIN E022CLF
ON E022CLF.CODCLF = E660INV.CODCLF
WHERE ( ( E660INV.CSTCOF = '01'
OR E660INV.CSTCOF = '02'
OR E660INV.CSTCOF = '03'
OR E660INV.CSTCOF = '04'
OR E660INV.CSTCOF = '05'
OR E660INV.CSTCOF = '06'
OR E660INV.CSTCOF = '07'
OR E660INV.CSTCOF = '08'
OR E660INV.CSTCOF = '09'
OR E660INV.CSTCOF = '49' )
AND ( E660INV.CSTPIS = '01'
OR E660INV.CSTPIS = '02'
OR E660INV.CSTPIS = '03'
OR E660INV.CSTPIS = '04'
OR E660INV.CSTPIS = '05'
OR E660INV.CSTPIS = '06'
OR E660INV.CSTPIS = '07'
OR E660INV.CSTPIS = '08'
OR E660INV.CSTPIS = '09'
OR E660INV.CSTPIS = '49' ) )
AND E660NFV.CODEMP = 1
AND ( ( E660NFV.CODFIL = 1 )
OR ( E660NFV.CODFIL = 2 )
OR ( E660NFV.CODFIL = 7 )
OR ( E660NFV.CODFIL = 9 )
OR ( E660NFV.CODFIL = 11 )
OR ( E660NFV.CODFIL = 12 )
OR ( E660NFV.CODFIL = 14 )
OR ( E660NFV.CODFIL = 20 )
OR ( E660NFV.CODFIL = 21 )
OR ( E660NFV.CODFIL = 80 ) )
AND E660NFV.DATEMI >= '01/10/2023'
AND E660NFV.DATEMI <= '31/10/2023'
AND ( ( E660NFV.CODTNS = '5102' )
OR ( E660NFV.CODTNS = '5949S' )
OR ( E660NFV.CODTNS = '6102' ) )
AND E660NFV.SITNFV = '2'
AND ( ( E660NFV.TIPNFS > 0
AND ( E001TNS.VENTCF <> 'A'
AND E001TNS.VENTCF <> 'D' ) )
AND NOT( E660NFV.TIPNFS = 2
AND E001TNS.VENTCF = 'X' ) )
GROUP BY E660INV.CSTPIS,
E660INV.CSTCOF,
E660INV.PERPIF,
E660INV.ALIPIF,
E660INV.PERCFF,
E660INV.ALICFF,
E075PRO.REGTRI,
E080SER.REGTRI,
E022CLF.REGTRI,
E085CLI.ZONFRA,
E660NFV.FILCON,
E660INV.PERSTP,
E660INV.PERSTC,
E660INV.CODTNS
2.2. E busca os títulos diferidos do mês através desse select:
SELECT E660RTD.CODEMP,
E660RTD.CODFIL,
E660RTD.CODTPT,
E660RTD.NUMTIT,
E660RTD.CONSOC,
E660RTD.ALIPIF,
E660RTD.ALICFF,
E660TIT.CODCLI,
E660RTD.VLRTIT,
E660RTD.VLRBPF,
E660RTD.VLRBCF
FROM E660RTD,
E660TIT,
E070IMP
WHERE E660RTD.CODEMP = 1
AND E660RTD.CONSOC = 1
AND E660TIT.DATENT >= '01/10/2023'
AND E660TIT.DATENT <= '31/10/2023'
AND ( ( E070IMP.CODFIL = 1 )
OR ( E070IMP.CODFIL = 2 )
OR ( E070IMP.CODFIL = 7 )
OR ( E070IMP.CODFIL = 9 )
OR ( E070IMP.CODFIL = 11 )
OR ( E070IMP.CODFIL = 12 )
OR ( E070IMP.CODFIL = 14 )
OR ( E070IMP.CODFIL = 20 )
OR ( E070IMP.CODFIL = 21 )
OR ( E070IMP.CODFIL = 80 ) )
AND E070IMP.CODEMP = E660RTD.CODEMP
AND E660TIT.CODEMP = E660RTD.CODEMP
AND E660TIT.CODFIL = E660RTD.CODFIL
AND E660TIT.CODTPT = E660RTD.CODTPT
AND E660TIT.NUMTIT = E660RTD.NUMTIT
AND E660TIT.CODFIL = E070IMP.CODFIL
ORDER BY 1,
2,
3,
4,
5
Importante:
Os selects demonstrados foram extraído do código fonte do sistema, e se manteve os parâmetro de entrada original para um melhor entendimento do exemplo.
3. Após isso, aplica a fórmula para chegar ao valor do crédito diferido:
Crédito do Mês * ((Base de cálculo do PIS do Mês / Rateio do Título de entrada do mês);
99,00 * (37.177,84 / 128.855,68) = 28,55713808
99,00 * (22.500,00 / 128.855,68) = 17,28275787
99,00 * (37.177,84 / 128.855,68) = 28,55713808
Total crédito diferido = 74,39703402
4. Na apuração do mês em que os títulos diferidos forem pagos, esse crédito será utilizado:
Ainda sobre a apuração com Contr. Diferido, verifique também os artigos: ERP – Operações e Cálculos Fiscais – Como fica a apuração do PIS e COFINS com Contr. Diferido e ERP – Operações e Cálculos Fiscais – Como configurar o faturamento para órgãos públicos onde a apuração deverá ocorrer somente após o recebimento