Hi all,
I’m relatively new to callin.io and struggling to figure out why a scenario I’ve built is not triggering.
I’m including a screenshot of the scenario below. For now I’m just focusing on the top filter as highlighted (called “Tarpaflex products” in the screenshot).
The aim is as follows:
- Shopify module watches for new orders
- Router splits the flow down 4 paths
- “Tarpaflex products” filter checks to see if Shopify SKU matches with a predefined list of SKUs
- If there is a match then a task is created in Asana and a purchase order raised in Xero
- If there is no match via the first path, then the router moves to the second path (with filter “M&N Canvas OTS Products”)
- If there is no match via the second path then the router moves to the third path (with filter “PGS Supplies OTS Products”
- Note the fourth path is disabled as it’s only there for testing.
- This scenario runs once an hour, so it is likely there are approx 20 new orders each time the scenario runs, and it’s likely approx 5 of these orders will match one of the three paths described above. As such, we’d expect 5 new tasks in Asana, and 5 new purchase orders in Xero.
This isn’t happening. Here’s more detail of all the settings…
First we have our Shopify module which is looking out for new orders. Status, Financial Status and Fulfilment Status are all currently set to “Any” to ensure that absolutely ALL orders are coming through.
We then have a router with 3 paths stemming from it. There are filters on each path. Here’s the filter on the first path, called “Tarpaflex products”
As you’ll see, we’re filtering based on the Shopify line item SKU, as long as the SKU contains a certain text such as:
- TRPBSD
- or TRPWMD
- or TRPGWS
- And so on…
And this is where things seem to be going wrong. Here’s a screenshot of an order from our Shopify store from yesterday…
The SKU contains TRPGWS. As far as I can tell, this order SHOULD have been picked up and filtered via the “Tarpaflex products” path. This hasn’t happened. Nothing has been filtered, no task has been added to Asana and no purchase order set up in Xero.
There are no errors in callin.io history. The filter simply isn’t detecting the order.
I’m not sure if the router might be causing issues here? I’ve previously had issues with routers not functioning as I expected them to.
Just wondering if anyone has any suggestions here?
EDIT
I’ve tried adjusting the filters on the “Tarpaflex products” path to “Text operators: Starts with” rather than contains and updated the text to B-TRPGWS to match exactly with the start of the Shopify SKU. Really not sure this will help though.
Hi,
Are there multiple line items for the product in question? Please try using the following expression and see if it resolves the issue:
join(map(LineItems;sku);,)
Additionally, in your filter, please set the condition to check if the preceding value contains 'B-TRPGWS'.
Hi Runcorn, thanks for the reply.
Orders CAN contain multiple line items, yes, but in this specific instance, there was only one line item on the order.
Thank you for the recommendation, though. I’ll add this as I assume it will be helpful if there are multiple line items on future orders. However, I’m uncertain if this addresses the current issue, given that this particular order only has one line item?
Could you please share a screenshot showing how the SKU appears within the Shopify Line Items?
Hello!
Sure, here’s a screenshot of an example order from callin.io (the SKU on this order will not match any filter)
And here’s a screenshot of the same order in Shopify…
I have a question about this actually. In your example above, you have typed “sku” as text. Is this correct, as below…
Or should the SKU variable be from Shopify? Like this…
Thanks again for your input
That should be text, so it will be SKU and the Line Items Mapping is fine. So, the first screenshot looks good.
Thanks, I'll proceed with some tests based on this information.
Unfortunately, it's still not functioning. I just processed a test order with SKU B-TRPGWS-3.5X3.5-1, and the filter did not capture it.
I'm a bit perplexed as to why, each time this scenario executes, Shopify continues to select the same operation (an order from June 19th). We handle 30-40 orders daily, so I'm unsure why it keeps reverting to this specific order. Please see the screengrab below.
I also just attempted to increase the limit on the Shopify module to 10, but this did not appear to resolve the issue.
I'm still at a loss. If anyone has any suggestions, they would be greatly appreciated!
To resolve this, you can right-click on 'Watch Modules', then select 'Choose Where to Start'. Set this to 'now' and save the scenario.
After doing this, please check if it resolves the filter issue you're encountering.
Hello Runcorn, thank you very much for your assistance. I'm still in the testing phase, but it appears to be functioning.
However, I've encountered a new issue. When I attempt to create a purchase order in Xero, I receive the error: "A validation exception occurred (10, ValidationException) The UnitAmount field is mandatory."
I understand the error message. The Unit Amount has been deliberately left blank because the cost data (the price we pay to acquire the item from the supplier) is stored within Xero associated with the respective SKU.
Our cost price information is not currently held in Shopify, only in Xero.
Is there a workaround for this?
One potential solution could be to transfer our cost prices to Shopify by adding them to the 'Cost per item' field, as illustrated here:
The issue is that I cannot locate the 'Cost per item' variable within the Shopify API.
Do you have any suggestions on how to proceed?
Regarding the cost, I think a practical approach would be to retrieve your items from Xero prior to generating your invoice. Then, you can map the item lookup results directly into your invoice.