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:
Quando o estado determinar que o valor recolhido seja lançado como ajuste de estorno de débitos, você pode usar um dispositivo fiscal associado ao item da nota fiscal com o valor do estorno. Esse dispositivo deve ser informado na apuração em alguma coluna de Outros Créditos do DIFAL/FCP.
Para a geração correta dos ajustes de estorno, verifique os seguintes parâmetros do dispositivo:
- Código de Ajuste (E051DIS.CodAjs= xxx2 ou xxx5), sendo o 4º dígito igual a "2" para estorno e igual a "5" para o valor a recolher;
- Reflexo do ICMS (E051DIS.RefIcm) igual a "6", "7" ou "9".
Dessa forma, no arquivo do SPED serão gerados os registros E311 para os ajustes, com o detalhamento das NFs dos estornos por meio do E313.
Exemplo do arquivo gerado com estorno de débitos:
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;