NF-e / NFC-e - Nota Fiscal Eletrônica. Alguém já fez em Grails, alguma dica, biblioteca ?
18/07/2017 22:13
0
Boa noite, comunidade!
Estou precisando implementar um sistema comercial totalmente web.
Este sistema, entre outras coisas, vai ter que emitir Notas Fiscais Eletrônicas ( NF-e ) e, também, Notas Fiscais do Consumidor Eletrônicas ( NFC-e ).
Sobre estes documentos já possuo um certo conhecimento, pois tenho sistemas rodando em Delphi com o componente Acbr há um bom tempo. Mas como nunca trabalhei com estes documentos para WEB vim aqui pedir ajuda.
Sei que existe uma API PHP (Projeto NFEPHP), mas gostaria gostaria de fazer a NF-e em Grails.

 
Tags: Grails, NF-e, NFe, NFC-e, NFCe, Nota Fiscal Eletrônica, Nota Fiscal do Consumidor Eletrônica


1
Olha,
é exatamente como faria se estivesse trabalhando com Java, as mesmas bibliotecas, tudo igual, pois código Java é acessado por código Groovy como se fosse código Groovy.

Agora, algo que vale muito à pena dar uma olhada, e que facilitará MUITO a sua vida, ,é um serviço que conhecemos recentemente chamado eNotas. Basicamente eles cuidam de tudo para você, e só é necessário realizar uma integração com eles por REST. Muito interessante. Vale à pena dar uma olhada.


1
Da uma olhada nesse link 
https://github.com/caelum/caelum-stella/tree/master/stella-nfe
19/07/2017 15:27


1
Boa tarde!  
Leandro krukoski vou dar uma olhada com ctz, obrigado pela resposta.
Kiko,também obrigado pelas respostas. Logo que laçaram o NFC-e ( que é praticamente a mesma coisa que a NF-e ), usei um serviço parecido com o eNotas,  Migrate Invoicy.  Esta empresa me escravizou contratualmente por 5 anos ( tempo que a legislação exige de guarda dos XMLs ) ou pagava a diferença do tempo que faltava para os 5 anos, e foi isso que aconteceu. ( Não vem ao caso os detalhes neste momento, mas não recomendaria esta empresa para ninguém ).
Então, minha experiência com este tipo de serviço não é muito boa. Vou estudar o eNotas e um outro serviço, que sei da existência há algum tempo, Tecnospeed. Realmente facilita bastante o desenvolvimento.
Encontrei um projeto no github que pode ser interessante, também:  https://github.com/wmixvideo/nfe
19/07/2017 17:02


1
Opa Reinaldo,

muito bom saber desta sua história. Vou analisar aqui a situação do eNotas para alguns clientes para ver se há o risco de cair nesta enrascada, valeu!


0
Boa tarde Leandro krukoski !
Este projeto (https://github.com/caelum/caelum-stella/tree/master/stella-nfe) que você me indicou está parado faz algum tempo, pelo que vi eles pararam na versão 2.0 da NFe.
Hoje estamos na versão 3.10 e indo para a 4.0 da NFe. Mas vlw a resposta.
Encontrei uma API  interessante, mas é em php: https://github.com/nfephp-org  ou projeto php: https://github.com/ericmaicon/nfe .
19/07/2017 18:20


1
Bom dia comunidade!
Fiz a mesma pergunta sobre a emissão de NFe / NFCe com Grails no Stackoverflow e fui respondido por Anderson Carlos?.  Ele encontrou um repositório com bibliotecas bem atualizadas e que podem ser bem uteis para quem, assim como eu, deseja implementar a emissão destes documentos por conta própria sem depender de serviços de terceiros.
Segue o link: https://github.com/Samuel-Oliveira/Java_NFe
23/07/2017 11:20


0
Boa noite! Fiz alguns teste básicos com o .jar deste projeto: https://github.com/Samuel-Oliveira/Java_NFe/tree/master/src/main/java/br/com/samuelweb/nfe? utilizando o Grais 2.5.3, colei a biblioteca java-nfe-3.10.8.jar na pasta /lib e dentro de um serviço utilizei os métodos conforme o wiki do projeto. Aí fui fazer os mesmos testes no Grails 3.2.7 e no, mais recente, Grails 3.3.0 em ambos coloquei a biblioteca na pasta src/main/groovy e adicionei a como dependência runtime fileTree(dir: 'src/main/groovy', include: 'java-nfe-3.10.8.jar'), não consegui acesso a todos os métodos e imports que preciso. O que estou fazendo errado no Grails 3 ?
26/07/2017 20:39


0
Fiz um teste com Grails 3.3.0. (Por sinal está com menos consumo de memória e bem mais rápida que a 3.2)
No build.gradle: 
/** Em repositórios add a linha **/
repositories {
    //..
    /**Projeto:  Java NF-e - https://github.com/Samuel-Oliveira/Java_NFe **/
    maven { url "http://www.autocomsistemas.com.br:8081/nexus/content/repositories/autocom/"}
}
/** Em dependências add a linha**/
dependencies {
//...
/** Java NF-e **/
    compile "br.com.samuelweb:java-nfe:3.10.8"
}

/** Criei um serviço teste **/?
[code]import br.com.samuelweb.certificado.Certificado
import br.com.samuelweb.nfe.ConfiguracoesIniciaisNfe
import br.com.samuelweb.nfe.Nfe
import br.com.samuelweb.nfe.exception.NfeException
import br.com.samuelweb.nfe.util.CertificadoUtil
import br.com.samuelweb.nfe.util.ConstantesUtil
import br.com.samuelweb.nfe.util.Estados
import br.inf.portalfiscal.nfe.schema.consstatserv.TConsStatServ
import br.inf.portalfiscal.nfe.schema.retconsstatserv.TRetConsStatServ


public static ConfiguracoesIniciaisNfe iniciaConfigurações() throws NfeException {
        // Certificado Arquivo, Parametros: -Caminho Certificado, - Senha
        Certificado certificado = CertificadoUtil.certificadoPfx("C:\temp\certificado.pfx", "12345678");
        // Certificado Windows
        //Certificado certificado = CertificadoUtil.listaCertificadosWindows().get(0);
        //return ConfiguracoesIniciaisNfe.iniciaConfiguracoes("33", "2",certificado, "C:\temp\schemas", "3.10"); /*deu erro*/
        return ConfiguracoesIniciaisNfe.iniciaConfiguracoes(Estados.RJ , ConstantesUtil.AMBIENTE.HOMOLOGACAO, certificado, "C:\temp\Schemas", ConstantesUtil.VERSAO.V3_10);
    }
    def retornaStatusSefaz(){
        try {
            //Inicia As Configurações
            //Para Mais informações: https://github.com/Samuel-Oliveira/Java_NFe/wiki/Configura%C3%A7%C3%B5es-Nfe
            ConfiguracoesIniciaisNfe config = iniciaConfigurações();
            TConsStatServ consStatServ = new TConsStatServ();
            consStatServ.setTpAmb(config.getAmbiente());
            consStatServ.setCUF(config.getEstado().getCodigoIbge());
            consStatServ.setVersao(config.getVersaoNfe());
            consStatServ.setXServ("STATUS");
            //Informe false para não fazer a validação do XML - Ganho De tempo.
            TRetConsStatServ retorno = Nfe.statusServico(consStatServ, false, ConstantesUtil.NFE);
            System.out.println("Status:" + retorno.getCStat());
            System.out.println("Motivo:" + retorno.getXMotivo());
            System.out.println("Data:" + retorno.getDhRecbto());
            return  " Status:" + retorno.getCStat() + " Motivo:" + retorno.getXMotivo()+" Data:" + retorno.getDhRecbto()
        } catch (NfeException e) {
            System.out.println("Erro:" + e.getMessage());
        }
    }

/**Peguei o Retorno numa view também.**/

?
[/code]




?
13/08/2017 20:11



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto