Esta versão do sistema foi descontinuada e não recebe atualizações e novas implementações. Acesse a documentação da versão 5.10.3 aqui
Segmentos > Compliance > Escriturações Fiscais Digitais (SPED) > SPED Fiscal (EFD ICMS/IPI) > Registro E316 do SPED Fiscal gerado por Guia de Recolhimento

Registro E316 do SPED Fiscal gerado por Guia de Recolhimento

Importante

Para o imposto FCP (imposto 64) gerado por guia de recolhimento, havendo a necessidade de apresentação do registro E316 por guia de recolhimento, a parametrização a ser feita é a mesma do imposto 63.

1. Cadastro do imposto

Cadastre dois impostos do tipo 63 (ou 64).

Exemplo:

63 – DIFAL:

63N – DIFAL:

2. Dispositivo fiscal

Cadastre um dispositivo fiscal do tipo SPED com o imposto que irá gerar as guias de recolhimento através da nota fiscal e o estado de destino:

É por meio do dispositivo fiscal que o sistema identifica de qual imposto devem ser pegas as guias de recolhimento.

3. Parametrização do imposto para filial

Parametrize um imposto para ser apurado mensalmente, sem geração de título e guia de recolhimento. O outro imposto deve ser parametrizado para não ser apurado mensalmente e gerar guia e título via nota fiscal:

4. Guia de recolhimento

A guia de recolhimento informada no imposto para gerar uma guia através da nota fiscal deve ser do mesmo estado:

5. Configuração para geração de títulos de imposto

Parametrize o imposto que não será apurado para gerar as guias/títulos da nota fiscal:

6. Notas fiscais

Faça a emissão das notas fiscais durante o mês com as respectivas guias de recolhimento e, ao final do período, integre esses documentos à Gestão de Tributos.

Consulta Nota fiscal de Saída:

Consulta Guia de Recolhimento:

7. Apuração do imposto

Apure mensalmente o imposto do tipo 63 que não gera guia de recolhimento, pois no SPED Fiscal é obrigatório apresentar o registro E310:

8. SPED Fiscal

Gere o arquivo do SPED Fiscal:

No arquivo, o registro E310 será apresentado com o débito que a empresa deveria pagar, junto com todas as guias de recolhimento comprovando o pagamento. Caso haja mais de uma guia com o mesmo vencimento, ela será agrupada para não ocorrer erro de duplicidade de registro:

Tratamento do DIFAL para operações no estado de destino a partir da aprovação da Inscrição Estadual

Exemplo:

O cliente utiliza 02 códigos de impostos do tipo 6: um para a configuração da geração do título do DIFAL nota a nota e que está parametrizado para gerar título e guia de recolhimento; outro para atender a estrutura do SPED Fiscal na qual existe um registro de apuração do valor e que está parametrizado para não gerar título e guia de recolhimento, pois irá gerar com o valor dobrado.

Dessa forma, quando o cliente está gerando um título nota a nota e no meio do mês ele adquire uma inscrição estadual para realizar a apuração mensal, esse cliente precisa, primeiro, desativar a geração do título e guia de recolhimento nota a nota, removendo a configuração vinculada à transação de venda com o imposto 63.

Na configuração do imposto 63 que visa atender a estrutura de apuração do SPED Fiscal, deve-se parametrizar o sistema para que ele gere uma guia de recolhimento e, depois, lançar o título manualmente com a diferença entre o imposto DIFAL total e o imposto DIFAL recolhido nota a nota.

A apuração irá gerar um valor total do DIFAL; para gerar o registro E316 com as guias das notas fiscais e a diferença da apuração, utilize a regra abaixo:

Definir alfa IMPAREG;
Definir alfa IMPAPRMSQL;
Definir alfa IMPACMDSQL;
Definir alfa IMPAEVEREG;

 

 

 

se ((IMPAREG = "E316") e (IMPAPRMSQL = "NOTA_FISCAL") e (IMPAEVEREG = "SQL"))
inicio
IMPACMDSQL = "SELECT E051GUI.SIGUFS, E661GRI.VLRPRI AS VLRDEV, E661GRI.DATVCT, E661GRI.CODEMP, E051DIS.CODDFS AS DISDEV, E051DIS.CODOBR, " +
"E051DIS.ORIPRS, E051DIS.FUNLEG, E051DIS.DESDFS, E051DIS.NUMPRS, E051GUI.CODDRF, E661GRI.DATAPI, E661GRI.CODGRI " +
"FROM E661GRI LEFT OUTER JOIN E070IMP ON E070IMP.CODEMP = E661GRI.CODEMP AND E070IMP.FILCON = {CODFIL}, E051DIS, E051IMP, E051GUI " +
"WHERE E661GRI.CODEMP= CODEMP} AND ((E661GRI.CODFIL =) OR (E661GRI.CODFIL = E070IMP.CODFIL)) AND E661GRI.DATAPI>= {DATINI} AND " +
"E661GRI.DATAPI<= {DATFIM} AND E051GUI.SIGUFS = {SIGUFS} AND E051GUI.CODEMP=E661GRI.CODEMP AND E051GUI.CODGRI=E661GRI.CODGRI AND " +
"E051IMP.CODIMP=E661GRI.CODIMP AND (E051IMP.TIPIMP = {TIPIMP} ) AND " +
"EXISTS ( SELECT 1 FROM E660NFV WHERE E660NFV.CODEMP=E661GRI.CODEMP AND E660NFV.CODFIL=E661GRI.CODFIL AND " +
"E660NFV.CODSNF=E661GRI.SNFNFV AND E660NFV.NUMNFI=E661GRI.NUMNFV AND E660NFV.VLRSIC=0) AND " +
"E051DIS.CODEMP=E661GRI.CODEMP AND E051DIS.CODDFS=( SELECT MAX(A.CODDFS) FROM E051DIS A WHERE A.CODEMP=E661GRI.CODEMP AND " +
"A.CODIMP=E051IMP.CODIMP AND A.SIGUFS=E051GUI.SIGUFS) AND E051IMP.SITREG='A' AND E661GRI.NUMNFV>0" +
"UNION ALL " +
"SELECT E661CUF.SIGUFS, E661CUF.VLRDEV - ( " +
"COALESCE((SELECT SUM(E661GRI.VLRPRI) " +
"FROM E661GRI LEFT OUTER JOIN E070IMP ON E070IMP.CODEMP = E661GRI.CODEMP AND E070IMP.FILCON = {CODFIL}, E051DIS, E051IMP, E051GUI " +
"WHERE E661GRI.CODEMP= {CODEMP} AND ((E661GRI.CODFIL=) OR (E661GRI.CODFIL = E070IMP.CODFIL)) AND E661GRI.DATAPI>= AND " +
"E661GRI.DATAPI<= {DATFIM} AND E051GUI.SIGUFS= {SIGUFS} AND E051GUI.CODEMP=E661GRI.CODEMP AND E051GUI.CODGRI=E661GRI.CODGRI AND " +
"E051IMP.CODIMP=E661GRI.CODIMP AND (E051IMP.TIPIMP = {TIPIMP} ) AND " +
"EXISTS ( SELECT 1 FROM E660NFV WHERE E660NFV.CODEMP=E661GRI.CODEMP AND E660NFV.CODFIL=E661GRI.CODFIL AND " +
"E660NFV.CODSNF=E661GRI.SNFNFV AND E660NFV.NUMNFI=E661GRI.NUMNFV AND E660NFV.VLRSIC=0) AND " +
"E051DIS.CODEMP=E661GRI.CODEMP AND E051DIS.CODDFS=( SELECT MAX(A.CODDFS) FROM E051DIS A WHERE A.CODEMP=E661GRI.CODEMP AND " +
"A.CODIMP=E051IMP.CODIMP AND A.SIGUFS=E051GUI.SIGUFS) AND E051IMP.SITREG='A' AND E661GRI.NUMNFV>0), 0)" +
") AS VLRDEV, " +
"E661CUF.DATVCT, E661CUF.CODEMP, E661CUF.DISDEV, E051DIS.CODOBR, E051DIS.ORIPRS, " +
"E051DIS.FUNLEG, E051DIS.DESDFS, E051DIS.NUMPRS, E055SUB.CODDRF, E661CUF.DATAPI, E055SUB.CODGRI FROM E661CUF, E051DIS, E055SUB " +
"WHERE E661CUF.CODEMP = E051DIS.CODEMP AND E661CUF.DISDEV = E051DIS.CODDFS AND E661CUF.CODEMP = {CODEMP} AND E661CUF.CODFIL = {CODFIL} AND " +
"E661CUF.CODIMP = ( SELECT MAX(E051IMP.CODIMP) FROM E661CUF, E051IMP WHERE E661CUF.CODEMP = AND " +
"E661CUF.CODFIL = {CODFIL} AND E661CUF.SIGUFS = AND E661CUF.DATAPI = {DATINI} AND E661CUF.CODIMP = E051IMP.CODIMP AND " +
"E051IMP.TIPIMP = {TIPIMP}) AND E661CUF.SIGUFS = {SIGUFS} AND E661CUF.DATAPI = AND E661CUF.CODEMP = E055SUB.CODEMP AND " +
"E661CUF.CODFIL = E055SUB.CODFIL AND E661CUF.SIGUFS = E055SUB.SIGUFS AND E661CUF.CODIMP = E055SUB.CODIMP AND " +
"E055SUB.DATBAS = ( SELECT MAX(SUB.DATBAS) FROM E055SUB SUB WHERE E661CUF.CODEMP = SUB.CODEMP AND " +
"E661CUF.CODFIL = SUB.CODFIL AND E661CUF.SIGUFS = SUB.SIGUFS AND E661CUF.CODIMP = SUB.CODIMP) AND E661CUF.VLRDEV > 0 " +
"AND E055SUB.DATBAS <= E661CUF.DATAPI";
fim;

Este artigo ajudou você?