docu update

This commit is contained in:
2026-03-14 23:54:42 -05:00
parent 5f93adab8b
commit 86588c6134
6 changed files with 160 additions and 12 deletions

View File

@@ -11,8 +11,36 @@ Current foundation scope includes:
- CRM contact history, account contacts, and shared attachments
- inventory item master, BOM, warehouse, stock-location, and stock-transaction flows
- sales quotes and sales orders with searchable customer and SKU entry
- shipping shipments linked to sales orders with packing-slip PDFs
- file storage and PDF rendering
## Product Map
Current completed foundation areas:
- CRM foundation
- inventory foundation
- sales foundation
- shipping foundation
- branding, attachments, auth/RBAC, and PDF infrastructure
Near-term priorities:
1. Purchase orders and vendor-facing document flow
2. Sales and purchasing PDF templates
3. Shipping labels, bills of lading, and logistics attachments
4. Live manufacturing gantt scheduling
5. Audit and operations maturity
Revisit / deferred items:
- local Windows Prisma migration reliability
- frontend code-splitting and bundle-size reduction
- sales approvals and revision history
- broader branded PDFs beyond company profile and packing slips
- inventory transfers, reservations, and deeper stock controls
- deeper audit-trail coverage
## Workspace
- `client`: React, Vite, Tailwind frontend
@@ -76,6 +104,12 @@ The current CRM foundation supports:
- shared file attachments on customer and vendor records
- commercial terms fields including payment terms, currency, tax exempt, and credit hold
QOL direction:
- saved filters and quick views
- cleaner hierarchy navigation for reseller/customer trees
- richer downstream rollups once purchasing and shipping grow further
Recent CRM features depend on the committed Prisma migrations being applied. If you update the code and do not run migrations, the UI may render fields that are not yet present in the database.
## Inventory
@@ -96,6 +130,13 @@ The current inventory foundation supports:
- seeded sample inventory items and a starter assembly BOM during bootstrap
- seeded sample warehouse and stock locations during bootstrap
QOL direction:
- stock transfers
- reservations and allocations
- clearer warehouse dashboards and shortage views
- BOM revisions and where-used visibility
This module introduces `inventory.read` and `inventory.write` permissions. After updating the code, restart the server against the migrated database so bootstrap can upsert the new permissions onto the default administrator role.
`defaultPrice` now flows from inventory items into quote and sales-order line entry when a SKU is selected. Users can still override the line price after selection.
@@ -107,12 +148,41 @@ The current sales foundation supports:
- quote and sales-order list, detail, create, and edit flows
- searchable customer lookup instead of static customer dropdowns
- SKU-searchable line entry for quote and order lines
- document-level discount, tax, freight, subtotal, and total calculations
- reseller discount defaulting from customer records into sales documents
- status quick actions directly from quote and order detail pages
- quote conversion into a sales order
- line-level unit prices populated from the selected inventory item default price
QOL direction:
- line duplication and faster keyboard-heavy line editing
- stronger revision/approval flow
- richer PDF output for quotes and sales orders
This module introduces `sales.read` and `sales.write` permissions. After updating the code, restart the server against the migrated database so bootstrap can upsert the new permissions onto the default administrator role.
## Shipping
The current shipping foundation supports:
- shipment list, detail, create, and edit flows
- searchable sales-order lookup instead of a static order dropdown
- shipment records linked directly to sales orders
- carrier, service level, tracking number, package count, notes, and ship date fields
- shipment quick status actions from the shipment detail page
- related-shipment visibility from the sales-order detail page
- branded packing-slip PDF rendering from shipment detail pages
QOL direction:
- shipment labels
- bills of lading
- logistics attachments and reprint/history actions
- partial-shipment and split-shipment UX
This module introduces `shipping.read` and `shipping.write` permissions. After updating the code, restart the server against the migrated database so bootstrap can upsert the new permissions onto the default administrator role.
Moving forward, any UI that requires searching for records or items should use a searchable picker/autocomplete rather than a static dropdown. Filter controls can remain dropdowns, but non-filter lookup fields such as SKU pickers, customer selectors, vendor selectors, and similar operational search inputs should not be implemented as long static selects.
## UI Density
@@ -149,14 +219,18 @@ As of March 14, 2026, the latest committed domain migrations include:
- inventory transactions and on-hand tracking
- sales quote and sales-order foundation
- inventory default price support
- sales totals and commercial fields
- shipping foundation
Recent roadmap-driving migrations should always be applied before validating new CRM, inventory, sales, or shipping features in a running environment.
## UI Notes
- Dark mode persistence is handled through the frontend theme provider and should remain stable across page navigation.
- The shell layout is tuned for wider desktop use than the original foundation build, and now exposes CRM, inventory, settings, and planning modules from the same app shell.
- The shell layout is tuned for wider desktop use than the original foundation build, and now exposes CRM, inventory, sales, shipping, settings, and planning modules from the same app shell.
- The active module screens now follow a tighter density baseline for forms, tables, and detail cards.
- The client build still emits a Vite chunk-size warning because the app has not been code-split yet.
## PDF Generation
Puppeteer is used by the backend to render HTML templates into professional PDFs. The Docker image includes Chromium runtime dependencies required for headless execution.
Puppeteer is used by the backend to render HTML templates into professional PDFs. The current PDF surface includes the branded company-profile preview and shipment packing slips. The Docker image includes Chromium runtime dependencies required for headless execution.