Closed marabesi closed 2 years ago
Bora fazer essa atualização?
Seria uma boa, eu particularmente não comecei nenhum trabalho ainda, me falta o certificado pra testar e não tenho nenhuma lista do que realmente mudou. Mas vamos usando essa thread pra traquear as mudanças.
Eu tenho uma ideia do que mudou, porém também não tenho certificado. A principal mudança foi somente no nome das tags.
Galera, isso foi feito? Conheci a biblioteca a pouco e vi que ainda está na v1
Bom dia @felipeparente, acredito que não. Eu não tenho certificado pra desenvolver e testar :disappointed:
ainda esta pendente : /
@felipeparente @renandelmonico se tiver alguma forma de compartilharmos um certificado eu dedico um tempo pra atualizar pra v2
Vamos tocar? Até pq, creio que iremos precisar.
Eu tenho certificado de cliente, que eu posso utilizar para os testes, homologação.
INFO DO PORTAL A versão 1.00 do XML será aceita até o dia 30/11/2020 e até este período o portal estará apto a receber as duas versões.
@felipeparente @marabesi se tem um certificado pra testar acho que podemos tocar, acredito que eu consiga disponibilizar um tempo pra atualizar também
Vamos nos organizar. Temos até o dia 30/11/2020.... provavelmente prorrogado, como tudo no Brasil. Não deve ser tão complicado, pois utilizaríamos a mesma base.
Que tal um grupo no Whatsapp para conversarmos?
Vamos nos organizar. Temos até o dia 30/11/2020.... provavelmente prorrogado, como tudo no Brasil. Não deve ser tão complicado, pois utilizaríamos a mesma base.
Que tal um grupo no Whatsapp para conversarmos?
Pode-se pensar em algo. Pelo que eu já estudei sobre (faz alguns meses já) essa alteração basicamente muda praticamente apenas o prefixo das tags
Pode ser, mas acho que seria interessante colocar alguma configuração, para utilizar o v1 ou v2.
@felipeparente vc está no grupo gnre? (https://groups.google.com/g/gnrephp) de la podemos criar um grupo nosso pra toca a atualização (obs: o @renandelmonico eu sei que está)
Não... como faço para entrar?
Olha o que aparece para mim quando acesso o LINK.
@felipeparente chegou algum invite?
Chegou...
Talvez vocês já tenham desenvolvido mas não está atualizado, então criei uma classe que interpreta o código da V1.00 e gera o xml para V2.00. Pelo menos temporariamente até ter a classe atualizada.
Substituir:
$lote = new Sped\Gnre\Sefaz\Lote()
Por:
$lote = new LoteV2()
$lote->setAmbienteDeTesteV2(true); // caso homologação
Em anexo.
obrigado pela contribuição @jone22e vou incluir essa classe no pacote :)
@jone22e notei que na linha 82 tem um comentário "não sei"
$identificadorGuia = $gnre->createElement('identificadorGuia', "1"); //ainda nao sei
Seria essa uma tag que requer maior atenção?
@jone22e notei que na linha 82 tem um comentário "não sei"
$identificadorGuia = $gnre->createElement('identificadorGuia', "1"); //ainda nao sei
Seria essa uma tag que requer maior atenção?
Se não me engano é apenas um id para guia, se emitisse mais do que uma no mesmo lote teria que seguir em sequência... 1,2,3...
Entendi, pelo que vi a implementação ainda não esta completa? Tem um switch case para cada estado, mas para isso tem as classes de configuração (cada estado tem a sua).
Me diz se essa classe funciona, como ela está que ai eu refatoro pra usar essas configurações.
Entendi, pelo que vi a implementação ainda não esta completa? Tem um switch case para cada estado, mas para isso tem as classes de configuração (cada estado tem a sua).
Me diz se essa classe funciona, como ela está que ai eu refatoro pra usar essas configurações.
Aquele case ajuda a passar o número da nfe ou chave da nfe, tem estados que agora esperam a chave. Está funcionando, já emitimos diversas guias.
Bom dia, ainda sobre o switch case:
É necessário passar o tipo de documento de origem e o número. Na V1 eu sempre passava código 10 e o número da nota fiscal.
Como na empresa que trabalho emitimos guias GNRE da DIFA (100102) e de ST (100099), e pode haver diferença entre elas, eu criei 2 funções que auxiliam no que passar para a classe da guia:
getCodigoDoc($uf, $difa = false); //retorna o tipo de doc //10, 22, 24... dependendo do estado de destino getNumDoc($uf); //retorna o campo que devo buscar no banco de dados: //numero ou chave da nf
Essas informações eu busquei diretamente no site da GNRE na parte de documentos de origem: http://www.gnre.pe.gov.br/gnre/portal/consultarTabelas.jsp
$guia->c28_tipoDocOrigem = $lote->getCodigoDoc($gnre['uf_favorecida'], $gnre['receita']=="100102"?true:false); //(se DIFA true, se ST false.)
$guia->c04_docOrigem = $nota[$lote->getNumDoc($gnre['uf_favorecida'])];
Mas logicamente existe vários outros códigos além da ST e DIFA, então essas funções deveriam ser copiadas pelo programador e ajustadas.
Eu fiz essa adaptação para V2 rapidamente, pois aqui emitimos várias guias diariamente, e supostamente dia 01/04/2021 está previsto que a GNRE V1 seja descontinuada, então eu precisava resolver a situação o quanto antes.
Mas se achar interessante posso com mais tempo desenvolver uma nova classe dedicada a V2, eu faria modificações como:
$guia->setTipoIdentificacaoEmitente($guia->EmitenteCNPJ);
Um Abraço!
@jone22e eu fiz um merge request com o arquivo que você enviou, e a ideia é ir comitando as mudanças la, vou atualizando essa issue conforme avanço no processo.
@jone22e você conseguiria mandar um XML de uma gnre enviada a sefaz válida? Com o XML eu vou criar o caso de teste e ir trabalhando em cima dele (já que eu não tenho o certificado).
Bom dia, segue o XML.
Valeu!
@jone22e sabe me dizer se a consulta de GNRE mudou para a versão 2 também? Ou só o lote?
Até o momento a lib suporta somente a v1, caso alguém se interesse em ajudar na atualização é só manter essa thread atualizada.
Notícia oficial (http://www.gnre.pe.gov.br/gnre/portal/todasNoticias.jsp):
Portal GNRE - Atualização da Versão para 2.0
Prezado Contribuinte,
Informamos que a partir do dia 01/04/2019, o Portal GNRE terá sua versão atualizada para 2.0.
A versão 2.0 contemplará três opções para geração das guias:
GNRE Simples - esta opção equivale à geração da GNRE atual, ou seja, geração de guia para apenas um pagamento.
GNRE com Múltiplos Documentos de Origem - nesta opção poderão ser adicionados múltiplos documentos de origem, desde que mantida a mesma UF destinatária, o mesmo Contribuinte Emitente, o mesmo Código de Receita e o mesmo Tipo de Documento de Origem.
GNRE com Múltiplas Receitas - nesta opção poderão ser adicionados diversos códigos de receitas, desde que se mantenha a mesma UF destinatária e o mesmo Contribuinte Emitente. Nesta opção serão aceitos vários códigos de receita, inclusive podendo repetir o mesmo código de receita.
Para os contribuintes que utilizam os serviços (webservices) de automação que o Portal disponibiliza, será necessário adequar suas aplicações para a nova estrutura do XML versão 2.0.
Haverá um período em que o Portal da GNRE aceitará as duas versões simultaneamente. Este período será para que as UFs e os contribuintes possam fazer os ajustes necessários para utilização desta versão. Ao fim deste período só serão aceitas requisições, via webservice, na nova versão.
O período final da versão 1.0 será informado no Portal GNRE (Testes/Homologação e Produção) em momento posterior.
Para maiores detalhes, acessar o Portal GNRE no ambiente de Testes/Homologação (http://www.testegnre.pe.gov.br) e clicar no menu Automação.
Neste link, você encontrará:
• Manual para Preenchimento do Lote: o Formato do arquivo (versão 1.0 e 2.0) o Dicionário de dados do arquivo XML (versão 1.0 e 2.0) o Regras de Preenchimento • Anexos • Links para as empresas solicitarem a utilização dos webservices • Manual de Integração do Contribuinte (versão 2.0) • Endereço dos serviços (webservices)
Em caso de dúvidas encaminhar e-mail para gnre@sefaz.pe.gov.br.
Atenciosamente, Gestor Nacional do GNRE Secretaria da Fazenda do Estado de Pernambuco