Skip to main content
Document Management System (DMS) for ERPNext — A full document management system built as a native Frappe app inside ERPNext, — 1/1Illustrative preview

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.

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

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
OCR pipeline (Tesseract by default, cloud OCR optional) run as a background job so scanned PDFs and images become full-text searchable
Unified full-text search across typed documents, scanned files and metadata, backed by an indexed extracted-text field
Document tagging plus structured metadata fields (department, document type, retention class, custom fields) for faceted filtering
Folder-level and document-level access control expressed through ERPNext Role Profiles, User Permissions and permission rules — enforced by the framework, not UI hiding
Expiry and review reminders driven by a `scheduler_events` job that raises Notifications, ToDos or emails as `review_date`/`expiry_date` approaches
Full Frappe REST API and whitelisted server methods for programmatic upload, retrieval and search from other systems or a portal
Complete audit trail: reuses Frappe's version tracking and access logging so every view, download and revision is attributable
Optional linkage of documents to any ERPNext DocType (Customer, Supplier, Project, Employee, Sales/Purchase docs) so contracts live with their records
Client scripts for drag-drop upload, side-by-side version comparison and an on-screen check-out banner
Built and tested against Frappe/ERPNext v15 and v16, delivered as clean migratable source (fixtures, patches, install hooks)

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 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

CriterionECOSIRECustom BuildCompetitorERPNext Native
Folder hierarchyTrue nested-set folder tree with cascading permissionsDepends entirely on your developer's designOften flat or limited nestingNo real hierarchy; attachments per record
File versioningFull version history with restore, hash and change noteMust be built and tested from scratchVaries; often basic or absentReplacing a file overwrites it — no history
Check-in / check-outLock enforced via doc events and whitelisted methodsRarely built well; race conditions commonSometimes offered, sometimes notNone — concurrent edits clobber each other
OCR searchBackground OCR pipeline; scanned files fully searchableSignificant extra effort to build and tuneFrequently unavailable or paid add-onNo OCR; scanned PDFs are not searchable
Access controlFramework-enforced role profiles + folder permissionsAs robust as your team makes itGeneric roles, limited folder-level rulesStandard DocType permissions only
Expiry / review remindersScheduled job raising Notifications, ToDos and emailsExtra scheduler work to design and maintainSometimes included, often rigidNo document lifecycle reminders
Ownership & sourceFull app source in a Git repo you ownYou own it but carry all build riskUsually closed source or license-lockedN/A — it is core, not a solution
Support & upgradesPost-go-live window + v15/v16 tested, upgrade retainersWhoever built it must keep maintaining itVendor-dependent, variable SLAsCommunity 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.

Request a quote

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

Request a Quotation

Tell us about your Document Management System (DMS) requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.