Clipper On Line • Ver Tópico - NFC-e - por onde iniciar

NFC-e - por onde iniciar

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

 

NFC-e - por onde iniciar

Mensagempor MSDN » 11 Dez 2017 13:29

Estou alterando o arquivo sefazclass.ch para conter somente os endereços de homologação e produção da versão 4.0, pois logo a 3.10 vai sair de linha. Essa mudança estou fazendo no arquivo que tenho na minha máquina, Quintas, o que vc acha, ao invés de criar mais informação no CH, não seria melhor já colocar tudo da 4.0 ? no caso do PR claro !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

NFC-e - por onde iniciar

Mensagempor JoséQuintas » 11 Dez 2017 13:45

Assim que você começar a 4.00 vai querer voltar na 3.10 kkkkkk
vai ser em abril/2018, até lá muita coisa pode acontecer.
Na 4.0 entra a questão do EAN que vai ter que ser preenchido, e pode não ser tão simples quanto parece.

Tem um array só para a NFE 4.0, mas agora entra a questão da NFCE também.

Essa é a questão: por um tempo pode precisar ter as duas opções 3.10 e 4.00
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: 18160
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

NFC-e - por onde iniciar

Mensagempor MSDN » 11 Dez 2017 13:47

A questão que pode ocorrer mudanças eu vejo como natural, aqui é Brasil, tudo pode acontecer, só acho melhor e mais prudente ir nesse caminho, fazer tudo para 4.0 e estar sempre pronto para as mudanças, do que amargar noites em claro depois.
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

NFC-e - por onde iniciar

Mensagempor JoséQuintas » 11 Dez 2017 14:47

É.. uma coisa é sobre transmitir, e outra coisa é dexar o aplicarivo preparado.
Quanto a sefazclass nao precisa tanta pressa, mas para as necessidadez, é bom nao deixar pra depois.
Como nao vai aceitar ean errado pode ser que quera ja validar no aplicativo
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: 18160
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

NFC-e - por onde iniciar

Mensagempor Fernando queiroz » 12 Dez 2017 15:38

E lá vamos nós também, to começando a NFC-e , alguém teria um XML de uma para poder acompanhar a montagem, eu já tenho da Nf-e mas queria saber exatamente como montar o tal QR
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

NFC-e - por onde iniciar

Mensagempor JoséQuintas » 12 Dez 2017 15:49

pergunta no posto Ipiranga..... rs

Nem só de José Quintas vive a SefazClass.....
Basta criar um fork e fazer um "pull request"....
A criação do QRCode já está na Sefazclass.

sefazclass.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: 18160
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

NFC-e - por onde iniciar

Mensagempor MSDN » 12 Dez 2017 17:18

Já mudei os endereços para a versão 4.0 ( sefazclass.ch ) e na sefazclass.prg, está tudo ok até o momento como estava nos testes com a 3.10, o erro que apareceu é o normal, dizendo que tem erros no schema, pq estou tentando validar um XML feito para 3.10 e não para 4.0.
Abaixo o código fonte que estou usando para validar o XML, importante notar que coloquei o componente richeditbox e envio para ele as mensagens de erro, pois ele é como se fosse um memoedit, e fica fácil ver as mensagens, que sempre são longas. Mais pra frente, quando tudo estiver ok, o tratamento de erros será de outra forma, pq um dos erros que podem acontecer é não ter conexão com internet ou a Sefaz estar fora do ar, nesse caso terá a rotina para tratamento de contingência, ou seja, até 24h de prazo para enviar a nota (estou falando no caso do PR, SP por exemplo usa SAT).

#include 'minigui.ch'
#include 'miniprint.ch'

FUNCTION Nfce()

   DEFINE WINDOW Form_nfce ;
      AT 0, 0 ;
      WIDTH 800 ;
        HEIGHT 600 ;
         TITLE 'NFC-e : Nota Fiscal Consumidor Eletrônica' ;
          ICON 'icone' ;
        MODAL ;
        NOSIZE
        
          @ 10, 10 BUTTONEX Btn_1 ;
               CAPTION "Enviar nota" ;
               WIDTH 120 ;
               HEIGHT 60 ;
               FONT 'calibri' SIZE 12 BOLD ;
               NOTABSTOP ;
               FONTCOLOR BLACK ;
               BACKCOLOR WHITE ;
               GRADIENTFILL { { 1, { 230, 230, 230 }, { 200, 200, 200 } } } ;
               ACTION Enviar_Nota()
        
          @ 100, 10 LABEL Label_1 ;
               VALUE 'Certificado escolhido :' AUTOSIZE FONT 'calibri' SIZE 12 BOLD FONTCOLOR BLACK TRANSPARENT
          @ 130, 10 LABEL Label_2 ;
               VALUE 'ERROS :' AUTOSIZE FONT 'calibri' SIZE 12 BOLD FONTCOLOR GRAY TRANSPARENT
          @ 150, 10 richeditbox label_erro ;
            width 780;
            height 400;
              value '';
             font 'courier new';
              size 10;
               backcolor WHITE;
                fontcolor BLACK;
                 maxlength 510000;
               NOHSCROLL        
      /*
           tecla ESC para sair da janela
      */
      ON KEY ESCAPE ACTION Form_nfce.release
               
   END WINDOW

   Form_nfce.center
   Form_nfce.activate

   RETURN( Nil )
*-------------------------------------------------------------------------------
STATIC FUNCTION Enviar_Nota()

/*
http://www.sped.fazenda.pr.gov.br/modules/conteudo/conteudo.php?conteudo=97
*/
   LOCAL cXmlRetorno
   LOCAL cCertificado
   LOCAL cTexto
   LOCAL cNomeXml := 'C:\MHR_Food\modelo_nfce.xml'
   
   cXml := MemoRead(cNomeXml)   
   
   oSefaz     := SefazClass():New()
      oSefaz:cUF := "PR"
      oSefaz:cAmbiente := "2"      
   oSefaz:cNFCE := "S"
   
   oSefaz:cCertificado := CapicomEscolheCertificado()
   Setproperty('Form_nfce','Label_1','value','Certificado escolhido : '+oSefaz:cCertificado)
   cCertificado := Alltrim(oSefaz:cCertificado)

   cXmlRetorno := oSefaz:NfeStatusServico()
   MsgInfo(oSefaz:cXmlSoap,"XML enviado")
     MsgInfo(oSefaz:cXmlRetorno,"XML retornado")
      cTexto := "Tipo Ambiente:"     + XmlNode( cXmlRetorno, "tpAmb" ) + HB_EOL()
       cTexto += "Versão Aplicativo:" + XmlNode( cXmlRetorno, "verAplic" ) + HB_EOL()
     cTexto += "Status:"            + XmlNode( cXmlRetorno, "cStat" ) + HB_EOL()
     cTexto += "Motivo:"            + XmlNode( cXmlRetorno, "xMotivo" ) + HB_EOL()
     cTexto += "UF:"                + XmlNode( cXmlRetorno, "cUF" ) + HB_EOL()
     cTexto += "Data/Hora:"         + XmlNode( cXmlRetorno, "dhRecbto" ) + HB_EOL()
     cTexto += "Tempo Médio:"       + XmlNode( cXmlRetorno, "tMed" ) + HB_EOL()
     MsgInfo(cTexto,"Informação Extraída")

      oSefaz:NFeLoteEnvia( @cXml, "1", "PR", cCertificado, "2", "1" )
   Setproperty('Form_nfce','Label_erro','value',oSefaz:cXmlRetorno)   

      //hbNFeDaNFe( oSefaz:cXmlAutorizado )

   RETURN( Nil )   


Vamos em frente...
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

NFC-e - por onde iniciar

Mensagempor MSDN » 12 Dez 2017 17:29

Uma das mudanças presentes na NF-e / NFC-e 4.0 é a obrigatoriedade do código GTIN https://www.gs1br.org/faq/o-que-e-gtin no XML.
Nesse link, é possível ter acesso a NT-Nota Técnica que fala sobre o assunto.
https://regys.com.br/nf-e-nota-tecnica-2017-001-v-1-00-novas-validacoes-do-gtin/#.WjA6T9-nHIU
A regra em si é simples, se o produto que a empresa vendeu tem um código GTIN (Ex:coca-cola, leite ninho, sabonete dove) já estabelecido, o mesmo deve fazer parte do cadastro de produtos do sistema e estar no XML, agora se não existe, ninguém nunca atribuiu um código GTIN à ele, ou é um produto de fabricação própria, como por exemplo : Buffet KG, HotDog SuperSupremeDeluxe do Zé, ai só precisa constar no espaço do código GTIN a palavra "SEM GTIN"

https://www.gs1br.org/servicos-e-solucoes/cadastro-centralizado-de-gtin?gclid=EAIaIQobChMIl_zml6mF2AIVTwWRCh1EJw0EEAAYASAAEgLU9vD_BwE
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

NFC-e - por onde iniciar

Mensagempor JoséQuintas » 12 Dez 2017 17:39

Também pensava assim... até olhar direto as mensagens de retorno.

Vamos ao CIGARRO....

Tem o GTIN do maço de cigarros
Tem O GTIN do pacote de cigarros
Tem o GTIN do pacotão de pacotes de cigarros

No XML, nos produtos, tem o GTIN do produto, e o GTIN tributável, unidade tributável, etc.....

Se for cigarro BOX, existe um imposto POR BOX.

Acho que já deu pra entender a complicação que pode entrar com GTIN.....

Uma das mensagens de retorno é sobre usar GTIN inválido pra tributação.

Nota: Quando comentei de deixar alterações na Sefaz pra depois, e não a nota 4.00, é sobre confirmar essas coisas até lá... o aplicativo vai precisar de alterações...
A comunicação sempre é o menor dos problemas.... rs
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: 18160
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

NFC-e - por onde iniciar

Mensagempor MSDN » 12 Dez 2017 17:53

Nesses casos mais específicos, a única maneira de resolver é fazendo o que sabemos...programar e achar maneiras de fazer algo complicado ficar simples, ou pelo menos menos complicado.
O sistema deve estar preparado para aceitar mais de um GTIN, ou, fazer mais de 1 cadastro do mesmo produto que exista a possibilidade de ser vendido de forma unitária ou agrupada.
No final das contas, eu até acho bom que tudo vá indo para esse lado, pq quem é sério, comprometido em criar e manter um sistema profissionalmente, vai ter seu retorno no mercado, muito picareta vai ficar pelo caminho, e pessoas como nós, que vivemos de programação, que disso depende o dinheiro para fazer mercado, pagar aluguel, a prestação do carro, a escola do filho, ficarão consolidados no mercado, com excelente referência, pois hoje em dia e no futuro (breve), pra variar o programador/analista vai junto com os contadores, ser um dos alicerces das empresas, pois essas obrigações fiscais eletrônicas, estão transformando programador em contador e contador em programador !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

NFC-e - por onde iniciar

Mensagempor Jairo Maia » 12 Dez 2017 18:30

Olá Pessoal,

MSDN escreveu:O sistema deve estar preparado para aceitar mais de um GTIN
Na verdade terá que aceitar 2 GTIN´s. Um da unidade de venda e outro da unidade tributária.

Veja o que disse o José:
JoséQuintas escreveu:Vamos ao CIGARRO....

Tem o GTIN do maço de cigarros
Tem O GTIN do pacote de cigarros
Tem o GTIN do pacotão de pacotes de cigarros
Nesse caso, o GTIN do produto será aquele que estiver sendo vendido e será usado pelo leitor no PDV, e o outro GTIN na verdade é o GTIN da unidade tributária. A unidade tributária é a menor unidade do produto.

Exemplo 1:
Na nota de entrada chegou a caixa com 20 pacotes e se for vender a caixa fechada, o GTIN de venda será o da caixa fechada e o da unidade tributária será o do maço avulso.

Exemplo 2:
Se na nota de entrada for o pacote com 10 unidades e for vender o pacote, o GTIN de venda será o do pacote e o da unidade tributária será o do maço avulso.

Exemplo 3:
Se na nota chegou apenas 5 maços (1/2 pacote, e isso ocorre com alguma marcas no comércio), então tanto o GTIN da venda (tag cEAN) quanto o GTIN da unidade tributária (tag cEANTrib) serão os mesmos.

Se informado um GTIN, ele será validado, e idem se informado o GTIN da unidade tributária, ou seja, será verificado se ambos estão corretos.
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

NFC-e - por onde iniciar

Mensagempor JoséQuintas » 12 Dez 2017 18:57

Se na nota de entrada for o pacote com 10 unidades e for vender o pacote, o GTIN de venda será o do pacote e o da unidade tributária será o do maço avulso.


E nesse caso, será necessário um fator de conversão, porque além do GTIN de tributação, vai precisar uma conversão de quantidade e valor de tributação.

Por isso eu disse que a comunicação é o menor dos problemas,
E por isso eu digo pra ler os manuais do governo, e não somente se preocupar com comunicação.

Já estão vendendo cadastros de GTIN, chegando até a R$10.000,00 reais, ou até mais, em alguns casos onde vende por pacote de 50 GTIN.

Jairo, esclareceu uma dúvida que eu tinha... vai ser o menor elemento que possua GTIN.

E Marcelo.... isso vale a partir da NFE 4.0... pelo menos pra validação pesada do GTIN.
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: 18160
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

NFC-e - por onde iniciar

Mensagempor MSDN » 12 Dez 2017 19:23

Isso mesmo Quintas, por isso que quando vc falou em ficar na 3.10 eu achei melhor já ir pra 4.0, tem muito detalhe envolvido, o XML, ao menos para NFC-e mudou pouco, a questão mesmo é validar informações e conseguir integridade nos cadastros.
Não fica de fora a cara feia dos clientes, sabendo que agora não vai ser mais como antigamente, quando era tudo preenchido mais ou menos, mas faz parte !
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 123 vezes

NFC-e - por onde iniciar

Mensagempor Fernando queiroz » 12 Dez 2017 19:34

</emit>

-<dest>

<CPF/>

<indIEDest>9</indIEDest>

</dest>

Quando o cliente nao é identificado como fica?

tem como validar uma NFC-e tentei no validador RS mas da erro de destinatario
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

NFC-e - por onde iniciar

Mensagempor Jairo Maia » 12 Dez 2017 20:09

Olá Pessoal,

Fernando Queiroz:
Provavelmente porque você está usando <indFinal>0</indFinal> (contribuinte de ICMS). Deve ser <indFinal>1</indFinal> (não contribuinte)

José Quintas:
Base legal sobre a tag cEANTrib: Veja o item: 4. Qual a diferença entre cEAN e cEANTrib? nesse documento: PERGUNTAS FREQUENTES
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

Anterior 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 10 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