Informacional e Comandos - SPED
O SPED é um Sistema Público de Escrituração Digital, ou seja, um sistema que tem como principal objetivo facilitar o arquivamento, o envio e a validação dos deveres tributários de uma companhia.
Este arquivo auxilia no controle e gerenciamento das questões fiscais e contábeis da empresa, ele também vai fazer um controle mais assertivo dos tributos a serem recolhidos.
O governo exige que as empresas que exercem sua função nos regimes de tributação em lucro presumido e em lucro real precisam fazer a entrega desse documento. Já as organizações inseridas do Simples Nacional são isentas da entrega.
No SIEM:
Será necessário, assim como no SINTEGRA, primeiro a correção de certas informações que estão na base de dados.
Assegure que o sistema se encontra em uma versão recente e válida para a geração.
Para que a geração seja feita sem prejudicar o cliente, retire uma cópia da base de dados atuais da máquina do cliente e, se necessário, uma cópia dos arquivos XML caso o mesmo também deseje o envio destes junto ao arquivo de SPED.
As SQL que serão utilizadas na base de dados onde será feita a geração do SPED seguem a ordem abaixo:
Alteração da CFOP para códigos de entrada:
É necessário que as notas de compra registradas na Estoque_Movimento estejam com códigos de CFOP de entrada.
A SQL abaixo faz essa mudança nos códigos mais comuns. Ela é dividida em duas partes
Primeiro sendo executado:
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"));
E em seguida:
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"));
Outros códigos que comumente são utilizados são
5.108 > 1.102
5.106 > 1.102
5.123 > 1.122
5.405 > 1.403
5.655 > 1.652
5.929 > 1.949
6.409 > 2.402
6.656 > 2.653
Caso ainda tenha dúvidas de qual código poderá ser substituído, confira a tabela de CFOP. Também poderá consultar com outros técnicos especializados na geração do arquivo.
Feito o comando de correção das CFOP, lembre-se de abrir a Estoque_Movimento e validar se não ficou nenhum código de saída nas operações de compra!
Alteração CST IPI
Assim como na CFOP, os códigos de CST do IPI, PIS e COFINS também devem representar operações de entrada.
Para a correção dos códigos de IPI, siga o comando:
UPDATE Estoque_Movimento SET Estoque_Movimento.CSTIPI = IIf([Estoque_Movimento.CSTIPI]="0","03",IIf([Estoque_Movimento.CSTIPI]="50","00",IIf([Estoque_Movimento.CSTIPI]="51","01",IIf([Estoque_Movimento.CSTIPI]="52","02",IIf([Estoque_Movimento.CSTIPI]="53","03",IIf([Estoque_Movimento.CSTIPI]="54","04",IIf([Estoque_Movimento.CSTIPI]="55","05",IIf([Estoque_Movimento.CSTIPI]="99","49"))))))))
WHERE (((Estoque_Movimento.CSTIPI)="0" Or (Estoque_Movimento.CSTIPI)="50" Or (Estoque_Movimento.CSTIPI)="51" Or (Estoque_Movimento.CSTIPI)="52" Or (Estoque_Movimento.CSTIPI)="53" Or (Estoque_Movimento.CSTIPI)="54" Or (Estoque_Movimento.CSTIPI)="55" Or (Estoque_Movimento.CSTIPI)="99"));
Comumente, os códigos alterados são os abaixo:
00 > 03
50 > 00
51 > 01
52 > 02
53 > 03
54 > 04
55 > 05
99 > 49
Sendo os valores à esquerda, saída, e na direita, entrada.
Alteração PIS e COFINS
UPDATE Estoque_Movimento SET Estoque_Movimento.CSTPIS = IIf([Estoque_Movimento.CSTPIS]="00","71",IIf([Estoque_Movimento.CSTPIS]="01","50",IIf([Estoque_Movimento.CSTPIS]="02","50",IIf([Estoque_Movimento.CSTPIS]="03","99",IIf([Estoque_Movimento.CSTPIS]="04","50",IIf([Estoque_Movimento.CSTPIS]="05","75",IIf([Estoque_Movimento.CSTPIS]="06","73",IIf([Estoque_Movimento.CSTPIS]="07","71",IIf([Estoque_Movimento.CSTPIS]="08","74",IIf([Estoque_Movimento.CSTPIS]="09","72",IIf([Estoque_Movimento.CSTPIS]="49","99"))))))))))), Estoque_Movimento.CSTCOFINS = IIf([Estoque_Movimento.CSTCOFINS]="00","71",IIf([Estoque_Movimento.CSTCOFINS]="01","50",IIf([Estoque_Movimento.CSTCOFINS]="02","50",IIf([Estoque_Movimento.CSTCOFINS]="03","99",IIf([Estoque_Movimento.CSTCOFINS]="04","50",IIf([Estoque_Movimento.CSTCOFINS]="05","75",IIf([Estoque_Movimento.CSTCOFINS]="06","73",IIf([Estoque_Movimento.CSTCOFINS]="07","71",IIf([Estoque_Movimento.CSTCOFINS]="08","74",IIf([Estoque_Movimento.CSTCOFINS]="09","72",IIf([Estoque_Movimento.CSTCOFINS]="49","99")))))))))))
WHERE (((Estoque_Movimento.CSTPIS)="00" Or (Estoque_Movimento.CSTPIS)="01" Or (Estoque_Movimento.CSTPIS)="02" Or (Estoque_Movimento.CSTPIS)="03" Or (Estoque_Movimento.CSTPIS)="04" Or (Estoque_Movimento.CSTPIS)="05" Or (Estoque_Movimento.CSTPIS)="06" Or (Estoque_Movimento.CSTPIS)="07" Or (Estoque_Movimento.CSTPIS)="08" Or (Estoque_Movimento.CSTPIS)="09" Or (Estoque_Movimento.CSTPIS)="49") AND ((Estoque_Movimento.CSTCOFINS)="00" Or (Estoque_Movimento.CSTCOFINS)="01" Or (Estoque_Movimento.CSTCOFINS)="02" Or (Estoque_Movimento.CSTCOFINS)="03" Or (Estoque_Movimento.CSTCOFINS)="04" Or (Estoque_Movimento.CSTCOFINS)="05" Or (Estoque_Movimento.CSTCOFINS)="06" Or (Estoque_Movimento.CSTCOFINS)="07" Or (Estoque_Movimento.CSTCOFINS)="08" Or (Estoque_Movimento.CSTCOFINS)="09" Or (Estoque_Movimento.CSTCOFINS)="49"));
Novamente, seguindo a mesma regra apresentada para o IPI, os códigos de PIS e COFINS geralmente utilizados nas operações de entrada são os abaixo:
00 > 71
01 > 50
02 > 50
03 > 99
04 > 50
05 > 75
06 > 73
07 > 71
08 > 74
09 > 72
49 > 99
Mudança Tipo de Estoque
Também é necessário o comando para preencher a informação de tipo de estoque valido para o SPED
UPDATE Estoque_Itens SET Estoque_Itens.TipoEstoqueSPED = "00"
WHERE (((Estoque_Itens.TipoEstoqueSPED)="" Or (Estoque_Itens.TipoEstoqueSPED) Is Null));
NCM com menos de 8 dígitos
E para a correção da quantidade de caracteres no NCM
UPDATE Estoque_Itens SET Estoque_Itens.NCM = "00000000"
WHERE (((Len([Estoque_Itens]![NCM]))<>8));
Ajustar IE com dígitos faltantes: MG
Para ajustar o cadastro de clientes PJ que sejam de Minas Gerais e os quais a IE está com dígitos faltantes.
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));
Ajustar IE com dígitos faltantes: ES
Para ajustar o cadastro de clientes PJ que sejam do Espirito Santo e os quais a IE está com dígitos faltantes.
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));
Ajustar IE com dígitos faltantes: RS
Para ajustar o cadastro de clientes PJ que sejam do Rio Grande do Sul e os quais a IE está com dígitos faltantes.
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)="RS") AND ((Cad_Cliente.TPessoa)=2) AND ((Len([Cad_Cliente]![RG]))=9));
Bloco K
O bloco K é a versão digital em substituição ao Livro Registro de Controle de Produção e Estoque.
Ele tem o objetivo de prestar informações mensais da produção e respectivo consumo de insumos, bem como do estoque escriturado, com obrigatoriedade para os estabelecimentos industriais ou a eles equiparados pela legislação federal. Além disso, para os estabelecimentos atacadistas, podendo, a critério do Fisco, ser exigida de estabelecimento de contribuintes de outros setores
Caso o cliente precise do bloco K, realize os seguintes comandos:
Na Estoque_Itens é preciso marcar todas as linhas na coluna SPED_ProdFinal.
Os comandos abaixo fazem o preenchimento de acordo com a marcação do tipo de estoque do item:
UPDATE Estoque_Itens SET Estoque_Itens.SPED_ProdFInal = 1;
UPDATE Estoque_Itens SET Estoque_Itens.TipoEstoqueSPED = "00"
WHERE (((Estoque_Itens.Mercadoria)=True));
UPDATE Estoque_Itens SET Estoque_Itens.TipoEstoqueSPED = "01"
WHERE (((Estoque_Itens.Materia_Prima)=True));
UPDATE Estoque_Itens SET Estoque_Itens.TipoEstoqueSPED = "04"
WHERE (((Estoque_Itens.Produto)=True));
Também será necessário entrar no SIEM e habilitar as Config. II:
- SPED: OMITIR REG ORDEM PRODUCAO (K200)
- SPED: K230 SOMENTE PRODUTO FINAL SEM ORDEM PRODUCAO
Com o valor 1 - Sim.
Bloco H
O Bloco H é um dos registros transmitido como um dos módulos da EFD, sendo o registro destinado a informar para a Receita Federal tudo sobre o inventário físico das empresas.
Se for realizada a geração do arquivo com o Bloco H, realize o comando abaixo
Inserir o mesmo código do produto na coluna SPEDContaContabil
UPDATE Estoque_Itens SET Estoque_Itens.SPEDContaContabil = [Estoque_Itens]![Código]
WHERE (((Estoque_Itens.SPEDContaContabil)="" Or (Estoque_Itens.SPEDContaContabil) Is Null));
No Comments