Skip to main content
Question

Unable to Set MRP Source Warehouse (AMSourceSiteID) Through ItemWarehouse Endpoint

  • October 8, 2026
  • 0 replies
  • 12 views

 

We are using the Acumatica 2026 R1 contract-based REST API (25.200.001) to create Stock Items and configure warehouse-specific Inventory Planning settings.

Our goal is to create a stock item with two warehouses configured as follows:

Warehouse Source Source Warehouse
A001 Manufacturing  
B004 Transfer A001

The stock item uses the MRP planning method.

Background

Initially, we attempted to create both warehouse records through StockItem.WarehouseDetails. However, the replenishment source values were being inherited or overwritten, resulting in both warehouses having the same source.

We subsequently moved to the dedicated ItemWarehouse REST entity (IN204500 / INItemSiteMaint), using separate PUT requests for each warehouse.

We also determined that, for MRP items, the standard ReplenishmentSource and ReplenishmentWarehouse fields do not appear to control the Inventory Planning settings correctly. Instead, the manufacturing-specific fields and their individual override flags must be used.

Fields identified through Element Inspector

On Item Warehouse Details (IN204500) → Inventory Planning, Element Inspector identifies the following fields:

UI Field DAC Field
Source AMReplenishmentSource
Source Override AMReplenishmentSourceOverride
Source Warehouse AMSourceSiteID
Source Warehouse Override AMSourceSiteIDOverride

All four belong to the INItemSite DAC and the inventoryPlanningSettings view, with INItemSiteMaint as the business logic.

What works

We extended our custom ItemWarehouse endpoint and successfully exposed the following fields:

  • AMReplenishmentSource

  • AMReplenishmentSourceOverride

  • AMSourceSiteIDOverride

Using REST, we can successfully enable the Source Override checkbox. We verified in the UI that the checkbox remains selected after saving.

We can also successfully update AMReplenishmentSource to Manufacturing through REST, and the change is reflected in IN204500.

The problem

When attempting to set warehouse B004 to Transfer, Acumatica returns:

"Replenishment Warehouse cannot be empty."

For example:

{
"InventoryID": { "value": "TESTITEM" },
"WarehouseID": { "value": "B004" },
"AMReplenishmentSourceOverride": { "value": true },
"AMSourceSiteIDOverride": { "value": true },
"ReplenishmentWarehouse": { "value": "A001" },
"AMReplenishmentSource": { "value": "Transfer" }
}

The request fails with the same validation error.

We have also tried:

  • Using "T" instead of "Transfer".

  • Enabling the override checkboxes in separate PUT requests before setting the source.

  • Setting ReplenishmentWarehouse before AMReplenishmentSource.

  • Using the available Source Warehouse-related mappings in the endpoint editor, including Source Warehouse, Source Warehouse → Warehouse ID, and Source Warehouse → Description.

None of these approaches has resolved the validation error. Element Inspector confirms that the actual Source Warehouse control uses:

Data Class:     INItemSite
Data Field: AMSourceSiteID
View Name: inventoryPlanningSettings
Business Logic: INItemSiteMaint

However, when extending the ItemWarehouse entity through Web Service Endpoints, we cannot find AMSourceSiteID as a directly selectable mapped field.

The available Source Warehouse mappings do not appear to populate the value that Acumatica validates when AMReplenishmentSource is changed to Transfer. We verified that the desired configuration works correctly when entered manually through Item Warehouse Details (IN204500).

For B004, we can select:

Source Override:           Checked
Source: Transfer

Source Warehouse Override: Checked
Source Warehouse: A001

After saving, a REST GET using StockItem?$expand=WarehouseDetails correctly returns:

{
"WarehouseID": {
"value": "B004"
},
"ReplenishmentSource": {
"value": "Transfer"
},
"ReplenishmentWarehouse": {
"value": "A001"
}
}

This confirms that the underlying INItemSite record can store the desired configuration and that the REST API can retrieve it correctly.

The difficulty appears to be specifically with writing the MRP Source Warehouse value through the contract-based REST API.

Questions

  1. How should INItemSite.AMSourceSiteID be exposed through a custom ItemWarehouse REST endpoint in Acumatica 2026 R1? Is there a specific mapped object or field that corresponds to this DAC field?

  2. Is there a supported way to set AMSourceSiteID and AMReplenishmentSource = Transfer together through a single ItemWarehouse PUT, considering that Acumatica validates the Source Warehouse when Transfer is selected?

  3. If AMSourceSiteID cannot be exposed through the standard endpoint editor, is there another supported contract-based REST approach for setting these MRP Inventory Planning values, or would an Import Scenario or graph customization be required?

Ideally, we would like to create the Stock Item and configure its warehouse-specific MRP settings entirely through REST, without requiring manual updates in IN204500.

Any guidance on the correct endpoint mapping or an example of successfully setting MRP Source = Transfer with a Source Warehouse through REST would be greatly appreciated.

Thank you!