1) Fazendo a mudança das configurações dos provedores (URLs, versão, etc...)
Informação sobre o arquivo ACBrNFSeXServicos.ini
O primeiro passo se refere as novas URLs e outras configurações dos provedores - O arquivo ACBrNFSeXServicos.ini já foi ajustado com as informações relacionadas a Reforma Tributária. Ou seja, já contém as novas URLs, configurações de versões dos provedores que implementaram uma API ou WebService próprios para recepcionar o arquivo XML no Padrão Nacional etc. Isso para a maioria dos provedores.
As cidades que aderiram ao Padrão Nacional na íntegra para emissão também foram atualizadas, trocando a informação do provedor.
Assim, sua aplicação pode continuar funcionando ao atualizar o arquivo ACBrNFSeXServicos.ini atual e apontar para esse arquivo para que pegue os dados atualizados. Ou mesmo apagando esse arquivo para que seja utilizado as configurações que vão embutidas no componente.
Abaixo passamos exemplos e orientação específica para cada solução ACBr:
O primeiro passo se refere as novas URLs e outras configurações dos provedores - Foi criado um novo arquivo INI chamado ACBrNFSeXServicosRTC.ini.
Esse arquivo é um arquivo ACBrNFSeXServicos.ini já ajustado com as informações relacionadas a RTC. Ou seja, novas URLs, configurações de versões dos provedores que implementaram uma API ou WebService próprios para recepcionar o arquivo XML no Padrão Nacional, etc. As cidades que aderiram ao Padrão Nacional na íntegra para emissão também foram atualizadas, trocando a informação do provedor. Assim, sua aplicação pode continuar funcionando com o arquivo atual e no dia que quiser, apontar para esse novo arquivo pegando os dados atualizados. É claro que para isso, o novo arquivo deve ser distribuído junto a sua aplicação e atribuído a solução ACBr que estiver utilizando. Abaixo passamos exemplos e orientação específica para cada solução ACBr:
Se você usa o componente ACBrNFSeX nativo para Delphi e Lazarus:
Temos a propriedade de configuração: IniServicos, que fica em ACBrNFSeX1.Configuracoes.Arquivos.
Veja um exemplo do que você pode fazer na sua aplicação Delphi/Lazarus:
with ACBrNFSeX1.Configuracoes.Arquivos do
begin
(...)
Ano2026 := (Now >= EncodeDate(2026, 1, 1));
if Ano2026 then
IniServicos := xPathEXE + '\ACBrNFSeXServicosRTC.ini'
else
IniServicos := '';
end;
Se você usa o componente ACBrNFSeX nativo para Delphi e Lazarus:
Tendo os Fontes atualizados não é necessário apontar explicitamente para o arquivo ACBrNFSeXServicos.ini, já que ao compilar e distribuir seu executavel irá incluir o ACBrNFSeXServicos.res que contem as URLs atualizadas.
Se você usa o ACBrMonitorPLUS:
Tendo uma versão do ACBrMonitorPlus recente e atualizada o Monitor por padrão irá buscar pelo arquivo ACBrNFSeXServicos.ini na raiz de seu ACBrMonitor:
Se você usa a ACBrLibNFSe:
Tendo a versão do ACBrLibNFSe mais atualizada, aponte o caminho do arquivo ACBrNFSeXServicos.ini na chave IniServicos da seção [NFSe] do arquivo ACBrLib.ini utilizando respectivamente os métodos NFSE_ConfigGravarValor e NFSE_ConfigGravar. Caso não seja informado será utilizado o último ACBrNFSeXServicos.res compilado
Vamos a um exemplo usando a linguagem C#:
ACBrNFSe.Config.IniServicos = xPathEXE+"\ACBrNFSeXServicos.ini";
//OU
ACBrNFSe.ConfigGravarValor(ACBrSessao.NFSe, "IniServicos", xPathEXE + "\ACBrNFSeXServicos.ini");
//E POR FIM
ACBrNFSe.ConfigGravar();
Feito isso, podemos considerar este item como concluído
Parada obrigatória para um esclarecimento importante!
Notem que nas situações descritas lá na primeira postagem temos duas em que é mencionado o padrão nacional. Em uma delas é dito que a cidade pode ter aderido a emissão pelo padrão nacional e na outra é citado que o provedor pode ter criado uma API que recepciona o XML no mesmo layout do padrão nacional.
Essa diferença é importante!
Se o município está usando a emissão com o padrão nacional, você precisa alterar a configuração do LayoutNFSe para dizer isso a solução ACBr.
No componente nativo para Delphi/Lazarus:
ACBrNFSeX1.Configuracoes.Geral.LayoutNFSE := TLayoutNFSe.lnfsPadraoNacionalv101;
No ACBrMonitorPLUS:
NFSe.SetLayoutNFSe("2")
Na ACBrLibNFSe:
NFSE_ConfigGravarValor("NFSe", "LayoutNFSe", "2");
NFSE_ConfigGravar();
Essa configuração deve ser definida antes de prosseguir.
Caso o município continue usando o provedor próprio, independente da forma que adotar, você não vai definir essa configuração.
Agora sim podemos ir para o próximo passo que é Fazer a mudança na rotina de preenchimento do RPS/DPS.