SINTEGRA

Informacional e Geração do Arquivo

Sistema Integrado de Informações sobre Operações Interestaduais com Mercadorias e Serviços (SINTEGRA) é um sistema que unifica todas as informações referentes a operações de entrada e saída de mercadorias e prestação de serviços dos contribuintes do ICMS.

De forma geral, seu objetivo é unificar todas as informações de entrada e saída da empresa em um local para encaminhar ao fisco.
A utilização do Sintegra é obrigatória a todas as empresas que emitem nota fiscal e/ou realizem escrituração em livros fiscais por meio do sistema eletrônico de dados, ainda que com apoio de terceiros, como escritórios de contabilidade.

Somente estão dispensados dessa obrigatoriedade MEI's (Microempreendedores Individuais) que podem emitir nota fiscal avulsa diretamente do site da Receita Federal.


No SIEM:

Para a geração correta do arquivo e a correção prévia de possíveis críticas do validador, algumas informações deverão ser revisadas e ajustadas pelo sistema e/ou banco de dados.

Alterar CFOP NF-e de Compra:

Visto que não é costume de muitas empresas alterar as CFOP das notas de compra, poderá usar as seguintes SQL para fazer a alteração.
Primeiro:

UPDATE Estoque_Movimento SET Estoque_Movimento.CFOP = IIf([Estoque_Movimento.CFOP]="5405","1403",IIf([Estoque_Movimento.CFOP]="5403","1403",IIf([Estoque_Movimento.CFOP]="5102","1102",IIf([Estoque_Movimento.CFOP]="5101","1101",IIf([Estoque_Movimento.CFOP]="6101","2101",IIf([Estoque_Movimento.CFOP]="6102","2102",IIf([Estoque_Movimento.CFOP]="5929","1949",IIf([Estoque_Movimento.CFOP]="6929","2949",IIf([Estoque_Movimento.CFOP]="5152","1152",IIf([Estoque_Movimento.CFOP]="5409","1409",IIf([Estoque_Movimento.CFOP]="6403","2403",IIf([Estoque_Movimento.CFOP]="5910","1910",IIf([Estoque_Movimento.CFOP]="5105","1102",IIf([Estoque_Movimento.CFOP]="6105","2101"))))))))))))))
WHERE (((Estoque_Movimento.CFOP)="5405" Or (Estoque_Movimento.CFOP)="5403" Or (Estoque_Movimento.CFOP)="5102" Or (Estoque_Movimento.CFOP)="5101" Or (Estoque_Movimento.CFOP)="6101" Or (Estoque_Movimento.CFOP)="6102" Or (Estoque_Movimento.CFOP)="5929" Or (Estoque_Movimento.CFOP)="6929" Or (Estoque_Movimento.CFOP)="5152" Or (Estoque_Movimento.CFOP)="5409" Or (Estoque_Movimento.CFOP)="6403" Or (Estoque_Movimento.CFOP)="5910" Or (Estoque_Movimento.CFOP)="5105" Or (Estoque_Movimento.CFOP)="6105"));

Segundo:

UPDATE Estoque_Movimento SET Estoque_Movimento.CFOP = IIf([Estoque_Movimento.CFOP]="5401","1401",IIf([Estoque_Movimento.CFOP]="6401","2401",IIf([Estoque_Movimento.CFOP]="5908","1901",IIf([Estoque_Movimento.CFOP]="6106","2102",IIf([Estoque_Movimento.CFOP]="6404","2403",IIf([Estoque_Movimento.CFOP]="6910","2910"))))))
WHERE (((Estoque_Movimento.CFOP)="5401" Or (Estoque_Movimento.CFOP)="6401" Or (Estoque_Movimento.CFOP)="5908" Or (Estoque_Movimento.CFOP)="6106" Or (Estoque_Movimento.CFOP)="6404" Or (Estoque_Movimento.CFOP)="6910"));

Após a operação, confira na Estoque_Movimento se todas as NF-e de Compra estão com CFOP de entrada.

image-1696623257396.png

Poderá habilitar um filtro na coluna COMPRA para exibir apenas as notas de compra e um na coluna DATA para limitar a busca apenas às notas do período em que fará a geração.


Alguns códigos que não estão incluídos na expressão acima:

5.405 > 1.403
5.929 > 1.949
6.409 > 2.402
6.656 > 2.653
5.655 > 1.652

É interessante ter em mente que estes foram alguns exemplo, nem sempre uma CFOP de saída terá uma CFOP de entrada respectiva, recomendamos sempre analisar pela descrição e também com a contabilidade, este site ajuda muito para analisar:

http://www.nucleutecnologia.com.br/CFOP.html#In%C3%ADcio_Entrada_Estado

Diminuir Número da NF-e maior que 6:

A NF-e pode ter o seu número em até 9 dígitos registrados no SIEM. Porém o programa do SINTEGRA aceita apenas que o numero da nota totalize 6 caracteres. Por conta disso, as notas que tem uma numeração acima desse limite tem que ser formatados.

O comando abaixo realiza essa correção:

UPDATE Estoque_Movimento INNER JOIN Estoque_Nota_Entrada ON Estoque_Movimento.CODIGO_NF_COMPRA = Estoque_Nota_Entrada.CODIGO SET Estoque_Nota_Entrada.Nota = Right([Estoque_Nota_Entrada.Nota],6), Estoque_Movimento.NF = Right([Estoque_Nota_Entrada.Nota],6)
WHERE (((Len([Estoque_Nota_Entrada.Nota]))>6) AND ((Month([Estoque_Nota_Entrada]![Data]) & "/" & Year([Estoque_Nota_Entrada]![Data]))="1/2024"));

Será necessário fazer um ajuste nessa SQL para o mês atual
É possível ajustar direto na expressão alterando a seção ([Estoque_Nota_Entrada]![Data]))="3/2023"))
Só alterar onde está 3

Ou pelo Design da Consulta no Access

image-1697030599357.png


Inserir "ISENTO" na IE:

Para a validação do arquivo, algumas informações não podem ficar em branco. Esse é o caso da IE dos clientes
Aonde está informado valores nulos ou zerados na Inscrição Estadual deve ficar como "Isento" no arquivo.

A SQL abaixa faz a correção necessária:

UPDATE Cad_Cliente SET Cad_Cliente.RG = "ISENTO"
WHERE (((Cad_Cliente.RG)="")) OR (((Cad_Cliente.RG) Is Null));

Adicionar dígitos em IE de MG:

Para os destinatário de MG pode ser que o cliente tenha cadastrado com dígitos a menos
É necessário que tenham 13 dígitos nas Inscrições para passar pelo validador.

Use o comando abaixo para a correção:

UPDATE (Cad_Estado INNER JOIN Cad_Cidade ON Cad_Estado.Código = Cad_Cidade.Região) INNER JOIN Cad_Cliente ON Cad_Cidade.Código = Cad_Cliente.Cidade SET Cad_Cliente.RG = "00" & [Cad_Cliente]![RG]
WHERE (((Cad_Cliente.RG) Is Not Null And (Cad_Cliente.RG)<>"ISENTO") AND ((Cad_Estado.Estado)="MG") AND ((Cad_Cliente.TPessoa)=2) AND ((Len([Cad_Cliente]![RG]))=11));

Adicionar dígitos em IE de ES:

Para os destinatário de MG pode ser que o cliente tenha cadastrado com dígitos a menos
É necessário que tenham 9 dígitos nas Inscrições para passar pelo validador.

UPDATE Cad_Estado INNER JOIN (Cad_Cidade INNER JOIN Cad_Cliente ON Cad_Cidade.Código = Cad_Cliente.Cidade) ON Cad_Estado.Código = Cad_Cidade.Região SET Cad_Cliente.RG = "0" & [Cad_Cliente]![RG]
WHERE (((Cad_Cliente.RG) Is Not Null And (Cad_Cliente.RG)<>"ISENTO") AND ((Cad_Estado.Estado)="ES") AND ((Cad_Cliente.TPessoa)=2) AND ((Len([Cad_Cliente]![RG]))=8));

Feito as correções necessárias no sistema, faça a geração do arquivo de Sintegra para a validação.

Lembre-se que é necessário ter a permissão Gerar arquivo Sintegra do módulo Fiscal no usuário para conseguir exportar.

O caminho para a exportação é simples:

Relatórios > Gerar Arquivo Sintegra

A opção é encontrada na Aba Fiscal

image-1697202182831.png

Uma nova tela será exibida requisitando as informações de geração.
Marque o período que está sendo faturado e as opções necessárias.

A opção 61 - Reg. de NFC-e não está funcionando na versão atual do SIEM.
A geração do Sintegra para NFC-e será abordada futuramente

image-1697202146061.png

Gerando o arquivo, ele será encaminhado para a pasta padrão: C:\Sintegra\
Mas a mesma pode ser alterada no campo Local do Arquivo caso desejar.

 

 

61 - Reg. de NFCe

O Reg. 61 do SINTEGRA é o responsável por indicar quantas NFC-e foram emitidas durante os dias.
Nele é informado intervalo de números do dia. Por exemplo:

DIA 01/09/2023 - Números 1003 até 1015

Também conta com a soma do total dos cupons desse período e do valor de ICMS


Geração:

Inicie com a geração normal do arquivo, como já demonstrado anteriormente.
Porém deixe marcado a caixa do Reg. 61 que ele já será informado no arquivo de acordo

 

image-1731068811819.png

A informação do Reg. 61 já será incluso.


Conferência:

Anteriormente, não era gerado o Registro de forma adequada e era preciso conferir os valores e intervalos individualmente.
Hoje o SIEM já conta com a função corrigida, mas caso precise conferir a somatório dos valores do Registro, use a função abaixo:

Realize a seguinte consulta pelo SIEM.mdb

SELECT Faturamento_NotaFiscal.DataEmissao, Min(Right([Faturamento_NotaFiscal.Código],7)) AS Primeiro, Max(Right([Faturamento_NotaFiscal.Código],7)) AS Último, Sum([Faturamento_Notafiscal_movimento.Valor_Total]+[Faturamento_notaFiscal_movimento.vOutro]-[Faturamento_notafiscal_movimento.vDesc]) AS [Valor do Dia], Sum(Faturamento_NotaFiscal_movimento.VL_BC_ICMS) AS SomaDeVL_BC_ICMS, Sum(Faturamento_NotaFiscal_movimento.VL_ICMS) AS SomaDeVL_ICMS, Faturamento_NotaFiscal_movimento.ALIQUOTA_ICMS
FROM Faturamento_NotaFiscal INNER JOIN Faturamento_NotaFiscal_movimento ON Faturamento_NotaFiscal.Código = Faturamento_NotaFiscal_movimento.NotaFiscal
GROUP BY Faturamento_NotaFiscal.DataEmissao, Faturamento_NotaFiscal_movimento.ALIQUOTA_ICMS, Left([Faturamento_NotaFiscal.Código],2), Faturamento_NotaFiscal.Cancelado, (Month([Faturamento_NotaFiscal]![DataEmissao]) & "/" & Year([Faturamento_NotaFiscal]![DataEmissao])), Faturamento_NotaFiscal.NFe_stAutorizado
HAVING (((Left([Faturamento_NotaFiscal.Código],2))=65) AND ((Faturamento_NotaFiscal.Cancelado)=False) AND (((Month([Faturamento_NotaFiscal]![DataEmissao]) & "/" & Year([Faturamento_NotaFiscal]![DataEmissao])))="3/2024") AND ((Faturamento_NotaFiscal.NFe_stAutorizado)=True));

Lembre-se de alterar o mês na consulta referente ao mês desejado

Essa SQL não é uma atualização e sim para fazer a visualização das informações a serem aplicadas.

O resultado do SELECIONAR será a quantidade de linhas de cupom do período.
Dependendo da quantidade de dias em que o cliente emitiu cupons será gerado os registros.

image-1697209456811.png

No exemplo acima, o cliente emitiu cupons em 20 dias. Por isso foram geradas 20 linhas


Correção arquivo .txt

Se os valores estiverem divergentes dos apresentados na somatória de registros do 61 no validador, será preciso fazer as correções direto no arquivo .txt.

Abra o arquivo de SINTEGRA pelo NotePad++
Identifique os Registros 54 e 75, será necessário abrir um espaço entre eles referente à quantidade de linhas que veio da consulta anterior.

Como na nossa consulta exemplo foram geradas 20 linhas, abriremos vinte espaços.
Poderá preencher eles já com o número de registro 61

image-1697213291364.png

Salve o arquivo e poderá abrir ele agora pelo PRNEdite
Por esse programa, poderemos editar o registro com as informações que obtemos da consulta referente a cada linha.

Basta selecionar o registro 61 e preencher de acordo com cada resultado

Lembrando que cada dia é referente à uma linha

  1. O formato de data sempre será YMD (Ano, mês e dia)
    Então no exemplo: 01/09/2023 passa a ser 20230901

  2. Apenas o Modelo é necessário preencher

  3. O número inicial e final estão descrito como "Primeiro" e "Ultimo" na consulta.
    O digito inicial é a série, o qual não se dever preencher.

  4. O valor total, de BC e de ICMS deve ser acompanhado das casas decimais.
    Ou seja, no caso como o valor é de R$ 325,00, preenchemos 32500

image-1697213662002.png

Feito o preenchimento de todos os valores contidos na consulta, seu resultado deve se parecer com a foto abaixo:

image-1697213947248.png

Com todos os registros preenchidos, verifique a ultima linha do arquivo ainda pelo PRNEdite
Nela será possível verificar a quantidade de cada registro e precisaremos definir corretamente aqueles relacionados ao 61

Não faremos a edição pelo PRN, apenas a verificação.

O exemplo abaixo é no caso da FALTA do Registro 61 estar sendo apresentado nos totais.
Mas se ele estiver incluso, basta editar o mesmo (Se necessário)

No exemplo podemos conferir alguns registros que não tem valores, como por exemplo: 74, 60 e 70
Basta que tenha um deles em mente para editar depois

 

image-1697214515091.png

Feito a identificação abra o mesmo arquivo do SINTEGRA agora pelo NotePad++ novamente
A enorme coluna da ultima linha é referente a cada um desses registros e ele vai seguir na ordem demonstrada pelo PRN.

Selecione a que quer substituir, no caso exemplo faremos com o 5º Tipo e altere para 61
E nos dois últimos campos antes da mudança de tipo, defina a quantidade de registros

image-1697214707667.png

Salve e valide o arquivo editado no Validador SINTEGRA.
Com a opção Listar Registros habilitado, confira se o total está de acordo com o obtido na consulta do banco de dados

image-1697214810103.png

Caso ainda não tenha feito a correção das outras críticas poderá estar seguindo normalmente
Ou se ja tiver corrigido e o arquivo tiver sido aceito, basta encaminhar para o cliente.

 

 

 

Validação Sintegra 2017

Feita a geração do arquivo do SINTEGRA por dentro do sistema, abra o validador e selecione o local do arquivo .txt criado.

image-1697202800696.png

Após uma breve confirmação, será exibido a tela de Resumo com a quantidade de Advertências e também de linhas Rejeitadas.
Use a aba de Críticas para conferir as informações a serem corrigidas

image-1697205373660.png

A maior parte das rejeições que vem dessa tela são por conta da falta do uso das SQL antes apresentadas.
Então confira sempre que foram utilizadas todas as necessárias para a correção antes de fazer a validação.

Poderá notar que cada crítica fica dividida em colunas

Caso precise fazer a correção em linha específica é recomendado usar o NotePad++
Por isso prestar atenção nas informações disponibilizadas pelo validador é de extrema importância.

Mais detalhes sobre a resolução das críticas será apresentado em outro capítulo

Feito toda a correção do arquivo, a validação deverá constar como seguinte:

image-1697205544455.png

Caso o arquivo tenha sido aceito, basta encaminhar esse mesmo .txt para o cliente.