Releases: nfe/whmcs-addon
v3.1.1
Esta versão adiciona melhorias na interface administrativa, aprimora o fluxo de cancelamento de notas fiscais e inclui ferramentas de diagnóstico para a configuração de webhooks.
Novos Recursos
Visualização de Informações do Webhook na Página Sobre
Administradores agora podem visualizar informações detalhadas sobre o webhook configurado diretamente na página "Sobre" do módulo, facilitando o diagnóstico de problemas de integração.
Informações Exibidas:
- URL do Webhook: Endpoint local para recebimento de callbacks da NFE.io
- ID do Webhook: Identificador único do webhook registrado na API
- Secret (mascarado): Primeiros 8 caracteres do secret para verificação de segurança
- Última Verificação: Timestamp da última validação manual realizada
Verificação Manual do Webhook:
Um novo botão "Verificar Status na API" permite que administradores validem sob demanda se o webhook está corretamente configurado na API NFE.io, incluindo:
- Verificação de existência do webhook na API
- Validação de consistência da URL entre configuração local e API
- Verificação de status ativo do webhook
- Logs detalhados de todas as operações de verificação
Esta funcionalidade auxilia no diagnóstico de problemas relacionados ao recebimento de callbacks, reduzindo o tempo de troubleshooting e melhorando a transparência da configuração do sistema.
Melhorias
Tratamento de cancelamento de notas fiscais
O fluxo de cancelamento de notas fiscais foi aprimorado para lidar melhor com cenários de falha parcial ou inconsistências entre o módulo e a API:
- Identificação de cancelamentos parciais: quando apenas parte da série de NFs é cancelada com sucesso, o módulo exibe uma mensagem de aviso listando as notas que falharam e orientando a verificação da empresa emissora configurada.
- Novo status "Falha no Cancelamento" na listagem de notas, permitindo que administradores identifiquem visualmente notas cuja tentativa de cancelamento não foi concluída com sucesso (referência: #180).
- Ajuste na regra de reemissão para considerar notas com status "Cancelled" e "CancelFailed" como elegíveis, evitando que o fluxo fique travado quando a nota já não existe mais na API, mas permanece registrada localmente.
- Mensagens mais claras quando a API informa que a nota não foi encontrada, sugerindo a verificação de possíveis alterações na empresa emissora configurada para a fatura.
Correções
- Conversão explícita para string ao salvar o ID e o secret do webhook no armazenamento legado, evitando inconsistências de tipo em ambientes mais recentes. Referência: #182.
- Conversão explícita para string dos campos de configuração de empresa (ID da empresa, CNPJ, código de serviço, código NBS, indicador de operação e classificação tributária) antes da persistência, garantindo maior consistência dos dados e compatibilidade com os novos campos adicionados para a Reforma Tributária.
v3.1.0
A versão 3.1.0 implementa o suporte à Reforma Tributária Brasileira, com a inclusão de novos campos obrigatórios para a emissão de notas fiscais de serviço.
Novos Recursos
Reforma Tributária Brasileira
A versão implementa os requisitos da Reforma Tributária Brasileira, adicionando novos campos obrigatórios para a emissão de notas fiscais de serviço. Estes campos são necessários para empresas optantes do Lucro Real ou Lucro Presumido e devem ser preenchidos tanto na configuração global quanto no cadastro individual de serviços.
Aplicabilidade:
Estes campos são obrigatórios apenas para empresas com regime tributário de Lucro Real ou Lucro Presumido. Empresas com outros regimes não serão impedidas de configurar estes campos, mas não será necessário preenchê-los. Esta regra poderá sofrer alterações de acordo com as mudanças relacionadas a RTC, sempre verifique os canais de comunicação da NFE.io e/ou órgãos oficiais para informações atualizadas.
Novos Campos Adicionados:
-
NBS (Nomenclatura Brasileira de Serviços): Classificação obrigatória que identifica o tipo de serviço prestado. Consulte a tabela de correlação NBS/LC116 para encontrar o código apropriado para seu serviço.
-
Classificação Tributária (CBS/IBS): Define a alíquota aplicável ao serviço conforme a Contribuição Social (CBS) e Imposto sobre Bens e Serviços (IBS). Consulte a tabela de referência CST para determinar a classificação correta.
-
Indicador de Operação (indOp): Especifica o tipo de operação de fornecimento do serviço. Consulte a tabela de referência do Indicador de Operação para selecionar a operação adequada.
Para detalhes completos sobre a Reforma Tributária e seus requisitos, consulte a documentação oficial da NFe.io.
Configuração Global (Empresa):
Os campos podem ser configurados globalmente na seção de configuração da empresa, estabelecendo valores padrão para todos os serviços daquele emissor.
Configuração por Serviço:
Além da configuração global, cada serviço pode ter seus próprios valores para NBS, Classificação Tributária e Indicador de Operação, permitindo maior flexibilidade e precisão na classificação de diferentes tipos de serviços.
Referência: #169
Full Changelog: v3.0.0...v3.1.0
v3.0.0
A versão 3.0.0 traz melhorias significativas, incluindo suporte a multiempresas, novas funcionalidades e aprimoramentos na usabilidade.
Novos Recursos
Multiempresas
Agora, é possível configurar múltiplos emissores com suporte a multiempresas. Contas da NFe.io com mais de uma empresa cadastrada podem utilizar este recurso para definir diferentes emissores na configuração do módulo. Isso permite associar um cliente do WHMCS a um emissor específico, que será utilizado como emitente para as notas fiscais, independentemente da empresa padrão configurada para emissão.
-
Emissor Padrão: Configurações que utilizarem mais de um emissor cadastrado precisarão definir um como padrão. Este emissor será utilizado para todos os clientes que não possuírem uma associação personalizada.
-
Associar Clientes: A nova tela "Associar Clientes" em Configurações permite a associação de um cliente a um emissor específico, garantindo que todos os produtos ou serviços faturados neste cliente tenham como emitente a empresa associada.
- Códigos Personalizados: Com o recurso multiempresa, os códigos personalizados agora podem ser associados a um emissor específico. Isso possibilita definir diferentes códigos de serviços personalizados para diferentes produtos e emissores. Ao cadastrar um novo código de serviço, será necessário selecionar a qual dos emissores cadastrados ele se destina.
- Alíquotas: As alíquotas dos códigos personalizados agora estão associadas a um emissor. Ao cadastrar uma nova alíquota, o emissor vinculado ao código de serviço selecionado será exibido.
Detalhes da Nota
Uma nova opção "Detalhes" foi adicionada junto às ações da nota. Agora é possível visualizar mais detalhes da nota, como códigos ou mensagens retornadas da API de emissão.
Melhorias
Visualização de Notas
A tabela de visualização de notas emitidas pelo módulo recebeu uma reorganização das colunas e ações, visando adequar as informações e melhorar o layout das ações disponíveis. Os diferentes botões de ações foram agrupados em um sub-menu para uma melhor exibição.
Códigos Personalizados
Foram introduzidas melhorias na gestão dos códigos personalizados dos produtos, incluindo novas janelas de cadastramento e confirmações na exclusão de registros.
Alíquotas
Melhorias na gestão de alíquotas foram implementadas. Agora, além de novas janelas para cadastramento e exclusão, a tabela exibirá apenas as alíquotas cadastradas, ao contrário da versão anterior que mostrava todos os códigos de serviços personalizados, mesmo sem uma alíquota cadastrada.
Demais Melhorias
- Alguns métodos que dependiam de código legado foram reescritos para melhor manutenção.
- Melhorias no código de tratamento do callback para maior legibilidade e performance.
- Registro do número da RPS retornado na emissão da NF no banco de dados do módulo.
- Os processos de download do PDF e XML foram atualizados, agora retornando os arquivos pelo SDK da NFe.io.
Notas sobre Atualização e Migração
- Algumas reestruturações removeram a dependência de arquivos de versões legadas. É recomendado a exclusão do diretório
NFEioServiceInvoicesexistente no WHMCS antes de realizar o upload novamente do diretório. - Esta versão implementa novas colunas nas tabelas existentes, além de novas que serão responsáveis pelos dados das empresas emissoras cadastradas e pela associação de clientes.
- Importante: Sempre realize um backup antes de qualquer atualização.
v3.0.0-rc
Full Changelog: v2.2.1...v3.0.0-rc
v2.2.1
Correções
- Correção de timestamps e melhorias na rotina de alíquotas by @andrekutianski in #161
Full Changelog: v2.2.0...v2.2.1
v2.2.0
Esta versão implementa novos recursos e traz melhorias em rotinas existentes.
Novos Recursos
Validações para CPF e CNPJ
Foi incluída uma nova classe de auxílio Validations no módulo NFEioServiceInvoices. Essa classe contém métodos para validar CPFs e CNPJs com base no algoritmo de validação, conforme regras de verificação, ao invés da definição de validade de documento pelo tamanho de caracteres, garantindo a integridade dos dados tratados.
Agora quando o número de documento não for válido, seja um CPF ou CNPJ, o processo de emissão da nota será encerrado e uma mensagem com o motivo será mostrado ao usuário, além de um registro detalhado no log do módulo quando em modo depuração.
Validação e manipulação de webhook (hmac)
Foi adicionado um novo método de validação de webhook na classe de validação e uma nova manipulação de webhook no arquivo callback. Agora, é possível verificar a assinatura do webhook (HMAC) e certificar-se de que é de uma fonte confiável antes de processá-lo.
Também foi melhorado o retorno de erros e códigos de respostas para as chamadas da API ao callback, com isso é possível permitir que a API realize novas tentativas de envio em casos de impossibilidade do processamento na primeira chamada, evitando que atualizações de informações no módulo não sejam prejudicadas por qualquer impossibilidade momentânea do módulo em escutar os retornos.
Opção para atualização da nota
Foi adicionado na interface do administrador uma nova opção que permite a atualização do status da nota de forma manual. Com isso, é possível buscar as informações diretamente na API para refletir estas informações no WHMCS.
Este recurso é útil em casos onde as informações do status da nota não foram sincronizados com o módulo.
Melhorias
Tratamento de status do cancelamento da nota via API
Refatorado a manipulação do status da nota quando é realizada cancelamento para atender a estrutura atual de retorno da API de cancelamento. Antes, ao cancelar uma nota via API, o objeto de retorno possuía um atributo "message" onde o processo de atualização de notas cancelava se baseava. Agora, a API de cancelamento está retornando a nf no objeto e código de status 202. Devido a isso as notas canceladas não estavam sendo registradas adequadamente.
Melhoria no tratamento de erros e registro de status do fluxo
Foi adicionado o registro do valor de flowStatus dos retornos do webhook, garantindo que em cenários de falha ou problemas, a informação deste atributo esteja registrada corretamente para solução de problemas. Com isso será possível analisar as mensagens de retorno de forma mais eficiente e também utilizar seus valores para processamento nas rotinas de mensagens de retorno implementadas nestas atualizações.
Também foi padronizado os identificadores e adicionado novos registros de log para permitir uma melhor depuração, tanto do retorno do webhook quanto em rotinas internas do módulo.
NOTA: A mensagem ApiNoResponse é uma mensagem interna utilizada para identificar quando uma ação de cancelamento não retornou o devido status pela nota já se encontrar cancelada na API ou tiver sua emissão não concluída e o usuário tenta cancelar da mesma forma.
Modais de confirmação
Foi adicionado modais de confirmação para as ações de cancelamento e reemissão de notas fiscais.
Agora, ao realizar uma destas ações, o usuário será questionado se deseja prosseguir com a ação.
Correções
Corrigido problema no registro de timestamp das informações no banco de dados
Foi corrigido um problema na definicao do tipo de valor padrao para os campo de created_at e updated_at nas tabelas do módulo. As informações nao estavam sendo registradas devidamente por algumas definicoes manuais de data de rotinas legadas e também devido a falta de uma definicao de valores padroes para estas colunas do tipo timestamp que poderia gerar uma atribuição equivocada de valores nestes campos.
Detalhes da análise e correcao podem ser encontradas na questao 156 #156
Corrigido problema de re-emissão duplicada na fatura
Foi corrigido uma condição que poderia levar a emissão duplicada de notas quando administrador tenta gerar novas notas
a partir da visualização de uma fatura. #160
v2.1.9
v2.1.8
What's Changed
- Compatibilidade com PHP 8 e WHMCS 8.6 by @andrekutianski in #150
Full Changelog: v2.1.7...v2.1.8
v2.1.7
v2.1.6
Correções
- [BUG] Nota Fiscal com status "processando" quando emissão falha #143
- Melhora a exibição das mensagens de status na interface web para os administradores.
Full Changelog: v2.1.5...v2.1.6













