Configuração do server Financeiro para NF Web (SrvMegaFinancNfWeb)

Para que serve este servidor

O Financeiro para NF Web é um programa que fica rodando em segundo plano, sozinho, sem ninguém precisar acompanhar. Ele trata uma exigência da Reforma Tributária: quando um título é baixado (pago) e nessa baixa há juros, multa ou desconto, esses valores precisam gerar um documento fiscal próprio.

O caminho é o seguinte:

  1. O módulo Financeiro registra a baixa em uma fila de baixas pendentes, sempre que ela tiver juros, multa ou desconto.
  2. Este servidor pega cada baixa dessa fila, avalia se ela realmente precisa gerar documento fiscal e, quando precisa, monta a nota fiscal na fila do Integrador de Notas Fiscais Web.
  3. O Integrador de Notas Fiscais Web é quem transforma isso em nota fiscal oficial.

Ou seja, este servidor é a primeira etapa da corrente. Ele não emite nota: ele prepara.

Para que a nota fiscal realmente saia, os dois servidores precisam estar rodando. Este documento trata apenas do SrvMegaFinancNfWeb. Para configurar o servidor que efetivamente emite a nota, consulte Configuração do server Integrador de Notas Fiscais Web (SrvMegaNfIntegrador).

Os parâmetros deste documento controlam o ritmo desse trabalho e com qual usuário ele é feito.


Como este servidor de aplicação opera

O termo servidor refere-se ao servidor de aplicação do ERP, e não à máquina física ou virtual onde ele está instalado. Este servidor de aplicação é disponibilizado como um executável independente, compatível com ambientes Windows e Linux. Cada execução ativa desse executável constitui uma instância do servidor, e uma mesma máquina pode executar uma ou mais instâncias. O comportamento, os parâmetros de configuração e o arquivo MegaConfig.xml são idênticos nas duas plataformas.

Do ponto de vista de arquitetura, este servidor é um processo autônomo de segundo plano um daemon, na terminologia de sistemas distribuídos. Ele carrega seu próprio temporizador interno a partir do MegaConfig.xml e decide sozinho quando trabalhar: a cada ciclo consulta a fila, reserva o que vai processar e segue, sem orquestrador, sem cadastro de agenda e sem nenhuma tela que o acione.

O padrão de integração que ele implementa é o de consumidor por varredura (Polling Consumer) sobre uma fila mantida em tabela. Como podem existir várias threads dentro da mesma instância, e várias instâncias em máquinas distintas, todas competindo pela mesma fila, o modelo é o de consumidores concorrentes (Competing Consumers), e a exclusividade de cada registro é garantida por bloqueio de linha no Oracle, não por um controlador central. Isso o distingue dos outros modelos que existem no ERP, pois:

Na prática, essa independência traz duas consequências:


Onde configurar

Os parâmetros ficam no mesmo arquivo de configuração usado pelo restante do Mega:

MegaConfig.xml

No ambiente padrão de versão, o caminho é:

V:\Versao\Config\MegaConfig.xml

Se você não souber onde está o seu, procure pelo arquivo MegaConfig.xml na pasta onde o Mega foi instalado.


Como editar, passo a passo

  1. Faça uma cópia de segurança do arquivo antes de mexer. Copie o MegaConfig.xml para um lugar seguro e renomeie a cópia, por exemplo MegaConfig_backup_2026-09-04.xml.
  2. Abra o MegaConfig.xml com o Bloco de Notas (ou outro editor de texto simples). Não use Word.
  3. Localize a linha </DOCUMENT>, no final do arquivo.
  4. Cole o bloco de configuração (mostrado mais abaixo) antes dessa linha.
  5. Salve o arquivo.
  6. Pare e inicie o servidor novamente.

A configuração é lida apenas no momento em que o servidor sobe. Alterações feitas com ele rodando não têm efeito nenhum.

O arquivo não vem com esta configuração na instalação padrão. Enquanto o bloco não for adicionado, o servidor funciona com os valores de fábrica descritos na tabela abaixo.


Os três parâmetros

ParâmetroPara que serveValor de fábricaValores permitidos
USUARIODefine em nome de qual usuário o servidor trabalha1Qualquer código de usuário válido, sempre maior que zero
THREADSLiga ou desliga o processamento1Apenas 0 ou 1
INTERVALODe quanto em quanto tempo ele olha a fila60 segundosNúmero em segundos

Este servidor não possui o parâmetro FILTRO. Isso é intencional: baixas financeiras com juros, multa ou desconto têm efeito fiscal obrigatório, e permitir que parte delas fosse ignorada por configuração criaria risco de deixar documento fiscal sem emitir. Se você conhece o Integrador de Notas Fiscais Web (SrvMegaNfIntegrador) e estranhou a ausência do FILTRO, essa é a razão — lá o parâmetro existe.


USUARIO — em nome de quem o servidor trabalha

O servidor não é uma pessoa, mas todo lançamento no Mega precisa estar vinculado a um usuário. Este parâmetro define qual usuário será registrado como responsável pelas notas fiscais que o servidor preparar.

O que preencher: o código de um usuário que exista e esteja ativo no Mega, e que tenha permissão para emitir notas fiscais. A recomendação é criar um usuário exclusivo para essa finalidade (por exemplo, “REFORMA TRIBUTARIA”), assim fica simples identificar depois, nos relatórios e no histórico, o que foi gerado automaticamente.

Este é o único parâmetro que impede o servidor de iniciar. Preenchido com zero, com valor negativo ou com texto que não seja número, o servidor não sobe e registra no log a mensagem indicando que o usuário não está configurado. Nenhuma baixa será processada até corrigir.


THREADS — liga ou desliga o processamento

Neste servidor o parâmetro funciona como uma chave de duas posições. Ele aceita apenas dois valores:

ValorEfeito
1Ligado. O servidor processa a fila normalmente. É o valor de fábrica.
0Pausado. O servidor continua ligado, mas não pega nenhuma baixa da fila. Útil para interromper temporariamente o processo sem desligar o serviço.

Por que não dá para aumentar: ao contrário do Integrador de Notas Fiscais Web, que aceita THREADS até 6, aqui o limite é 1 por decisão de projeto. As baixas precisam ser tratadas em sequência para garantir a consistência dos documentos fiscais gerados. Se você preencher 2, 4 ou qualquer número acima de 1, o servidor não avisa e não dá erro: ele volta para 1 silenciosamente.

Como acelerar, então: se a fila estiver acumulando, o caminho é reduzir o INTERVALO, e não mexer no THREADS.


INTERVALO — de quanto em quanto tempo olhar a fila

Define a pausa entre uma verificação da fila e a próxima. O valor é sempre em segundos.

O que preencher:

ValorComportamento
30Resposta mais rápida. Use quando as baixas com juros/multa/desconto são frequentes ao longo do dia.
60Valor de fábrica. Verifica a fila uma vez por minuto. Atende bem a maioria dos casos.
300Cinco minutos. Adequado quando esse tipo de baixa é pouco frequente.

Recomendação: o valor de fábrica de 60 segundos é adequado para quase todos os cenários. Como uma baixa financeira não tem urgência de emissão imediata, não há necessidade de intervalos muito curtos. Evite valores abaixo de 10 segundos: cada verificação consulta o banco de dados, e verificações excessivas geram carga sem ganho real.

Não preencha com 0. Isso desliga a verificação e o servidor fica ligado sem nunca olhar a fila.


Quantidade de baixas por verificação

Independente da configuração, o servidor pega no máximo 10 baixas por verificação. Esse limite é fixo e não pode ser alterado pelo arquivo de configuração.

Para dimensionar: com o INTERVALO de fábrica (60 segundos), o servidor processa até 10 baixas por minuto, o que dá até 600 por hora. Se o seu volume for maior que isso, reduza o INTERVALO. Por exemplo, com 30 segundos a capacidade dobra para até 20 por minuto.


Bloco pronto para copiar

Cole este bloco no MegaConfig.xml, antes da linha </DOCUMENT>. Depois ajuste os valores conforme a sua necessidade.

	<!-- Server de geração de NF-e CBS/IBS a partir de baixas financeiras (SrvMegaFinancNfWeb) -->
	<SRVMEGAFINANCNFWEB>
		<!-- Código do usuário do ERP que executa o processo. Obrigatório maior que zero -->
		<USUARIO>1</USUARIO>
		<!-- Liga ou pausa o processamento. Apenas 0 ou 1 -->
		<THREADS>1</THREADS>
		<!-- Intervalo entre verificações da fila, em segundos -->
		<INTERVALO>60</INTERVALO>
	</SRVMEGAFINANCNFWEB>

Configurações sugeridas por cenário

Uso normal, na maioria dos ambientes

		<THREADS>1</THREADS>
		<INTERVALO>60</INTERVALO>

Volume alto de baixas com juros, multa ou desconto

		<THREADS>1</THREADS>
		<INTERVALO>30</INTERVALO>

Volume baixo, sem urgência

		<THREADS>1</THREADS>
		<INTERVALO>300</INTERVALO>

Pausar o processamento temporariamente, sem desligar o servidor

		<THREADS>0</THREADS>

Se algo não funcionar

SintomaO que verificar
O servidor não iniciaO USUARIO está preenchido com um código válido e maior que zero?
As baixas ficam paradas na fila e nada aconteceO THREADS está em 0? Confira também se o servidor está realmente em execução.
Alterei o arquivo e nada mudouO servidor foi parado e iniciado novamente depois de salvar? Sem reiniciar, a alteração não vale.
A fila anda, mas muito devagarReduza o INTERVALO. Não tente aumentar o THREADS, pois o limite é 1.
Aumentei o THREADS e não ficou mais rápidoComportamento esperado. Valores acima de 1 são ignorados. Use o INTERVALO.
As baixas saem da fila, mas a nota fiscal não apareceVerifique o Integrador de Notas Fiscais Web. Este servidor apenas prepara a nota; quem emite é o outro. Os dois precisam estar rodando.
Baixas marcadas com erroCada registro guarda o motivo do problema. Acione a equipe técnica ou o suporte Mega com essa informação em mãos.

Relação com o outro servidor

Vale reforçar, porque é a causa mais comum de confusão: são dois servidores em sequência, cada um com sua própria configuração — este documento cobre apenas o SrvMegaFinancNfWeb. O outro, responsável por emitir a nota fiscal de fato, está documentado em Configuração do server Integrador de Notas Fiscais Web (SrvMegaNfIntegrador).

O fluxo completo é:

  1. Baixa com juros/multa/desconto no Financeiro.
  2. Financeiro para NF Web (este servidor) prepara a nota.
  3. Integrador de Notas Fiscais Web emite a nota fiscal.
  4. Nota fiscal disponível no Mega.

Se apenas este servidor estiver rodando, as baixas saem da fila do Financeiro mas a nota nunca é emitida. Se apenas o Integrador estiver rodando, as baixas do Financeiro nunca chegam até ele. Mantenha os dois ativos e configurados.


Regras de ouro

  1. Sempre faça backup do MegaConfig.xml antes de alterar.
  2. Sempre reinicie o servidor depois de salvar. Sem isso, nada muda.
  3. Não tente aumentar o THREADS acima de 1. Para ganhar velocidade, reduza o INTERVALO.
  4. Verifique se o Integrador de Notas Fiscais Web também está rodando. Sem ele, a nota fiscal não é emitida.

Como iniciar o servidor automaticamente (AUTOSTART)

O bloco <AUTOSTART> do MegaConfig.xml é compartilhado entre os dois servidores. Ao configurá-lo, revise também as tags do Integrador — os detalhes de cada uma estão em Configuração do server Integrador de Notas Fiscais Web (SrvMegaNfIntegrador).

Como fazer

  1. Faça uma cópia de segurança do MegaConfig.xml.
  2. Na máquina servidora, abra o Prompt de Comando e digite hostname. Anote o nome.
  3. Abra o MegaConfig.xml com o Bloco de Notas e localize a seção <AUTOSTART>.
  4. Dentro dela, crie (ou complete) o bloco com o nome da máquina:
	<AUTOSTART>
		<NOME_DA_MAQUINA>
			<DEFAULT>N</DEFAULT>
			<SRVMEGANFINTEGRADOR>S</SRVMEGANFINTEGRADOR>
			<SRVMEGAFINANCNFWEB>S</SRVMEGAFINANCNFWEB>
		</NOME_DA_MAQUINA>
	</AUTOSTART>
  1. Salve o arquivo.
  2. Feche e abra novamente o MegaServerStart (ícone na área de notificação do Windows).

S = liga automaticamente. N = não liga.

Nome da tag de cada servidor

ServidorTag no AUTOSTART
Integrador de Notas Fiscais WebSRVMEGANFINTEGRADOR
Financeiro para NF WebSRVMEGAFINANCNFWEB

Cuidados

Cuidado com o nome da tag do Integrador. No AUTOSTART é SRVMEGANFINTEGRADOR, e não SRVMEGAIMPNFWEB (esse é só o nome da seção de parâmetros, detalhada em Configuração do server Integrador de Notas Fiscais Web (SrvMegaNfIntegrador)). Errando o nome, o servidor não sobe e nenhuma mensagem de erro aparece.

Conferir se subiu

Gerenciador de Tarefas (Ctrl + Shift + Esc), aba “Detalhes”, procure por SrvMegaNfIntegrador.exe e SrvMegaFinancNfWeb.exe.

Este artigo ajudou você?