Ir para conteúdo
  • Cadastre-se

Reforma Tributária e ACBrCalculadoraConsumo


Ver Solução Respondido por itamarluiz,
  • Este tópico foi criado há 125 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Gostaria de trocar umas ideias sobre o uso da Calculadora do Consumo.

Num primeiro momento, para atender as exigências de 2016, vocês acham que vale a pena usar a calculadora, visto que as alíquotas são fixas, ou fazer uma fórmula no sistema? Eu, particularmente, gostaria de usar a calculadora para tudo, incluindo o cálculo da base de cálculo de IBS/CBS/IS, e também o cálculo dos valores de impostos.

Porém acho que pode demorar a resposta da API, principalmente num documento com muitos itens. Para usar os endpoints que retornam a base de cálculo, e só aceitam um item por vez, fiz uma rotina pra consultar usando processamento paralelo, e consegui melhorar muito a performance. 

A API oficial responde mais rapidamente que a minha instalação, que hospedei na Amazon, mas parece que ela tem um limite de requisições (não tenho certeza), porque ocorreram alguns erros 'Erro HTTP: 500 Socket Error: 10091'.

Tô aqui codando e ainda não cheguei no uso do cálculo de impostos. Acho que não vai demorar.

E aparecem um monte de dúvidas, por isso gostaria de saber a experiência de vocês sobre esses assuntos.

Abraço!

Itamar Bermond

Ibersoft Sistemas
Governador Valadares, MG

Postado
6 minutos atrás, Daniel Simoes disse:

Você pode baixar a Calculadora, e rodar ela em Localhost

Sim, eu baixei e coloquei numa VPS na Amazon, configurei a URL certinho e tá funcionando bem. Acredito que para a maioria dos meus clientes, que são pequenos, vai atender. Um ou outro, maiorzinho, pode precisar de uma instalação dedicada. Tenho preocupações em relação a atualização disso. Acho que preciso estudar sobre o Docker.

Itamar Bermond

Ibersoft Sistemas
Governador Valadares, MG

  • Consultores
Postado

Boa tarde,

Tópico movido para área aberta visando permitir maior participação da comunidade.

At.

  • Curtir 1
Consultora ACBr Pro

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
Em 27/11/2025 at 11:34, itamarluiz disse:

Gostaria de trocar umas ideias sobre o uso da Calculadora do Consumo.

Num primeiro momento, para atender as exigências de 2016, vocês acham que vale a pena usar a calculadora, visto que as alíquotas são fixas, ou fazer uma fórmula no sistema? Eu, particularmente, gostaria de usar a calculadora para tudo, incluindo o cálculo da base de cálculo de IBS/CBS/IS, e também o cálculo dos valores de impostos.

Porém acho que pode demorar a resposta da API, principalmente num documento com muitos itens. Para usar os endpoints que retornam a base de cálculo, e só aceitam um item por vez, fiz uma rotina pra consultar usando processamento paralelo, e consegui melhorar muito a performance. 

A API oficial responde mais rapidamente que a minha instalação, que hospedei na Amazon, mas parece que ela tem um limite de requisições (não tenho certeza), porque ocorreram alguns erros 'Erro HTTP: 500 Socket Error: 10091'.

Tô aqui codando e ainda não cheguei no uso do cálculo de impostos. Acho que não vai demorar.

E aparecem um monte de dúvidas, por isso gostaria de saber a experiência de vocês sobre esses assuntos.

Abraço!

Olá pessoal!

O componente da calculadora está ocorrendo o erro ao retornar o cálculo! Verificando mais afundo notei que tratava-se do atributo fdataHoraEmissao na hora de passar o valor para JSON (Arquivo: ACBrCalculadoraConsumo.Schemas - Classe: TACBrCalcOperacao, Função DoWriteToJSon). 

O que ocorria é que, ao converter a data utilizando UTC, o formato gerado não era aceito pela API. O componente estava produzindo algo como:

2025-11-29T15:44:19.938Z

Porem, a documentação da Calculadora Tributária exige o formato com timezone explícito, por exemplo:

2026-01-01T09:50:05-03:00

Para corrigir, realizei uma alteração na função DoWriteToJSon.

Onde antes era utilizado:

.AddPair('dataHoraEmissao', DateTimeToIso8601(fdataHoraEmissao, EmptyStr, False))

Substituí por:

.AddPair('dataHoraEmissao', DateTimeTodhUTC(fdataHoraEmissao, GetUTCSistema))
 

Após essa modificação, o retorno passou a ser gerado corretamente.

Segue em anexo arquivo alterado: 

ACBrCalculadoraConsumo.Schemas.pas

Postado
41 minutos atrás, marcosrodrigues disse:

Para corrigir, realizei uma alteração na função DoWriteToJSon.

Isso já foi corrigido. Só atualizar o ACBr.

  • Curtir 1

Itamar Bermond

Ibersoft Sistemas
Governador Valadares, MG

Postado

Finalmente minhas NFes e NFCes estão sendo aceitas em homologação com os dados da reforma tributária! 

Eu preciso dizer que sem o ACBr nada disso seria possível. Meu muito obrigado a todos dessa equipe que funciona como salva-vidas das software houses.

E agora? Algo mais a verificar? Alguém tem observações?

E se eu puder ajudar de alguma forma, contem comigo.

  • Curtir 1

Itamar Bermond

Ibersoft Sistemas
Governador Valadares, MG

Postado
Em 02/12/2025 at 09:57, itamarluiz disse:

Finalmente minhas NFes e NFCes estão sendo aceitas em homologação com os dados da reforma tributária! 

Eu preciso dizer que sem o ACBr nada disso seria possível. Meu muito obrigado a todos dessa equipe que funciona como salva-vidas das software houses.

E agora? Algo mais a verificar? Alguém tem observações?

E se eu puder ajudar de alguma forma, contem comigo.

No seu caso, você usou a calculadora?
Vê que ele está com problema na leitura do JSON, na situação: 
 

       "tribCalc": {
                "IBSCBS": {
                    "CST": "620",
                    "cClassTrib": "620006",
                    "gIBSCBSMono": {
                        "gMonoRet": {
                            "qBCMonoRet": "1",
                            "adRemIBSRet": "0.6124",
                            "vIBSMonoRet": "0.61",
                            "adRemCBSRet": "0.6124",
                            "vCBSMonoRet": "0.61"
                        },
                        "vTotIBSMonoItem": "0.00",
                        "vTotCBSMonoItem": "0.00"
                    }
                }
            }

Ela não está retornando para o objeto a parte do gIBSCBSMono.

Você conseguiu gerar ou ler esses campos pela calculadora?

JSON gerado pela calculadora:

 

{
    "objetos": [
        {
            "nObj": 2,
            "tribCalc": {
                "IBSCBS": {
                    "CST": 620,
                    "cClassTrib": "620006"
                }
            }
        }
    ],
    "total": {
        "tribCalc": {
            "IBSCBSTot": {
                "vBCIBSCBS": 0,
                "gMono": {
                    "vIBSMono": 0,
                    "vCBSMono": 0,
                    "vIBSMonoReten": 0,
                    "vCBSMonoReten": 0,
                    "vIBSMonoRet": 0.61,
                    "vCBSMonoRet": 0.61
                }
            }
        }
    }
}

A parte do monofásico foi gerado apenas a totalização!

 

 

Postado

Olá Marcos,

Você cavou fundo, heim?! ;-) Eu não cheguei a fazer testes tão específicos.

11 minutos atrás, marcosrodrigues disse:

A parte do monofásico foi gerado apenas a totalização!

Talvez a calculadora ainda não esteja gerando porque ainda não está sendo exigido. Seria isto?

Itamar Bermond

Ibersoft Sistemas
Governador Valadares, MG

Postado
4 minutos atrás, itamarluiz disse:

Olá Marcos,

Você cavou fundo, heim?! ;-) Eu não cheguei a fazer testes tão específicos.

Talvez a calculadora ainda não esteja gerando porque ainda não está sendo exigido. Seria isto?

Itamar, pode ser. Eu realmente não tinha me atentado a essa questão.

Dei uma analisada no código, mas não consegui entender muito bem o que está acontecendo. Se seria o citado por você ou não!

  • 5 semanas depois ...
  • Solution
Postado

Olá pessoal!

Surgiu a necessidade de saber se a Calculadora do Consumo (minha instalação) está online, sem exibição de mensagens de erro. Então tomei a liberdade de implementar um método de nome 

function TACBrCalcDadosAbertos.IsOnline: Boolean;

porque os demais métodos, como por exemplo a consulta da versão, e outros, mostram mensagem de erro.

Anexei o arquivo ACBrCalculadoraConsumo.pas para análise e gostaria de pedir que o método seja adicionado ao repositório. Em caso de uma maneira melhor de fazer isto, por favor, me informe.

Obrigado!

  • Curtir 1

Itamar Bermond

Ibersoft Sistemas
Governador Valadares, MG

  • Consultores
Postado

Opa, criada tarefa para validação: ACBR-8740.

Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
  • 5 semanas depois ...
  • Consultores
Postado

Olá @itamarluiz

Obrigado pela contribuição e pela iniciativa 
Analisamos a sugestão, mas optamos por não adicionar o método ao componente, pois mantemos os métodos estritamente alinhados às especificações da API.
Essa abordagem poderia ser utilizada sem problemas do lado da aplicação.

Agradecemos a colaboração e fique à vontade para continuar enviando sugestões!
🤜🤛

  • Triste 1
Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
  • Este tópico foi criado há 125 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.