Página 1 de 3

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

Enviado: 16 Nov 2016 19:17
por Araújo
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

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

Enviado: 16 Nov 2016 19:58
por fladimir
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

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

Enviado: 17 Nov 2016 09:17
por Araújo
Fladimir, obrigado pelas dicas!... darei uma olhada nos links e qualquer dúvida volto a postar aqui!...
Valeu!...

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

Enviado: 17 Nov 2016 11:42
por JoséQuintas
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:

Código: Selecionar todos

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.

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

Enviado: 17 Nov 2016 12:47
por Araújo
Muito obrigado pela dica JoséQuintas!.. Vou seguir suas orientações!...

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

Enviado: 14 Dez 2016 16:53
por Fernando queiroz
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

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

Enviado: 14 Dez 2016 17:58
por JoséQuintas
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.

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

Enviado: 14 Dez 2016 19:23
por Araújo
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.

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

Enviado: 14 Dez 2016 22:58
por JoséQuintas
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>

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

Enviado: 15 Dez 2016 13:53
por Araújo
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

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

Enviado: 15 Dez 2016 19:12
por JoséQuintas

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

Enviado: 22 Dez 2016 22:24
por Araújo
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.

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

Enviado: 23 Dez 2016 08:31
por JoséQuintas
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.

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

Enviado: 23 Dez 2016 09:49
por Araújo
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.

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

Enviado: 23 Dez 2016 10:57
por JoséQuintas
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.

Código: Selecionar todos

FUNCTION AssinaturaFake()
   RETURN [texto de assinatura de um xml qualquer]