Gnre PHP

API para emissão de guias GNRE para a SEFAZ

Veja o projeto noGitHub

Bem vindo ao Projeto GNRE PHP.

O Projeto GNRE PHP surgiu da necessidade da emissão de guias de pagamentos de tributos automaticamente pelos clientes que já possuiam sistemas legados em PHP, assim veio a idéia de implementar uma API que toda a comunidade pode usar e contribuir.

$ mkdir gnre
$ cd gnre
$ git clone https://github.com/nfephp-org/sped-gnre.git sped-gnre

E para utilizar a biblioteca em seu projeto pessoal são os mesmos passos! Fácil não?

O que está rolando?

22/06/2016 - Novo roadmap está sendo definido para que novas features sejam implementadas

28/01/2016 - Implementada funcionalidade para a utilização do ambiente de homologação do GNRE, veja exemplos aqui

14/01/2016 - Agora é possível criar regras específicas para cada estado tornando a geração do XML mais fácil e dinâmica. Veja aqui o padrão factory sendo utilizado para criar um objeto a partir do estado do destinatário da guia GNRE. Esse tipo de abordagem é extremamente importante pois a guia GNRE é gerada com regras que dependem do estado de destino da GNRE

13/08/2015 - Adicionado o Smarty como dependência do projeto para ser possível eliminar o código HTML dentro das classes PHP. Tornando assim o código mais legível, limpo e testável.

28/06/2015 - Agora é possível gerar o PDF com a guia GNRE (Um exemplo pode ser visto aqui). E para finalizar todas alterações existentes na branch dev-pdf estão agora na branch master, foi realizado o merge após a finalização da geração do boleto

06/05/2015 - Algumas das alterações para a geração do PDF com sucesso já foram finalizadas e agora precisamos implementar a geração no código de barras para finalizar o boleto em pdf 100%. Para ficar por dentro de como estão os commits e a frequência em que a API é atualiza é só clicar aqui

01/03/2015 - Disponibilizado o diagrama de classe do processo de extração de dados do certificado. Para conferir o diagrama completo acesse aqui

13/02/2015 - Classe utilizando o padrão de projeto Template Method foi adicionada para realizar o tratamento do retorno do web service da SEFAZ, o código fonte pode ser visto aqui

08/01/2015 - Versão atual de desenvolvimento passou a ser a branch dev-pdf e não mais a master. O mesmo se a plica para a contribuição ao projeto, agora a dev-pdf passa ser a principal branch de commits e pull request

04/12/2014 - Com o layout do PDF definido os primeiros passos com o parser da API estão começando, em breve no repositório teremos a primeira versão do parser convertendo a resposta da SEFAZ.

26/10/2014 - O próximo passo para a API evoluir será implantar a geração do PDF com a resposta do webservice da SEFAZ. Essa nova feature já está em andamento porém não tem nenhuma data de lançamento. Caso você queira visualizar um exemplo de como o PDF irá ficar, você pode acessar esse link aqui.

14/09/2014 - Disponibilizada a documentação da API gerada com o PHPDOC.

02/09/2014 - Inicio da wiki para ficilitar o entendimento da API e como ela funciona em Wiki.

07/08/2014 - Versão 1.0.0 cada vez mais próxima ! Dadas as iniciativas de se utilizar TDD no projeto foram necessárias várias mudanças estruturais principalmente na classe que extrai os dados de um certificado existente. Em breve todas as alterações estarão disponíveis no projeto.

28/07/2014 - Foram iniciados os testes com TDD antes do lançamento da versão 1.0.0. O repositório do github será atualizado em breve com os códigos-fontes das classes utilizando o PHPUnit!

Primeiros passos

ATENÇÃO : Para que a API funcione corretamente é necessário possuir um certificado A1. Para maiores informações consulte o SEFAZ de seu estado.

Em breve os primeiros passos necessários para a emissão da guia GNRE através da API, de uma forma rápida e simples e em menos de 5 minutos !.

Inspirações

Uma das maiores inspirações para o projeto ser realizado foi o NF-e PHP que possui uma grande quantidade de usuários utilizando-a e contribuindo.

Autores e Contribuidores

Autor @MatheusMarabesi

Contribuidor @llpereiras

Deseja ser um contribuidor ? Mande um pull request !

Suporte/Contato

Deseja enviar alguma sugestão ou crítica ? Mande um e-mail para matheus.marabesi@gmail.com.