Hold for pickup?

Developer
Da United States
Membro dal giu 2017

Hi Tim,

Our customer wants to have a "hold for pickup" option, and to not charge a fee for shipping. We are using LiteCart 2.0.1
Is this [i]add-on[/i] the right tool for the job?

thanks!
Paul

tim
Founder
Da Sweden
Membro dal mag 2013
tim

(Thread split as hijacked another thread)
Yes I think so. I mean that's what it does.

Developer
Da United States
Membro dal giu 2017

Thanks, Tim -- also, to confirm, this add-on will work fine with the v2 LiteCart? 
The version says 1.3+ but to ask you about compatibility with later versions.

tim
Founder
Da Sweden
Membro dal mag 2013
tim

Yes, the LiteCart v1 shipping and payment modules are compatible with V2. :)

Developer
Da United States
Membro dal giu 2017

Hi Tim,
This hold-for-pickup (HFP) plugin is working great with v2, thanks -- one taxation issue has surfaced, though...
If a customer selects "hold for pickup", they are not getting charged tax. this is incorrect for us: if anyone picks up or delivers to our state, they must pay the state tax.  Instead, the HFP plugin is seeing "there's no shipping set, so bypass any tax"  because our Tax Policy has to be based on "Shipping" not "Payment/Billing" address.  (Again, we don't collect from any other State than ours; thus, Shipping is the driver variable.)

So... our development ask is:  Can HFP be set to trigger a specific Tax policy?

Tax Policy: Maine 5.5%
Hold for Pickup: choose which Tax Policy applies.

We can pay for this feature if needed!
See UI mockup. 

Thanks!

tim
Founder
Da Sweden
Membro dal mag 2013
tim

I am confused. The module does not set any fee or tax wither for the shipping or payment option. Are you saying that you want to clear any tax of the cart items upon the customer selecting Hold For Pickup for shipping method?

Developer
Da United States
Membro dal giu 2017

Not exactly: the customer selecting [i]Hold For Pickup[/i] [b]needs[/b] to get charged our state tax. 
The "glitch" exists for us because our tax policies are set on Shipping address; with the HFP plugin, there is no shipping address, thus, no tax policy gets triggered. So customers are incorrectly not paying tax.

In my mockup above, it shows a new widget to apply a tax policy to the Hold-For-Pickup module.

tim
Founder
Da Sweden
Membro dal mag 2013
tim

You want to charge your state tax for what? The cart items? A fee for the choice of Pickup?

If no separate shipping address is provided, LiteCart uses the billing address for shipping. And so for your tax calculation.

Developer
Da United States
Membro dal giu 2017

We want to charge the state tax for the [b]Cart items [/b]per usual[b].[/b] 

[i]> If no separate shipping address is provided, LiteCart uses the billing address for shipping. And so for your tax calculation.[/i]

I saw that, true, but that is the crux of the issue for us: we need LiteCart to continue to charge tax only on the shipping address, due to our set Tax Rate Policy... and since [b]HFP is in effect "shipping to [u]our[/u] state" [/b] we need that to trigger/apply the same Tax Rate policy. 

Hence, my GUI mockup shows how a Tax Rate can be applied to the HFP orders. 

As you note, the fallback is to billing address... we don't/can't charge tax on the billing because they may be out of state. hence, our Tax Rates are tagged to a geoZone of our state. 

So if they ship to our state, they must pay tax. HFP is like shipping to our state... to our address. Make sense?

tim
Founder
Da Sweden
Membro dal mag 2013
tim

[quote]So if they ship to our state, they must pay tax. HFP is like shipping to our state... to our address. Make sense?[/quote]

That's the sentence that clear this all for me. Lol

The one way to do this without modifying the core is to have the module use the internal fee mechanism. That way any amount set by the module will be added to the order but adding tax to the fee cost. But it's not gonna be pretty in the order summary.

This is not a problem I have heard of before as merchants usually limit the module to geo zone (let's say your own state) so it is only displayed as an option if the customer is in that same geo zone.

Let's look at the process chain:

  1. Cart is populated
  2. Shipping modules are processed
  3. Payment modules are processed
  4. Order Total modules are processed
  5. Order object is created based on the result of above.
Developer
Da United States
Membro dal giu 2017

I'm glad we reached mutual understanding :-)  True, this customer is unique, in that [i]out-of-state[/i] buyers will often check "hold for pickup" because they are traveling to the summer program [u]in[/u] our state. Thus, they have to be taxed as "in-state" at p.o.s. 

I hear your proposal... hmm. I think it would be more ideal to do add a new feature ("Apply Tax Rate") to this HFP module, don't you think? That way it is supporting a real-world use case that is consistent with the system's overall design.   

If we "hijack" another tool of the system -- in this case the "internal fee" mechanism -- I see two problems arise: 
You are referring to this module, right? https://www.litecart.net/addons/203/handling-fee

(1) it won't be as logical/understandable to the admins (versus my GUI suggestion) since it's not about taxes; feels kludgy.
(2) the accurate tax $amount (as required by state government) would not be calculated on all possible combos of cart $totals. Because the handling fee is not a percent (like 5.5% which is what we need).... No flat fee $amount would cover all possible $totals. 
(3) if it's not understandable to the buyer, they will call to question it or complain. [i](e.g. What is this new fee? we've never paid that before!?)[/i]

So I don't think the client can accept this route.

I would imagine this is a couple hours to code; do you want my programmer to try to do it and submit via your repo? I'd prefer if you did it, but I understand if you don't have the time. 

thanks!
Paul

tim
Founder
Da Sweden
Membro dal mag 2013
tim

How about an order total module?
You can detect the choice of shipping with it and return an amount of tax that is added to the order tax.

Not much of a wiki artice but here is a simple example:
[url=https://wiki.litecart.net/doku.php?id=how_to_create_an_order_total_module]https://wiki.litecart.net/doku.php?id=how_to_create_an_order_total_module[/url]

Check shipping in $GLOBALS['shipping']->selected.
Cycle through the products in cart::$items.
Calculate tax with tax::get_tax().
Return the total tax in 'tax' => 0.00 and make sure 'calculate' is set to true when returning.

Other than that I suggest a vqmod.

Developer
Da United States
Membro dal giu 2017

Hi Tim,
We're going with your suggestion, to make a new "order total module" -- it will do this:

[quote]add a Tax Rate to the "Hold for Pickup" module if present[/quote]

We had a question:

Do all the [b]Order Total[/b] modules get processed at checkout?  [likely yes?]
but in what priority/sequence?

thanks!

tim
Founder
Da Sweden
Membro dal mag 2013
tim

Yes all order total modules are processed in the order/checkout using the method process(). The priority is determined by the value priority (ascending) in each module setting.

Tu
This website uses no cookies and no third party tracking technology. We think we can do better than others and really think about your privacy.