Quando un utente in un'organizzazione acquirente inoltra un ordine per l'elaborazione, il sistema dell'ordine invia un messaggio di notifica al responsabile approvazioni elencato nel profilo dell'organizzazione acquirente, richiedendo l'approvazione dell'ordine. Se il responsabile approvazioni approva l'ordine, il sistema di ordinazione continua ad elaborare l'ordine, rilevando il pagamento ed inviando l'ordine al centro di evasione ordini. Se l'ordine è rifiutato, il sistema dell'ordine invia un messaggio di notifica all'utente con un motivo del rifiuto.
Il requisito per un'approvazione dell'ordine è normalmente specificato in un contratto tra un'organizzazione acquirente ed un'organizzazione venditrice. Un contratto contiene i termini che specificano quali prodotti è possibile acquistare e quali sconti è possibile applicare. I termini di approvazione dell'ordine specificano i limiti in cui deve essere un ordine prima di richiedere un'approvazione dell'ordine. Alcuni termini si applicano a tutti gli utenti in un'organizzazione e altri a determinati reparti.
Ogni articolo in un ordine è associato ad un contratto. All'interno di un singolo ordine, è possibile associare articoli differenti a contratti differenti, in modo che alcuni articoli richiedono l'approvazione ed altri no. Se ogni articolo in un ordine richiede l'approvazione, la richiede l'intero ordine. Il responsabile approvazioni può approvare l'ordine anche se esistono diversi contratti associati ad esso.
La quantità oltre cui è richiesta l'approvazione dell'ordine è specificata nell'attributo ApprovalAmount del termine OrderApprove che è collocato tra i termini e le condizioni di un contratto. Se questo attributo è impostato su 0, ogni quantità richiede l'approvazione. Se un contratto non contiene il termine OrderApprove, non è richiesta alcuna approvazione.
I tipici flussi di approvazioni degli ordini è caratterizzato dai seguenti passaggi:
- Un utente di un'organizzazione acquirente inoltra un ordine.
- Il sistema d'ordine trova i contratti da applicare agli articoli presenti nell'ordine.
- Il sistema controlla i termini di approvazione dell'ordine per determinare se l'approvazione è necessaria. Se un solo articolo presente in un ordine si trova sotto un contratto che richiede l'approvazione, l'intero ordine è soggetto all'approvazione, anche se in tale ordine sono presenti altri articoli i cui contratti non richiedono approvazioni.
- Se l'approvazione è necessaria, il sistema invia una notifica di approvazione dell'ordine al responsabile approvazioni specificato nel profilo dell'organizzazione acquirente, impostato durante il processo di registrazione. Un responsabile approvazioni può collegarsi alla Console di gestione per approvare l'ordine.
L'organizzazione acquirente può specificare che si desidera ordinare le approvazioni di registrazione dell'organizzazione. I responsabili approvazioni devono essere aggiunti esplicitamente al gruppo membri OrderApprovalGroup dall'amministratore acquirenti. - Se invece non è necessaria l'approvazione, il sistema continua con l'elaborazione dell'ordine rilevando il pagamento e inviando l'ordine al centro di evasione ordini.
- Il responsabile approvazioni riceve la notifica dell'ordine e controlla le relative informazioni, decidendo quindi di approvarlo o respingerlo.
- Se invece l'ordine viene approvato, il sistema procede con l'elaborazione dell'ordine, rilevando il pagamento e inviando l'ordine al centro di evasione ordini. Il centro di evasione ordini quindi spedisce l'ordine all'organizzazione acquirente.