---
tags: [purchases, routes]
module: Purchases
---

# [Routes]Routes

## Connections
[[_Purchases]] · [[[Controller]Controllers]] · [[[Controller]ApiControllers]]

## Source
`Modules/Purchases/Routes/web.php` · `Modules/Purchases/Routes/api.php`  
Registered by: `RouteServiceProvider` → `PurchasesServiceProvider`

---

## Web Routes
**Prefix:** `/{subdomain}/purchases` · **Middleware:** `company.auth` + locale

### Suppliers — `/suppliers`
| Route Name | Method | URI | Controller |
|---|---|---|---|
| suppliers.index | GET | / | SupplierController@index |
| suppliers.create | GET | /create | SupplierController@create |
| suppliers.store | POST | / | SupplierController@store |
| suppliers.show | GET | /{supplier} | SupplierController@show |
| suppliers.edit | GET | /{supplier}/edit | SupplierController@edit |
| suppliers.update | PUT | /{supplier} | SupplierController@update |
| suppliers.destroy | DELETE | /{supplier} | SupplierController@destroy |
| suppliers.change-status | GET | /{supplier}/change-status | SupplierController@changeStatus |
| suppliers.export | GET | /export | SupplierController@export |
| suppliers.import | GET | /import | ImportingSuppliersController@import |
| suppliers.import.store | POST | /import/store | ImportingSuppliersController@store |
| suppliers.print-suppliers-list | GET | /print-suppliers-list | SupplierController@printSuppliersList |

### Purchase Orders — `/purchase-orders`
| Route Name | Method | URI |
|---|---|---|
| purchase-orders.index | GET | / |
| purchase-orders.create/store | GET/POST | /create |
| purchase-orders.show | GET | /{purchaseOrder} |
| purchase-orders.edit/update | GET/PUT | /{purchaseOrder}/edit |
| purchase-orders.destroy | DELETE | /{purchaseOrder} |
| purchase-orders.clone | GET | /{purchaseOrder}/clone |
| purchase-orders.print | GET | /{purchaseOrder}/print |
| convert.purchase-orders.to-purchase-bill | GET | /create-purchase-bill-from-purchase-order/{purchaseOrder} |

### Purchase Bills — `/purchase-bills`
| Route Name | Method | URI |
|---|---|---|
| bills.index | GET | / |
| bills.create/store | GET/POST | /create |
| bills.show | GET | /{purchaseBill} |
| bills.edit/update | GET/PUT | /{purchaseBill}/edit |
| bills.destroy | DELETE | /{purchaseBill} |
| bills.destroyWithEntries | DELETE | /{purchaseBill}/entries |
| bills.clone | GET | /{purchaseBill}/clone |
| bills.check-availability | GET | /{purchaseBill}/check-availability |
| bills.assign-receipts | POST | /assign-receipts/{purchaseBill} |
| bills.unassign-receipt | POST | /unassign-receipt |
| bills.invoice-reference-number | GET | /check-invoice-reference-number |
| bills.return | GET | /create-bill-return-from-bill/{bill} |
| bills.export / export-pdf / export-print | GET | /export* |

### Bill Returns — `/bill-returns`
Similar CRUD + destroyWithEntries + assign/unassign receipts + export routes.  
Route name prefix: `bill-returns.*`

### Supplier Receipts — `/suppliers-receipts`
Similar CRUD + destroyWithEntries + currentReceiptInvoices (AJAX) + export routes.  
Route name prefix: `supplier-receipts.*`

### Expenses — `/expenses`
Similar CRUD (no edit/update) + destroyWithEntries + clone + export routes.  
Route name prefix: `expenses.*`

### Transactions
| Route Name | Method | URI |
|---|---|---|
| purchase-transactions.index | GET | /purchase-transactions |
| purchase-transactions.export* | GET | /purchase-transactions/export* |

### Misc
`supplier-receipts.bill.assign` (POST /receipts-bills) — AssigningReceiptToBillController

### Attachment Downloads (no locale, separate group)
`bills.attachment.download` · `bill-returns.attachment.download` · `expenses.attachment.download` · `supplier-receipts.attachment.download`

---

## API Routes

### v2 (middleware: `api.v2.auth`)
| Base URI | Controller |
|---|---|
| /api/v2/purchases/purchase-bills | Api/PurchaseBillController |
| /api/v2/purchases/bill-returns | Api/BillReturnController |
| /api/v2/purchases/suppliers | Api/SupplierController (read-only) |
| /api/v2/purchases/expenses | Api/ExpenseController |
| /api/v2/purchases/purchase-orders | Api/PurchaseOrderController |

### v1 Legacy (middleware: `auth:sanctum`)
Same resources with earlier API conventions; also includes receipt-bill assignment endpoints.
