{"id":18994178,"url":"https://github.com/nfephp-org/sped-gnre","last_synced_at":"2025-04-06T21:15:35.788Z","repository":{"id":19091490,"uuid":"22319380","full_name":"nfephp-org/sped-gnre","owner":"nfephp-org","description":":octocat: API para emissão de guias GNRE para a SEFAZ","archived":false,"fork":false,"pushed_at":"2024-01-09T19:54:04.000Z","size":3527,"stargazers_count":62,"open_issues_count":9,"forks_count":59,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-09-15T02:56:03.432Z","etag":null,"topics":["certificado","gnre-php","governo","governo-federal","guia","php","sefaz","sped","sped-fiscal"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nfephp-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-07-27T19:11:40.000Z","updated_at":"2024-08-19T00:56:32.000Z","dependencies_parsed_at":"2023-02-17T01:16:19.619Z","dependency_job_id":"e5ecbd32-0f64-4b75-b981-204e5d5c2509","html_url":"https://github.com/nfephp-org/sped-gnre","commit_stats":{"total_commits":169,"total_committers":13,"mean_commits":13.0,"dds":0.2603550295857988,"last_synced_commit":"ea03580317c07afb44e9558b6c852aa6ca498346"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfephp-org%2Fsped-gnre","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfephp-org%2Fsped-gnre/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfephp-org%2Fsped-gnre/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfephp-org%2Fsped-gnre/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfephp-org","download_url":"https://codeload.github.com/nfephp-org/sped-gnre/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247550690,"owners_count":20956987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["certificado","gnre-php","governo","governo-federal","guia","php","sefaz","sped","sped-fiscal"],"created_at":"2024-11-08T17:24:35.245Z","updated_at":"2025-04-06T21:15:35.763Z","avatar_url":"https://github.com/nfephp-org.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status (PHP Composer)](https://github.com/nfephp-org/sped-gnre/actions/workflows/php.yml/badge.svg)](https://github.com/nfephp-org/sped-gnre/actions/workflows/php.yml)\n[![Coverage Status](https://coveralls.io/repos/marabesi/gnrephp/badge.svg)](https://coveralls.io/r/nfephp-org/sped-gnre)\n[![Total Downloads](https://poser.pugx.org/marabesi/gnre/downloads)](https://packagist.org/packages/nfephp-org/sped-gnre)\n[![Latest Stable Version](https://poser.pugx.org/marabesi/gnre/v/stable)](https://packagist.org/packages/nfephp-org/sped-gnre)\n[![Latest Unstable Version](https://poser.pugx.org/marabesi/gnre/v/unstable.png)](https://packagist.org/packages/nfephp-org/sped-gnre)\n[![License](https://poser.pugx.org/marabesi/gnre/license)](https://packagist.org/packages/nfephp-org/sped-gnre)\n\nAtenção!!\n=================\nCaso encontre algum estado que possua uma regra especial para gerar uma GNRE por favor informar abrindo uma **issue**.\nDessa forma podemos manter a API atualizada e ajudar a todos que utlizam a GNRE PHP\n\nAtenção 2!!\n=================\nSe você possui um certificado da certisign e está com o erro \"Bad request\" veja a solução encontrada pelo [renandelmonico](https://github.com/renandelmonico) utilizando\nas classes da sped-common nesse [link](https://groups.google.com/d/msg/gnrephp/kbNWB3aEBbs/0g067FKlBgAJ)\n\nOs certificados da certisign possuem algum problema em que não é possível extrair a cadeia de certificação, portanto é necessário fazer o download da cadeia manualmente nesse [link](https://www.certisign.com.br/duvidas-suporte/downloads/hierarquias/icp-brasil/ac-instituto-fenacon-rfb) (Hierarquia V5).\n\nApós o download é necessário extrair usando o openssl, copiar o conteúdo gerado pelos 3 certificados e colar em um novo arquivo .pem.\n\n```sh\nopenssl x509 -inform der -in ARQUIVO.cer -pubkey -noout \u003e ARQUIVO.pem\n```\n\nDepois de realizar o processo acima, é necessário utilizar o método addCurlOption da classe Sped\\Gnre\\Webservice\\Connection para alterar algumas configurações e informar manualmente a cadeia de certificação.\n\n```php\n$webService-\u003eaddCurlOption([\n    CURLOPT_SSL_VERIFYHOST =\u003e 2,\n    CURLOPT_SSL_VERIFYPEER =\u003e 1,\n    CURLOPT_SSLVERSION =\u003e CURL_SSLVERSION_TLSv1,\n    CURLOPT_CAINFO =\u003e 'ARQUIVO.pem'\n]);\n```\n\nVersões suportadas\n=================\n\n|PHP| GNRE|\n|---|-----|\n| PHP 5.6 | 0.1.4 |\n| HHVM | 0.1.4 |\n| PHP 7.0 | 0.1.5 |\n| PHP 7.3 | 0.1.6 |\n\n\nAntes de usar a API\n=================\n\n- Verifique se seu certificado digital não foi expedido através da [certisign](https://www.certisign.com.br), pois existe um problema na cadeia do certificado que impossibilita a emissão de guias GNRE. Certificados expedidos através do [SERASA](https://serasa.certificadodigital.com.br/) funcionam normalmente para a emissão (até agora nenhum erro foi relatado).\n\n- É permitido utilizar o mesmo certificado utilizado para emitir NF-e.\n\n- É necessário entrar em contato com a SEFAZ de cada estado pedindo liberação do serviço de emissão de GNRE.\n\n- Leita todos os tópicos no FAQ oficial em http://www.gnre.pe.gov.br/gnre/portal/faq.jsp. Os tópicos abordados são muito úteis para quem está começando nesse serviço.\n\nGNRE PHP\n=================\n\nObjetivo\n-----\n API possibilita a comunicação com a SEFAZ para a emissão da nota GNRE (Guia Nacional de Recolhimento de Tributos Estaduais).\n A API GNRE tem como maior inspiração a API NFEPHP que você pode encontrar através do link https://github.com/nfephp\n\nDependências\n-------\n* [Apache](http://httpd.apache.org/) / [Nginx](http://nginx.org/)\n* [PHP 5.3+](http://php.net)\n* Extensões PHP\n * [DOMDocument](http://br2.php.net/manual/en/domdocument.construct.php)\n * [cURL](http://br2.php.net/manual/book.curl.php)\n * [GD (Utilizada para renderizar o código de barras)] (http://php.net/manual/pt_BR/book.image.php)\n\n------\n\nRoad-map\n-----\n\nAtualmente estamos utilizando o trello para gerenciar o que será implementado nas próximas versões e melhorias na API, esse road map poe ser acessado em https://trello.com/b/kNP1tvsi/gnre-api-github\n\n------\n\nInformações úteis\n-----\n\n|Descrição|Endereço|\n|---------|--------|\n|Grupo de discussão | https://groups.google.com/forum/#!forum/gnrephp|\n|Site oficial do governo | http://www.gnre.pe.gov.br/gnre/index.html|\n|Site do Projeto | http://nfephp-org.github.io/sped-gnre/|\n|Wiki, onde é possível encontrar maiores informações de como utilizar a API | https://github.com/nfephp-org/sped-gnre/wiki|\n|Site oficial da SEFAZ de todo os estados|http://www.gnre.pe.gov.br/gnre/portal/linksUteis.jsp|\n\n1. Antes de gerar qualquer guia GNRE com o seu certificado, tenha **CERTEZA** que você possui autorização para isso. A geração de\nGNRE depende de cada estado, ou seja, se você deseja gerar a guia para o Acre (com destino ao Acre) tenha certeza que\njá pediu a liberação do certificado no SEFAZ Acre e repita esse processo para cada estado.\n\nDocumentação\n------\n* Documentação da GNRE PHP gerada com o PHPDOC pode ser visualizada [aqui](http://nfephp-org.github.io/sped-gnre//doc/namespaces/Gnre.html)\n\n* Nosso wiki de como utilizar a API e gerar as GNRES está disponível [aqui no github](https://github.com/nfephp-org/sped-gnre/wiki)\n\n* Exemplos com código fonte são encontrados na pasta [exemplos/](https://github.com/nfephp-org/sped-gnre/tree/master/exemplos)\n\nInstalação via composer\n------\nAdicionando a GNRE PHP em um projeto existente com o composer\n\nCaso você não possua o composer veja [esse link](https://getcomposer.org/doc/01-basic-usage.md) antes de prosseguir\n\nAdicione a dependência da GNRE PHP no arquivo composer.json :\n\nPara PHP \u003c= 5.5\n``` json\n{\n    \"nfephp-org/sped-gnre\": \"0.1.1\"\n}\n```\n\nPara PHP = 5.6\n``` json\n{\n    \"nfephp-org/sped-gnre\": \"0.1.4\"\n}\n```\n\n\nPara PHP \u003e= 7.0\n``` json\n{\n    \"nfephp-org/sped-gnre\": \"0.1.5\"\n}\n```\n\nAtualize suas depedências existentes no composer :\n\n``` terminal\ncomposer update\n```\n-----\nPossíveis erros\n-----\n\nErro : **unable to use client certificate (no key found or wrong pass phrase?)**\n\nSe você está obtendo essa mensagem após enviar a requisição para o web service da SEFAZ verifique a senha que você está utilizando, pois esse erro ocorre quando a senha informada não bate com a senha do certificado utilizado\n\nErro: **[InvalidArgumentException]\nCould not find package marabesi/gnre at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability**\n\nEsse problema ocorre pois não estamos informando ao composer qual a versão mínima que queremos utilizar, para resolver esse problema basta adicionar a seguinte linha no seu arquivo composer.json\n\n``` json\n{\n    \"minimum-stability\": \"dev\"\n}\n```\n-----\nQuick start\n-----\nClone o repositório do projeto\n``` terminal\ngit clone https://github.com/nfephp-org/sped-gnre.git\n```\nVá para a pasta de exemplos\n```\ncd exemplos/\n```\nRode o servidor built-in do PHP\n```\nphp -S localhost:8181\n```\nAbra o seu navegador e digite a seguinte URL\n```\nhttp://localhost:8181/gerar-xml.php\n```\n-----\n\nCaso queira ver outros exemplos utilizados pela API acesse esse link https://github.com/nfephp-org/sped-gnre/tree/master/exemplos\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfephp-org%2Fsped-gnre","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfephp-org%2Fsped-gnre","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfephp-org%2Fsped-gnre/lists"}