NFC-e - por onde iniciar

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

NFC-e - por onde iniciar

Mensagem por Fernando queiroz »

aco que faltava comprtilhar no DROPBOX

https://www.dropbox.com/s/wm43d680brjfz ... e.bmp?dl=0
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Orientação sobre o DANFE NFC-e :
http://www.nfe.fazenda.gov.br/portal/li ... ol5hhSYZk=
Clicar no Link : Manual de Especificações Técnicas do DANFE NFC-e e QR Code - Versao 4.2
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Pronto.
Foi adicionado o IF no final Ficou assim:

Código: Selecionar todos

METHOD NFeLoteEnvia( cXml, cLote, cUF, cCertificado, cAmbiente, cIndSinc ) CLASS SefazClass

   hb_Default( @cIndSinc, ::cIndSinc )

   ::Setup( cUF, cCertificado, cAmbiente, WS_NFE_AUTORIZACAO )

   IF Empty( cLote )
      cLote := "1"
   ENDIF
   IF cXml != NIL
      ::cXmlDocumento := cXml
   ENDIF
   IF ::AssinaXml() != "OK"
      RETURN ::cXmlRetorno
   ENDIF
   IF ::cNFCe == "S"
      ::GeraQrCode()
   ENDIF
E o uso, após alteração, pra NFE ou NFCE

Código: Selecionar todos

oSefaz := SefazClass():New()
oSefaz:cCertificado := "XX"
oSefaz:cUF := "AC"

// estes três se for NFCe
oSefaz:cNFE := "S"
oSefaz:cCSC
oSefaz:cIdToken

oSefaz:NfeLoteEnvia( cXml )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Sobre o Danfe:

Tem duas versões, pra 3.10 e pra 4.00
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Por curiosidade... as alterações para a NFCE do ACRE funcionar.
Como eu digo sempre.... a diferença é sempre string.... faltou o www. no endereço do qrcode

sefazacre.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Complemento:

Eu mostro as alterações, assim se acontecer de novo, vocês conseguem se virar.
No caso de endereços é só conferir nos arrays, e alterar.

Quando alterar pra NFCE 4... TODAS as strings vão precisar alteração....

O que dá pra fazer na classe, como antecipado, é um IF ::cVersao == "4.00" pra já deixar as duas versões.
E dois arrays de QRCode, um pra 3.10 e outro pra 4.00 - e o mesmo para os webservices.
Aquelas listas que estão ficando quilométricas.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

NFC-e - por onde iniciar

Mensagem por Fernando queiroz »

:% :% :% :% deu BO :% :% :%

Fiz as correções no cadastro de passou , mas, e somente mas, o que usar aqui?

NOTAFE->b_procEmi := "3" && 3=emissao NFe app do fisco
NOTAFE->b_verProc := FLAG->b_verProc && versao do app do fisco


OU

NOTAFCE->b_procEmi := "0" && 0=emissao NFCe app do CLIENTE
NOTAFCE->b_verProc := "1.0" && FLAG->b_verProc versao do app do cliente

<Erro text="Não autorizado" /><nfeRetAutorizacaoLoteResult xmlns="http://www.portalfiscal.inf.br/nfe/wsdl ... onsReciNFe versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe"><tp ... otivo>Lote processado</xMotivo><cUF>12</cUF><dhRecbto>2017-12-14T12:17:37-05:00</dhRecbto><protNFe versao="3.10"><infProt><tpAmb>2</tpAmb><verAplic>SVRSnfce201712111611</verAplic><chNFe>12171211194159000100650010000000011140830551</chNFe><dhRecbto>2017-12-14T12:17:37-05:00</dhRecbto><digVal>f7Ywh3u6I/1UZ0umKFQRjh4XVAw=</digVal><cStat>203</cStat><xMotivo>Rejeicao: Emissor nao habilitado para emissao da NF-e</xMotivo></infProt></protNFe></retConsReciNFe></nfeRetAutorizacaoLoteResult>

ESTAVA USANDO A SEGUNDA OPCAO
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Como o Quintas mencionou, o link que eu informei para baixar informações sobre como deve ser o DANFE, tem para as duas versões, 3.10 e 4.0, mas a informação de qual link baixar que postei, é para a 4.0.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Aqui o link abriu a página de documentos, não o documento específico.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Marcelo, estou preparando pra fazer uma mudança GRANDE, que não é tão grande, a não ser pelas listas quilométricas... rs

Por exemplo... isto...

Código: Selecionar todos

#define WS_BPE                       100
#define WS_BPE_CONSULTAPROTOCOLO     WS_BPE + 1
#define WS_BPE_RECEPCAO              WS_BPE + 2
#define WS_BPE_RECEPCAOEVENTO        WS_BPE + 3
#define WS_BPE_STATUSSERVICO         WS_BPE + 4
#define WS_BPE_QRCODE                WS_BPE + 5

#define WS_CTE                       200
#define WS_CTE_CONSULTACADASTRO      WS_CTE + 1
#define WS_CTE_CONSULTAPROTOCOLO     WS_CTE + 2
...
e isto:

Código: Selecionar todos

#define WS_LIST { ;
                { WS_BPE, WS_PROJETO_BPE }, ;
                { WS_CTE, WS_PROJETO_CTE }, ;
                { WS_MFE, WS_PROJETO_MDFE }, ;
                { WS_NFE, WS_PROJETO_NFE } }
e mais isto:

Código: Selecionar todos

   FOR EACH oElement IN WS_LIST DESCEND
      IF nWsServico < oElement[ 1 ] + 100
         ::cProjeto := oElement[ 2 ]
         EXIT
      ENDIF
   NEXT
Com essa alteração, elimina a necessidade de projeto no array de serviços.

A intenção será CADA método da classe ter sua própria lista.
Por isso tentando reduzir primeiro, e pensando antes de fazer.
Pra quem usa... nenhuma diferença no uso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

É uma mudança pensando no futuro, muito bem vinda, até pq, como vc sempre diz, e está certo, a classe que vc fez é um HUB, que só vai abrindo portas e conectando tudo, e do jeito que as coisas andam, logo logo vai ter muita coisa do governo terminando com ....-e

PS : Só para constar, ainda não consegui postar nada sobre a NFC-e 4.0 por dois motivos, primeiro fazendo as validações no sistema, para que tudo esteja 100% na hora de criar o XML, e segundo acertando as alterações da 3.10 para a 4.0, não é tanta coisa assim, ao menos para NFC-e, para NF-e é muito mais, pois envolve muito a parte de tributação, mas logo vou disponibilizar através de um FORK do projeto Sefazclass tudo o que for necessário para o programador implementar no seu aplicativo a NFC-e 4.0, primeiramente fazendo o básico, criar XML, validar, assinar, enviar e receber, e depois Contingência, Cancelamento, Armazenamento, Pesquisa de Notas, etc.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Tem um detalhe interessante no webservice de consultar cadastros do Amazonas...

Quem souber de alguma coisa é só falar....

Mas a mensagem é esta

Please enable REST support in WEB-INF/conf/axis2.xml and WEB-INF/web.xml

e o endereço é este:

https://nfe.sefaz.am.gov.br/services2/s ... acadastro2

Se for igual as demais, só funciona com certificado digital
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Chegando no final de criação do XML, emperrou uma coisa :
Estou usando um XML de NFC-e ( 3.10 ) criado, validado e enviado para a SEFAZ do PR pelo SAGE One.
Nesse XML, houve a venda do produto :
LANCHE OMELETE
Qtd = 2
Preço unitário = R$ 14,90
Preço Total Ítem = R$ 29,80
NCM = 20052000
CFOP = 5101

Na TAG <imposto>, a primeira informação que consta é :
<vTotTrib> = 9,36

Pesquisei onde eu poderia achar uma forma de chegar nessa informação, então fiz o cadastro para baixar a tabela do IBPT com vários NCM e seus respectivos percentuais aproximados, e nesse caso, seria :
13,45 - Nacional ( Federal )
19,55 - Importado ( Federal )
18,00 - Estadual

Fazendo as contas, não chega em R$ 9,36 !!!
Alguém poderia me dizer onde estou errando, por favor !

OBS : NÃO APAGUEI O TÓPICO PQ ACHO QUE VAI SER ÚTIL PARA ALGUÉM ALGUM DIA
******** Solução do " Problema " ***************
Eu estou tão ancioso em acabar a implementação da NFC-e, que esqueci de um detalhe...tem que ser feita a conta levando em consideração não somente o percentual ( Estadual ) ou não somente o percentual ( Federal ), mas sim a soma dos dois, ai a conta fecha.... :% :% :%
29,80 * 18,00 % = 5,36 ( Estadual )
29,80 * 13,45 % = 4,00 ( Federal )
------------------------------------------
9,36 :)) :)) :))
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

NFC-e - por onde iniciar

Mensagem por Daniel »

Para mim calcular direto assim esta errado.
Seria melhor usar regra de 3

Aliq. Aprox. Imp. = 31.45
((29,80 * 31.45) / (100 + 31.45)) = 7.13
((7.13 * 13.45) / 31.45) = 3.05 Federal
((7.13 * 18.00) / 31.45) = 4.08 Estadual

Se não um produto com alíquota de imposto de 100 % vai ficar zerada
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Olha, hoje em dia não tem como acreditar em tudo o que se fala, isso é fato, mas....
https://www.iob.com.br/site/Home/QuemSomos
Contra fatos, fica meio difícil argumentar, eu já estou usando o SAGE One para validar XML e regras, justamente pela experiência que eles possuem.
Como tenho acesso total ao sistema, vi que a forma como eles definem as regras é muito simples, e sempre está de acordo com as Leis.
O sistema em si não tem nada de mais, não é prático inclusive, mas para NFC-e, é muito bom !
Responder