Sconti a scaglioni con auto field condizionali
Applica percentuali di sconto diverse con regole sullo stesso record — ad esempio per tipo cliente, dimensione ordine o età. Usa un auto field con diverse regole condizionali; Bobuild le valuta in ordine.
Quando usarlo
- Percentuali sconto VIP / retail / wholesale
- Scaglioni per volume (fasce di subtotale)
- Tariffe promo basate su un campo Choice o attributi cliente collegati
Per una percentuale una tantum digitata sul form, basta un semplice campo Number (o una live formula per l'importo scontato) — nessuno scaglione necessario.
Modello dati
| Oggetto | Campi chiave |
|---|---|
| Customer (opzionale) | type (Choice: Retail / VIP / Partner), birth_date (Date, opzionale) |
| Order | customer (Reference), subtotal (Number, auto sum), discount_pct (Number, auto), discount_amount (Number, auto), total (Number, auto) |
Puoi mettere la percentuale su Customer e copiarla sull'ordine con Set to a field value (customer → discount_pct).
Passaggi
1. Subtotale
Aggrega gli importi riga in subtotal — vedi Somma dei prezzi.
2. Percentuale da regole condizionali
Su Order (o Customer), crea il campo Number discount_pct:
- Abilita Automatic Value.
- Aggiungi una regola per scaglione. Esempio su Order usando il cliente collegato:
| Quando | Set to a given value |
|---|---|
customer.type è VIP | 15 |
customer.type è Partner | 10 |
| (nessuna condizione — o valore default) | 0 |
Le regole girano dall'alto in basso; con Set this field → to the last rule that matches, vince la prima regola corrispondente se eviti condizioni sovrapposte — mantieni gli scaglioni mutualmente esclusivi, oppure metti per prime le regole più specifiche e affidati al last-match se configuri sovrapposizioni intenzionalmente.
L'esempio basato sull'età in Auto fields — Conditional rules è la stessa idea con condizioni su date.
3. Importi
Aggiungi auto field con espressione numerica:
| Campo | Espressione |
|---|---|
discount_amount | {subtotal} * {discount_pct} / 100 |
total | {subtotal} - {discount_amount} |
4. Scaglioni per volume (opzionale)
Invece di (o oltre a) il tipo cliente, condiziona su subtotal:
| Quando | discount_pct |
|---|---|
subtotal ≥ 1000 | 10 |
subtotal ≥ 500 | 5 |
| default | 0 |
Ordina le regole dalla soglia più alta alla più bassa così lo scaglione più forte vince con last-match, oppure mantieni intervalli non sovrapposti.
Suggerimenti
- Memorizza percentuale e importi calcolati sull'ordine così i cambiamenti successivi del tipo cliente non riscrivono ordini chiusi (stessa idea Snapshot dei dropdown con prezzi).
- Mostra
discount_pctetotalsul Detail dell'ordine o nelle KPI Cards. - Catene profonde di auto field rallentano le scritture — mantieni la catena poco profonda (
subtotal→%→ importi).