Página 1 de 5

Iniciando desenvolvimento da NFe

Enviado: 18 Set 2010 19:49
por JSystem
Olá Pessoal boa noite,

Preciso desenvolver a NFe, estou pesquisando e uns me falam do sistema gratuito da SEFAZ e outros do ACBrNFEMonitor.
Gostaria, por gentiliza, de uma opinião de quem já desenvolveu e/ou está desenvolvendo, qual destes acima ou se tem algum outro mais prático, pois tenho pouco prazo para desenvolver, a empresa precisa começar a emitir a partir de 02-01-11 e estou bastante preocupado.

Aguardo retorno,

Obrigado a todos.

Re: Iniciando desenvolvimento da NFe

Enviado: 18 Set 2010 20:39
por alxsts
Olá!

Seja bem-vindo ao fórum!

Creio que, dentre os que você citou, o preferido é o ACBRNFEMonitor.

Utilize o recurso de busca do fórum, localizado na parte superior direita da página. Existe bastante material já postado referente ao assunto.

Re: Iniciando desenvolvimento da NFe

Enviado: 19 Set 2010 11:37
por billy1943
Como a finalidade principal de um Fórum é discutir as ideias, apresento a minha:

- nós optamos pelo sistema do SEFAZ-SP, pela sua simplicidade, rapidez, totalmente sem problemas, já emitimos milhares de NFes, e enfatizo as suas principais virtudes:

- a sua entrada é e continuará sendo após 01/01/2011, em formato .TXT, de fácil feitura principalmente em sistemas em Clipper ou outro qualquer;

- esse arquivo não depende de esquemas complicados de .XML;

- caso a importação dê algum erro você edita rapidamente o .TXT, passa novamente no crivo da importação e prossegue o processamento da NFE; posteriormente você corrige o programa se for o caso;

- tudo nele está às claras, você ordena a sequencia de funcionamento, nada é feito automaticamente sem a sua confirmação;

- ele também
trabalha no atacado, isto é, você pode importar vários .TXT, validá-los, assiná-los, transmití-los e imprimir os DANFEs em uma só vez;

- a única desvantagem que vejo é o fato de ser monousuário mas que facilmente contornamos procedendo assim:
a)- colocamos a geração dos .TXT em pasta no servidor de rede, ou seja todos os terminais acessam os arquivos gerados pelo ERP de faturamento;
b - os terminais tem cada um o seu certificado A1 e utilizam o .TXT e dão seguimento à NFE.

Re: Iniciando desenvolvimento da NFe

Enviado: 20 Set 2010 06:44
por JSystem
Obrigado aos amigos alxsts e billy1943 pelas opiniões,

Como disse o billy1943, como a finalidade do fórum é discutir idéias, gostaria de obter opiniões de mais pessoas sobre os sistemas que vem utilizando.

Com relação ao sistema da SEFAZ, pelo que disse o billy1943, parece ser muito fácil, como estou em MG, vem a dúvida se tem as mesmas facilidades do sistema de SP, vi alguma coisa no fórum de pessoas que está utilizando o sistema de MG e está com algumas dificuldades, gostaria de ter esta informação.

É como disse no tópico anterior, tenho pouco tempo p/ desenvolver e preciso de uma ferramenta que seja mais prática possível.


Obrigado a todos e tenha um bom dia.

Re: Iniciando desenvolvimento da NFe

Enviado: 20 Set 2010 08:39
por Itamar M. Lins Jr.
Para mim a principal vantagem do ACBRNFe, é que os usuários do sistema não precisam fazer a mesma coisa duas vezes.
Com o programa do governo os usuários sempre irão fazer, repetir duas coisas ou mais... redundacia que pode ser evitada usando o ACBRNFe.
Com ACBRNFe, não manipulamos XML, criamos um TXT ou ainda podemos usar SOCKET. E é multusuário.
Tambem trabalha com envio de lotes.
Entre outras coisas não precisamos ensinar nem instalar no usuário dois sistemas.

Saudações,
Itamar M. Lins Jr.

Re: Iniciando desenvolvimento da NFe

Enviado: 23 Set 2010 17:06
por SandroBelarmino
billy1943 escreveu:- nós optamos pelo sistema do SEFAZ-SP, pela sua simplicidade, rapidez, totalmente sem problemas, já emitimos milhares de NFes, e enfatizo as suas principais virtudes:

- a sua entrada é e continuará sendo após 01/01/2011, em formato .TXT, de fácil feitura principalmente em sistemas em Clipper ou outro qualquer;

- esse arquivo não depende de esquemas complicados de .XML;
Como o colega Itamar disse, o acbrnfemonitor trabalha com arquivos txt.
billy1943 escreveu:- caso a importação dê algum erro você edita rapidamente o .TXT, passa novamente no crivo da importação e prossegue o processamento da NFE; posteriormente você corrige o programa se for o caso;
Acredito que as informações contidas no programa de gestão, referenta à nota fiscal, tem que ser o espelho da NFe que foi gerada, ou seja, se o usuário muda o TXT para importação no emissor, e "esquece" de acertar no programa, voce terá a NFe com informações diferentes do que tem no seu programa.
billy1943 escreveu:- tudo nele está às claras, você ordena a sequencia de funcionamento, nada é feito automaticamente sem a sua confirmação;
No acbrnfemonitor, tudo isso vai depender de como voce estruturou sua rotina de emissão e gerenciamento de NFe.
billy1943 escreveu:- ele também trabalha no atacado, isto é, você pode importar vários .TXT, validá-los, assiná-los, transmití-los e imprimir os DANFEs em uma só vez;
No monitor voce tem a opção de gerar notas em lote.

Veja bem, tudo isso é uma questão de opinião, conforme o colega pediu na abertura do tópico, e justifico minha preferência pelo Acbr pelo seguinte: pra todos os comandos que eu mando para o acbr, ele gera um retorno que posso tratar e passar tal informação para o meu sistema, ou seja, se vou gerar uma nfe, e ela é rejeitada por algum motivo, mostro o motivo da rejeição para que o usuario corrija no sistema e gere novamente. Caso a nota seja autorizada, gravo no sistema todas as informções referentes à autorização, como chave de acesso, protocolo, etc. Dessa maneira, após a nota ter sido autorizada, não permito mais alterações nesse registro. Ou seja, todo o tratamento é feito e controlado através do meu programa.
Se eu usasse a integração com o emissor do governo, eu não teria no meu sistema a informação de que a nota está autorizada por exemplo.

Como eu disse, minha opinião.

Abraço.

Sandro.

Re: Iniciando desenvolvimento da NFe

Enviado: 24 Set 2010 13:44
por JSystem
Pessoal, vacilei aqui e não terminei a postagem anterior, continuando . . .

Gostaria, por gentileza, de pedir ou Sandro ou outro que utiliza ou Acbr que puder ajudar, me mandar nem que seja uma parte de um programa fonte que gera o TXT para me clearear pois trabalho com programação há bastante tempo e nunca trabalhei com TXT, sendo gerar, abrir um txt, procurar algo dentro dele, por isso gostaria da ajuda de vcs.
Outra dúvida, é refente ao certificado digital, vi aqui no fórum que o Acbr utiliza somente o A1, gostaria, por gentileza, que me confirmasse esta informação e qual a diferença entre o A1 e o A3.

Obrigado a todos e tenham uma boa tarde.

Re: Iniciando desenvolvimento da NFe

Enviado: 24 Set 2010 13:53
por SandroBelarmino
Sobre trabalhar com txt, um exemplo básico e bem simples de como criar um txt:

Código: Selecionar todos

nhandle:=fcreate("arquivo.txt",0)
nhandle:=fopen("arquivo.txt",2)
fwrite(nhandle,'texto da primeira linha do txt'+chr(13)+chr(10))
fwrite(nhandle,'texto da segunda linha do txt'+chr(13)+chr(10))
fclose(nhandle)
Sobre ler um arquivo texto, eu particularmente, crio um dbf com 1 campo caracter no tamanho que precisar ref. a 1 linha a uso o append from sdf e depois trabalho nesse arquivo.

Claro que se voce pesquisar no fórum, vai achar muito mais exemplos, talves até mais explicativos.

Sobre o ACBrNFeMonitor, ele aceita todos os certificados, A1 e A3 (cartão ou token).
O certificado A1, tem validade de 1 ano, e é instalado no computador que for usar, porém não recomendado para Win 7 pelo motivo do Win 7 não permitir fazer a exportação (backup) do certificado digital, então se acontecer algum problema na máquina corre-se o risco de perder o certificado.
O certificado A3 tem validade de 3 anos, e pode ser no modo de cartão (igual aos cartões de crédito), tendo uma leitora ligado no micro onde for usado, ou pode ser token, o modelo que conheço é na forma de pen drive, que tambem vai ligado no micro onde for usado.

Sandro.

Re: Iniciando desenvolvimento da NFe

Enviado: 28 Set 2010 10:36
por JSystem
Bom dia pessoal !

Como nunca trabalhei com arquivo txt, pedi ajuda e o colega Sandro me passou os comandos básicos para criar, abrir, gravar e fechar o TXT, valeu a informação.
Precisaria agora pessoal, de ter noção de como é montado o layout da NFe no FONTE, se alguém puder, desculpe-me se tiver pedindo demais, me envie nem que seja uma parte p/ entender melhor como é feito, estou com o prazo curto p/ fazer, 1º. de Dezembro tem que estar rodando.

Obrigado pela atenção.

Re: Iniciando desenvolvimento da NFe

Enviado: 28 Set 2010 11:46
por SandroBelarmino
Aqui voce vai encontrar todos os campos para se gerar o txt para o ACBrNFeMonitor e também o link para o manual do mesmo. E Neste Link tem uma lista de todos os comandos do ACBrNFeMonitor.
Sandro.

Re: Iniciando desenvolvimento da NFe

Enviado: 28 Set 2010 14:33
por billy1943
Como este tópico foi aberto há muito tempo, nesse interim muita coisa aconteceu.
Por exemplo, a mudança das versões no sistema SEFAZ-SP, que parece estar na dianteira de outros que ainda demandam acertos. Este já está OK para testes.

Por isso, acompanho de perto as mudanças de "layout" das informações que devam ser passadas para esse sistema (SEFAZ), similar a quem usa ou pretenda usar outro (ACBRNFeMonitor).

Como eu já montei o meu sistema para a versão 2.0 e está pronto para entrar em uso a partir de 2011, verifiquei o tópico atrás do colega Sandro Belarmino (28/09/10) para verificar o que é necessário para informar ao ACBR e notei que ainda não foram incluídos vários campos constantes da nova versão, que seja por meio de .TXT ou .XML, serão informadas na elaboração da NFE.
Também não sei se já está disponível sua versão de testes e/ou produção.

Logicamente ainda temos tempo, eu vou utilizar o meu sistema testando-o exaustivamente, para evitar atropelos de última hora.

Se eu achar alguma coisa a mais nesse intervalo de tempo, notificarei este Fórum.

Re: Iniciando desenvolvimento da NFe

Enviado: 28 Set 2010 14:55
por SandroBelarmino
É isso mesmo Billy, o AcbrNFeMonitor ainda está contemplando a versão 1.0 da NFe, segundo o André, responsável pelo ACBr, a versão do monitor para a versão 2.0 da NFe está sendo terminada e será disponibilizada em breve.

Re: Iniciando desenvolvimento da NFe

Enviado: 19 Out 2010 18:29
por JSystem
Boa tarde pessoal,

Como não tenho experiencia em trabalhar com arquivo TXT, segui um exemplo que o colega Sandro me passou de como criar, fiz porém não está criando o arquivo,
gostaria, por gentileza, que desse uma olhada onde estou errando, segue abaixo:

Código: Selecionar todos

 _arqtxt:="C:\NFE\nota.txt"
 nhandle:=fcreate("&_arqtxt.",0)
 fclose(nhandle)
 nhandle:=fopen("&_arqtxt.",2)
 _pl:=chr(13)+chr(10)     // avanco p/ proxima linha

 fwrite(nhandle,'NFE.CriarNFe("[Identificacao]'+_pl)
 fwrite(nhandle,'[NaturezaOperacao=]'+"   "+_pl)
 fwrite(nhandle,'[Modelo=55]'+_pl)
 fwrite(nhandle,'[Serie=0]'+_pl)
.
.
.
 fwrite(nhandle,'",0)'+_pl)
 fclose(nhandle)

Re: Iniciando desenvolvimento da NFe

Enviado: 19 Out 2010 18:38
por Itamar M. Lins Jr.
Ola!
O ACBr já trabalha com a versão 2.0
Veja o código abaixo, mais fácil do que isso, só mastigando água!

Código: Selecionar todos

cArq := CriaArqImpressao('entnfe.txt')
?? 'NFe.CriarEnviarNFe("[Identificacao]'
? 'NaturezaOperacao=VENDA'
? 'Modelo=55'
? 'Serie=1'
? 'Codigo='+ltrim(str(sa->numero,9))
? 'Numero='+ltrim(str(sa->numero,9))
? 'Serie=1'
? 'Emissao='+hb_dtoc(sa->emissao, 'DD/MM/YYYY')
? 'Saida='  +hb_dtoc(sa->emissao, 'DD/MM/YYYY')
? 'Tipo=1' //0-Entrada 1-saida
? 'Finalidade=0' //
? 'FormaPag=1' //0-avista 1-a prazo 2-outros
? '[Emitente]'
? 'CNPJ='+em->cgc
? 'IE='+em->i_e
? 'Razao='+em->empresa
? 'Fantasia='+em->fantasia
? 'Fone='+em->telefone
? 'CEP='+em->cep
? 'Logradouro='+em->endereco
? 'Numero='+em->numero
? 'Complemento='
? 'Bairro='+em->bairro
? 'CidadeCod=2913606'
? 'Cidade='+em->cidade
? 'UF='+em->uf
? '[Destinatario]'
? 'CNPJ='+cl->cgc
? 'IE='+Iif( AllTrim(cl->i_e)='ISENTO', '' ,cl->i_e )
? 'NomeRazao='+cl->razao_soci
? 'Fone='+cl->resid_fone
? 'CEP='+cl->cep
? 'Logradouro='+cl->end_reside
? 'Numero=0'
? 'Complemento='
? 'Bairro='+cl->bairro
? 'CidadeCod='
? 'Cidade='+cl->resid_cida
? 'UF='+cl->resid_uf
Store 0 to nItem
//Preciso desligar o filtro por CFOP
sb->(OrdScope(0,strzero(sa->numero,6)))
sb->(OrdScope(1,strzero(sa->numero,6)))
sb->(DbGoTop())

Do While sb->(!eof())

   if !eq->(DbSeek(sb->cod_mercad))
      MsgStop('Erro: Mercadoria Não Localizada no Estoque: '+sb->cod_mercad)
      cUnid := 'UN'
   else
      cUnid := eq->unidade
      if empty(cUnid)
         MsgInfo('Unidade de medida, não cadastrada.'+CRLF+'Mercadoria: '+sb->cod_mercad+CRLF+sb->mercadoria)
         cUnid := CadastraUnidadeMedida()
      endif
   endif
   ? '[Produto' + strzero(++nItem,3) + ']'
   ? 'CFOP='          + sb->cfop
   ? 'Codigo='        + sb->cod_mercad
   ? 'Descricao='     + sb->mercadoria
   // ? 'NCM='
   ? 'Unidade='       + cUnid
   ? 'Quantidade='    + ltrim(transform(sb->quantidade          ,'9999999.999'))
   ? 'ValorUnitario=' + ltrim(transform(sb->valor               ,'9999999.99'))
   ? 'ValorTotal='    + ltrim(transform(sb->valor*sb->quantidade,'9999999.99'))

   ? '[ICMS' + strzero(nItem,3)  +']'
   ? 'CST='        +substr(sb->cst,2,2)
   ? 'Origem='     +substr(sb->cst,1,1)
   ? 'ValorBase='  +ltrim(transform(sb->baseicms  ,'9999999.99'))
   ? 'Aliquota='   +ltrim(transform(sb->aliquota  ,'9999999.99'))
   ? 'Valor='      +ltrim(transform((sb->baseicms*sb->aliquota)/100  ,'9999999.99'))
   ? 'ValorBaseST='+ltrim(transform(sb->baseicmsst,'9999999.99'))

   sb->(DbSkip())

EndDo

? '[Total]'
? 'BaseICMS='             +ltrim(transform(sa->BaseICMS  ,'9999999.99'))
? 'ValorICMS='            +ltrim(transform(sa->ICMS      ,'9999999.99'))
? 'BaseICMSSubstituicao=' +ltrim(transform(0    ,'9999999.99')) //sa->outras
? 'ValorICMSSubstituicao='+ltrim(transform(0    ,'9999999.99')) //sa->outras
? 'ValorProduto='         +ltrim(transform(sa->total     ,'9999999.99'))
? 'ValorNota='            +ltrim(transform(sa->total     ,'9999999.99'))
? '[Transportador]'
? 'FretePorConta=1'
? 'NomeRazao=PROPRIO'
? 'UF='+cl->resid_uf
? 'Volume001'
? 'Quantidade=0001'
? 'Especie=CAIXA'
? 'Marca='
? 'PesoLiquido=0.000'
? 'PesoBruto=0.000",2,0)'
FecharImpres()
If en->(dbseek('DIR'+'ACBRNFE'))
   cDestino := alltrim(en->dados)
Else
   cDestino := 'C:\ACBrNFeMonitor\'
EndIf
cDestino := cDestino+'entnfe.txt'

Copy file &cArq to &cDestino
cString := ChkRetornoNFe()
If 'REJEI' $ upper(cString)
   TravaRegistro('sa')
   If 'DUPLICIDADE DE NF-E' $ upper(cString)
      sa->status := 'A' //Aceito, Rejeitado, Cancelado
   Else
      sa->status := 'R' //Aceito, Rejeitado, Cancelado
   EndIf
   NetFlush('sa')
Else
   TravaRegistro('sa')
   sa->status := 'A' //Aceito, Rejeitado, Cancelado
   NetFlush('sa')
EndIf
oBrw:Refresh()
Return nil

Código: Selecionar todos

*************************
Function CriaArqImpressao(arq)
*************************
*
*
set printer to &arq
set print on
set console off

return arq
Saudações,
Itamar M. Lins Jr.

Re: Iniciando desenvolvimento da NFe

Enviado: 20 Out 2010 13:27
por SandroBelarmino
JSystem escreveu:Como não tenho experiencia em trabalhar com arquivo TXT, segui um exemplo que o colega Sandro me passou de como criar, fiz porém não está criando o arquivo,
gostaria, por gentileza, que desse uma olhada onde estou errando, segue abaixo:
JSystem, o seu programa não está criando o arquivo nota.txt ou o monitor não está lendo o arquivo?

Sandro