I had another thought at all that and studied again the two options:
- Option 1 = Make en entreprise fee applicable / non applicable.
So imagine 2 enterprise fees : “10% reduced fee” and “20% normal fee”, in the OC outgoing distributor I put the two fees.
By default tag rule is that all fees apply to all customers.
One tag rule is: if customer tag = member, entreprise fee “20% normal fee” = unapplicable
The other is : if customer tag = non member, entreprise fee “10% reduced fee” = unapplicable
When the customer is logged in, only the fee corresponding to his tag applies so he sees the shopfront and products with the good price.
We need to check if you change something in the order that it recalculates fees correctly.
He can also set up another by default rule like:
Entreprise fee “10% reduced fee” = unapplicable to all customers
So even if the two fees are in the outgoing distributor section, by default customers will see the prices with the 20% fees applied.
Tag rule can then be : If customer tag = member, then “10% reduced fee” = applicable AND “20% normal fee” = unapplicable.
Another tag rule could be : If customer tag = low income, then “20% normal fee” = unapplicable (so the user has no fee applied to him)
Here is quick mock-up :
Note : if I remove a user tag, we need to make sure it doesn’t change the history in the past orders… I guess that’s ok but just to keep in mind.
- Option 2 = we take the % discount approach :
Default rule = no one has any discount
Tag rule can be : if customer tag = member, apply x% discount on all products in the shopfront.
The problem is that the discount logic is not implemented yet in OFN yet, so how would that appear in the shopfront and order ? The reduced price might be displayed as discount so that the customer is aware that a discount has been given to him, so even in terms of UX I guess it will be different. Like the price will be crossed and the new reduced price will appear as a side in bold or red.
In back office, only the reduced price should be taken into account even when we recalculate fees, even if the tag has been removed after the order has been made (so the system need to remember for each order which discount was applied to this given customer as the tag might have been removed).
I think the two logics are different, but you can easily apply a discount to a member by setting up a different fee and using the first logic.
It also has a calculation implication : If Pp=product master price, Pn = price for normal users, Pr = reduced price for members
1,2 Pp = Pn [20% fee on Pp to get the Pn]
Pn - YPn = Pr = 1,1 Pp [Y = discount, ex: 10% discount for members. Here assumption = the hub want to charge the member 10% fee instead of 20% so I need to calculate what discount to apply for that]
1,2 Pp = 1,1 Pp / (1-Y)
Y = 1-(1,1 Pp / 1,2 Pp)
Y is the discount to apply if the hub want to charge a 10% for this user instead of a 20% fee… it is not super friendly to ask the hub who has not this “discount” logic to make those kind of calculation in order to find the % discount, no ?
So I would suggest to implement both tag rules actually as they serve two different logics.
And as our user needs the first one I suggest to start with this one. Also it seems easier to me as we don’t need to build the discount logic.
@tschumilas @sstead @Kirsten @enricostn @lin_d_hop if that fine with you I suggest we move forward for now with the applicable/non-applicable entreprise fee tag rule as described above. I don’t even thing we need to change anything in the reports actually… we’ll need to check when moving forward.