Inhalte aufrufen

Profilbild

Depending prices best way to setup


  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
14 Antworten zu diesem Thema

#1 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 01 May 2020 - 08:31

So we have bought the depending prices plugin so we can create the next workflow:

 

In our B2B we want to provide a user dealer discount on a specific manufacturer. However there are a few conditions:

 

  1. If a user is Guests or doesn't have any DependingPrice on a discount than a default discount of 3% is applied to the product
  2. If a user is logged in and the product has a DependingPrice assigned to this customernumber than calculate the discount of the depending price.

 

So far i can get this to work, except for one thing (see first attached image). If a user is logged in but doesn't have any discount assigned then the default discount of 3% isn't triggered. This is because the "Customnumber is not empty" therefore the depending price is skipped. In this situation a wildcard for "Customernumber" would solve the issue for us, see second attached image what i mean.

 

Other questions:

  1. Is the above mentod the most efficient way to do this? Currently in our situation this create a .csv file of almost 30.000 records that Import Profiles have to import
  2. How would one delete a DependingPrice via de ImportProfiles?
  3. It seams that the depending price is not applied to Attributes if they have a Price Adjustment

Angehängte Bilder



#2 Michael Herzog

Michael Herzog

    SmartStore AG

  • Administrators
  • 3497 Beiträge

Geschrieben: 06 May 2020 - 10:57

Hi,

 

Regarding the wildcard customer group I've created an issue for that. Currently it doesn't work as you've found out yourself.

 

1. If there are recurring pricing setups for your products, you can also configure them globally and just assign the group id to the product. Please have a look at:

Admin > Plugins > DependingPrices > Configuration > Item groups

 

2. Deletion currently isn't implemented. Only updates. I've also created an issue for that.

 

3. Price adjustments for attributes should be applied on the discounted price. 

 

Regards,

MIchael


Michael Herzog
Smartstore AG


#3 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 07 May 2020 - 10:04

Hi Michael,

 

Thanks for looking into this. Are you able to share the Github Issue links?

 

  1. Sounds like a fine solution, could you give an example how to set this up? And would it be possible to control this via ImportProfiles?
  2. A that's why it did worked ;-) Could you provide the Github issue link?
  3. So you mean that if a customer has a Depending Price discount on a product let's say 25% that this also should be calculated on the PriceAdjustments of a product attribute?

To give more information:

Setup a product with the price and oldprice set to 100€ (setting the oldprice triggers the "Sale" view)

Angehängte Datei  Product Price.png   201.69K   0 Anzahl Downloads

 

Then setup depending price with 10% for a user:

Angehängte Datei  Product Depending Price.png   157.61K   0 Anzahl Downloads

 

Now add a Color option setting one option with Price adjustment of 10€

 

At this point the current view is this:

Angehängte Datei  Product Price Without attribute selected.png   12.75K   0 Anzahl Downloads

 

As you can see in the above image the Color attribuut isn't selected. So far so good. Now when we select the Color attribuut the price becomes € 110,-. At this point the current view is this:

Angehängte Datei  Product Price With attribute selected with no discount.png   11.62K   0 Anzahl Downloads

This is not the behaviour what i expect. What i would expect is that the Total price becomes € 110,- and then with the 10% discount the user price will be € 99,- including the Price Adjustment of the Color attribuut. Also the "Sale" view isn't shown anymore.

 

FYI: If i create this same setup using Discount on a manufacturer or product than everything works like a charm… It creates this view which is exactly what we need:

Angehängte Datei  Product Price With attribute selected with discount.png   14.19K   0 Anzahl Downloads

If the discount would be modified to check for a productcost an keep that as limit that we could move from Depending Prices to the default Discount structure. The logic will be If Product.ProductCost > (Product.Price - Discount) then Product.Price = Product.ProductCost. For example:

  • Product Price = € 100
  • Product Cost = € 95
  • Discount = 10%

Calculated price must be € 95 instead of € 90.

This prevents an item whose Product Cost is higher than the Price - Discount from being sold at a loss.

 

Currently running v3.2.2. I also see that there is v3.2.2.2 but can't find a change log so i don't now what has changed. Where can i find it? Edit: Installed v3.2.2.2 and the issues still occur.

 

Hopefully this gives more information.



#4 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 11 May 2020 - 13:42

Little update: Point 3 "Price adjustments for attributes should be applied on the discounted price." Does indeed work, some custom code conflicted with this so I restored to the default. However although this now works it still doesn't calculate the right way. 

 

View without selected option (Product with 10% Depending Price):

Angehängte Datei  Product Price Without attribute selected.png   12.75K   0 Anzahl Downloads

 

View with selected option (Product with 10% Depending Price, should be 99euro) :

Angehängte Datei  Product Price With attribute selected with discount_no Discountview.png   9.29K   0 Anzahl Downloads

 

So the correct view would still be this:

Angehängte Datei  Product Price With attribute selected with discount.png   14.19K   0 Anzahl Downloads

 

In the end it would be great if Depending Prices could memic the way Discount from the SmartStore Core works.

 

Regarding point 2: "Delete Depending Prices". A workable and simple solution would be that the .CSV is always leading. Meaning if a record doesn't exists in the .csv but doest exists in the Depending Price table then remove it from the Depending Price table.



#5 Michael Herzog

Michael Herzog

    SmartStore AG

  • Administrators
  • 3497 Beiträge

Geschrieben: 12 May 2020 - 14:31

Hi,

I've received a lot of feature requests for this plugin and I'll have a look at possible implementations in one session until beginning of next week. That's when I'll check the problem you've descibed above. Regarding the issue links: The plugin is hosted in a private repository and that's where the issues reside. So unfortunately I can't provide a link.

Regards,

Michael Herzog


Michael Herzog
Smartstore AG


#6 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 12 May 2020 - 15:14

Hi Michael,
 
Thanks for getting back to me, i just got the news also via Abdon ;-) Great you want to look into this, if you need any information please let me know (also if you want to test on our site).
 
If you have some time to spare it would be great if this plugin is also controllable through the WebApi, then I can check the current values and only apply updates or delete. However I have no idea how much work this is for you, so it's up to you :-)

 

Thanks!



#7 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 13 May 2020 - 09:07

Today I continued testing and I think I found a bug. I now have an article that Depending Prices has added. However, when I log in with a customer whose customer number is not in the Depending Prices list, the first Depending Price record is chosen. For example:

 

User Customer number:

Angehängte Datei  Customernumber.png   29.24K   0 Anzahl Downloads

 

And now the Depending Price setup at the product:

Angehängte Datei  ArticleDependingPrice.png   79.48K   0 Anzahl Downloads

 

This is the result:

Angehängte Datei  ArticleDependingPriceResult.png   11.92K   0 Anzahl Downloads

 

What i would expect is that Depending Price isn't triggered since the customer number doesn't have a match. To confirm when i change the Percentage of the first record in the Depending Price of the product that the price calculation follows that Percentage.

 

 

In addition to a discount with a Wilcard as customer number, I would also expect that if the percentage of the Wilcard is higher than that of the customer, then the discount with the Wilcard will be chosen.
So as an example, suppose a customer gets 15% discount but the product has a 20% discount for everyone (Wildcard) then I expect him to take the 20%. At this moment the 15% is calculated.
 
 
 


#8 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 20 May 2020 - 15:08

Hi Michael,

Did you manage to find some time to look into this? We are almost at the point that we want to go live but this issue is one of them preventing us to go live.

A small other point is rounding, for example:

  • Create product, set price on 0,20 cent and the MOQ on 100
  • Now if you add this product to your cart then the price is € 20,-
  • But now add a depending price of 3% to that article
  • Go back to the same article.
  • The price at this point is 0,19
  • If you now add this product to the shoppingcart what a user expect is a price of € 19,-
  • Instead of the price that is showed is € 19,40

 

I know the math is something like 100 x 0,20 = 20 / 1,03 = € 19,41 which is correct but the UX is somewhat unexpected because they expect to see 100 x 0.19 = 19 not 19.4 



#9 Michael Herzog

Michael Herzog

    SmartStore AG

  • Administrators
  • 3497 Beiträge

Geschrieben: 25 May 2020 - 13:41

Hi,

 

finally i managed to have an in depth look into all issues which were reported in this topic.

 

But the most important issue (wildcard) for you couldn’t be reproduced by me.

The time I wrote my answer into this topic I had a short look at the code and thought this bug could be possible.

But now after researching I find it works as expected. Maybe another customization of your shop is responsible?

 

I've just forwared the current version of the plugin to Abdon. I'll update the plugin in the marketplace once we've sorted all issues out.

 

Deletion of records was now implemented by a delete flag in the imported file. Just add a column named DP_Delete to your import file

and set the value to true if you want the record to be deleted.

 

The price issue regarding attributes is resolved.

 

The bug reported an May 13th could also not be reproduced in my test environment.

 

Next I'll have a look into the problem reported on May 20th.

 

Regards,

Michael


  • stefanmueller gefällt das

Michael Herzog
Smartstore AG


#10 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 02 June 2020 - 07:41

Hi Michael,

 

Thanks for looking into this and sorry for my late reply. i Was on a short holiday so that why. To get back on the points:

 

  1. Wildcard: Tested this again and it all seems to work when no customer number is entered than it works like a wildcard. Strange why this worked different before...
  2. Delete records: Thanks for implementing this, however could there be a more easier way, like the CSV file is always leading if there are records missing from the CSV file delete on the website? Since there is no GET DependingPrices i have to create my own shadow database to see what the last time was written in the CSV. Not a big deal but still the whole way of the Import feels very inefficient compared to the WebApi. Because every x time the website always reads the CSV file to see what has changed. While a GET, POST or Patch would be more efficiënt.
  3. Price Issue attributes: Great that this has been resolved, looking forward to test it!
  4. First depending price always taken if no customer record is found: Unfortunattly that you couldn't reporduce it. However at my side i can easyly reproduce it:
    • ​​​Assign a customer number to your current logged in user, like 123
    • Create one Depending price record at a product and enter a customer number like 22 and give it 10 procent discount
    • Now go to the product and your will see that you will get 10% discount.
  5. Price calculation method(20 may): Did you manage to dig into this? I created a screenshot of a shoppingcart item where you can see what i mean: Angehängte Datei  PriceTotalRound.png   6.63K   0 Anzahl Downloads As you can see from a customer point of view you would expect 100 x 0,37 = € 37,-

 

If you ever need to debug on our environment please let me know!

 

When will you release the new version of the plugin? Because we are really waiting on this (especially for point 3) before we want to go live, this has to work. (Else all dealer prices don't work correctly)


  • stefanmueller gefällt das

#11 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 04 June 2020 - 14:55

Hi Michael,
 
Today i updated the plugin that you send to Abdon and i can confirm that point 3 is working(stil need to test the other points). But visually there is a difference. If you select a option with priceadjusment than the discount view is hidden, for example:
 
ProductPrice = € 100,-
DependingPrice = 3 %
New price = € 97 ,-
So far so good:
Angehängte Datei  DependingPriceWithoutPriceAdjusmetAttribute.png   13.36K   0 Anzahl Downloads
 
Now if we select a Attribute with PriceAdjustment:
 
ProductPrice = € 100,-
DependingPrice = 3 %
Attribute PriceAdjustment = € 10,-
New price = € 106,70 ,-
The math is correct but the "Regular" and "You Save" are missing:
Angehängte Datei  DependingPriceWithPriceAdjusmetAttribute.png   8.82K   0 Anzahl Downloads


  • stefanmueller gefällt das

#12 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 05 June 2020 - 13:23

Hi Michael,
 
Today i did some further testing and comparing with the Discount function of the Core itself and in my opinoun if the Depending Prices could mimic the way Discount works (like i wrote on 11 May 2020) that all views will work correctly. so is it possible dat Depending Prices could insert the difference as a dynamic kind of Discount object?



#13 Michael Herzog

Michael Herzog

    SmartStore AG

  • Administrators
  • 3497 Beiträge

Geschrieben: 08 June 2020 - 10:02

Hi Nico,

 

I wrote an issue for that and will resolve it as soon as possible. But currently I'm busy finishing Smartstore 4 which will be released very soon.

 

Regards,

Michael


  • stefanmueller gefällt das

Michael Herzog
Smartstore AG


#14 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 09 June 2020 - 07:36

Thanks, looking forward to that. When you have more time could you also invest if it is possible to:

  1. Let Depending Price mimic the way Discount work. (create a dynamic discount object depending of the Depending Price logic?)
  2. Create an WebApi endpoint for the Depending Prices.


#15 TripleNico

TripleNico

    Advanced Member

  • Members
  • PunktPunktPunkt
  • 124 Beiträge

Geschrieben: 09 July 2020 - 09:21

Hi Michael,

 

Any news on this?