# Using Official Square PHP SDK v42.0 - New catalog items are missing online fulfillment methods which is why online items are showing "Not Available"

**URL:** <https://developer.squareup.com/forums/t/using-official-square-php-sdk-v42-0-new-catalog-items-are-missing-online-fulfillment-methods-which-is-why-online-items-are-showing-not-available/25967>\
**Category:** Questions\
**Tags:** catalog-api, sdk\
**Created:** [April 30, 2026, 10:34pm UTC](https://developer.squareup.com/forums/t/using-official-square-php-sdk-v42-0-new-catalog-items-are-missing-online-fulfillment-methods-which-is-why-online-items-are-showing-not-available/25967 "2026-04-30T22:34:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![basil\_software](https://avatars.discourse-cdn.com/v4/letter/b/48db29/32.png) [@basil\_software](https://developer.squareup.com/forums/u/basil_software)\
**Post date:** [April 30, 2026, 10:34pm UTC](https://developer.squareup.com/forums/t/using-official-square-php-sdk-v42-0-new-catalog-items-are-missing-online-fulfillment-methods-which-is-why-online-items-are-showing-not-available/25967/1 "2026-04-30T22:34:54Z")

</div>

I generated this via AI after I exercised several items being uploading using the PHP SDK, Square code to upload data. I can reproduce this bug at will.

# Summary

When creating catalog items via the BatchUpsertCatalogObjects API using the official Square PHP SDK v45.0.0, newly created items are missing online fulfillment methods. This causes all API-created items to display as “Not Available” on Square Online despite having inventory and appearing correctly in the Square Dashboard.

# Environment

- **SDK:** Official Square PHP SDK v45.0.0.20260122 (`square/square`)

- **PHP Version:** 8.1+

- **API Version:** 2026-04-26

- **Endpoint:** `POST /v2/catalog/batch-upsert`

# Steps to Reproduce

1. Create a new catalog item with variations using `BatchUpsertCatalogObjects`

2. Set `presentAtLocationIds` to your physical store location(s)

3. Set `sellable: true`, `stockable: true`, `trackInventory: true` on variations

4. Add inventory quantity via the Inventory API

5. View item on Square Online — shows “Not Available”

# Impact

This issue affects any merchant using the Catalog API to sync inventory from external systems (POS integrations, inventory management systems, etc.). Every newly created item requires manual configuration in the Square Dashboard before it becomes purchasable online, completely defeating the purpose of automated catalog synchronization.

For merchants with large catalogs syncing hundreds or thousands of items, this makes the API unusable for e-commerce workflows.

# Questions

1. Is there an API to list available channels or fulfillment methods for a merchant?

2. Is there a field to specify online fulfillment methods (shipping, local delivery, pickup) during item creation?

3. Why does the Dashboard UI default to including online availability, but the API does not?

4. Is there a bulk operation to enable online fulfillment for existing catalog items created via API?

# Workaround Needed

Currently there is no known workaround via the API. All items must be manually edited in the Square Dashboard to enable online fulfillment options, which is not scalable.

So this is Square generated code in the SDK failing to create the correct data on an item so that it’s automatically set to be available online.

This affects far more customers than just those that use my Square Integration.

---

<div class="post-metadata">

**Author:** ![josh-square](https://avatars.discourse-cdn.com/v4/letter/j/77aa72/32.png) [@josh-square](https://developer.squareup.com/forums/u/josh-square)\
**Post date:** [May 1, 2026, 9:30pm UTC](https://developer.squareup.com/forums/t/using-official-square-php-sdk-v42-0-new-catalog-items-are-missing-online-fulfillment-methods-which-is-why-online-items-are-showing-not-available/25967/2 "2026-05-01T21:30:08Z")

</div>

Hey @basil_software! Thanks for sharing your details here. I’ll keep these on hand for reference, but for the sake of consolidating the conversation I’ll reply over in the other thread:

> [@Default fulfillment methods not being applied to new inventory items in Square Online](https://developer.squareup.com/forums/t/default-fulfillment-methods-not-being-applied-to-new-inventory-items-in-square-online/25877/15):
>
> Hey folks, thanks for the additional info here — sorry, I didn’t realize you were creating these items via API specifically! I’m working on reproducing this on my own account. Just to confirm, is the online fulfillment method the only thing that’s being updated when you’re making these items available manually, or are there other updates on top of that (e.g. menus and categories)?
