Hi.
This item B1001, you can see that in the seach-catalog-item it appears as only in 2 locations, which is correct. The ID is 6QHOKNHMXRGXIBIIR3UHRTZJ`. Please notice that in the search catalog item does not appear on the location
L3Q8W2SVJPGN2```
On the oposite, when i look for the batch-retrieve i found that the item appears on a location L3Q8W2SVJPGN2
that does not appear on the seach-catalog-items. The quantity is 0 but the iteam appears in there.
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:
Additional Documentation
Monitor Sold-out Item Variations or Modifiers
Build and Manage a Simple Inventory
Retrieve Orders
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.
The discrepancy you’re seeing is due to the difference in how the SearchCatalogItems and BatchRetrieveInventoryCounts endpoints work.
The SearchCatalogItems endpoint returns catalog items or item variations based on the query filters you provide and whats available to be sold at that location. It doesn’t necessarily reflect the inventory status of the items at specific locations. This is because you can have inventory of items that aren’t sold at a location but that inventory can later be transferred to a location where it’s sold. 
Thank you for your answer.
The problem is that i dont have ANY items in that location. The problem as well is also that this item (and another 2) appear on all locations.
I do not think that i have items not for sale.
What do you mean by this?
The problem as well is also that this item (and another 2) appear on all locations.
Catalog objects are a global value in the catalog. They’re available at every location but configured to sell at all or specific locations. Are you looking at a response from the Catalog API or Inventory API? 
Hi.
You mentioned that catalog objects are global value in the catalog. But I dont have this problem with all the objects, just with 3 objects of the over 50 items that I have. Why does it happen to only these 3 items compared to every other item. From what i see they are configured equaly in Square.
This is how i use the APIs and it works for all the items, except for the 3 items that i am mentioning. It may be a configuration issue on my side in the item, but i dont get to know what is it.
- The Inventory API is used to get the current stock quantities for items at a specific location.
- The Catalog API is used to get the item names and details, since the Inventory API only returns IDs and quantities.
This is combined in the get_inventory
method where it:
- Gets quantities from Inventory API
- Gets item names from Catalog API
- Creates a mapping between IDs and names
- Returns a complete list with both quantities and readable names
This is necessary because Square’s Inventory API doesn’t include item names/details in its response, only IDs and quantities. The Catalog API provides the human-readable information needed for display.
At one time were they available at the location that they they’re not available now? 
No. Look, it has been only on 2 locations, Arlinton and Phoenix.
I am attaching here the history of the 3 items where i am having issues.