Page:
Changelog
Pages
Architecture
Changelog
Crewing Architecture
Crewing Data Model
Crewing Design Document
Crewing Implementation Spec
Crewing Module
Crewing Roles and Permissions
Crewing Use Cases
Crewing User Stories
Crewing Workflows
Data Model
Deployment and Operations
Design System
E2E Test Framework
E2E Test Plan
Environment Variables
Feature Catalogue
File Storage
Getting Started
Glossary
Home
Inventory and Catalogue
Inventory on Approval
Issue to Deploy Pipeline
Notifications
Open Questions
PO Lifecycle
Pages and Navigation
Planned Features
Playwright Test Design
Purchase Orders
Reports Mockup
Reports
Roles and Permissions
Tech Debt
Test Plan
Test
Testing
Vendors and GST Lookup
Workflows
No results
4
Changelog
shad0w edited this page 2026-06-24 10:24:03 +00:00
Table of Contents
Changelog
Mirrors CHANGELOG.md at the repo root (the authoritative copy). Releases are
tagged vX.Y.Z; the deployed production version is whichever tag is currently
checked out in ~/pms. See Deployment and Operations.
[Unreleased]
Added
- Reports — Purchasing spend analytics (
view_analytics) —/reports/cost-centresand/reports/accounting-codes, each index → drill-down → detail; KPI tiles, comparison/trend charts (one colour per item), Top-N tables, sparklines, CSV export; URL-driven filters (Weekly/Monthly/Yearly, FY, Top/Bottom-N, "Add to graph"). Spend = post-approval POs byapprovedAt/totalAmount, allocated per line-item account. See Reports. - Email PO to vendor (issue #14) — Outlook draft with a 7-day PO-PDF link, rendered by the PdfService microservice and cached per PO. See Deployment and Operations.
- Microservices —
EpfoService(UAN/EPFO lookup) andPdfService(PO→PDF) joinGstService; all auto-deployed on each release tag viaecosystem.config.js. - Unsaved-changes prompt (issue #18) — leaving the PO create/edit screen with unsaved edits offers Save as draft / Discard / Stay.
- Crew login on hire (crewing) — onboarding/placement/admin-create can set an explicit login email + initial password for management ranks.
- Companies (multi-company invoicing) —
Companymodel and/admin/companiesCRUD. A PO is billed under a selected company (name, shortcode, GST number, address, phone/mobile, contact + invoice email, invoice address); details populate the exported PO header / invoice block. See Purchase Orders. - Structured PO numbers (
lib/po-number.ts) —COMPANY/VESSEL/ID/FY; Indian financial year; system IDs start at 9000; imported POs keep their original number. See Purchase Orders. - 3-level accounting-code hierarchy —
Account.parentIdself-relation (Top → Sub → Leaf), 6-digit codes seeded fromprisma/accounting-codes-data.ts. Only leaf codes are PO-selectable, via a searchable combobox. - Compulsory payment date —
PurchaseOrder.paymentDatecaptured at payment; defaults to today, rejects future dates. Backfilled for existing POs. - Editable PO date (
poDate) — exported "Date" showspoDate ?? approvedAt ?? createdAt. - Submitter vendor creation —
create_vendorlets Technical/Manning add vendors; created unverified, verified when a PO closes/pays with them, on import, or via Manager/Accounts/Admin. See Vendors. - Import PO → Closed —
/po/importsaves a parsed Excel PO directly asCLOSED, auto-detecting company, matching vessel, auto-creating vendor, products, and per-vendor prices. - Inventory feature flag (
NEXT_PUBLIC_INVENTORY_ENABLED) — site stock/consumption gated; PO catalogue stays available. Inventory increments at PO approval. See Inventory and Catalogue. - Dashboards — Accounts gains a "Payments Completed This Month" card.
- Automated issue-to-deploy pipeline — Report Issue button → Forgejo issue → Claude watcher triage/fix → PR → tag-triggered deploy. See Issue-to-Deploy Pipeline.
Changed
- Cost centre is now a Vessel only. The Vessel-or-Site cost-centre model was
removed:
PurchaseOrder.vesselIdis required,costCentreRefis gone, andVesselno longer links to aSite. Vessels are surfaced as "Cost Centre" (/admin/vessels→ "Cost Centre Management"). See Glossary. - Closed PO list — submitters see only their own
CLOSEDPOs; Managers/SuperUsers see all. - Sidebar reorganised into Purchasing and Administration (role-aware); "Inventory" renamed to "Purchasing".
- Items —
/admin/productsis the editable catalogue;/inventory/itemsis read-only; both link to a shared item detail page. - Profile reachable by every role (incl. SSO-only users, with an email fallback lookup); only approvers can upload an approval signature.
- Manager dashboard "Approved This Month" now counts by
approvedAt(no longer undercounts once a PO progresses pastMGR_APPROVED).
Fixed
- "Email to vendor" never rendered — auth middleware bounced the PdfService
svc-token export fetch to/login;/api/po/<id>/exportis now allowed through when thesvctoken matches (#127). - Reports charts all one colour —
SERIES_COLORSimported from a"use client"module into server components resolved to a proxy (undefined); moved the palette to a dependency-free module (#120). - Production
P2022 … column does not existafter deploy — caused by shipping code whose Prisma client expected a column beforemigrate deployran. Migrations must be applied before the new build serves traffic (now in the README and the deploy workflow).
Recent fixes (from git history)
A sample of recently merged fixes, many via the automated claude/issue-N
pipeline:
- PO details: show all attachments, grouped by type (#27/#10).
- History: allow filtering by multiple statuses (#33/#31).
- Approved-this-month counts all POs approved in the period (#34/#32).
- Approved POs show approval date as the PO date (screen + export) (#22/#5).
- Closed-PO list filters corrected for manager and submitter (#21/#6).
- Exported PO includes optional line-item description (#23/#8).
- Allow attachments (incl. delivery receipt) at delivery confirmation (#25/#9);
Receiptupserted on repeat confirmations. - Automation: test-DB mirror + dev-server env for autofix; staging on pms1; SSH-tunnel lock + dev banner; ported watcher to bash for 24/7 cron.
Tags so far:
0.1,0.1.1. For the live history, see the repo's commit log and Forgejo releases.
Pelagia Portal (PPMS)
Overview
Build & Run
System
Product
- Feature Catalogue
- Pages and Navigation
- Workflows
- Purchase Orders
- Vendors and GST Lookup
- Inventory and Catalogue
- Inventory on Approval
- Notifications
- File Storage
- Design System
Planned
Quality
Ops
Engineering
Pelagia Portal (PPMS) — internal purchase-order management. Self-hosted on pms1, live at pms.pelagiamarine.com. This wiki tracks the shipped product; authoritative sources are the repo code, App/CLAUDE.md, Docs/, and CHANGELOG.md.