Clipper On Line • Ver Tópico - Gerar NF-e em HB: qual melhor opção para iniciante?

Gerar NF-e em HB: qual melhor opção para iniciante?

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

 

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Araújo » 16 Nov 2016 18:17

Gerar NF-e para iniciante!
Há algum tempo, com a ajuda deste fórum, converti um antigo sistema em clipper para Harbour. Naquela ocasião meu cliente ainda não era obrigado a gerar NF-e, mas agora recebeu uma notificação alertando-o que o prazo limite é 31/12/2016. De imediato, como contingência, pensei no programa gratuito disponibilizado pelo sefaz-sp, mas já percebi que ele será descontinuado a partir da janeiro/2017, logo não posso investir tempo em desenvolver uma integração com ele. Por este motivo, gostaria de uma ajuda dos colegas para saber qual a opção menos trabalhosa. Alguém poderia me auxiliar neste ponto?
Grato,
Araújo
Araújo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 02 Abr 2013 22:22
Cidade/Estado: Recife-PE
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor fladimir » 16 Nov 2016 18:58

Vc terá q fazer usando ou a classe q tem aki no fórum ou via ACBr, outras soluções... segue tópico em q outros colegas tiveram o mesmo dilema e foi discutido um pouco a respeito.

Fora isto como estamos em novembro se vc achar q não daria tempo (eu particularmente acredito q dê) mas continuando, vc poderia tentar contratar um serviço de terceiros pra fazer a parte entre teu app e a SEFAZ e vc troca arquivos com ele (isso pode ser com alguém q trabalhe desta forma ou via ferramentas q tb propiciem isto, nesse caso vc teria custos).

Faz assim, da uma lida no link q passei e se resolver adotar alguma das alternativas lá citadas tem bastante ajuda aki no fórum, se mesmo assim não se sentir apto devido o prazo abra uma chamada no classificados (acho q lá é permitido) e veja se alguém poderia fazer algum tipo de consultoria nesse sentido.

Mas repito, mesmo com o pouco tempo, acredito q vc consegue, não é nenhum bixo de 7 cabeças.

[]'s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Araújo » 17 Nov 2016 08:17

Fladimir, obrigado pelas dicas!... darei uma olhada nos links e qualquer dúvida volto a postar aqui!...
Valeu!...
Araújo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 02 Abr 2013 22:22
Cidade/Estado: Recife-PE
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor JoséQuintas » 17 Nov 2016 10:42

logo não posso investir tempo em desenvolver uma integração com ele. Por este motivo, gostaria de uma ajuda dos colegas para saber qual a opção menos trabalhosa.


Repetir o de sempre:
Se gerar XML, vale pra emissor do governo e pra qualquer aplicativo.
Pode até gerar com assinatura "fake" só pra poder importar no emissor.

Talvez até seja fácil pra você entender uma coisa:
Um componente de NFe vai enviar seu arquivo e pegar a resposta.
Tem detalhes pra isso, cada um pode utilizar um jeito diferente, mas basicamente é enviar um arquivo e pegar resposta.
O próprio emissor da Fazenda é assim também.

Então o ponto principal é que você consiga gerar o arquivo (ou os arquivos), a partir de informações do seu aplicativo.
Comece a gerar, sem pressa, pra confirmar se tem todas as informações disponíveis.
Pode precisar fazer mudanças no aplicativo pra acrescentar mais campos que não existem.

Sugestão, pode ser demorado, mas eficiente:
Lembrando que a geração vai acabar tendo umas 1.000 linhas ou até mais, então se preocupe em fazer certo, e não em fazer rápido ou com fonte pequeno.

Pegue um XML válido como exemplo, tenha certeza de que ele é válido.
Coloque no fonte:
cXml := [colar o xml aqui]
hb_MemoWrit( "arquivo.xml", cXml )


pronto, está gerando xml.

A partir daí, comece a desmembrar as partes, talvez até separando em módulos.
Módulos do tipo BlocoEmitente(), BlocoDestinatario(), BlocoProduto(), BlocoImposto(), BlocoIcms(), BlocoIpi(), BlocoPis(), BlocoCofins(), BlocoTransporte(), BlocoDuplicatas(), etc.

E por último (ou durante), comece a trocar o conteúdo pelo conteúdo de seu banco de dados.

Basta lembrar que todo campo tem começo e fim: <campo>valor</campo>
E tem uma formação padrão, o que pode facilitar usar StringXml(), NumberXml(), etc.
E para o próprio campo, como é sempre <campo>valor</campo> dá pra usar uma função pra facilitar:
XmlTag( "campo", NumberXml( xValor, 15, 2 ) ) que vai retornar <campo>xValor</campo>

Pegando um Xml como base, vai conhecer todos os campos necessários, e confirmar se tem no aplicativo.

Toda parte que mencionei sobre XML é pra dividir o "problemão" em "probleminhas", e vai resolvendo um probleminha de cada vez.

Seja txt ou xml ou ini ou outro, vai ter os mesmos campos, as mesmas conversões, então o trabalho vai ser o mesmo.
Se XML vale pra todos, não vai precisar jogar nada que tenha feito, vale pra todos.

é pegar pesado nessa geração pra adequar o aplicativo.
Sim, o XML tem muito mais informações que a nota em papel, vai ter que se dedicar bastante nisto, porque depende do aplicativo fornecer tudo.

Cuidado pra não ficar preocupado com qual componente de NFE usar, e ficar brigando com algum componente.
O componente vai ser apenas o correio que manda e recebe correspondência de/para o governo.
Não adianta ter o correio, se não tiver a mensagem que vai ser entregue.
E não dá pra criar a mensagem, se não tiver todas as informações.

Apenas tente organizar como vai fazer isso, porque o tempo é curto.
Só vai autorizar uma nota quando tiver uma nota pronta, então não adianta se preocupar agora em como vai autorizar uma nota, e sim em ter a nota.

Um chute proporcional: 1 semana pra nota e 1 dia pra comunicação, ou duas semanas pra nota e 2 dias pra comunicação.
Se inverter a ordem, vai ficar 3 semanas pra comunicação sem poder fazer nada e nem mesmo ter a nota, e nem entendendo porque não funciona.

Então comece por isso: precisa da nota, é gerar com os dados da nota, esse é o ponto de partida.
Todo restante depende disso.
É nisso que vai dedicar quase todo o tempo que tem.

Só lembrando:
O emissor não vai acabar em janeiro, ele apenas não será mais atualizado.
Vai depender de sair lei nova ou não, que o torne inviável.
Ainda é uma boa opção de aprendizado, estudo e até complemento/utilização.
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: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Araújo » 17 Nov 2016 11:47

Muito obrigado pela dica JoséQuintas!.. Vou seguir suas orientações!...
Araújo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 02 Abr 2013 22:22
Cidade/Estado: Recife-PE
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Fernando queiroz » 14 Dez 2016 15:53

Araújo escreveu:Muito obrigado pela dica JoséQuintas!.. Vou seguir suas orientações!...


Você tem algum arquivo xml antes da validação e assinatura para que possa ver como fica algumas partes dela
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

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor JoséQuintas » 14 Dez 2016 16:58

Deixei passar este detalhe:

Naquela ocasião meu cliente ainda não era obrigado a gerar NF-e


Nunca emitiu NFE? Não tem nenhuma de modelo?
Seu cliente recebe NFE? Se ele recebe, pode usar qualquer uma de qualquer fornecedor como base.

É que XML acaba contendo informações de cliente, às vezes sigilosa, e também pode variar conforme o ramo da empresa.
Uma nota de fornecedor deverá estar mais próxima do ramo do seu cliente, inclusive já com produto que seu cliente revende.
Ao consultar a nota no site da Sefaz, já vai poder fazer o download.

A nota é a parte que vai de <NFe até </NFe>
A assinatura é a parte que vai de <Signature até </Signature>

Também deixei de avisar uma coisa:
Vai precisar que seu cliente tenha certificado. De preferência o A1, assim pode usar uma cópia pra fazer seus testes, e terá menos problemas do que com A3, que depende de equipamento especial e programas especiais.
O certificado é obrigatório pra poder emitir NFe.
Também é obrigatório pra poder fazer download de NFe, o que comentei acima.
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: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Araújo » 14 Dez 2016 18:23

JoséQuintas, obrigado pelas informações adicionais!...
Só agora consegui promover os ajustes de tabelas (DBF) e alimentação de muitos campos necessários à geração da NF-e!... Já estou conseguindo gerar o registro fiscal com todos os campos necessários (muitos novos campos)... Neste momento iniciei a parte de geração do arquivo xml, porém já encontrei alguns pontos de dúvidas:
No início do xml já entendi que esta tag é fixa <?xml version="1.0" encoding="UTF-8"?>, mas nesta <nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10"> o "nfeProc" também é fixo quando estou gerando o arquivo a ser enviado?

Grato pela atenção.
Araújo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 02 Abr 2013 22:22
Cidade/Estado: Recife-PE
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor JoséQuintas » 14 Dez 2016 21:58

nfeProc não faz parte da nota normal, só da nota autorizada.
Seria algo como "processo da nfe".

dentro desse processo tem a nota, e o protocolo de autorização.

E depois na nota, uma das partes é a assinatura.

Coloquei no post anterior:
<NFe até </NFe>
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: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Araújo » 15 Dez 2016 12:53

Fernando queiroz escreveu:
Araújo escreveu:Muito obrigado pela dica JoséQuintas!.. Vou seguir suas orientações!...


Você tem algum arquivo xml antes da validação e assinatura para que possa ver como fica algumas partes dela


Ainda não Fernando, mas seria interessante ter um exemplo!...
José Quintas, você teria algum para nos apresentar?!..

Grato,

Araújo
Araújo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 02 Abr 2013 22:22
Cidade/Estado: Recife-PE
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor JoséQuintas » 15 Dez 2016 18:12

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

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Araújo » 22 Dez 2016 21:24

JoséQuintas, estou finalizando a geração do arquivo xml!.. ainda há alguns ajustes a serem realizados, mas o arquivo está completo, porém sem assinatura!...
Durante a construção do xml, para validar se está ficando ok, tenho submetido-o a este link http://validadornfe.tecnospeed.com.br/, e consegui evoluir bastante!.. Porém, fui tentar importar o xml no emissor gratuito e não estou conseguindo!... apresenta uma mensagem de rejeição com se estivesse faltando assinar!... Você saberia se o emissor gratuito importa o xml para sem assinar na sequencia ele mesmo assina e transmite?...
Grato pela atenção.
Araújo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 02 Abr 2013 22:22
Cidade/Estado: Recife-PE
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor JoséQuintas » 23 Dez 2016 07:31

No emissor só importa com assinatura.
Encontre um XML assinado e copie a parte da assinatura.
O emissor vai reclamar de assinatura inválida mas vai deixar importar mesmo assim.
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: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor Araújo » 23 Dez 2016 08:49

Neste caso estou com um problema maior... entenda meu drama:
Dado o pouco tempo que tinha quando iniciei este desenvolvimento (final de novembro), pensei inicialmente em gerar o arquivo texto da NFe no padrão do emissor gratuito e deixar todo o resto do controle por conta dele, já que através dele faria validação, assinatura e transmissão!... Isso resolveria o problema maior para emissão da NF-e pelo cliente em produção. Mas ponderei e considerei as recomendações de gerar diretamente o xml, uma vez que o esforço seria praticamente o mesmo e o emissor gratuito também importa o xml, sem contar que seria um passo a mais para lá na frente, com calma, migrar para o ACbr, visto que o emissor gratuito será descontinuado a partir de janeiro. Entretanto, não sabia deste detalhe, que o xml precisava ser assinado.
Desta forma, estou com o sistema pronto, gerando o xml, estou com o certificado válido (já enviado pelo cliente) e instalado na versão de teste do emissor, e não sei com assinar para colocar o procedimento em produção.
Tem alguma função no harbour que grave a assinatura no xmll?... Lembrando que estou fazendo tudo 100% clipper compilando em harbour.
O que você sugere?!
Grato pela atenção.
Araújo
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 02 Abr 2013 22:22
Cidade/Estado: Recife-PE
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Gerar NF-e em HB: qual melhor opção para iniciante?

Mensagempor JoséQuintas » 23 Dez 2016 09:57

Neste caso estou com um problema maior... entenda meu drama:


não, não está.

pensei inicialmente em gerar o arquivo texto da NFe no padrão do emissor gratuito e deixar todo o resto do controle por conta dele


Pra importar no emissor, em XML, obriga que exista assinatura, mas pode ser qualquer assinatura, não precisa ser válida.
Basta colocar um bloco de outro xml assinado <signature.>...</signature>
Vai acusar assinatura inválida, mas vai importar normalmente, como se fosse o txt.
O próprio emissor vai poder assinar corretamente e fazer todo resto do processo.

Neste ponto, seu aplicativo está pronto pra qualquer componente NFE.
Lembrando: a assinatura neste caso é só pra importar no emissor do governo, não vai ser usada pra nada depois, nem mesmo pra algum componente NFE.

Tem alguma função no harbour que grave a assinatura no xmll?...


Os componentes de NFE também assinam, isso não é problema.
Só vai precisar saber assinar se for fazer todo processo por conta própria.

A classe Sefaz tem assinatura e todo restante.
Faz uso de capicom e msxml5, dois componentes da Microsoft pra assinatura e transmissão.

Mas não se preocupe com isso agora.
Coloque uma assinatura qualquer (tem que ser num formato de assinatura, por isso copiar de um xml existente)
Com o processo concluído, aí pensa no restante.

Aqui cheguei a criar uma funçãozinha, só pra facilitar incluir a assinatura fake em pontos diferentes do aplicativo.

FUNCTION AssinaturaFake()
   RETURN [texto de assinatura de um xml qualquer]
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: 18158
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 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 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