warehouseTransfersCreate
Creates a draft transfer that moves products from one of the company’s buildings to another, and returns it.
Business Rules
- Transfers must be enabled for the company
- Both buildings must belong to the company and differ
destinationLocationId, when given, must be an active location in the destination building- One line per product. Each product must belong to the company; quantities are greater than zero, in the product’s unit of measure
- Each line sends
quantityoramount.amountmay have decimal places only for products stored in a finer unit, up to that unit’s decimal places - Without
transferNumber, the next number in the company is used (TRF-YYYY-####). A number already used in the company is refused - Spaces before and after
transferNumberare removed before it is checked and stored - The supply chain module is not required
- Costs are amounts in the company’s currency
Error Scenarios
- “Transfers are not enabled for this company”
- “Origin building not found.” or “Destination building not found.”
- A message naming the SKU when a product appears twice or a quantity has too many decimal places
- “Transfer number TRF-2026-0001 is already used.”
Permissions Required
warehouse:create_transfer
warehouseTransfersCreate(
input: WarehouseTransfersCreateInput!
): WarehouseTransfer!
Arguments
warehouseTransfersCreate.input ● WarehouseTransfersCreateInput! non-null input common
Parameters for WarehouseTransfersCreate
Type
WarehouseTransfer object inventory
A movement of the company’s own inventory from one of its buildings to another.
Allocating holds the units at the origin. Shipping takes them out of the origin’s stock and counts them as incoming at the destination. Receiving adds them to the destination’s stock. Marking the transfer Received writes off the units not received: they stop counting as incoming.