Procedimentos básicos para SPED Contábil

7
Procedimentos básicos para SPED Contábil Srs... é um artigo que juntei de anotações anteriores (colcha de retalhos) e deve ter coisas incompletas / ultrapassadas. Mas serve como um norte. Dando tempo volto aqui e corrijo o que for necessário. Aceito sugestões e faço questão de mencionar os autores das dicas / correções. Boa sorte. 01 - Bom... O sistema precisa estar atualizado. Se isso não for possível arrisque ter, pelo menos, um ambiente com RPO atualizado. A melhor alternativa seria fazer em base TESTE se não for possível atualizar a produção. E neste caso tudo independente (base, rpo, bin, etc, etc). 02 - Grave os seguintes arquivos de layout no diretório %SystemRoot% do Protheus. ECDLIVRO_A.XML ECDLIVRO_B.XML ECDLIVRO_R.XML ECDLIVRO_Z.XML 03 - Condicoes Basicas: 03.1) Apuracao de Resultado e Encerramento de Exercicio feitos 03.2) Nao existir LOTES COM DIFERENCA - executar o relatorio CTBR670 Você acreditaria se eu dissesse que encontrei um cliente onde o contador fazia débitos num dia e créditos num outro dia em lotes diferentes? Pois é... O que o SPED Contábil espera? Que a soma de créditos seja EXATAMENTE IGUAL a de débitos no dia. Ou seja: o contador pode colocar, se quiser, todos os Débitos num lote e os Créditos no outro, desde que os dois lotes em questão sejam do mesmo dia. 04 - Menu 04.1) Atualizar o menu do CTB acrescentando os cadastros do Contabilista (CTBA015), Participante (CTBA016) e Plano Referencial (CTBA025)(se não existirem) 04.2) Atualizar o menu do CTB acrescentando a Central de Escrituração (CTBS001) 05 - Rodar o Compatibilizador U_UPDCTB (tá vendo? O cliente precisa atualizar o ambiente.)

Transcript of Procedimentos básicos para SPED Contábil

Page 1: Procedimentos básicos para SPED Contábil

Procedimentos básicos para SPED Contábil Srs... é um artigo que juntei de anotações anteriores (colcha de retalhos) e deve ter coisas incompletas / ultrapassadas. Mas serve como um norte. Dando tempo volto aqui e corrijo o que for necessário. Aceito sugestões e faço questão de mencionar os autores das dicas / correções. Boa sorte.   01 - Bom... O sistema precisa estar atualizado.Se isso não for possível arrisque ter, pelo menos, um ambiente com RPO atualizado.A melhor alternativa seria fazer em base TESTE se não for possível atualizar a produção. E neste caso tudo independente (base, rpo, bin, etc, etc).  02 - Grave os seguintes arquivos de layout no diretório %SystemRoot% do Protheus.ECDLIVRO_A.XMLECDLIVRO_B.XMLECDLIVRO_R.XMLECDLIVRO_Z.XML  03 - Condicoes Basicas:

03.1) Apuracao de Resultado e Encerramento de Exercicio feitos03.2) Nao existir LOTES COM DIFERENCA - executar o relatorio CTBR670Você acreditaria se eu dissesse que encontrei um cliente onde o contador fazia débitos num dia e créditos num outro dia em lotes diferentes?Pois é... O que o SPED Contábil espera?Que a soma de créditos seja EXATAMENTE IGUAL a de débitos no dia.  Ou seja: o contador pode colocar, se quiser, todos os Débitos num lote e os Créditos no outro, desde que os dois lotes em questão sejam do mesmo dia.  04 - Menu04.1) Atualizar o menu do CTB acrescentando os cadastros do Contabilista (CTBA015), Participante (CTBA016) e Plano Referencial (CTBA025)(se não existirem)04.2) Atualizar o menu do CTB acrescentando a Central de Escrituração (CTBS001)  05 - Rodar o Compatibilizador U_UPDCTB (tá vendo? O cliente precisa atualizar o ambiente.)  06) Importar o Plano Referencial se não existir no clienteO plano referencial é um plano de contas da Receita.Como cada cliente tem o seu (CT1) a receita criou o dela (acho que é CVN) e no Protheus há uma tabela pra amarrar um (CT1) no outro (CVN) e essa tabela é a CVD.O detalhe do plano referencial é que a Receita lançou o plano dela num ano e no seguinte revisou algumas de suas contas tornando-as expiradas/vencidas.Cabe ao cliente trocar as amarrações pelas contas novas que entraram no lugar das velhas.E toda conta analítica TEM QUE TER uma amarração com uma conta referencial da Receita.  07) Elaborar o seguinte e-mail para o ResponsavelXXXXXX...por favor, providenciar o prenchimento dos seguintes dados:

Page 2: Procedimentos básicos para SPED Contábil

a) Cadastro do Contabilista ( SIGACTB / Cadastro SPED / Contabilista ) acrescentando o Contador e as pessoas da Diretoria que irão assinar pela Empresab) Cadastro do Participante ( SIGACTB / Cadastro SPED / Participante ) incluindo todos os que tem participação acionária na empresac) Nire e Data do Nire (SIGACFG - Configurador / Empresas / Arquivos / Criacao de Empresas / Editar )d) No plano de contas, classificar (campo entitulado Nat. Conta - CT1_NTSPED) cada conta conforme criterio da Receita:01 - para conta de Ativo02 - para conta de para conta de Passivo03 - para conta de Patrimonio Liquido04 - para conta de Resultado05 - para conta de Compensação09 - para conta de Outras  08) Disponibilizar a Estrutura das duas visões gerenciais: BP e DRESe não encontrar ninguém que tenha treine o usuário pra fazer a dele.Mas acho que a TOTVS tem uma estrutura padronizada que é disponibilizada.Só não me lembro de onde vi isso...E pra contar: BP é Balanço Patrimonial e recebe as contas de Ativo e Passivo (as dos grupos 1 e 2, geralmente).Já DRE é Demonstrativo de Resultado e recebe as contas do Grupo 3 em diante conforme instrução do cliente.Cuidado pra não duplicar as linhas da Visão Gerencial (tipo colocar duas vezes uma conta que tem movimento em dois lugares diferentes).E também não pode esquecer de nenhuma...  09) Plano de Contas Contábeis do cliente precisa de uma conta referencial da Receita.Isso significa que o contabilista deve preencher essa amarração (parte de baixo da tela do Plano de Contas). Contas Sinteticas nao precisam ser amarradas com as contas referenciais Sintéticas que não possuem Analíticas geram erro ou aviso (não me lembro).

Um último detalhe sobre as contas sintéticas: toda conta superior TEM QUE SER sintética e toda conta sintética TEM QUE TER uma analítica pelo menos.Esses casos, se não me engano, geram erro no PVA.  10) Caracteres especiais definidos pela Receita não podem fazer parte do arquivo (acho que a lista tá incompleta!) ASC - 129 - ASC - 141 - ASC - 143 - ASC - 144 - ASC - 157       É            Ø          Å           ì           ü  Isso significa que os campos de Descrição dos Lançamentos, das contas, dos Centros de Custo, etc, etc, não podem ter esses caracteres. Uma dica:Checar se as contas de FORNECEDORES/CLIENTES são analíticas. Caso sejam, é fundamental que as descrições NÃO contenham caracteres especiais, especialmente apóstrofe (').   A questão é: E se eles já estiverem lá?  11) Tópico que você não deve ler se não for desenvolvedor (iniciante no mínimo), ok? É arriscado.Bom... Por sua conta e risco, ok ? Tá bem entendido isso, certo ? Segue uma query (faça em BASE TESTE) que troca os caracteres especiais diretamente na base (TESTE, pelo amor de Deus!). 

Page 3: Procedimentos básicos para SPED Contábil

=== INICIO -- Eh so trocar o char(192) e a string 'A'--SELECT * FROM CT2600 WHERE D_E_L_E_T_ = ' ' AND CT2_HIST LIKE '%'+CHAR(9)+'%' SELECT * FROM CT2600 WHERE CT2_HIST LIKE '%'+CHAR(9)+'%'Declare @Texto varchar(200), @HrIni DateTime  Declare cCursor Cursor For Select Replace(CT2_HIST,Char(9),' ') From CT2600 Open cCursor Select @HrIni = GetDate() Fetch From cCursor Into @Texto While @@Fetch_Status = 0 Begin  Update CT2600 Set CT2_HIST = @Texto Where Current Of cCursor  Fetch Next From cCursor Into @Texto End  Close cCursor Deallocate cCursor Select @HrIni As Inicio, GetDate() As Fim === FIM  Outra versão em formato ADVPL (faça em Base ... já sabe!) :  === INICIO do ADVPL*------------------------User Function CaracEsp()Local aCarac := {}/*o) Caracteres especiais podem ser detectados com LikeASC - 129 - ASC - 141 - ASC - 143 - ASC - 144 - ASC - 157       É            Ø          Å           ì           ü */  Aadd(aCarac,{"á","A"})   // [1] caracter especial  -  [2] - caracter substitutoAadd(aCarac,{"à","A"})  Aadd(aCarac,{"Á","A"})  Aadd(aCarac,{"À","A"})  Aadd(aCarac,{"ã","A"})  Aadd(aCarac,{"ä","A"})  Aadd(aCarac,{"Ã","A"})  Aadd(aCarac,{"Å","A"})  Aadd(aCarac,{"é","E"})   // [1] caracter especial  -  [2] - caracter substitutoAadd(aCarac,{"è","E"})  Aadd(aCarac,{"É","E"})  Aadd(aCarac,{"È","E"})  Aadd(aCarac,{"í","I"})   // [1] caracter especial  -  [2] - caracter substitutoAadd(aCarac,{"ì","I"})  Aadd(aCarac,{"ï","I"})  Aadd(aCarac,{"Í","I"})  Aadd(aCarac,{"Ì","I"})  

Page 4: Procedimentos básicos para SPED Contábil

Aadd(aCarac,{"ó","O"})   // [1] caracter especial  -  [2] - caracter substitutoAadd(aCarac,{"ò","O"})  Aadd(aCarac,{"Ó","O"})  Aadd(aCarac,{"Ò","O"})  Aadd(aCarac,{"õ","O"})  Aadd(aCarac,{"Õ","O"})  Aadd(aCarac,{"Ø","O"})  Aadd(aCarac,{"ö","O"})  Aadd(aCarac,{"ú","U"})   // [1] caracter especial  -  [2] - caracter substitutoAadd(aCarac,{"ù","U"})  Aadd(aCarac,{"ü","U"})  Aadd(aCarac,{"Ú","U"})  Aadd(aCarac,{"Ù","U"})    cAlias := "CT1"DbSelectArea(cAlias)DbSetOrder(1)DbGoTop() While !(cAlias)->( Eof() )cTexto := (cAlias)->CT1_DESC01 lTem := .f.For nI := 1 To Len(aCarac)If aCarac[nI, 1] $ cTextolTem := .t. cTexto := StrTran(cTexto, aCarac[nI,1], aCarac[nI,2])EndIf Next nI If lTem == .T.RecLock(cAlias,.F.)(cAlias)->CT1_DESC01 := cTextoMsUnLock()EndIf (cAlias)->( DbSkip() )EndDo  cAlias := "CTT"DbSelectArea(cAlias)DbSetOrder(1)DbGoTop() While !(cAlias)->( Eof() )cTexto := (cAlias)->CTT_DESC01 lTem := .f.For nI := 1 To Len(aCarac)If aCarac[nI, 1] $ cTextolTem := .t. cTexto := StrTran(cTexto, aCarac[nI,1], aCarac[nI,2])EndIf Next nI If lTem == .T.RecLock(cAlias,.F.)(cAlias)->CTT_DESC01 := cTextoMsUnLock()EndIf 

Page 5: Procedimentos básicos para SPED Contábil

(cAlias)->( DbSkip() )EndDo  cAlias := "CT2"DbSelectArea(cAlias)DbSetOrder(1)DbGoTop() While !(cAlias)->( Eof() )cTexto := (cAlias)->CT2_HIST lTem := .f.For nI := 1 To Len(aCarac)If aCarac[nI, 1] $ cTextolTem := .t. cTexto := StrTran(cTexto, aCarac[nI,1], aCarac[nI,2])EndIf Next nI If lTem == .T.RecLock(cAlias,.F.)(cAlias)->CT2_HIST := cTextoMsUnLock()EndIf (cAlias)->( DbSkip() )EndDo Return === FIM do ADVPL  12) Tabelas do SPED Contábil - versão do TSSIsso eu não tenho certeza. Sem dizer novas tabelas devem ter sido criadas, outras desabilitadas...Eu acho que essa lista deve ser da primeira versão do SPED Contábil...Aquela que precisa de endereço de FTP...Mas segue a lista.E se você que estiver lendo isso souber exatamente quais tabelas são envolvidas no processo me avise e corrijo aqui com a menção mais do que merecida. SPED220    SPED220ASPED300    SPED300ASPED001A   SPED001SPED002    SPED002ASPED002B   SPED002CSPED100A   SPED100SPED100A   SPED120SPED140    SPED200SPED210 Chamado importante: SAWCPL 13) Tabelas do SPED Contábil - versão da Central de EscrituraçãoAqui um agradecimento todo especial.A Simone ( @simone.silva ) me enviou um e-mail com a lista de tabelas utilizadas atualmente. Simone... Muito obrigado por nos enriquecer com seus conhecimentos. Seguem os dados fornecidos pela Simone:• CS0 – ECD Revisão• CS1 – ECD Dados complementares• CS2 – ECD Empresa• CS3 – Plano de Conta• CS4 – Plano de Conta Referencial

Page 6: Procedimentos básicos para SPED Contábil

• CS5 – ECD Centro de Custo• CS6 – ECD Visão Gerencial• CS7 – ECD Histórico Padrão• CS8 – ECD Contabilista• CS9 – ECD Participante• CSA – ECD Cabeçalho das Movimentações• CSB – ECD Itens de Movimentações• CSC – ECD Balancete• CSD – ECD Cabeçalho do Balancete• CSE – ECD Itens do Balanço• CSF – ECD Balanços RTFb• CSG – ECD Balancete Diário• CSH – Descrição da Pré-Validação• CSI – ECD Fórmulas da Pré-Validação• CSX – ECD Importação de Diários• CSY – Importação de Diários Quebra   14) Agora... Teoricamente você tá pronto pra gerar o arquivo.Vá na Central de Escrituração e dê início.O primeiro SPED CONTABIL nunca será esquecido.   Últimos detalhes:a) Dê uma lida no Layout do SPED Contábil (site da Receita) e verifique se o Balanço Patrimonial / DRE são obrigatórios pra esse anob) Faça a mesma verificação sobre a amarração referencial