Plan to hide ERPNext modules and features that are not relevant to VeriPath's
business on accounts.veripath.co.uk (the site is for VeriPath's own general
accounting — a tech/consulting business, not a clinic).
Status: APPLIED 2026-08-27 (agreed 2026-08-27; applied + verified same day).
- VeriPath is a tech business: development/consulting work and platform services.
No physical goods → no stock, quality inspection, manufacturing, shipping,
maintenance, support desk, website/e-commerce.
- Live audit 2026-08-27: 33 modules, 22 desk workspaces, 773 doctypes; installed
apps are erpnext + frappe only (no HR app — nothing to remove there).
- Principle: HIDE, never drop tables (house pattern for this stack — schema stays
intact for upgrades/migrations). Administrator keeps full access for maintenance.
| # |
Item |
Level |
Mechanism |
| 1 |
Stock |
module |
blocked per-user |
| 2 |
Quality Management |
module |
blocked per-user |
| 3 |
Manufacturing |
module |
blocked per-user |
| 4 |
Subcontracting |
module |
blocked per-user |
| 5 |
Maintenance |
module |
blocked per-user |
| 6 |
Support |
module |
blocked per-user |
| 7 |
Telephony |
module |
blocked per-user |
| 8 |
Social |
module |
blocked per-user |
| 9 |
Website |
module |
blocked per-user |
| 10 |
Portal |
module |
blocked per-user |
| 11 |
Shipping Rule |
doctype |
link removed from Selling workspace |
| 12 |
Lead, Opportunity |
doctype |
links removed from CRM workspace |
| 13 |
Maintenance Schedule / Visit, Warranty Claim |
doctype |
links removed from CRM workspace (blocked-module residue) |
Modules 1-10 blocked via per-user block_modules on matthew@veripath.co.uk
and admin@veripath.co.uk (User doctype child table, set via REST API).
Accounts, Selling, Buying, CRM (Customer master), Projects, Assets, Setup, Core,
Desk, Users, Integrations (Keycloak SSO Social Login Key lives here — do not
touch), Email/Communication (sending invoice emails), Printing (invoice print
formats), Regional (UK tax template), Geo (territories), Contacts, Workflow,
Automation (Tools), Bulk Transaction, Custom, Utilities, ERPNext Integrations.
- Customer master lives in the CRM module → the whole CRM module cannot be
hidden; only Lead/Opportunity are hidden.
- Quality Inspection lives in Stock (not Quality Management) → covered by the
Stock block.
- Shipping Rule is a doctype inside Accounts (not a module) and is linked on the
Selling workspace; it becomes inert once Stock (Delivery Notes) is hidden.
- Item master is unaffected — the starter "Consulting Services" item is
non-stock; Sales Invoices reference Item and keep working with Stock hidden.
- No HR app installed → no Employee/Leave/Payroll to remove (Employee stub in
Setup is harmless).
- Frappe 15.115 / ERPNext 15.117.
User.get_blocked_modules() in this build is
per-user only (System Settings block_modules is NOT consulted) — so per-user
blocking is the correct and complete lever, and Administrator is untouched.
DocType.hidden was NOT used for Shipping Rule / Lead / Opportunity:
standard doctypes refuse API edits without Developer Mode
(CannotCreateStandardDoctypeError, "Not in Developer Mode!"). Instead the
doctype links were removed from the standard workspaces (REST PUT on
Workspace — standard Workspaces ARE editable in production). Known limitation:
Lead/Opportunity still surface in global search for users whose roles can read
them (Accounts Manager). Revisit if unwanted — requires a temporary
developer-mode toggle + web restart, or a Custom Workspace in a later frappe
version.
- Cache cleared after changes (
bench --site accounts.veripath.co.uk clear-cache).
- Container-level:
get_blocked_modules() = 10 modules for matthew@/admin@,
empty for Administrator.
- Workspace links confirmed: CRM has no Lead/Opportunity/Maintenance rows; Selling
has no Shipping Rule; Item + Sales Invoice + Customer all still present.
- Invoicing regression:
scripts/smoke_test_accounting.py PASSED — dummy customer +
£250 Sales Invoice ACC-SINV-2026-00001 created, submitted (docstatus 1),
cancelled, GL/PLE cleaned, invoice + customer deleted. Ledger clean.
- Visual desk check as
matthew@ (Keycloak SSO) still to be eyeballed by the user.
- CRM workspace still shows sales-pipeline residue: the Reports card (Lead
Details, Sales Pipeline Analytics, Opportunity Summary, Sales Funnel, First
Response Time for Opportunity, Lead Owner Efficiency, Prospects Engaged But Not
Converted, Inactive Customers, Campaign Efficiency), Prospect / Sales Person /
Sales Stage / Lead Source masters, and the Campaign card. Can remove in a second
pass if wanted.
- ERPNext "E-invoicing" / EDI remains hidden-but-enabled (per agreement).
No secrets/PII on this page. Any test data is dummy/synthetic.
→ VeriPath — Own Accounting Facility
→ Accounting App index