**Tehden ERP version 26.4.02** released 17.08.2026

All changes are for v2308 & v2605 unless otherwise stated

Endpoints
- New endpoint: POST /purchaseOrders -- create a purchase order. Request body takes either `supplierId` or `supplierBookNumber` (not both), required `branchId`, plus `type`/`customType`, `state`, `currency`, `orderDate`, `backOrderDate`, `paymentTermId`, `allowMultipleShipments`, `prioritized`, `reference`, the `noteForPersonnel`/`noteForSupplier`/`noteFromSupplier` notes, a `delivery` object and `rows`. Response returns `purchaseOrderId` and `orderNumber`. (only v2605)
- New endpoint: POST /productStocks/{productStockId}/receive -- receive products into a product stock. Request body takes required `amount` plus `purchasePrice`, `isInventory`, `note` and `expiryDate`. Response returns `stockEventId`. (only v2605)
- Added `note` to the sale rows in the GET /sales and GET /sales/{saleId} responses (only v2605)
- Added `autogenerated` to the GET /saleDeliveries response (v2308) and to the GET /pickingUnits response (v2605)

Improvements and fixes to API documentation
- Clarified the GET /products `updatedAfter` query parameter description: the endpoint also returns products whose price became active after the given date, even when the product's own data has not changed.
- Documented `createSaleDeliveryUrl` in the POST /saleOrders response (only v2605). The field was already returned by the API; only the v2605 documentation was missing it. No behavior change.