Dedução do ICMS no PIS e na COFINS
A publicação do Guia Prático da EFD Contribuições versão 1.35, trouxe a orientação de como proceder em relação à exclusão do ICMS da base de cálculo do PIS e COFINS. O Gestão Empresarial já conta com parametrização na transação que possibilita descontar o valor do ICMS da base de cálculo do PIS e COFINS diretamente nas operações de compra e venda e, para estes documentos, a partir da versão 5.10.1.71 a exportação do arquivo observa as orientações desta versão do guia prático.
No que se refere a retificação do SPED Contribuições de períodos em que os documentos foram emitidos sem aplicar a dedução do ICMS da base de cálculo do PIS e COFINS, estes documentos já estão escriturados e o período contábil encerrado, inviabilizando o ajuste dos lançamentos. Para isso, disponibilizamos abaixo orientação sobre como proceder para recompor a base de cálculo destes documentos durante exportação do arquivo.
Com estas alterações, serão exportados os documentos com base de cálculo já deduzida do ICMS e o novo valor de PIS e COFINS debitado sobre esta base de cálculo apurada. Os registros de apuração de débitos e créditos não estão contemplados nestas orientações visto que o cálculo pode ser realizado diretamente pelo PVA, sem necessidade de reapurar o imposto no Gestão Empresarial.
O exposto nessa documentação é apenas uma sugestão de regra e não elimina a necessidade de uma avaliação das operações e do cenário fiscal da empresa, podendo ocorrer ajuste da regra, conforme necessidade.
Processo
- Acesse Controladoria > Gestão de Tributos > Arquivos Fiscais > Federais > SPED Contribuições (F669SPC);
- Selecione a opção Gerar log dos SQL executados;
- Após o arquivo gerado, acesse a pasta dos Logs do sistema e abra o arquivo SPC_LOGSQL.txt;
- No arquivo, pesquise o registro desejado e copie o comando SQL;
- No comando SQL, altere a geração das colunas desejadas para a fórmula correta a cada coluna;
- Antes da alteração: E660INC.VLRBPR AS VLRBPS,
- Após a alteração: (E660INC.VLRBPR - E660INC.VLRICM) AS VLRBPS,
- Crie uma regra com o comando SQL modificado:
- A regra irá substituir o comando SQL padrão, responsável por gerar o registro C170 das notas de entrada, pelo comando que esta escrito nela. Esta substituição só irá acontecer, caso as condições sejam verdadeiras.
- Neste exemplo o comando está trocando a forma de calcular a base o valor de PIS e COFINS.
- Em seguida, acesse Cadastros > Controladoria > Declarações (F049DEC);
- Abra a última declaração relacionada ao SPED Contribuições, clique em Duplicar, selecione todos os registros e processe;
- Após duplicação, vá até a guia Registros e selecione o(os) registro(os) desejado(os), conforme necessidade;
- No campo Código de Regra, adicione a regra criada que seja relacionada a cada registro;
- Clique em Processar;
- Retorne na tela F669SPC;
- No campo Declaração da guia SPED Contribuições, informe o código da última declaração do SPED Contribuições.
Observação: mesmo código da declaração que foi implementada na regra da tela F049DEC.
Este exemplo possui um comando SQL simples, apenas para o entendimento do processo. Segue demonstração de uma maneira de como manipular o SQL para atender a customização. O SQL padrão poderá mudar de acordo com a versão. Desta forma, é necessário sempre buscar o SQL atualizado na tela de geração do SPED, na opção Gerar log dos SQL executados:
definir alfa IMPAReg;
definir alfa IMPAPRMSQL;
definir alfa IMPAEveReg;
definir alfa IMPACMDSQL;
se ((IMPAReg = "C170") e (IMPAEveReg = "SQL") e (IMPAPRMSQL = "NFENTRADA"))
inicio
IMPACMDSQL = "SELECT "+
"(E660INC.VLRBSP - E660INC.VLRICM) AS VLRBSP, E660INC.PERPIR AS PERPIS, "+
"(((E660INC.VLRBSP - E660INC.VLRICM) * E660INC.PERSTP) / 100) AS VLRSTP, "+
"(E660INC.VLRBSC - E660INC.VLRICM) AS VLRBSC, E660INC.PERCOR AS PERCOF, "+
"(((E660INC.VLRBSC - E660INC.VLRICM) * E660INC.PERSTC) / 100) AS VLRSTC, "+
"E660INC.PERICM AS PERICM, E660INC.VLRICM AS VLRICM "+
"FROM E660INC "+
"WHERE E660INC.CODEMP = {CODEMP} AND "+
"E660INC.CODFIL = {CODFIL} AND "+
"E660INC.CODFOR = {CODPAR} AND "+
"E660INC.NUMNFI = {NUMNFI} AND "+
"E660INC.CODSNF = {CODSNF} "+
"ORDER BY 1";
fim;
Observação
Saiba como restituir os créditos após exclusão do ICMS
Relação dos registros que podem ser modificados com seus respectivos campos
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
NFENTRADAC170 | VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660INC.VLRBPR AS VLRBPS
E660INC.VLRBSP E660INC.VLRBPF AS VLRBPD |
(E660INC.VLRBPR - E660INC.VLRICM) AS VLRBPS
(E660INC.VLRBSP - E660INC.VLRICM) AS VLRBSP (E660INC.VLRBPF - E660INC.VLRICM) AS VLRBPD |
VL_PIS | Valor do PIS/PASEP | E660INC.VLRPIR AS VLRPIS
E660INC.VLRSTP
E660INC.VLRPIF AS VLRPID |
(((E660INC.VLRBPR - E660INC.VLRICM) * E660INC.PERPIR) / 100) AS VLRPIS (((E660INC.VLRBSP - E660INC.VLRICM) * E660INC.PERSTP) / 100) AS VLRSTP (((E660INC.VLRBPF - E660INC.VLRICM) * E660INC.PERPIF) / 100) AS VLRPID | |
VL_BC_COFINS | Valor da base de cálculo da COFINS | E660INC.VLRBSC
E660INC.VLRBCF AS VLRBCD E660INC.VLRBCR AS VLRBCF |
(E660INC.VLRBSC - E660INC.VLRICM) AS VLRBSC
(E660INC.VLRBCF - E660INC.VLRICM) AS VLRBCD (E660INC.VLRBCR - E660INC.VLRICM) AS VLRBCF |
|
VL_COFINS | Valor da COFINS | E660INC.VLRSTC
E660INC.VLRCFF AS VLRCFD E660INC.VLRCOR AS VLRCOF |
(((E660INC.VLRBSC - E660INC.VLRICM) * E660INC.PERSTC) / 100) AS VLRSTC (((E660INC.VLRBCF - E660INC.VLRICM) * E660INC.PERCFF) / 100) AS VLRCFD (((E660INC.VLRBCR - E660INC.VLRICM) * E660INC.PERCOR) / 100) AS VLRCOF | |
NFSAIDAC170 | VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660INV.VLRBSP SUM(E660INV.VLRBSP) AS VLRBSP E660INV.VLRBPR AS VLRBPDSUM (E660INV.VLRBPR) AS VLRBPD E660INV.VLRBPF AS VLRBPS SUM(E660INV.VLRBPF) AS VLRBPS | (E660INV.VLRBSP - E660INV.VLRICM) AS VLRBSP
SUM(E660INV.VLRBSP - E660INV.VLRICM) AS VLRBSP
(E660INV.VLRBPR - E660INV.VLRICM) AS VLRBPD SUM (E660INV.VLRBPR - E660INV.VLRICM) AS VLRBPD (E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPS SUM(E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPS |
VL_PIS | Valor do PIS/PASEP | E660INV.VLRSTP SUM(E660INV.VLRSTP) AS VLRSTP E660INV.VLRPIR AS VLRPID SUM(E660INV.VLRPIR) AS VLRPID E660INV.VLRPIF AS VLRPIS SUM(E660INV.VLRPIF) AS VLRPIS | (((E660INV.VLRBSP - E660INV.VLRICM) * E660INV.PERSTP) / 100) AS VLRSTP SUM(((E660INV.VLRBSP - E660INV.VLRICM) * E660INV.PERSTP) / 100) AS VLRSTP (((E660INV.VLRBPR - E660INV.VLRICM) * E660INV.PERPIR) / 100) AS VLRPID SUM(((E660INV.VLRBPR - E660INV.VLRICM) * E660INV.PERPIR) / 100) AS VLRPID (((E660INV.VLRBPF - E660INV.VLRICM) * E660INV.PERPIF) / 100) AS VLRPID SUM(((E660INV.VLRBPF - E660INV.VLRICM) * E660INV.PERPIF) / 100) AS VLRPID | |
VL_BC_COFINS | Valor da base de cálculo da COFINS | E660INV.VLRBSC SUM(E660INV.VLRBSC) AS VLRBSC E660INV.VLRBCR AS VLRBCD SUM(E660INV.VLRBCR) AS VLRBCD E660INV.VLRBCF AS VLRBCF SUM(E660INV.VLRBCF) AS VLRBCF | (E660INV.VLRBSC - E660INV.VLRICM) AS VLRBSC
SUM(E660INV.VLRBSC - E660INV.VLRICM) AS VLRBSC
(E660INV.VLRBCR - E660INV.VLRICM) AS VLRBCD SUM(E660INV.VLRBCR - E660INV.VLRICM) AS VLRBCD (E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF SUM(E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF |
|
VL_COFINS | Valor da COFINS | E660INV.VLRSTC SUM(E660INV.VLRSTC) AS VLRSTC E660INV.VLRCOR AS VLRCFD SUM(E660INV.VLRCOR) AS VLRCFD E660INV.VLRCFF AS VLRCOF SUM(E660INV.VLRCFF) AS VLRCOF | (((E660INV.VLRBSC - E660INV.VLRICM) * E660INV.PERSTC) / 100) AS VLRSTC SUM(((E660INV.VLRBSC - E660INV.VLRICM) * E660INV.PERSTC) / 100) AS VLRSTC (((E660INV.VLRBCR - E660INV.VLRICM) * E660INV.PERCOR) / 100) AS VLRCFD SUM(((E660INV.VLRBCR - E660INV.VLRICM) * E660INV.PERCOR) / 100) AS VLRCFD (((E660INV.VLRBCF - E660INV.VLRICM) * E660INV.PERCFF) / 100) AS VLRCOF SUM(((E660INV.VLRBCF - E660INV.VLRICM) * E660INV.PERCFF) / 100) AS VLRCOF |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
C180 | C181.VL_DESC C185.VL_DESC |
Valor do desconto comercial / exclusão da base de cálculo | E660INV.VLRDSC | (E660INV.VLRDSC + E660INV.VLRICM) AS VLRDSC |
C181.VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660INV.VLRBPR
E660INV.VLRBPF |
(E660INV.VLRBPR - E660INC.VLRICM) AS VLRBPR
(E660INV.VLRBPF - E660INC.VLRICM) AS VLRBPF |
|
C181.VL_PIS | Valor do PIS/PASEP | É recalculado em tempo de exportação não sendo necessário tratamento | ||
C185.VL_BC_COFINS | Valor da base de cálculo da COFINS | E660INV.VLRBCF E660INV.VLRBCR | (E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF
(E660INV.VLRBCR - E660INV.VLRICM) AS VLRBCR |
|
C185.VL_COFINS | Valor da COFINS | É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
C381 | VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660INV.VLRBPF | (E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPF |
VL_PIS | Valor do PIS/PASEP | É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
C385 | VL_BC_COFINS | Valor da base de cálculo da COFINS | E660INV.VLRBCF AS VLRBCF | (E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF |
VL_COFINS | Valor da COFINS | É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
C400 | C481.VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | SUM(E660IRZ.VLRBPT) AS VLRBPT | SUM(E660IRZ.VLRBPT - E660IRZ.VLRICM) AS VLRBPT |
C485.VL_BC_COFINS | Valor da base de cálculo da COFINS | SUM(E660IRZ.VLRBCT) AS VLRBCT | SUM(E660IRZ.VLRBCT - E660IRZ.VLRICM) AS VLRBCT | |
C481.VL_PIS
C485.VL_COFINS |
Valor do PIS/PASEP
Valor da COFINS |
É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
C490 | C491.VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | SUM(E660IRZ.VLRBPT) AS VLRBPT | SUM(E660IRZ.VLRBPT - E660IRZ.VLRICM) AS VLRBPT |
C495.VL_BC_COFINS | Valor da base de cálculo da COFINS | SUM(E660IRZ.VLRBCT) AS VLRBCT | SUM(E660IRZ.VLRBCT - E660IRZ.VLRICM) AS VLRBCT | |
C491.VL_PIS
C495.VL_COFINS |
Valor do PIS/PASEP
Valor da COFINS |
É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
C600 | C601.VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660INV.VLRBPF | (E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPF |
C605.VL_BC_COFINS | Valor da base de cálculo da COFINS | E660INV.VLRBCF | (E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF | |
C601.VL_PIS
C605.VL_COFINS |
Valor do PIS/PASEP
Valor da COFINS |
É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
C870 | VL_DESC | Valor da exclusão/desconto comercial dos itens | SUM(E660INV.VLRDSC) AS VLRDSC | SUM(E660INV.VLRDSC + E660INV.VLRICM) AS VLRDSC |
VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | SUM(E660INV.VLRBPF) AS VLRBPF | SUM(E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPF | |
VL_PIS | Valor do PIS/PASEP | SUM(E660INV.VLRPIF) AS VLRPIF | SUM((((E660INV.VLRBPF - E660INV.VLRICM) * E660INV.PERPIF) / 100)) AS VLRPIF | |
VL_BC_COFINS | Valor da base de cálculo da COFINS | SUM(E660INV.VLRBCF) AS VLRBCF | SUM(E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF | |
VL_COFINS | Valor da COFINS | SUM(E660INV.VLRCFF) AS VLRCFF | SUM((((E660INV.VLRBCF - E660INV.VLRICM) * E660INV.PERCFF) / 100)) AS VLRCFF |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
D200 | VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660INV.VLRBPF | (E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPF |
VL_BC_COFINS | Valor da base de cálculo da COFINS | E660INV.VLRBCF | (E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF | |
VL_PIS | Valor do PIS/PASEP | É recalculado em tempo de exportação não sendo necessário tratamento | ||
VL_COFINS | Valor da COFINS |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
D300 | VL_DESC | Valor total dos descontos | SUM(E660INV.VLRDSC) VLRDSC | SUM(E660INV.VLRDSC + E660INV.VLRICM) AS VLRDSC |
VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | SUM(E660INV.VLRBPF) VLRBPF | SUM(E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPF | |
VL_PIS | Valor do PIS/PASEP | É recalculado em tempo de exportação não sendo necessário tratamento | ||
VL_BC_COFINS | Valor da base de cálculo da COFINS | SUM(E660INV.VLRBCF) VLRBCF | SUM(E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF | |
VL_COFINS | Valor da COFINS | É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
D350 | VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660IRZ.VLRBPT | (E660IRZ.VLRBPT - E660IRZ.VLRICM) AS VLRBPT |
VL_PIS | Valor do PIS/PASEP | E660IRZ.VLRPIT | (((E660IRZ.VLRBPT - E660IRZ.VLRICM) * E660IRZ.PERPIT) / 100) AS VLRPIT | |
VL_BC_COFINS | Valor da base de cálculo da COFINS | E660IRZ.VLRBCT | (E660IRZ.VLRBCT - E660IRZ.VLRICM) AS VLRBCT | |
VL_COFINS | Valor da COFINS | E660IRZ.VLRCRT | (((E660IRZ.VLRCRT - E660IRZ.VLRICM) * E660IRZ.PERCRT) / 100) AS VLRCRT |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
D600 | VL_DESC | Valor acumulado dos descontos/exclusões da base de cálculo | E660INV.VLRDSC | (E660INV.VLRDSC + E660INV.VLRICM) AS VLRDSC |
D601.VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | E660INV.VLRBPF | (E660INV.VLRBPF - E660INV.VLRICM) AS VLRBPF | |
D601.VL_PIS | Valor do PIS/PASEP | É recalculado em tempo de exportação não sendo necessário tratamento | ||
D605.VL_BC_COFINS | Valor da base de cálculo da COFINS | E660INV.VLRBCF | (E660INV.VLRBCF - E660INV.VLRICM) AS VLRBCF | |
D605.VL_COFINS | Valor da COFINS | É recalculado em tempo de exportação não sendo necessário tratamento |
Comando SQL | Campo | Descrição | Padrão | Sugerido |
---|---|---|---|---|
F550 | VL_DESC_PIS VL_DESC_COFINS |
Valor do desconto / exclusão da base de cálculo
Valor do desconto / exclusão da base de cálculo |
SUM(E660INV.VLRDSC) AS VLRDSC | SUM(E660INV.VLRDSC + E660INV.VLRICM) AS VLRDSC |
VL_BC_PIS | Valor da base de cálculo do PIS/PASEP | SUM(E660INV.VLRBPF) AS BASPIS
SUM(E660INV.VLRBPR) AS BASPIS SUM(E660IRZ.VLRBPT) AS BASPIS |
SUM(E660INV.VLRBPF - E660INV.VLRICM) AS BASPIS SUM(E660INV.VLRBPR - E660INV.VLRICM) AS BASPIS SUM(E660IRZ.VLRBPT - E660IRZ.VLRICM) AS BASPIS | |
VL_PIS | Valor do PIS/PASEP | É recalculado em tempo de exportação não sendo necessário tratamento | ||
VL_BC_COFINS | Valor da base de cálculo da COFINS | SUM(E660INV.VLRBCF) AS BASCOF
SUM(E660INV.VLRBCR) AS BASCOF SUM(E660IRZ.VLRBCT) AS BASCOF |
SUM(E660INV.VLRBCF - E660INV.VLRICM) AS BASCOF SUM(E660INV.VLRBCR - E660INV.VLRICM) AS BASCOF SUM(E660IRZ.VLRBCT - E660IRZ.VLRICM) AS BASCOF | |
VL_COFINS | Valor da COFINS | É recalculado em tempo de exportação não sendo necessário tratamento |