Hola...
No he visto algo así, pero se me ocurre el siguiente modelamiento (a partir de lo que entiendo como tu requerimiento)
1.- Es posible crear en el Maestro de Clientes, 2 campos de usuario.
El primero de ellos indica si el cliente posee un descuento promocional, y por ende posee 2 valores posibles Si o No. Puedes fijar como valor por defecto NO, de modo que nadie tenga y en la medida que requieras asignarle el descuento cambias este valor o definir que todos lo tengan.
El segundo campo de usuario sería para indicar el código promocional que se le asigna a cada cliente.
2.- Es posible en el documento de ventas, a nivel de detalle, crear 2 campos de usuario.
El primero de ellos indica si se hace efectiva la aplicación del descuento promocional, por lo que al igual que en el caso anterior, se puede seguir el mismo criterio.
El segundo campo permite visualizar en el documento el código promocional asociado al cliente.
3.- Es posible a través de una validación por Transaction Notification, validar que si en los documentos del cliente ya aparece el código promocional y principalmente si el indicador de aplicación del mismo es SI, en tal caso, no permita aplicar este descuento nuevamente. Esta validación haría un conteo (COUNT) de los registros que cumplan esta condición, y en caso que el conteo sea mayor que cero se sabrá que este descuento ya fue aplicado.
La verdad es que tal como dices, es una idea que podrías revisar...a ver que tal resulta.
Espero te sea de ayuda
Saludos Cordiales,