---
tags: [inventory, service]
module: Inventory
---

# [Service]RequisitionServices

## Connections
[[_Inventory]] · [[[Model]Requisition]] · [[[Model]WarehouseProductLog]] · [[[Controller]RequisitionsController]] · [[[Repo]Repositories]] · [[[Enum]Enums]] · [[[Cross]CrossModuleDependencies]]

## Source
`Modules/Inventory/Services/Requisitions/`

## Services
| Service | Purpose |
|---|---|
| StoringRequisitionService | Create requisition + products + attachments |
| UpdateRequisitionService | Update requisition |
| DeletingRequisitionService | Soft delete (checks canBeDeleted) |
| RetreiveRequisitionsService | Filtered list; adds URLs, flags, deleted-product warnings |
| PreparingDataToCreateRequisition | Form data per type (INBOUND/OUTBOUND/TRANSFER) |
| GetSuggestedCodeForRequisitionService | Auto-increment reference number |
| MappingRequisitionDataToInvoiceService | Maps requisition → Invoice entity for conversion |
| MappingRequisitionDataToPurchaseBillService | Maps requisition → PurchaseBill entity for conversion |
| CreateRequisitionFromInvoice | Bulk-creates requisitions from an Invoice |
| ApplyRequisitionStockMovementService | Applies stock quantity deltas on requisition acceptance |

## Stock Movement Flow
```
ACCEPT → ApplyRequisitionStockMovementService
    → WarehouseProductLogTrait.logWarehouseProductTransaction()
    → WarehouseProductLogDTO (validated)
    → [[[Model]WarehouseProductLog]] created
```
