# Reliable way to determine if order is POS

**URL:** <https://developer.squareup.com/forums/t/reliable-way-to-determine-if-order-is-pos/23378>\
**Category:** Questions\
**Created:** [July 26, 2025, 12:05pm UTC](https://developer.squareup.com/forums/t/reliable-way-to-determine-if-order-is-pos/23378 "2025-07-26T12:05:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![BarryB](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/barryb/32/2624_2.png) [@BarryB](https://developer.squareup.com/forums/u/BarryB)\
**Post date:** [July 26, 2025, 12:05pm UTC](https://developer.squareup.com/forums/t/reliable-way-to-determine-if-order-is-pos/23378/1 "2025-07-26T12:05:15Z")

</div>

My app looks at orders (by polling by date or via a webhook) and needs to determine whether the order was made through POS or online. order.source does not seem to be set in many circumstances. How do I determine if this was a POS order?

---

<div class="post-metadata">

**Author:** ![Square-Dev-AI](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/square-dev-ai/32/2513_2.png) [@Square-Dev-AI](https://developer.squareup.com/forums/u/Square-Dev-AI)\
**Post date:** [July 26, 2025, 12:05pm UTC](https://developer.squareup.com/forums/t/reliable-way-to-determine-if-order-is-pos/23378/2 "2025-07-26T12:05:21Z")

</div>

👋 I’m Square Dev AI, here to help answer your question!  
Based on the information you’ve provided, the following documentation will help answer your question:

> **[Square Developer Documentation](https://developer.squareup.com/docs/pos-api/how-it-works)**
>
> You can use the Point of Sale API to build custom POS solutions that requires payments, without worrying about hardware integrations or PCI compliance.

> **[Point of Sale API and POS Integration Tools](https://developer.squareup.com/docs/pos-api/what-it-does)**
>
> The Point of Sale API lets mobile applications open the Square Point of Sale application to process in-person payments using Square hardware.

> **Additional Documentation**
>
> [Build on Mobile Web](https://developer.squareup.com/docs/pos-api/build-mobile-web)  
> [Use the Point of Sale API in Offline Mode](https://developer.squareup.com/docs/pos-api/cookbook/offline-mode)  
> [Orders API](https://developer.squareup.com/docs/orders-api/what-it-does)

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.  
Otherwise one of our Developer Advocates will provide additional assistance shortly.

---

<div class="post-metadata">

**Author:** ![Square-Dev-AI](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/square-dev-ai/32/2513_2.png) [@Square-Dev-AI](https://developer.squareup.com/forums/u/Square-Dev-AI)\
**Post date:** [July 28, 2025, 4:28pm UTC](https://developer.squareup.com/forums/t/reliable-way-to-determine-if-order-is-pos/23378/4 "2025-07-28T16:28:36Z")

</div>

To determine if an order was made through the Square Point of Sale (POS) application, you can look at the `Order.source` field. However, as you’ve noted, this field might not always be set. In such cases, you can use the `Payment.application_details.square_product` field associated with the order’s payment. If this field is set to `SQUARE_POS`, it indicates that the order was created through the Square POS application.

Additionally, you can check the `Order.fulfillments` field. Orders created through Square POS might have fulfillment details that are specific to in-person transactions, such as pickup or delivery options that are typically associated with POS orders.

If these fields are not sufficient, you might need to rely on other contextual information or business logic specific to your application to infer the source of the order.

_This answer was reviewed by @Bryan-Square._

---

<div class="post-metadata">

**Author:** ![garry426milner](https://avatars.discourse-cdn.com/v4/letter/g/ce73a5/32.png) [@garry426milner](https://developer.squareup.com/forums/u/garry426milner)\
**Post date:** [August 5, 2025, 9:37am UTC](https://developer.squareup.com/forums/t/reliable-way-to-determine-if-order-is-pos/23378/5 "2025-08-05T09:37:02Z")

</div>

Hello,

How can I reliably determine whether an order was placed through POS or online when is not consistently populated?

Best Regard,  
Garry [mygreatlakes](https://www.mygreatlakes.it.com)

---

<div class="post-metadata">

**Author:** ![Bryan-Square](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/bryan-square/32/38_2.png) [@Bryan-Square](https://developer.squareup.com/forums/u/Bryan-Square)\
**Post date:** [August 5, 2025, 8:06pm UTC](https://developer.squareup.com/forums/t/reliable-way-to-determine-if-order-is-pos/23378/6 "2025-08-05T20:06:29Z")

</div>

You can use the `Payment.application_details.square_product` field associated with the payment from the [Payments API](https://developer.squareup.com/reference/square/payments-api) to determine where a payment was take. 🙂
