> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Oracle SCM

**Authentication:** OAuth or basic authentication. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* List purchase orders pending approval longer than 5 days.
* Pull inventory levels at the LA warehouse for SKUs below reorder point.
* Find shipments delayed more than 3 days from their expected arrival.

## Available Tools

#### list_draft_purchase_orders

List draft purchase orders from Oracle SCM. Returns paginated list of POs in draft/incomplete status. Use limit/offse...

#### get_draft_purchase_order

Get a single draft purchase order by POHeaderId. Returns full details including supplier, lines, and amounts. Use lis...

#### create_draft_purchase_order

Create a new draft purchase order. Requires procurement_bu and supplier name. The PO is created in INCOMPLETE status ...

#### update_draft_purchase_order

Update a draft purchase order. Only POs in INCOMPLETE status can be updated. Use list_draft_purchase_orders to find v...

#### delete_draft_purchase_order

Delete a draft purchase order permanently. Only POs in INCOMPLETE status can be deleted. This action cannot be undone.

#### submit_draft_purchase_order

Submit a draft purchase order for approval. The PO must be in INCOMPLETE status with all required fields populated. U...

#### list_inventory_organizations

List inventory organizations from Oracle SCM. Returns paginated list with organization code, name, status, and locati...

#### get_inventory_organization

Get a single inventory organization by OrganizationId. Returns full details including code, name, status, location, a...

#### create_inventory_organization

Create a new inventory organization in Oracle SCM. Requires organization_code and organization_name. Use list_invento...

#### update_inventory_organization

Update an existing inventory organization. Use list_inventory_organizations to find valid IDs.

#### list_purchase_orders

List purchase orders from Oracle SCM. Returns paginated list with order number, status, supplier, amounts, and dates....

#### get_purchase_order

Get a single purchase order by POHeaderId. Returns full PO details including lines summary, supplier, amounts, and st...

#### get_purchase_order_lines

Get line items for a purchase order. Returns item details, quantities, prices, and status for each line. Use list_pur...

#### close_purchase_order

Close a purchase order. Only OPEN purchase orders can be closed. Use list_purchase_orders to find open POs.

#### cancel_purchase_order

Cancel a purchase order. This action cannot be undone. Use list_purchase_orders to verify the PO status before cancel...

#### list_sales_orders

List sales orders from Oracle SCM Order Hub. Returns paginated list with order number, status, customer, and amounts....

#### get_sales_order

Get a single sales order by OrderKey (HeaderId or SourceSystem:TransactionId). Returns full order details including l...

#### create_sales_order

Create a new sales order in Oracle SCM Order Hub. Requires source_transaction_system and source_transaction_id. Optio...

#### update_sales_order

Update a sales order. Use list_sales_orders to find the OrderKey. Only editable orders can be updated (check IsHeader...

#### delete_sales_order

Delete a sales order permanently. This action cannot be undone. Use list_sales_orders to verify the order before dele...

#### list_suppliers

List suppliers from Oracle SCM. Returns paginated list with supplier name, number, status, and type. Use limit/offset...

#### get_supplier

Get a single supplier by SupplierId. Returns full details including name, number, status, DUNS number, and contact in...

#### list_transfer_orders

List transfer orders from Oracle SCM. Returns paginated list with header number, status, business unit, and total pri...

#### get_transfer_order

Get a single transfer order by HeaderId. Returns full details including lines, status, and business unit. Use list_tr...

#### update_transfer_order

Update a transfer order header fields (e.g. MessageText). Most transfer order mutations happen at the line level. Use...

#### list_work_orders

List manufacturing work orders from Oracle SCM. Returns paginated list with work order number, status, item, and quan...

#### get_work_order

Get a single work order by WorkOrderId. Returns full details including operations, materials, and status. Use list_wo...

#### create_work_order

Create a new manufacturing work order. Requires organization_code, work_order_type, and item_number. Use list_invento...

#### update_work_order

Update a manufacturing work order. Use list_work_orders to find valid IDs.