Novo Caelum Stella 2.0

Você já pode baixar a nova versão do Caelum Stella, a 2.0, na página de downloads do projeto, ou via repositório do maven, descrito na mesma página.

stella

O Stella é um framework open-source que nasceu dentro da Caelum com o propósito de resolver os problemas do dia a dia no desenvolvimento de software brasileiro. Em sua nova versão, dentre várias pequenas melhorias, as principais mudanças estão nos módulos de geração de boleto, validação, conversor de número por extenso e core do Caelum Stella.

A API do Stella Boleto foi refatorada para padrão 100% brasileiro. Para criação de um boleto você poderá fazer algo como:

Emissor rodrigo = Emissor.novoEmissor().comCedente("Rodrigo Turini")
	.comAgencia(1234).comCarteira(157).comContaCorrente(123456)
	.comNossoNumero(123456789l).comDigitoNossoNumero("6");

Sacado paulo = Sacado.novoSacado().comNome("Paulo Silveira");

Boleto boleto = Boleto.novoBoleto().comDatas(datas).comEmissor(rodrigo)
	.comBanco(banco).comSacado(paulo).comValorBoleto(2680.16)
	.comNumeroDoDocumento("123456");

Para gerar um boleto em formato PDF, por exemplo, você poderá fazer:

new GeradorDeBoleto(boleto).geraPDF("arquivo.pdf");

Além das alterações no design das classes, todos os boletos foram revisados e atualizados de acordo com as normas especificadas pelos diferentes Bancos e carta circular do banco central.

No Stella Bean Validation, todas as validações de Inscrições Estaduais foram atualizadas de acordo com as normas do site sintegra e documentos especificos dos estados. Além disso, os validadores agora tem um construtor para habilitar/desabilitar dígitos repetidos, e para o caso da anotação @CPF, criamos um novo parametro (ignoreRepeated) para controlar o uso dessa opção. Para validar o campo cpf de um modelo com o hibernate validator a anotação fica da seguinte forma:

@Entity
public class Exemplo {
  @CPF(ignoreRepeated=true)
  private String cpf;
}

Além disso, com a contribuição do Wagner Francisco, agora temos um novo módulo, o Stella Flex. Ele possibilita validação de inscrições estaduais via ActionScript/Flex.

O projeto Caelum Stella é uma iniciativa open-source para facilitar a vida do desenvolvedor brasileiro e seu código fonte está disponível em um repositório no github. Fica registrado nosso agradecimento para todos da comunidade que colaboraram com o projeto. Você pode contribuir com novas ideias, implementando novas features, notificando bugs, e participando de discussões sobre passos futuros do projeto. Contamos com seu feedback, e toda ajuda será bem vinda!

Para tirar mais duvidas sobre o Stella você pode visitar nossa wikisite ou postar suas duvidas no GUJ.

O que achou das mudanças? Quais devem ser os próximos passos do framework?

48 Comentários

  1. Roberto Shizuo 04/06/2013 at 10:23 #

    Parabéns pela nova versão! Já esperava há algum tempo. A API nao é compativel 100% com a versao antiga, correto?

  2. Gerson K. Motoyama 04/06/2013 at 11:09 #

    Legal a idéia da biblioteca.

    Tenho algumas críticas sobre o design…

    1) comCedente(), comAgencia(), comCarteira() seriam **setters** mascarados mas com carinha de **builder** só para ganhar fluencia (de leitura)?? Não acha que isso fica muito confuso? E se fosse um builder que, no final, produzisse uma instância de Emissor **imutável**, o que acha? Claro, além de alguns construtores com configurações e combinações de parametros bastante comuns! Tudo isso vale para o Boleto também que, eventualmente, poderia até ter um método de instância (não estático) como Boleto.comEmissor(..) que retorna um novo Boleto com a mesma configuração do original mas com o emissor trocado (semelhante aos métodos ‘with*’ das classes imutáveis do JodaTime).

    2) Boleto.novoBoleto()? Qual a intenção em ter uma static factory method (e não um simples construtor) nesse caso? Retorna uma subclasse (de Boleto)? Muitos construtores sobrecarregados?

    Gerson K. Motoyama

  3. Lucas Moreira 04/06/2013 at 12:33 #

    fico contente de ver que uma empresa consegue manter os boletos brasileiros atualizados. tento fazer isso aqui sozinho, mas é bem dificil. vou usar o stella! lembro que tinha um projto jboleto, mas nao sei que fim levou

  4. Rodrigo Turini 04/06/2013 at 14:55 #

    Oi Roberto, muito obrigado! A api do stella boleto não é totalmente retrocompativel, mas mudamos o minimo possivel pra não dificultar sua migração. Basicamente, quando você fazia `withEmissor(…)`, agora faz `comEmissor(…)` e outros pequenos detalhes para que as classes ficassem 100% no padrão brasileiro.

  5. Rodrigo Turini 04/06/2013 at 14:55 #

    Oi Gerson, bacana que gostou da idéia. Você tem razão com relação ao design, a ideia do builder p/ produzir uma instância do Emissor é realmente boa. O problema é que como mencionei pro Roberto, tentamos mudar o minimo possivel pra não dificultar a migração de quem já usa o framework. Quebrar totalmente a compatibilidade entre versões é, pelo menos, um incômodo.

  6. Rodrigo Turini 04/06/2013 at 14:56 #

    Oi Lucas, é realmente bem desafiador manter a atualização do modulo de boletos. Que legal que vai usar, vamos esperar seu feedback!

  7. Erick Massa Sprengel 06/06/2013 at 02:25 #

    Apenas Java? Há uma possibilidade de expandir para outras linguagens?

  8. Rodrigo Turini 06/06/2013 at 08:08 #

    Boa Erick! Há sim, já está no papel a algum tempo, possivelmente vamos começar a implementar em breve (ainda estamos discutindo a linguagem). Qual linguagem você acha que seria interessante? sugestões?

  9. André Micocci 09/06/2013 at 01:18 #

    Seria muito bom poder utilizar no Scala….o que acham?

  10. Teste 09/06/2013 at 09:09 #

    Sugiro que a linguagem seja C#

  11. Rodrigo Turini 10/06/2013 at 08:41 #

    Legal, Scala e C# já estão favoritadas. Alguma outra? Alguém já passou por algum caso em que o stella seria util em outra linguagem? Ou pensou em outra função?

  12. Felipe Souza 10/06/2013 at 14:21 #

    Oi Rodrigo, parabéns, ficou bem bacana,

    Apenas uma dúvida, antigamente tinha um “modulo” de nota fiscal eletrônica que acho que não foi finalizado, sabe se tem idéias de ser retomado?
    Não encontrei no wiki também.

  13. Adriano Almeida 10/06/2013 at 19:56 #

    Lembrando que em Scala vocês já podem ir usando a versão Java. É só colocar o .jar e pronto!

    Uma dica é fazerem um wrapper em cima da API de Java, apenas usando os truques do Scala para deixar a API externa mais do estilo Scala.

  14. Rodrigo Turini 11/06/2013 at 08:33 #

    Felipe, pretendemos continuar a parte de nfe sim! Já existem commiters da comunidade contribuindo também, se quiser participar (com issues, idéias ou mesmo implementando algo, será bem vindo!) o projeto está em https://github.com/caelum/caelum-stella/tree/master/stella-nfe.

  15. Paulo 18/06/2013 at 11:05 #

    Sugiro C#!

  16. Paulo 18/06/2013 at 11:07 #

    Sugiro C#!
    Se alguém iniciar um fork para c#, me coloco a disposição para conversão de java para C#.

  17. Pedro HOSilva 18/06/2013 at 12:00 #

    Rodrigo Turini, boa tarde, o Stella tem suporte a modelo de boleto em html ou apenas em pdf e imagem? Se não tem, pretendem implantar essa funcionalidade? Obrigado!

  18. Geazi 18/06/2013 at 13:00 #

    Façam para PHP =D

    Via ser muito bom =D

  19. Fernando 18/06/2013 at 14:44 #

    Boa tarde.

    Otimo, contribuo no que for possível pra ter um projeto NFe com continuidade em JAVA.

  20. Rodrigo Turini 18/06/2013 at 15:35 #

    Oi Pedro, ele já possui suporte sim. []’s R. Turini

  21. Romildo Jozué Paiter 24/06/2013 at 12:09 #

    Ola Rodrigo Tudo bem. Estou tentando colocar o Stella 2.0. Mas estou com uma grande dificuldade nas dependências dele.
    Ao colocar para rodar em meu projeto da a seguinte exceção: Caused by: java.lang.NoSuchMethodException: br.com.caelum.stella.faces.validation.StellaIEValidatorTagHandler.(javax.faces.view.facelets.ValidatorConfig).

    Será que vc pode dar um help? Obrigado

  22. Rodrigo Turini 24/06/2013 at 12:41 #

    Oi Romildo! Você consegue abrir uma issue pelo github? Assim já fica como suporte pra quem tiver esse problema futuramente. Aproveitando por aqui, você usa maven ou algo do tipo pra controlar suas dependencias? Quais jars do stella você tem no referenced libraries do seu projeto? []’s

  23. Rodrigo Turini 24/06/2013 at 12:43 #

    Legal Fernando, de uma olhada no código do projeto no github (https://github.com/caelum/caelum-stella/tree/master/stella-nfe) pull requests são sempre muito bem vindos.

  24. César de Sousa Júnior 02/07/2013 at 22:03 #

    Fiz o exemplo da documentação no git, estou usando vraptor tambem, então executei a logica no controller,

    depois dos codigos

    gerador.geraPDF(“boleto.pdf”);
    gerador.geraPNG(“boleto.png”);

    nada aconteceu? não entendi, como recupero estes arquivos para mandar para o cliente?

  25. Rodrigo Turini 08/07/2013 at 09:14 #

    Oi César! Ainda está com o problema? Apareceu alguma exception? Se não, o arquivo deveria ter aparecido na pasta home do seu projeto. Se continuar com o problema abre uma issue no git hub pra darmos uma olhada? Obrigado []’s

  26. Danilo Reinert 16/09/2013 at 16:03 #

    Olá, Rodrigo.

    Criei um novo projeto – caelum-stella-gwt – portando o Stella Core para GWT.

    Estou notificando por esse post pois há quase um mês fiz o PR mas não há movimento algum no repositório. Segue o link: https://github.com/caelum/caelum-stella/pull/64 .

  27. Rodrigo Turini 18/09/2013 at 11:25 #

    Oi Danilo! Estamos revisando seu pull request. Todos que foram feitos na mesma época já foram mergeados, mas como o seu é bem grande demoramos um pouco mais (estamos fazendo alguns testes).
    Aproveitando, muito boa a idéia. Parabéns pela iniciativa.

  28. Bruno 22/10/2013 at 17:47 #

    Vou fazer um fork e portar para C#

  29. Paulo Silveira 22/10/2013 at 17:53 #

    bruno, é mais que bem vindo!

  30. Adriano 04/11/2013 at 17:38 #

    Boa Rodrigo, gostaria que ver como posso formatar cpf com StellaCPFValidator, enho esse código logo abaixo!

  31. Rodrigo Turini 05/11/2013 at 08:11 #

    Oi Adriano! Acho que o código não saiu no comentario. Se preferir, nos envie por e-mail na lista do caelum-stella https://groups.google.com/forum/#!forum/caelum-stella-user.

  32. cviniciusm 15/03/2014 at 15:57 #

    Meus parabéns. Ótima iniciativa.

  33. Marivaldo 30/05/2014 at 10:18 #

    Em primeiro lugar, parabéns pelo trabalho desenvolvido no Stella.
    Gostaria de uma explicação de como resolver isso. Mesmo utilizando a versão 2.1 do Stella o tomcat continua informando o mesmo problema citado abaixo, como posso resolver isso?
    30/05/2014 07:40:04 com.sun.faces.config.processor.FaceletTaglibConfigProcessor processValidator
    AVISO: JSF1029: A versão do aplicativo é 2.0 (explicitado pela versão de /WEB-INF/faces-config.xml ou pela ausência de um /WEB-INF/faces-confg.xml). Contudo, a classe ‘br.com.caelum.stella.faces.validation.StellaIEValidatorTagHandler’ depende de uma classe de facelet legado. O artefato do facelet representado por esta classe não será registrado.

    Utilizo o JSF 2, com Morrara 2.2.4 e hibernate 4.2.11 e spring 3.0.0.

  34. Rodrigo Turini 30/05/2014 at 11:42 #

    Olá Marivaldo! Legal que está gostando do projeto, muito obrigado.

    Você pode encaminhar essa duvida para nossa lista de usuários?

    O e-mail é caelum-stella-user@googlegroups.com.

    Assim podemos falar melhor sobre o problema e entender se é uma issue. []’s

  35. Luis Miranda 15/07/2014 at 17:44 #

    Estou tentando usar o stella com o grails 1.3.7. Pra isso recompilei os fontes que baixei do git hub, e recompilei com “mvn package”. Pois o grails 1.3.7 usa o java 6, e os jar estavam compilados com java 7. Mas estou tendo o seguinte erro quando tento gerar o boleto:

    java.lang.ClassNotFoundException: net.sourceforge.barbecue.BarcodeException

    at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

    at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

    at net.sf.jasperreports.components.barbecue.BarbecueFillComponent.setBarcodeImage(BarbecueFillComponent.java:138)

    at net.sf.jasperreports.components.barbecue.BarbecueFillComponent.fill(BarbecueFillComponent.java:108)

    at net.sf.jasperreports.engine.fill.JRFillComponentElement.fill(JRFillComponentElement.java:148)

    at net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:570)

    at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:406)

    Vcs fazem idéia dq seja?

  36. Francisco Vieira Souza 23/09/2014 at 09:32 #

    Estou tentando (pela enésima vez) usar esse Stella em um projeto, desse vez quero apenas validar Inscrição Estadual.
    No meu pom.xml coloquei:

    br.com.caelum.stella
    caelum-stella-core
    2.1.0

    br.com.caelum.stella
    caelum-stella-bean-validation
    2.1.0

    br.com.caelum.stella
    caelum-stella-faces
    2.1.0

    No meu .xhtml:

    Quando tento subir o projeto no JBoss:
    09:25:21,475 GRAVE [javax.enterprise.resource.webcontainer.jsf.config] (MSC service thread 1-2) Critical error during deployment: : com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Must have a Constructor that takes in a ValidatorConfig
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:376) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.10.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.10.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_67]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_67]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
    Caused by: javax.faces.view.facelets.FaceletException: Must have a Constructor that takes in a ValidatorConfig
    at com.sun.faces.facelets.tag.AbstractTagLibrary$UserValidatorHandlerFactory.(AbstractTagLibrary.java:413) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.facelets.tag.AbstractTagLibrary.addValidator(AbstractTagLibrary.java:588) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.facelets.tag.TagLibraryImpl.putValidator(TagLibraryImpl.java:81) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processValidator(FaceletTaglibConfigProcessor.java:478) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:365) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:314) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:263) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:363) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    … 9 more
    Caused by: java.lang.NoSuchMethodException: br.com.caelum.stella.faces.validation.StellaIEValidatorTagHandler.(javax.faces.view.facelets.ValidatorConfig)
    at java.lang.Class.getConstructor0(Class.java:2849) [rt.jar:1.7.0_67]
    at java.lang.Class.getConstructor(Class.java:1718) [rt.jar:1.7.0_67]
    at com.sun.faces.facelets.tag.AbstractTagLibrary$UserValidatorHandlerFactory.(AbstractTagLibrary.java:411) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    … 16 more

    09:25:21,521 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/pstransp]] (MSC service thread 1-2) Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Must have a Constructor that takes in a ValidatorConfig
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.10.Final.jar:]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.10.Final.jar:]
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_67]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_67]
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
    Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! Must have a Constructor that takes in a ValidatorConfig
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:376) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    … 8 more
    Caused by: javax.faces.view.facelets.FaceletException: Must have a Constructor that takes in a ValidatorConfig
    at com.sun.faces.facelets.tag.AbstractTagLibrary$UserValidatorHandlerFactory.(AbstractTagLibrary.java:413) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.facelets.tag.AbstractTagLibrary.addValidator(AbstractTagLibrary.java:588) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.facelets.tag.TagLibraryImpl.putValidator(TagLibraryImpl.java:81) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processValidator(FaceletTaglibConfigProcessor.java:478) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:365) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:314) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:263) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:363) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    … 9 more
    Caused by: java.lang.NoSuchMethodException: br.com.caelum.stella.faces.validation.StellaIEValidatorTagHandler.(javax.faces.view.facelets.ValidatorConfig)
    at java.lang.Class.getConstructor0(Class.java:2849) [rt.jar:1.7.0_67]
    at java.lang.Class.getConstructor(Class.java:1718) [rt.jar:1.7.0_67]
    at com.sun.faces.facelets.tag.AbstractTagLibrary$UserValidatorHandlerFactory.(AbstractTagLibrary.java:411) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
    … 16 more

  37. Rodrigo Turini 24/09/2014 at 08:32 #

    Olá Francisco! Vi que já você reportou o problema na lista do framework, vamos dar uma olhada pra te responder o quanto antes. Um abraço

  38. Adriano Santos 18/10/2014 at 15:34 #

    Cara, primeiramente, parabéns! Solução simples e objetiva. Simplesmente, fantástico!
    Agora, gostaria de saber se já existe alguma implementação para C# e onde eu posso conseguir acesso?
    Grande abraço!

  39. Rodrigo Turini 20/10/2014 at 10:09 #

    Oi Adriano! Legal que gostou. Ninguém implementou pra C# ainda, por enquanto só temos a versão em Java no repo http://github.com/caelum/caelum-stella. Um abraço

  40. João Cotrim 06/01/2015 at 14:35 #

    c#

  41. Victor Hugo 10/07/2015 at 17:26 #

    Olá, como vocês tratam a parte de dar baixa no sistema? Pegar o arquivo .ofx/.ofx/.txt que o banco gera do extrato e verificar se o boleto foi pago?

    Grato

  42. Ricardo G A 19/02/2016 at 14:42 #

    Olá! Como eu coloco ou edito a parte superior do boleto? Gostaria de colocar a logo da empresa. Obrigado!

  43. Kelvin 04/07/2016 at 13:50 #

    Opa, gostaria de saber se o Stella possibilita a geração da segunda via de um boleto.

  44. Thiago 14/07/2016 at 01:15 #

    O projeto Stella está sendo continuado? Ele atende à atual versão da NF-e?

  45. Luiz 10/09/2016 at 13:12 #

    Que tal NodeJS?

  46. Arthur 12/01/2017 at 13:46 #

    tenho um problema no Stella boletos que ele não mostra no boleto mostra a via do pagador.

  47. Rodrigo Turini 12/01/2017 at 17:42 #

    oi Arthur

    você posta o problema com mais detalhes na lista de usuários do framework?

    é caelum-stella-user@googlegroups.com

    abracos

  48. Hugo 31/05/2017 at 10:36 #

    Bom dia, gostaria de saber o que vai acontecer com a API depois do cancelamento dos boletos sem registros

Deixe uma resposta