Loyalty points calculate automatically on every paid order – nothing you need to think about in daily operations. This article explains exactly how the math works so you can troubleshoot unusual cases.
The trigger: Order → paid
When an order finalizes in the POS, Vendion auto-calculates points. It's idempotent – if the same order triggers twice the second run is skipped.
Points = qualifying amount × points per krona × tier multiplier
Key terms:
- Qualifying amount = order total minus alcohol (if excluded) minus excluded categories minus gift-card issuance lines
- Points per krona = your setting (default 1 pt/kr)
- Tier multiplier = the tier's multiplier (1.0× = standard, 1.5× = Gold, 2.0× = Platinum)
What does NOT count as qualifying?
- Alcohol – if you've chosen to exclude alcohol (default). Counted as alcohol when its category is marked as such.
- Excluded categories – the ones you added manually in settings (e.g. "Service charge", "Gift cards").
- Gift card issuance – gift-card sale rows never count. (VAT realizes on redemption, not issuance.)
- Refunds – refunded lines don't count.
Examples
Example 1 – Standard order
- Settings: 1 pt/kr, alcohol excluded
- Member tier: Silver (1.0×)
- Order: 350 SEK food, 150 SEK beer
Qualifying: 350 SEK → 350 pts
Example 2 – Gold with multiplier
- Settings: 1 pt/kr, alcohol excluded
- Member tier: Gold (1.5×)
- Order: 800 SEK food, 400 SEK wine
Qualifying: 800 SEK → 800 × 1.5 = 1,200 pts
Example 3 – Platinum with alcohol included
- Settings: 1 pt/kr, alcohol INCLUDED
- Member tier: Platinum (2.0×)
- Order: 1,200 SEK total
Qualifying: 1,200 SEK → 1,200 × 2 = 2,400 pts
Example 4 – Order with gift-card sale
- Settings: 1 pt/kr
- Member tier: Silver
- Order: 800 SEK total, of which 500 SEK is a gift-card sale
Qualifying: 300 SEK (gift card doesn't count) → 300 pts
Edge case: Discount from point redemption
If the guest redeems points on the same order as they're earning new points:
- System first computes qualifying amount after the discount
- Discount (point redemption) subtracts from the order total
- New points calculate on the reduced amount
This prevents "recycling" where guests try to re-earn the same points by redeeming and immediately reusing the discount.
Edge case: Manual discount
If the server applies a manual 10 % discount, points calculate on the discounted amount. That's consistent with the VAT base.
When it's logged
Each earn creates an entry in the member history:
| Field | Value |
|---|
| Kind | Earn |
| Points | +N |
| Order | Linked to the order |
| Tier at the time | Guest's tier at the transaction (for audit) |
| Reason | "Earn from paid order" |
| Timestamp | Date and time |
History is append-only – no rows are deleted or updated.
What does NOT happen automatically
- Refund of order → points NOT reversed automatically (April 2026). If an order is refunded you must adjust manually via
Adjust points in the member profile.
- Changed settings don't affect historical points. Switching from 1 pt/kr to 2 pt/kr applies only forward.
Troubleshooting
"The guest got no points on their order"
- Is the program active?
- Was there a customer linked to the order? Anonymous orders don't earn.
- Was it only alcohol/excluded categories? Then qualifying = 0.
- Was it a gift-card sale? No points on those.
"Point total looks wrong"
- Check the tier at the time in the member's history – guest may have been on a different tier at the transaction.
- Check if it was a split order – points count per order, not per payment.