88 lines
3.4 KiB
Markdown
88 lines
3.4 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to TRx WMS are documented here.
|
|
Format: `## [version] — YYYY-MM-DD` with sections Added / Changed / Fixed / Removed.
|
|
|
|
---
|
|
|
|
## [Unreleased]
|
|
|
|
### Planned
|
|
- Role-based access control enforcement across all API endpoints and UI pages (see `ROLES.md`)
|
|
|
|
---
|
|
|
|
## [0.6.0] — 2026-05-06
|
|
|
|
### Added
|
|
- Barcode system — `md_barcode` table, SKU label page (`ics/sku_barcode_label.php`), Location label page (`ics/location_barcode_label.php`)
|
|
- `scanner.js` — unified scanner module supporting USB scanner, handheld, phone camera (Html5Qrcode), and clipboard paste
|
|
- Scan-driven stock flows — scan SKU label → scan location label → F2 to save (no mouse required)
|
|
- `ics/api/engine/barcode_lookup.php` — validates barcode string, returns typed result (`sku` / `loc` / `raw`)
|
|
- `ics/api/engine/validate_scan_location.php` — pre-save location validation for stock in/out/transfer
|
|
- `ics/api/engine/sku_label_lots.php`, `sku_label_products.php` — lot and product data feeds for SKU label page
|
|
- Cost, price, and margin fields on `md_product`
|
|
- Contact module linked to setting sidebar
|
|
|
|
### Fixed
|
|
- `location_barcode_label.php` — `ON DUPLICATE KEY UPDATE` now includes `status = 1` so previewing a previously-disabled location barcode re-enables it
|
|
|
|
---
|
|
|
|
## [0.5.0] — 2026-04
|
|
|
|
### Added
|
|
- Purchase Orders (`po/`) — create, confirm, receive, cancel, payment tracking
|
|
- Order module (`order/`) — sales orders, returns, invoices (invoice / credit note / debit note), order confirmation, payment status
|
|
- `td_order`, `td_invoice`, `td_return`, `td_purchase_order` tables
|
|
- Invoice print view (`order/print_invoice.php`)
|
|
|
|
---
|
|
|
|
## [0.4.0] — 2026-03
|
|
|
|
### Added
|
|
- Warehouse location modes — simple (warehouse + rack) and advanced (warehouse + zone + aisle + rack)
|
|
- `company_setting` keys: `advanced_location`, `location_label_rack/zone/aisle`, `default_stock_status`, `auto_complete_on_ship`, `auto_invoice_and_credit_note`
|
|
- Per-warehouse stock tables (`td_stock_{warehouse_id}`) — balance = `SUM(in) - SUM(out)` where `status = 1`
|
|
- Stock approval flow — transactions created as `status = 0` (draft) and approved separately
|
|
- Rack occupancy report (`reports/occupy_rack.php`)
|
|
- Expired / near-expiry report (`reports/expired_stock.php`)
|
|
|
|
### Changed
|
|
- Warehouse layers made switchable via `advanced_location` setting
|
|
|
|
---
|
|
|
|
## [0.3.0] — 2026-02
|
|
|
|
### Added
|
|
- Contact module (`contact/`) — supplier/customer contacts, contact types
|
|
- Stock movement report with date and SKU filters
|
|
- Product lot report with expiry date tracking
|
|
- Low-stock dashboard widget with restock shortcut
|
|
|
|
---
|
|
|
|
## [0.2.0] — 2026-01
|
|
|
|
### Added
|
|
- Multi-tenant branch support — `company_list`, `company_map_user`, branch switcher in topbar
|
|
- User management (`setting/users.php`) — invite by email, role assignment, remove member
|
|
- SMTP configuration (`setting/smtp.php`)
|
|
- OTP validation on every API request (HMAC-SHA1 based on user password + session time)
|
|
- CSRF token enforcement on all POST requests
|
|
|
|
---
|
|
|
|
## [0.1.0] — 2025-12
|
|
|
|
### Added
|
|
- Initial project scaffold — PHP + MySQL + Bootstrap 5 + jQuery
|
|
- Login / registration / onboarding flow
|
|
- Product master (`inventory/product.php`) — SKU, name, UOM, category, barcode
|
|
- Warehouse master (`inventory/warehouse.php`) — warehouses and rack definitions
|
|
- Stock In / Out / Transfer pages with manual form entry
|
|
- `td_stock` base table structure
|
|
- Dashboard with basic stock summary
|