> For the complete documentation index, see [llms.txt](https://docs.flowretail.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowretail.com/docs/developers/api-documentation/order/list-inter-store-purchase-availability-for-a-product.md).

# List inter-store purchase availability for a product

List other stores' incoming purchase-order lines for a product that a buyer store can reserve against (inter-store trade). Usable both from a sales order (POS) and from purchasing. Only stores represented by a supplier at this tenant are included, and only lines with available quantity. Optionally restrict to specific suppliers (purchasing mode, where a supplier is already chosen) and to lines with at least a given quantity available.

Required permissions: SALES\_ORDER,PURCHASE\_ORDER

```json
{"openapi":"3.0.2","info":{"title":"Flow Retail API version 2","version":"2.0.0"},"tags":[{"name":"Order","description":"Order"}],"servers":[{"description":"Flow Retail Production","url":"https://api.flowretail.com/v2"},{"description":"Flow Retail Stage","url":"https://api.stage.flowretail.com/v2"}],"security":[{"accessToken":[]},{"authToken":[]},{"integrationToken":[]}],"components":{"securitySchemes":{"accessToken":{"description":"Access token recevied after user login with a deviceToken","scheme":"bearer","type":"http"},"authToken":{"description":"Token received from the auth service","scheme":"bearer","type":"http"},"integrationToken":{"scheme":"bearer","type":"http"}},"requestBodies":{"InterStorePurchaseSearchRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterStorePurchaseSearchSchema"}}}}},"schemas":{"InterStorePurchaseSearchSchema":{"title":"InterStorePurchaseSearchSchema","type":"object","description":"Search other stores' incoming purchase-order lines a buyer store can reserve against\n(inter-store trade). Usable from a sales order (POS) and from purchasing.","required":["productUid","storeUid"],"properties":{"productUid":{"$ref":"#/components/schemas/UID"},"storeUid":{"type":"string","pattern":"^[A-Za-z0-9-_]+","description":"The buyer store doing the lookup. Its own incoming lines are excluded."},"quantity":{"type":"integer","description":"If set, only lines with at least this quantity available are returned. In hundredths (100 = 1 unit)."},"supplierUids":{"type":"array","description":"If set, restrict to seller stores represented by these suppliers (purchasing mode, where a supplier is already chosen).","items":{"$ref":"#/components/schemas/UID"}}}},"UID":{"title":"UID","type":"string","pattern":"^[A-Za-z0-9-_]+"},"InterStorePurchaseResponseSchema":{"title":"InterStorePurchaseResponseSchema","type":"object","description":"Another store's incoming purchase-order line that a buyer-store sales order can\nreserve against (inter-store trade). All quantity fields on this schema are in\nhundredths (100 = 1 unit), matching the purchase-order quantity convention.","required":["sellerStoreUid","sellerStoreName","sellerPurchaseOrderUid","sellerPurchaseOrderNumber","sellerPurchaseOrderItemUid","status","productUid","productName","sku","quantityOrdered","quantityReceived","quantityReserved","quantityAvailable","unitPrice","note","receivements"],"properties":{"sellerStoreUid":{"$ref":"#/components/schemas/UID"},"sellerStoreName":{"type":"string"},"sellerPurchaseOrderUid":{"$ref":"#/components/schemas/UID"},"sellerPurchaseOrderNumber":{"type":"string"},"sellerPurchaseOrderItemUid":{"$ref":"#/components/schemas/UID"},"status":{"$ref":"#/components/schemas/PurchaseOrderStatusENUM"},"productUid":{"$ref":"#/components/schemas/UID"},"productName":{"type":"string"},"sku":{"type":"string"},"quantityOrdered":{"type":"integer","description":"In hundredths (100 = 1 unit)."},"quantityReceived":{"type":"integer","description":"Already received on the seller line (relevant for PARTIALLY_RECEIVED), in hundredths (100 = 1 unit)."},"quantityReserved":{"type":"integer","description":"In hundredths (100 = 1 unit)."},"quantityAvailable":{"type":"integer","description":"Ordered − received − reserved, in hundredths (100 = 1 unit)."},"unitPrice":{"type":"integer","description":"The seller line's unit price incl. inter-store markup in minor units — the buyer store's cost of goods."},"note":{"type":"string","description":"The note the selling store wrote on its own purchase order line. Empty when there is none; the field is always present. It is the seller's own text, shown here so the buying store can see what was said about the goods it is reserving from."},"expectedDelivery":{"type":"string","format":"date-time"},"receivements":{"type":"array","description":"Every receivement on the seller line, whichever status it has — the shipments behind quantityReceived plus the ones still on their way. Read each entry's itemStatus to tell the two apart. Empty when the seller has registered none yet.","items":{"$ref":"#/components/schemas/InterStorePurchaseReceivementSchema"}}}},"PurchaseOrderStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| NEW | Created, but not sent to supplier yet.|\n| SENT_TO_SUPPLIER | Sent to supplier.|\n| CANCELLED_BY_SUPPLIER | The purchase order have been cancelled by the supplier. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| IN_TRANSIT | The goods are in transit. This status is only applicable for suppliers who are integrated with FlowRetail.|\n| PARTIALLY_RECEIVED | Not all goods have been received yet.|\n| RECEIVED | All goods have been received.|\n| CLOSED | No longer able to process purchase order.|\n| CANCELLED_BY_SUPPLIER | Purchase was cancelled by supplier|","enum":["NEW","PARTIALLY_RECEIVED","RECEIVED","SENT_TO_SUPPLIER","IN_TRANSIT","CLOSED","CANCELLED_BY_SUPPLIER"],"title":"PurchaseOrderStatusENUM","type":"string"},"InterStorePurchaseReceivementSchema":{"title":"InterStorePurchaseReceivementSchema","type":"object","description":"One receivement on the seller store's purchase order line — a single shipment from the\nseller's own supplier. A line can carry several at once, one per shipment, so quantity\nshows how the incoming amount is split rather than only its sum.\n\nTwo statuses, because they are set independently and answer different questions.\n`status` is the receivement document's own: what kind of shipment this is. `itemStatus`\nis this line's, and the one `quantityReceived` on the seller line is summed from — so\nthat is the one to read for \"has this quantity arrived\". They usually agree; nothing\nforces them to.","required":["status","itemStatus","expectedArrival","expectedDispatch","receivedAt","supplierOrderReference","quantity"],"properties":{"status":{"allOf":[{"$ref":"#/components/schemas/ReceivementStatusENUM"}],"description":"The receivement document's status. `CONFIRMED` means the shipment is earmarked and on its way; `RECEIVED` that the document has been receipted. `PENDING` and `UPDATING` mean the seller store is still registering it, so it may still change or be deleted — such a receivement is included here anyway, because its lines can already count towards the seller line's `quantityReceived`."},"itemStatus":{"allOf":[{"$ref":"#/components/schemas/ReceivementItemStatusENUM"}],"description":"This shipment line's own status. Read this, not `status`, to tell what has arrived from what is still on its way: `quantityReceived` on the seller line is the sum of the lines that are `RECEIVED`."},"expectedArrival":{"type":"string","format":"date-time","nullable":true,"description":"ETA. Null when nobody has set one — always the case for a receivement core created from an inter-store delivery, since core does not know when the transport lands."},"expectedDispatch":{"type":"string","format":"date-time","nullable":true,"description":"ETD. Null when the seller has not set one."},"receivedAt":{"type":"string","format":"date-time","nullable":true,"description":"When the shipment actually landed at the seller store. Null until then."},"supplierOrderReference":{"type":"string","description":"The seller's supplier order this shipment belongs to."},"quantity":{"type":"integer","description":"The quantity in this shipment, in hundredths (100 = 1 unit)."}}},"ReceivementStatusENUM":{"description":"|ENUM      | Description |\n| ---------------- | ------------ |\n| RECEIVED | Received|\n| PENDING | Put aside, not finished|\n| UPDATING | Updating in progress|\n| CONFIRMED | Confirmed |","enum":["RECEIVED","PENDING","UPDATING","CONFIRMED"],"title":"ReceivementStatusENUM","type":"string"},"ReceivementItemStatusENUM":{"title":"ReceivementItemStatusENUM","type":"string","description":"The status of a single line on a receivement, which is set independently of the\nreceivement's own status. `RECEIVED` is what a purchase order line's `quantityReceived`\nis summed from, so this — not the receivement status — is what says whether a given\nquantity has actually been counted in.","enum":["PENDING","UPDATING","RECEIVED"]}},"responses":{"InterStorePurchaseListResponse":{"description":"Example response","content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/InterStorePurchaseResponseSchema"}}}}}}}}},"paths":{"/tenants/{tenantUid}/inter-store-purchases":{"post":{"description":"List other stores' incoming purchase-order lines for a product that a buyer store can\nreserve against (inter-store trade). Usable both from a sales order (POS) and from\npurchasing. Only stores represented by a supplier at this tenant are included, and only\nlines with available quantity. Optionally restrict to specific suppliers (purchasing\nmode, where a supplier is already chosen) and to lines with at least a given quantity\navailable.\n\nRequired permissions: SALES_ORDER,PURCHASE_ORDER","operationId":"post-tenants-inter-store-purchases","requestBody":{"$ref":"#/components/requestBodies/InterStorePurchaseSearchRequest"},"responses":{"200":{"$ref":"#/components/responses/InterStorePurchaseListResponse"}},"summary":"List inter-store purchase availability for a product","tags":["Order"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flowretail.com/docs/developers/api-documentation/order/list-inter-store-purchase-availability-for-a-product.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
