Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Edwin 16 posts 96 karma points
    Feb 07, 2017 @ 03:29
    Edwin
    0

    Fulfill button missing

    Hi,

    I'm setting up a merchello installation for a client using the Fast Track implementation and have run into an issue that might be related to the fact that the client does not charge for shipping (they do local deliveries only and do not charge for it).

    As a result I do not have a shipping provider configured so customers skip the Ship Quote page and customers complete checkout with Purchase Order as the only payment option (the client sends the customer an invoice and customer pays by check).

    What they would like to do in the back office is when an order placed, they want to be able to mark the items as shipped when they go make the local delivery. However when viewing unpaid invoices the only options are 'Capture Funds' and 'Manage adjustments'.

    I have a feeling the 'Fulfill' button is missing because the items aren't exactly shippable and are not marked as such.

    Also I noticed that when paying an invoice in full, the inventory of the product ordered isn't updated. I have inventory tracking enabled for the product I'm testing with. I assume this is a result of a configuration setting I missed somewhere?

    Any help or pointers with these two scenarios is greatly appreciated.

    Thanks,

    Edwin

  • Edwin 16 posts 96 karma points
    Feb 07, 2017 @ 04:01
  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Feb 07, 2017 @ 17:56
    Rusty Swayne
    1

    The easiest way is actually to create a shipping method in the FlatRateProvider with a range of values 0 to 9999999 or something with a price of $0.

    This way you get a shipping line item with a FREE amount. The shipping line item has a serialized shipment that is used as the template for the shipment creation that was quoted. This is useful when quoting multiple shipments in a checkout (advanced implementation).

    If you want to skip the checkout phase, save the FREE quote generated from the ship method to the CheckoutManager.Shipping provider and skip rendering the ship method selection view.

    We have a to do to add a FREE over amount shipping provider to the Core (which is actually pretty quick to build - but has not been a priority and keeps getting bumped back) http://issues.merchello.com/youtrack/issue/M-985

  • Edwin 16 posts 96 karma points
    Feb 07, 2017 @ 20:46
    Edwin
    0

    Thanks for the response Rusty.

    Yes, what you mentioned was another scenario I thought of but couldn't figure out how to implement it. I will give this a try.

    Btw, this package is great! I plan on purchasing a gratitude license soon to show my appreciation for your work.

  • Edwin 16 posts 96 karma points
    Feb 07, 2017 @ 21:26
    Edwin
    0

    Ok so I was able to get through checkout with the Free Shipping option configured but the fulfill button is still missing when I pull up the invoice and I think it's because an order isn't being created.

    I set a breakpoint in the hasUnPackagedLineItems() method in merchelo.controllers.js and noticed that $scope.invoice.orders.length is 0.

    Does that mean that this setting isn't working for some reason?

    Or am I missing some other step?

    Thanks,

    Edwin

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Feb 08, 2017 @ 00:06
    Rusty Swayne
    0

    Are all of your products marked as shippable?

  • Edwin 16 posts 96 karma points
    Feb 08, 2017 @ 02:49
    Edwin
    0

    I double checked and I have the "All items are shippable" setting checked and I checked the individual item I checked out with as well and it's marked as shippable. I just now noticed in my previous comment that I forgot to put the xml I added into a code block and as a result it was stripped out.

    I assumed that having this set to true would automatically create an order in addition to the invoice correct?

    <setting alias="AlwaysApproveOrderCreation" value="true" />
    

    I went and paid the invoice and when I did that the "Fulfill" button showed up and I was able to mark it as shipped with no problems.

    I guess what I need is for the "Fulfill" button to display before the invoice is paid. I thought setting the "AlwaysApproveOrderCreation" to true would do that but I guess that isn't the case. Is there a way to make the button show before the invoice is paid?

    It seems similar to what you suggested here -

    https://our.umbraco.org/projects/collaboration/merchello/merchello/81990-capturing-funds-after-delivery

    I was going to make a change in the merchello.controllers.js file to set $scope.showFulfill = true (in the loadInvoice function) but wasn't sure if that was the right thing to do and if so how to get that change to persist when I deploy the code (I tried it once and didn't see my change reflected on the server even when clearing the browser cache).

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Feb 08, 2017 @ 17:24
    Rusty Swayne
    0

    This line generates an order even if an invoice has not been paid.

      <setting alias="AlwaysApproveOrderCreation" value="true" />
    

    I think we need to add a new value in the Merchello.config that will allow for configuring this option. I've added a task for release in 2.5.0 - http://issues.merchello.com/youtrack/issue/M-1286

    I'll make this one a priority since there have been a few requests for this sort of workflow alteration. If you get your solution to work as desired, I'd love to see a pull =) If your just planning on doing a simple view tweak - it'd be great if you post your alteration here or as a gist so I can see what wound up working for you ...

    Caching is usually not an issue on deploys (especially if the application resets). If you have your developer tools open it with the "Disable cache (while DevTools is open)" or equivalent if not using Chrome - you should not have any issues.

  • Edwin 16 posts 96 karma points
    Feb 09, 2017 @ 17:39
    Edwin
    0

    Ok so I took a closer look and it appears that this setting

    <setting alias="AlwaysApproveOrderCreation" value="true" />
    

    isn't creating the order like it should.

    My reasoning is I noticed I don't see a new record in the merchOrder table when the order is placed. I see the new invoice in merchInvoices but I don't see a new order record. I verified that the items are shippable. Should a new record be there when an order is placed?

    If there was a way to get that order record created then I think everything would work fine and there's no need to hack the view which I'm trying to avoid.

    I'm using Fast Track as is and haven't implemented any custom code other than restructuring the views to match the theme of my site.

    I'll see if can do some more debugging and see why the order isn't getting created.

  • Rusty Swayne 1655 posts 4993 karma points c-trib
    Feb 09, 2017 @ 18:53
    Rusty Swayne
    100

    Yep - I found the issue today and just merged the fix. http://issues.merchello.com/youtrack/issue/M-1286

  • Edwin 16 posts 96 karma points
    Feb 09, 2017 @ 19:15
    Edwin
    0

    Ah ok thanks. In the meantime until the fix is released I'll instruct the client to just add a note to the invoice to indicate it's been delivered.

  • Edwin 16 posts 96 karma points
    Feb 21, 2017 @ 02:04
    Edwin
    0

    Hi Rusty,

    I was thinking, in the mean time is it feasible for me to just download the source code for version 2.4.0 and include the fix and build the source and update the merchello.core DLL with that? Or should I just make a custom Payment Gateway class in the current version and include the fix there?

    Thanks,

    Edwin

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies