Olá Leandro! Tudo bem?
Este problema que você enfrenta é um problema bastante comum quando se fala de EDI (Troca eletrônica de dados)
Infelizmente eu não conheço nenhuma ferramenta open source que realiza tal façanha, mesmo eu tendo experiência de soluções de trocas de informações como matriz e filiais de lojas, essa complexidade acaba sempre recaindo para o desenvolvedor.
Apenas como curiosidade, a IBM possui um produto para resolver esse problema, chamado Sterling
https://bridgesgi.com/solutions/ibm-sterling-file-gateway/
De qualquer modo, em se pensar em um programa que possa fazer isso, seguem algumas recomendações baseadas em minha experiência.
1) Evite utilizar webservices para envio de arquivos grandes.2) Utilize protocolos de envio de arquivos simples, mas que ofereçam os requisitos de segurança necessários (ex. SFTP).
3) Implementar garantia de entrega é fundamental para evitar que dados se corrompam, ou partes do arquivo se percam.
4) Permitir monitorar o processo de envio do arquivo, de forma que seja possível se antecipar a um possível impacto no seu negócio pelo não recebimento de um arquivo.
5) Faça robusto ao ponto de poder escalar para múltiplos envios de diversas fontes.
6) Permita retransmissão no caso de falhas com limite de retentativas.
7) Seja inteligente para utilizar os momentos em que a rede apresente menor latência - geralmente quando se faz o menor uso de banda.
Abraço e sucesso,
Rodrigo