I would like from API to fetch all orders where staff from Shopify POS pressed “Mark unpaid”.
I have some work-arounds that work, but is there a way to fetch specifically only orders where staff pressed the top-right “Mark unpaid” link?
I would like from API to fetch all orders where staff from Shopify POS pressed “Mark unpaid”.
I have some work-arounds that work, but is there a way to fetch specifically only orders where staff pressed the top-right “Mark unpaid” link?
Hey @Kasper,
I tested this out by creating an order in POS and pressing that “Mark unpaid” button in the top right. When I checked the order details afterward, it showed up as payment pending with Payment due when invoice is sent terms.
Based on that, this query should capture events where a pos order has been marked as unpaid. There isn’t a specific filter for that button, so there may still be a bit of nuance:
query POSOrdersMarkedUnpaid {
orders(first: 10, query: "financial_status:pending source_name:pos") {
edges {
node {
id
name
displayFinancialStatus
paymentTerms {
paymentTermsName
paymentTermsType
}
}
}
}
}
The combination of pending financial status and pos source is quite specific to that “Mark unpaid” action.
When I tested other scenarios like partial payments, those orders got marked as PARTIALLY_PAID instead of PENDING, so this query filters out most false positives. Regular POS orders that go through normal payment flows end up with PAID status, and payment failures typically prevent order creation entirely rather than leaving pending orders behind.
Hope that helps
Hey @Kasper, did the above help you at all?