Off-invoice mechanisms exist for good reasons: they keep published prices stable, they let the reduction be conditional on behaviour, and they preserve confidentiality between channel partners.
They also create the entire visibility problem. On-invoice reductions are impossible to miss; off-invoice reductions are invisible in the order system and only materialise in a different ledger, often a quarter later.