Clipper On Line • Ver Tópico - Tabela de NCM com o CEST correspondente.

Tabela de NCM com o CEST correspondente.

Discussão sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (ECF, TEF, SINTEGRA, NF-e, ECD, EFD, etc.)

Moderador: Moderadores

 

Tabela de NCM com o CEST correspondente.

Mensagempor Itamar M. Lins Jr. » 12 Jun 2017 11:24

Ola!
Tem para download essa tabela ?
Qual o meu prazo para adequação?
O convênio ICMS 60/17 estabelece uma adoção progressiva.

01/07/2017 Indústrias e importadores
01/10/2017 Atacadistas
01/04/2018 Demais segmentos econômicos
http://www.asseinfo.com.br/blog/cest/


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6944
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 311 vezes
Mens.Curtidas: 505 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 12 Jun 2017 15:50

No próprio link que mencionou indica a lei que tem a tabela.
Talvez dê pra baixar e usar algum componente pra extrair a informação, já que é html, que por sua vez é xml.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor gilbertosilverio » 12 Jun 2017 15:57

Ola Itamar,

Da uma olhada no forum do UNINFE da yahoo, foi postado a uns 15 dias la no forum um arquivo contando os CEST.
gilbertosilverio
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor Itamar M. Lins Jr. » 12 Jun 2017 16:06

Ola!
No próprio link que mencionou indica a lei que tem a tabela.

Eu vi, não estava querendo fazer a importação na unha, sempre mudam isso depois que a gente conclui.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6944
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 311 vezes
Mens.Curtidas: 505 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor Jairo Maia » 12 Jun 2017 17:18

Olá Itamar,

Montei e uso essa tabela, mas tem um problema que é o fato de vários NCM´s terem vários CEST´s. Veja por exemplo o NCM 11010010 (farinha de trigo). Esse NCM tem 28 CEST´s, então não dá para classificar de forma automática, precisa ver exatamente qual é a embalgem desse produto, por exemplo se 1Kg se 5KG, etc.

Em anexo a tabela de correspondência com os CEST´s atualizados pelo Convênio ICMS de 07 de Abril de 2017:

TabCEST.rar
(29.68 KiB) Baixado 160 vezes
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor dbdc5554 » 14 Jun 2017 08:08

Jairo BOM dia

ob pela tabela.

Quant oa varios cest para o mesmo NCM é coisa de Burrocrata rs

eu pego o CEST da tabela +++++ se o cest estiver no cad de produto pego de la.
deixei desta forma para estes casos caso o cliente tenha um NCM que aponte para varios CEST

Ob

Paivae
dbdc5554
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 149
Data de registro: 03 Dez 2012 07:49
Cidade/Estado: uberlandia-MG
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 14:29

Agora que fui mexer com isso.
Estou estranhando alguns números dessa tabela.

ncm.png


Considerando a ordem física do DBF, parece que era a categoria inteira, e os zeros ficaram à esquerda ao invés da direita.
O que já não vale pra estes outros.

ncm2.png


Por enquanto só fiz um fonte convertendo isso pra .... um fonte que retorna um array com tudo.
E ajustando alguns caracteres pra não depender de codepage.

REQUEST HB_CODEPAGE_PTISO

PROCEDURE Main

   LOCAL cTxt

   Set( _SET_CODEPAGE, "PTISO" )
   SetMode(40,100)
   CLS
   USE TABCEST
   cTxt := "// Tabela CEST" + hb_Eol()
   cTxt += hb_Eol()
   cTxt += "FUNCTION TabelaCest()" + hb_Eol()
   cTxt += hb_Eol()
   cTxt += [   LOCAL aTabela := { ;] + hb_Eol()
   DO WHILE ! Eof()
      cTxt += [      { "] + tabcest->Ncm + [", "] + tabcest->Cest + [", "] + Limpa( tabcest->Descricao ) + [" } , ;]
      cTxt += hb_Eol()
      SKIP
   ENDDO
   CLOSE DATABASES
   cTxt += [      { "X", "X", "X" } }] + hb_Eol()
   cTxt += hb_Eol()
   cTxt += "RETURN aTabela" + hb_Eol()

   Checa( cTxt )
   hb_MemoWrit( "teste.prg", cTxt )

   RETURN

STATIC FUNCTION Limpa( cText )

   cText := Trim( cText )
   cText := StrTran( cText, Chr(10), "" )
   cText := StrTran( cText, Chr(13), "" )
   cText := StrTran( cText, ["], "" )
   cText := StrTran( cText, Chr(161), "i" )
   cText := StrTran( cText, Chr(198), "a" )
   cText := StrTran( cText, Chr(162), "o" )
   cText := StrTran( cText, Chr(130), "e" )
   cText := StrTran( cText, Chr(160), "a" )
   cText := StrTran( cText, Chr(135), "c" )
   cText := StrTran( cText, Chr(252), "2" )
   cText := StrTran( cText, Chr(131), "a" )
   cText := StrTran( cText, Chr(163), "u" )
   cText := StrTran( cText, Chr(228), "o" )
   cText := StrTran( cText, Chr(163), "u" )
   cText := StrTran( cText, Chr(136), "e" )
   cText := StrTran( cText, Chr(147), "o" )
   cText := StrTran( cText, Chr(133), "a" )
   cText := StrTran( cText, Chr(224), "o" )
   cText := StrTran( cText, Chr(181), "a" )
   cText := StrTran( cText, Chr(39), "" )

   RETURN cText

STATIC FUNCTION Checa( cTxt )

   LOCAL cLetra

   FOR EACH cLetra IN cTxt
      DO CASE
      CASE cLetra $ "abcdefghijklmnopqrstuvwxyz"
      CASE cLetra $ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
      CASE cLetra $ "0123456789"
      CASE cLetra $ "{}=(%$:).,/-; "
      CASE cLetra == Chr(34)
      CASE cLetra == Chr(13)
      CASE cLetra == Chr(10)
      OTHERWISE
         ? cLetra, Asc( cLetra ), Substr( cTxt, cLetra:__EnumIndex - 25, 50 )
      ENDCASE
   NEXT

   RETURN cTxt


Foi só uma idéia inicial.
Talvez melhor um XML como resource, ou o MySQL, ou outra coisa.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 14:36

É referente a um grupo de NCMs..

ncm3.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 15:12

Comecei a ajustar manualmente, mas vai longe.
E ajustar manual pode gerar erros.
Seria possível usar a rotina pra gerar novamente sem acrescentar zeros nos códigos?

Saudades do IE8, onde era só salvar o fonte da página.....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 15:51

Fui converter.....
Até que minhas rotinas pra XML estão sensacionais.... rs

Primeiro teste.
Direto do fonte html do site da Fazenda:
(Cortei parte da descrição pra caber numa linha)
Anexos
ncm4.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 16:10

Pegando o início mais fácil de entender a tela

ncm5.png


Só restou separar aonde tem mais de um NCM, onde os códigos estão separados por <br>

Me espantei com o tamanho do fonte.
Ajudou o html ter um padrão pras informações, com certeza.
É um bom exemplo de uso do FOR EACH
Reduzi um pouco o fonte, da postagem anterior pra esta, com menos variáveis.... mas entrou o IF.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 16:35

Voltando ao que interessa, que é a tabela:
O primeiro caso dá pra ajustar automático.
Agora os dos capítulos.... só manual mesmo.

Mas isso significa que TUDO dentro desses capítulos é ST?

ncm6.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 16:45

Parei aqui, agora levar filho na consulta médica....

REQUEST HB_CODEPAGE_PTISO

PROCEDURE Main

   LOCAL cXml, cXmlTabela, cXmlRow, cXmlCol, cXmlColList, cCest, aNcm, cDesc, oElement

   Set( _SET_CODEPAGE, "PTISO" )
   CLS
   cXml := MemoRead( "pagina.html" )

   FOR EACH cXmlTabela IN MultipleNodeToArray( cXml, "table" )
      FOR EACH cXmlRow IN MultipleNodeToArray( cXmlTabela, "tr" )
         cXmlColList := MultipleNodeToArray( cXmlRow, "td" )
         IF Len( cXmlColList ) != 1 // Titulos
            cCest := XmlNode( cXmlColList[ 2 ], "p" )
            aNcm  := hb_RegExSplit( "<br>", XmlNode( cXmlColList[ 3 ], "p" ) )
            cDesc := XmlNode( cXmlColList[ 4 ], "p" )
            FOR EACH oElement IN aNcm
               ?? "[" + AllTrim( cCest ) + "]"
               ?? "[" + AllTrim( oElement ) + "]"
               ?? "[" + AllTrim( Pad( cDesc, 30 ) ) + "]"
               ?
            NEXT
         ENDIF
      NEXT
   NEXT

   RETURN


O primeiro problema que deu era o ? no lugar errado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor Jairo Maia » 22 Jun 2017 16:49

Olá José,

Sim, dá pra gerar a tabela com os zeros a direita. Amanhã posto uma com zeros a direita e também com espaços a direita, para decidir qual fica mais fácil.

É que anexei a que uso conforme o tratamento que faço do NCM, que é da seguinte forma:
Não achou o NCM completo, vai removendo os caracteres da direita para a esquerda e faz o PadL() sempre com 8 dígitos e pesquisa novamente, já que alguns casos, podem sim não ter o NCM com 8 dígitos mas o grupo se enquadra.

Quanto a pergunta se o grupo todo é ST, a resposta é:
Significa que o Grupo todo é passível de ST, então tem que informar o CEST. Se tem ou não, depende de cada estado. Mas estando contemplado na tabela, a informação do CEST é obrigatória.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar de usuário

Jairo Maia
Colaborador

Colaborador
 
Mensagens: 2733
Data de registro: 16 Ago 2010 13:46
Cidade/Estado: Campinas-SP
Curtiu: 371 vezes
Mens.Curtidas: 305 vezes

Tabela de NCM com o CEST correspondente.

Mensagempor JoséQuintas » 22 Jun 2017 16:53

Sim, dá pra gerar a tabela com os zeros a direita.


Não faça isso, vai ser pior.
Tive uma idéia, continuo o post na volta do médico.
Mas ao que parece, consegui gerar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18113
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1213 vezes

Próximo



Retornar para Legislação Fiscal e Tributária

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro