PASSO-A-PASSO (Download, Upload, Configuração, Uso) do Sistema NFePHP

1,910 views
Skip to first unread message

Júnior Dias

unread,
Nov 17, 2009, 3:46:32 PM11/17/09
to NFePHP
Caros Amigos,

Resolví criar este tópico depois de muito pesquisar, ler, aprender e
querer aprender mais (com o Walker e Cia.). O conteúdo hoje no site
(hoje é dia 17/11/2009 - Terça) é muito vasto, porém com pouca
abordagem de como realmente iniciar no "grosso" da coisa em outras
palavras de como fazer o sistema rodar para quem sabe colaborar com os
códigos implementado ainda mais e chegando a um patamar melhor.

Listei algumas dúvidas minhas e de algumas outras pessoas que ví aqui
na lista, aí vão elas:

1 - Baixando os arquivos.
2- Upload de arquivos.
3 - Configuração dos arquivos.
4 - Instalação do banco de dados.
5 - Tarefas CRON e definição de arquivos que farão parte da tarefa.
6 - Upload do .TXT ou .XML gerado apartir do ERP.
7 - Impressão de Danf-e em tela.

Resumindo, o funcionamento do sistema como um todo.


Nesta primeira postagem vou mostrar como Baixar os arquivos (1), fazer
o Upload para um servidor externo (2) e indicar a parte de
configuração dos arquivos (3). Que justamente foi tudo o que eu fiz
até agora e até este "pé", obtive bastante sucesso.

Vamos lá:

1 - Baixando os arquivos.

Como vimos na página oficial do projeto em: http://www.nfephp.org
existe um link levando até o portal assembla: http://www.assembla.com/wiki/show/nfephp
neste endereço existe uma páginas com informações, dúvidas,
discussões, e claro os arquivos, na aba FILES listamos todos os
arquivos do projeto. E como ficaria chato baixar um a um usaremos um
cliente especial para baixarmos via SVN e esse cliente precisa de uma
url específica que nos podemos encontrar na aba SOUCE/SVN.

SVN Url: http://subversion.assembla.com/svn/nfephp

SVN? sim SVN, na wikipédia SVN quer dizer: Subversion (também
conhecido por svn) é um sistema de controle de versão desenhado
especificamente para ser um substituto moderno do CVS, que se
considera ter algumas limitações.

Um sistema de controle de versão (ou versionamento), VCS (do inglês
version control system) ou ainda SCM (do inglês source code
management) na função prática da Ciência da Computação e da Engenharia
de Software, é um software com a finalidade de gerenciar diferentes
versões no desenvolvimento de um documento qualquer. Esses sistemas
são comumente utilizados no desenvolvimento de software para controlar
as diferentes versões – histórico e desenvolvimento – dos códigos-
fontes e também da documentação.

Esse tipo de sistema é muito presente em empresas e instituições de
tecnologia e desenvolvimento de software. É também muito comum no
desenvolvimento de software livre. É útil, em diversos aspectos, tanto
para projetos pessoais pequenos e simples como também para grandes
projetos comerciais.

Entre os mais comuns encontram-se as soluções livres: CVS e SVN; e as
comerciais: SourceSafe e ClearCase. O desenvolvimento de software
livre prefere o SVN que vem substituindo o clássico CVS. Muitas
empresas também adotam o SVN, embora algumas empresas prefiram uma
solução comercial, optando pelo ClearCase (da IBM) ou SourceSafe (da
Microsoft). Optar por uma solução comercial geralmente está
relacionada à garantia, pois as soluções livres não se responsabilizam
por erros no software e perdas de informações[1], apesar das soluções
livres poderem ter melhor desempenho e segurança que as comerciais.

A eficácia do controle de versão de software é comprovada por fazer
parte das exigências para melhorias do processo de desenvolvimento de
certificações tais como CMMI e SPICE.

Enfim vamos lá, vou mostrar aqui como se trabalhar com o cliente SVN:
TORTOISE SVN

Download direto (Versão WIN 32bits):
http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi?download

Download direto (Versão WIN 64bits):
http://downloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.6.6.17493-x64-svn-1.6.6.msi?download

Após baixarmos (+ ou - 18mb) efetuamos a instalação normalmente :
next, next, next finish :). Pronto nosso cliente SVN foi instalado com
êxito.

Crie uma pasta em qualquer local e dê a ela o nome de NFePHP (esse
nome não é obrigatório, pode ser qualquer nome) e após sua criação
clique com o botão direito do mouse em cima e logo irá visualizar as
opções que seu menu direito ganhou após a instalação do TORTOISE SVN,
são elas: SVN CHECKOUT E TOITOISE SVN, vc irá escolher a opção: SVN
CHECKOUT que abrirá uma janela logo em seguida solicitando a url
repository SVN que vc quer baixar, neste campo irá entrar com a
seguinte url: http://subversion.assembla.com/svn/nfephp (url SVN do
projeto NFePHP), e clique em ok.Em seguida abrirá um monitor com os
arquivos sendo baixados.

Pronto todos os arquivos do projeto serão baixados na pasta que você
criou e configurou via cliente SVN.

VAMOS AGORA AO UPLOAD DOS ARQUIVOS:

2- Upload de arquivos.

No meu caso irei fazer upload para um servidor web externo (ip de
fora) onde tenho uma máquina alocada, bem a pasta com todos os
arquivos já está criada basta abrir um cliente FTP (usarei o CuteFTP)
acessar a conta na qual deseja acessar via FTP, conectar-se e fazer o
upload para o seu servidor.

Não vou testar local, porém que usar favor mostrar o procedimento,
qual servidor usou, como configurou e etc, será interessante.

VAMOS AGORA A CONFIGURAÇÃO DOS ARQUIVOS:

3 - Configuração dos arquivos.

Neste passo irei utilizar o material que Walker me passou, tendo em
vista que o arquivo a ser configurado incialmente será o:
config_inc.php.

conteúdo retirado do manual passo a passo oficial do projeto:

https://www.assembla.com/wiki/show/nfephp/Passo_a_passo

Para o correto funcionamento da API, alguns parâmetros devem ser
informados, e são eles:

* Ambiente ( $ambiente ) : o modo de funcionamento da API, podendo
assumir os seguintes valores:
1. Produção
2. Homologação/testes
3. Contingência (Homologação/testes)
4. Contingência (Produção)
* Diretórios ( $entradasDir, $assinadasDir, etc... ) : pastas das
notas, de bibliotecas, dos certificados e, por fim, dos squemas
* Dados do certificado ( $keyPass, $passPhrase, $certName ) :
senha da chave privada, senha para a decriptografia e nome do arquivo
do certificado .pfx
* Dados da empresa ( $empresa, $cUF, $UF ) : razão social, código
da UF (veja tabela do IBGE) e sigla da UF (AM, RJ, SP... etc). Obs:
CNPJ e outros dados do emitente são fornecidos durante a geração da
nota


Bem pessoal até este estágio tudo que expliquei e fiz aqui no meu eu
obtive sucesso, como mus conhecimentos ainda são limitados deixarei
para outros listarem o restante dos tópicos sugeridos que são:

4 - Instalação do banco de dados.
5 - Tarefas CRON e definição de arquivos que farão parte da tarefa.
6 - Upload do .TXT ou .XML gerado apartir do ERP.
7 - Impressão de Danf-e em tela.

Gostaria de encarecidamente pedir a quem for colaborar neste tópico
usar uma linguagem ampla para um melhor entendimento de todos.

Desde Já reforço minha idéia de contribuir com a Lista e com o
projeto, creio que será um grande sucesso NFePHP.

Abraços

Daniel Lemes

unread,
Nov 17, 2009, 4:09:07 PM11/17/09
to nfe...@googlegroups.com
Parabéns cara, coloca lá na página do assembla o passo a passo, ou um FAQ.

Att

Daniel
__________ Informação do ESET Smart Security, versão da vacina 4615
(20091117) __________

A mensagem foi verificada pelo ESET Smart Security.

http://www.eset.com



Marcelo Azevedo

unread,
Nov 17, 2009, 4:22:44 PM11/17/09
to nfe...@googlegroups.com
Muito boa a iniciativa.

2009/11/17 Daniel Lemes <dle...@gmail.com>:
--
Marcelo de Azevedo
Desenvolvimento de Sistemas Web
Especialista em Administração de Banco de Dados

Júnior Dias

unread,
Nov 17, 2009, 4:43:25 PM11/17/09
to nfe...@googlegroups.com
Valeu pessoal, como disse quero colaborar pois vejo bastante sucesso neste projeto, gostaria de permissão no assembla para postar lá também e lembrando, vamos colaborar vamos escrever o restante aí!


Cordialmente,

Suporte Téc. | SPS INFORMÁTICA
------------------------------------------------------
Site: http://www.spsinfo.com.br
E-mail: sup...@spsinfo.com.br
Fone: (92) 3087-0638 / 8804-7110
------------------------------------------------------




2009/11/17 Marcelo Azevedo <marcelo...@gmail.com>

Paulo Gabriel

unread,
Nov 17, 2009, 7:47:13 PM11/17/09
to nfe...@googlegroups.com
Olá Júnior!


Gostaria de agradecê-lo pela iniciativa. Atualmente eu 'estava' como responsável pela documentação, mas há muito tempo não consegui mais voltar para contribuir evetivamente no projeto.

Acho que seu novo tópico é excelente e veio em boa hora. Estou providenciando as permissões para que você possa postar na wiki também.


Desde já meu (expresso) muito obrigado!


Paulo Gabriel

Walker de Alencar

unread,
Nov 17, 2009, 7:55:29 PM11/17/09
to nfe...@googlegroups.com
Júnior,

Liberado acesso para publicar o conteúdo.

2009/11/17 Paulo Gabriel <paulo...@gmail.com>



--
Walker de Alencar
Arquiteto Web/PHP
http://www.walkeralencar.com
(62) 8172-5487
(61) 9317-0543

Renato Zaccaron Gonzaga

unread,
Nov 18, 2009, 4:55:36 AM11/18/09
to nfe...@googlegroups.com
Prezado Júnior,

Ficou muito bem colocado este teu Passo-a-Passo, parabéns pela iniciativa.
Eu como nunca tinha utilizado SVN, tive minhas dificuldades no início.

Gostaria de acrescentar, como sugestão, que seria interessante
colocarmos um tópico de requisitos básicos, e nele chamar a atenção
para o problema da atualização da libxml2 para uma verção >= 2.7.3,
onde penei um pouco até pesquisar e verificar esta necessidade.

Se alguém tiver mais alguma dica, aceitamos sugestões, e o Paulo Gabriel
poderia implementá-la no texto e publicá-lo.

Acredito que estaremos assim iniciando o Manual de implementação da Classe.

Um grande abraço


Eng. Renato Zaccaron Gonzaga
ren...@zaccaron.com.br
(51) zacc-aron

Esta mensagem (incluindo qualquer anexo) e os arquivos nela contidos é
confidencial e legalmente protegida, somente podendo ser usada pelo
indivíduo ou entidade a quem foi endereçada. Caso você a tenha recebido
por engano, deverá devolvê-la ao remetente e, posteriormente, apagá-la,
pois, a disseminação, encaminhamento, uso, impressão ou cópia do
conteúdo desta mensagem são expressamente proibidos.


Júnior Dias escreveu:

Walker de Alencar

unread,
Nov 18, 2009, 6:08:07 AM11/18/09
to nfe...@googlegroups.com
Bom dia a todos.

Júnior, tenho um guia de referencia de SVN e TortoiseSVN postado em meu blog.

Poderá complementar informações a quem se interessar pelo assunto.



2009/11/18 Renato Zaccaron Gonzaga <ren...@zaccaron.com.br>

Júnior Dias

unread,
Nov 18, 2009, 7:10:41 AM11/18/09
to nfe...@googlegroups.com
Colaboração é tudo pessoal, vamos compartilhar idéias, sugerir, mostrar erros, penso em breve criar um tópico exclusivo para dicas rápidas como foi o caso do Renato citando a atualização da libxml2 para uma verção >= 2.7.3, aproveitando, Renato posta aí sua observação, e não esqueçam vamos montar o restante das dúvidas que sugerí aí vão elas:


4 - Instalação do banco de dados.
5 - Tarefas CRON e definição de arquivos que farão parte da tarefa.
6 - Upload do .TXT ou .XML gerado apartir do ERP.
7 - Impressão de Danf-e em tela.


Creio que com o sistema funcionando muita gentese interessará mais, logo os resultados e novas implementações aparecerão.

Esse projeto tem muito futuro!

Abraço a todos.




2009/11/18 Walker de Alencar <walker...@gmail.com>

Walker de Alencar

unread,
Nov 18, 2009, 7:44:00 AM11/18/09
to nfe...@googlegroups.com
Bom, tem só um detalhes, o core(NFeTools) funciona indepedente do banco(NFe - é um plugin/aplicação para manipular informações das NFes com BD, será separada do core).

Estamos com modificações previstas, o meu tempo para efetuar algumas é que está complicado, como alguns aqui sabem, trabalho na Arquitetura PHP de um Órgão governamental e tenho que respaudar + de 10 sistemas, além de implementar alguns imediatos, e final de ano é muito complicado...



2009/11/18 Júnior Dias <tecnologi...@gmail.com>

André Luis Pereira dos Santos

unread,
Nov 22, 2009, 11:00:52 PM11/22/09
to nfe...@googlegroups.com
   Estamos preparando aqui parte dessa documentação também. Vamos juntá-la com a sua e vamos que vamos.
   Documentação bem feita, nunca é demais.

-----------------------------------------------------------
  André Luis Pereira
Grupo BSR Participações LTDA
BSRSoft
BSRSoft IDC / BSRSoft ERP
an...@bsrsoft.com.br

Telefone:
+55 (16) 4141 3005

Site: http://www.bsrsoft.com.br
Suporte ao Cliente: http://suporte.bsrsoft.com.br
Blog: http://bsrsoft.com.br/blog
TV BSRSoft: http://tv.bsrsoft.com.br
Hospedagem WEB: http://idc.bsrsoft.com.br
Telefonia: http://bsrsoft.com.br/voip.php
Open Source: http://bsrsoft.com.br/portal/opensource/


"Vai imprimir este email? Pense antes em sua responsabilidade com a
preservação do meio-ambiente e com a redução de seus custos."

--------------------------------------------------------------
"Uma corrente é tão segura quanto seu elo mais fraco"
---------------------------------------------------------------





2009/11/18 Júnior Dias <tecnologi...@gmail.com>

so

unread,
Dec 12, 2009, 1:39:54 PM12/12/09
to NFePHP
Amigo boa tarde,

Estou com dificuldade nessa instalação porque não consegui identificar
o arquivo config_inc.php, ele está em qual diretório? o mesmo digo
para os outros dos proximos passos, poderia me dar uma luz por favor?

Marcelo Telles

unread,
Dec 13, 2009, 12:53:28 PM12/13/09
to nfe...@googlegroups.com
esta na pasta raiz do root branches pre review
http://code.assembla.com/nfephp/subversion/nodes/branches/pre-review?rev=92

2009/12/12 so <sores...@gmail.com>

--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
FAQ: https://www.assembla.com/wiki/show/nfephp/FAQ
Como Participar: https://www.assembla.com/wiki/show/nfephp/Como_participar



--
Marcelo Josué Telles
Professor Escola Técnica Olímpio
Desenvolvimento Login Sat
Msn: marce...@msn.com
Fone: 51 3595 2362
Cel: 51 9164 0596
Linux user 492525
www.marcelo.kinghost.net


so reservas

unread,
Dec 13, 2009, 12:57:22 PM12/13/09
to nfe...@googlegroups.com
Marcelo existe algum arquivo de inicialização? por que no meu servidor
dá 403 o tempo todo.

2009/12/13 Marcelo Telles <marcelo...@gmail.com>:

Paulo Gabriel

unread,
Dec 14, 2009, 10:05:20 AM12/14/09
to nfe...@googlegroups.com
Olá Bruno!

O projeto não dispõe de interface (ainda), funcionando apenas como uma API que deve ser acessada por um sistema principal.

Provavelmente você já possui um sistema que emitia notas no formato antigo. Basta fazer este sistema enviar os dados para a API do NFePHP e sequenciar, em código, o acesso aos arquivos de geração de nota, validação, assinatura e envio. Ok?

Iniciaremos um gerenciador no futuro, que possuirá interface e poderá ser utilizado de forma independente, como o software da Sefaz de SP.


É isso!

2009/12/13 so reservas <sores...@gmail.com>

so reservas

unread,
Dec 14, 2009, 11:38:27 AM12/14/09
to nfe...@googlegroups.com
Paulo,

O que seria necessário para realizar uma integração com o virtuemart?
E você mencionou sobre algum sistema de emissão de notas "antigo", eu
não o possuo, você me recomendaria algum?

Att
Bruno

Paulo Gabriel

unread,
Dec 16, 2009, 9:11:09 AM12/16/09
to nfe...@googlegroups.com
Olá Bruno,

Sobre notas no modelo anterior, falei sobre um provável sistema "sistema antigo" porque boa parte dos membros aqui está integrando a nfe a sistemas existentes que já geravam nota fiscal.

Estes sistemas mudam de empresa para empresa. Se você não fazia suas notas fiscais no VirtueMart, certamente você o faz em algum outro programa, para realização dos cálculos dos impostos, etc, além de a emissão de notas ser, logicamente, obrigatória.

Para integrar com o VirtueMart você vai precisar criar alguns campos adicionais no seu banco de dados padrão, podendo criar novas tabelas, referentes aos valores utilizados para cálculo dos impostos dos seus produtos***.

Os campos que você vai precisar são referentes ao ICMS e seus valores de cálculo ( Base de cálculo, alíquota, etc ).

***A NFe somente se aplica para notas de produtos (pois os impostos sobre movimentação de produtos é gerenciada pelos governos estaduais). Notas de prestação de serviços continuam no papel, pois são gerenciadas pelas prefeituras, que ainda não dispõem, em sua maioria, de um modelo eletrônico implementado (mais informações com a sua prefeitura).

Você deve estar familiarizado com estes detalhes de impostos, caso contrário, indico a você um primeiro contato com o sistema da Sefaz de SP, que está bem enxuto, e é utilizável para emissão de NFe's em pequena escala.

É isso!


Paulo Gabriel

Reply all
Reply to author
Forward
0 new messages