# SubmitInventoryAdjustment

## Permission Scope

inventoryControl

## Overview

submitInventoryAdjustment submits an inventory adjustment for approval, transitioning it from DRAFT to PENDING_APPROVAL status. This enables a review workflow before adjustments are confirmed and applied to stock levels.

## Business Rules

- Adjustment must exist
- Adjustment must be in DRAFT status

## Process Flow

```mermaid
flowchart TD
    A[Receive submit request] --> B{Adjustment exists?}
    B -->|No| C[Return error: ADJUSTMENT_NOT_FOUND]
    B -->|Yes| D{Status is DRAFT?}
    D -->|No| E[Return error: ADJUSTMENT_NOT_DRAFT]
    D -->|Yes| F[Update status to PENDING_APPROVAL]
    F --> G[Return updated adjustment]
```

## External Dependencies

- None

## Error Scenarios

- **ADJUSTMENT_NOT_FOUND**: Referenced adjustment does not exist
- **ADJUSTMENT_NOT_DRAFT**: Adjustment is not in DRAFT status

## Test Cases

- returns error when not found
- returns error when not DRAFT
- submits for approval
