Olá...
Não vi algo assim antes, mas imagino o seguinte modelo (com base no que entendi como sua solicitação)
1.- É possível criar no Mestre de Clientes, 2 campos de usuário.
O primeiro indica se o cliente possui um desconto promocional, e portanto tem 2 valores possíveis Sim ou Não. Você pode definir o valor padrão como NÃO, para que ninguém tenha e, à medida que precisar atribuir o desconto, altere esse valor ou defina que todos o tenham.
O segundo campo de usuário seria para indicar o código promocional atribuído a cada cliente.
2.- É possível no documento de vendas, a nível de detalhe, criar 2 campos de usuário.
O primeiro indica se o desconto promocional é aplicado, então, da mesma forma que no caso anterior, você pode seguir o mesmo critério.
O segundo campo permite visualizar no documento o código promocional associado ao cliente.
3.- É possível, através de uma validação por Notificação de Transação, verificar se nos documentos do cliente o código promocional já aparece e, principalmente, se o indicador de aplicação é SIM, nesse caso, não permitir aplicar esse desconto novamente. Essa validação fará uma contagem (COUNT) dos registros que atendam a essa condição e, caso a contagem seja maior que zero, saberemos que esse desconto já foi aplicado.
Realmente, como você disse, é uma ideia que você pode revisar... vamos ver como isso funciona.
Espero que isso seja útil
Atenciosamente,