- Home
- Apps
- SaaS Tools
- Document Management System (DMS) for ERPNext
Illustrative previewA full document management system built as a native Frappe app inside ERPNext,
adding hierarchical folders, file versioning with check-in/check-out, OCR-based full-text search, tagging, and role-based access control.
ECOSIRE scopes, builds, installs, and supports it for your instance.
What is Document Management System (DMS) for ERPNext?
A full document management system built as a native Frappe app inside ERPNext, adding hierarchical folders, file versioning with check-in/check-out, OCR-based full-text search, tagging, and role-based access control. ECOSIRE scopes, builds, installs, and supports it for your instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- ERPNext Compatibility
- —
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- MariaDB 10.6+
About this Product
Compliance-heavy teams running ERPNext quickly hit the limits of the native File DocType. Attachments live scattered against individual records, there is no true folder hierarchy with inherited permissions, no version history when a file is replaced, no check-out lock to stop two people editing the same contract, and no way to search inside a scanned PDF. When an auditor asks "show me every controlled document, who accessed it, and prove this is the current revision," the stock File list cannot answer. Teams end up bolting on a separate SharePoint or Google Drive, which breaks the single-source-of-truth that made ERPNext worth adopting.
We build a proper Document Management System as a native Frappe app (its own module, not a pile of customizations) that lives inside your ERPNext instance and reuses its user table, permissions engine, and audit trail. At the core is a DMS Document DocType with a parent DMS Folder tree (an nsm/nested-set structure so a folder's permissions cascade to children), a DMS Document Version child/linked DocType that captures every revision with author, timestamp, hash and change note, and metadata fields plus a free-form tag/Tag link table. Check-in/check-out is enforced through hooks.py doc events (before_save, on_update, validate) plus a whitelisted checkout() / checkin() method pair that sets a lock owner and rejects edits from anyone else. Access control is expressed as ERPNext Role Profiles and User Permissions layered with folder-level permission rules, so "Finance can read, Compliance can approve, everyone else sees nothing" is enforced by the framework, not by hiding a button.
Full-text and OCR search is handled by a background pipeline: on upload, a scheduler_events / background job runs the file through an OCR engine (Tesseract by default; a cloud OCR provider optional) and writes the extracted text into an indexed field so both typed and scanned PDFs, images and Office files become searchable from one search bar. Expiry and review reminders run off a scheduled server script that scans documents whose review_date/expiry_date is approaching and raises ERPNext Notifications, ToDos or email alerts to the responsible role. Everything is reachable over the standard Frappe REST API and whitelisted methods, so your other systems (or a customer portal) can push and pull documents with the same authentication and permission checks as the desk UI. Client scripts add the in-list drag-drop, the version-compare view and the check-out banner.
Because this is build-to-order, nothing is a black box. We start with a short scoping call to map your folder taxonomy, retention rules, roles and the DocTypes documents must attach to, then build against a staging copy of your instance targeting Frappe/ERPNext v15 or v16. You get the full app source in a Git repository you own, installation and configuration on your servers, UAT on staging with a rollback plan before we touch production, user training, and a post-go-live support window. Typical delivery is one working week from confirmed scope, depending on how much OCR tuning and custom permission logic your compliance regime requires.
What you get
- Installable source code for your build, delivered as a versioned Frappe app you own outright
- Installation and configuration on your ERPNext servers (staging first, then production), including scheduler and OCR worker setup
- Technical documentation: DocType schema, hooks.py events, whitelisted API methods, permission model and OCR pipeline
- End-user guide plus a live training session for document owners, approvers and administrators
- Post-go-live support window for bug fixes and questions after production launch
- UAT on a staging copy of your instance with a documented rollback plan before any production change
- Git repository handover with full commit history, branches and README for bench install/migrate
- Configured folder taxonomy, role profiles and reminder rules seeded from your scoping call
Who this is for
Compliance / Quality Manager
Owns controlled documents (SOPs, policies, certificates) and must prove the current revision, restrict who can approve, and show a defensible audit trail. Needs versioning, check-out locks and folder-level permissions inside ERPNext rather than a separate silo.
ERPNext System Administrator
Runs the bench and does not want an external DMS to authenticate and sync. Wants a native Frappe app that reuses the existing user table, permissions engine and backups, ships as clean migratable source, and installs cleanly on v15/v16.
Finance / Contracts Lead
Manages contracts, vendor agreements and signed POs that must attach to the right Customer, Supplier or Project record. Needs expiry reminders before renewals lapse and OCR search to find a clause inside a scanned agreement.
Operations / Records Officer
Maintains the day-to-day filing structure and retention rules across departments. Needs a real folder hierarchy, consistent tagging and metadata, and review reminders so nothing sits past its retention date.
How Document Management System (DMS) for ERPNext Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Folder hierarchy | True nested-set folder tree with cascading permissions | Depends entirely on your developer's design | Often flat or limited nesting | No real hierarchy; attachments per record |
| File versioning | Full version history with restore, hash and change note | Must be built and tested from scratch | Varies; often basic or absent | Replacing a file overwrites it — no history |
| Check-in / check-out | Lock enforced via doc events and whitelisted methods | Rarely built well; race conditions common | Sometimes offered, sometimes not | None — concurrent edits clobber each other |
| OCR search | Background OCR pipeline; scanned files fully searchable | Significant extra effort to build and tune | Frequently unavailable or paid add-on | No OCR; scanned PDFs are not searchable |
| Access control | Framework-enforced role profiles + folder permissions | As robust as your team makes it | Generic roles, limited folder-level rules | Standard DocType permissions only |
| Expiry / review reminders | Scheduled job raising Notifications, ToDos and emails | Extra scheduler work to design and maintain | Sometimes included, often rigid | No document lifecycle reminders |
| Ownership & source | Full app source in a Git repo you own | You own it but carry all build risk | Usually closed source or license-locked | N/A — it is core, not a solution |
| Support & upgrades | Post-go-live window + v15/v16 tested, upgrade retainers | Whoever built it must keep maintaining it | Vendor-dependent, variable SLAs | Community support only |
Frequently Asked Questions about Document Management System (DMS)
How long does delivery take?
This is a build-to-order product, not an instant download. Typical delivery is one working week from confirmed scope. The range depends on the size of your folder taxonomy, how much custom permission logic your compliance regime needs, and how much OCR tuning your document types require. We agree the scope and timeline in writing after the initial scoping call.
How do support and updates work after go-live?
Every build includes a post-go-live support window for bug fixes and questions. Because you receive the full source in a Git repository you own, your team can also extend it. Beyond the included window, we offer ongoing support and version-upgrade retainers, including migrations when you move between Frappe/ERPNext major versions.
Is this a Frappe Cloud Marketplace app I can just install?
No. It is a native Frappe app that we build and install specifically for your instance. That means the DocTypes, folder taxonomy, roles and OCR settings are shaped to your organization instead of a one-size-fits-all listing, and we install and validate it on your servers rather than handing you a generic package.
Does the OCR search work on scanned documents and images?
Yes. On upload, a background job runs files through an OCR engine (Tesseract by default, with a cloud OCR provider optional) and writes the extracted text into an indexed field. Scanned PDFs, photographed documents and image files then become searchable from the same search bar as typed documents.
Which ERPNext versions are supported?
We build and test against Frappe/ERPNext v15 and v16, delivered as clean, migratable source with proper fixtures and patches. If you are on an older version we will confirm feasibility during scoping, and we can plan an upgrade path as part of the engagement.
How is access control enforced — can people see documents they shouldn't?
Access is enforced by the Frappe framework, not by hiding buttons. We use ERPNext Role Profiles, User Permissions and folder-level permission rules so a user simply cannot read or download a document outside their scope, whether through the desk UI or the REST API. Every access and revision is logged for audit.
Will it break when we upgrade ERPNext or run bench migrate?
The app ships as a standard Frappe app with proper hooks, fixtures and patch files, so it participates in bench migrate like any other app. We test against v15/v16 and avoid core overrides where possible, using documented doc events and whitelisted methods so upgrades stay predictable.
Related Modules

Distributor & Dealer Portal with Secondary Sales
A self-service ERPNext portal where distributors and dealers place orders, report secondary sales, claim schemes and see their own credit and ledger — built, installed and supported by ECOSIRE as a proper Frappe app on your ERPNext v15/v16 instance.

Document/Audit Trail & GL Immutability
A tamper-evident audit trail and statutory log retention layer for ERPNext that captures every financial-document change and locks down edit-after-submit, so you satisfy auditor and regulator mandates. Built, installed, and supported by ECOSIRE after you request a quotation.

Easypaisa & JazzCash Payment Gateway for ERPNext
A build-to-order Frappe app that lets your ERPNext instance accept Easypaisa and JazzCash mobile-wallet payments on Sales Invoices, Sales Orders and the web shop, with webhook confirmation and automatic Payment Entry reconciliation. ECOSIRE scopes, builds, installs and supports it for you.

Easypaisa & JazzCash POS Wallet Payments
A build-to-order ERPNext app that accepts Easypaisa and JazzCash mobile-wallet and dynamic-QR payments directly at the POS, then auto-creates and reconciles the matching Payment Entry when the confirmation callback lands.
Document Management System (DMS)
A full document management system built as a native Frappe app inside ERPNext, adding hierarchical folders, file versioning with check-in/check-out, OCR-based full-text search, tagging, and role-based access control. ECOSIRE scopes, builds, installs, and supports it for your instance.
- Native Frappe app with its own DMS module, DocTypes and workspace, installed via bench into your ERPNext site (no external DMS to sync)
- Hierarchical folders built on a nested-set (`nsm`) `DMS Folder` tree so permissions and metadata cascade from parent to child folders
- File versioning: every replace creates a `DMS Document Version` record with author, timestamp, content hash and change note, and any prior version is restorable
- Check-in / check-out locking via whitelisted `checkout()`/`checkin()` methods and `hooks.py` doc events that reject edits from anyone who is not the lock owner