Skip to main content
Document/Audit Trail & GL Immutability — A tamper-evident audit trail and statutory log retention layer for ERPNext that capt — 1/1Illustrative preview

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.

What is 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. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

`Audit Trail Log` DocType capturing user, server timestamp, DocType, document name, and field-level before/after values on every change
Hash-chained log entries (each row stores a digest of the prior row) so deletion or edit of any historical entry breaks the chain and is detectable
Capture enforced at the framework layer via `hooks.py` doc events — `on_update`, `on_submit`, `on_cancel`, `on_trash` — not a UI-only toggle
Targeted server scripts on financial DocTypes: `Journal Entry`, `Sales Invoice`, `Purchase Invoice`, `Payment Entry`, `GL Entry`, and custom vouchers
REST API and whitelisted-method writes hit the same server-side capture path as desk users — no integration bypass
`Retention Policy` DocType for configurable, per-record-class retention periods aligned to your statute (e.g., 8 years for Companies Act, 10 for GoBD)
Daily `scheduler_events` job that enforces retention and refuses deletion of logs before their statutory expiry
Edit-after-submit lockdown via role profiles, permission rules, and server-side `validate` guards that gate cancel/amend on posted vouchers
Correction workflow requiring an approver and a mandatory reason when a locked document genuinely must be amended, itself written to the trail
Whitelisted export method producing inspector-ready audit reports filtered by date range, DocType, user, or document
Export formats include CSV/Excel for analysis and a signed PDF for evidentiary handover
Read-only Audit Trail report view with role-restricted access so the log can be inspected but never edited from the desk
Optional periodic integrity check (scheduled) that re-validates the hash chain and flags any broken segment for review
Compatible with Frappe/ERPNext v15 and v16, packaged as a standard installable Frappe app

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

Auditors and regulators increasingly demand an audit trail that cannot be quietly altered: every edit to a financial document must record who changed it, when, and what the value was before and after — and it must be impossible to switch that logging off. ERPNext core does track document Versions and a Deletion Log, and posted GL Entries are immutable while the ledger is closed, but the native behavior falls short of a defensible statutory trail: version history can be pruned, it is not retained under an enforced schedule, there is no single inspector-ready export mapped to a regulation like India's Companies (Accounts) Rule 3 or Germany's GoBD, and privileged roles can still cancel-and-amend submitted vouchers with little friction. When an auditor asks you to prove the log was always on and never tampered with, the out-of-the-box answer is uncomfortable.

ECOSIRE builds a proper Frappe app that closes that gap. We ship an Audit Trail Log DocType that captures a cryptographically chained record — each entry stores the actor (user), an application-server timestamp, the DocType and document name, the exact field-level before/after values, and a hash of the previous entry so any deletion or edit of a historical row breaks the chain and is detectable. Capture is wired through hooks.py document events (on_update, on_submit, on_cancel, on_trash) plus targeted server scripts on the financial DocTypes you care about — Journal Entry, Sales Invoice, Purchase Invoice, Payment Entry, GL Entry and any custom vouchers — so logging is enforced at the framework layer and cannot be bypassed from the UI or the REST API. Because it runs server-side on document events, an integration that writes through the Frappe REST API or a whitelisted method is captured on exactly the same code path as a desk user.

On top of capture we add the controls a compliance program actually needs. A configurable retention engine (driven by a Retention Policy DocType and a scheduler_events daily job) keeps logs for the statutory period you specify per record class and refuses early deletion. Edit-after-submit lockdown uses role profiles and permission rules plus server-side validation to remove or gate the cancel/amend path on posted vouchers, with an approval-and-reason workflow when a correction is genuinely required. And a whitelisted export method produces an inspector-ready audit report — filterable by date range, DocType, user, and document — as CSV/Excel or a signed PDF, so handing evidence to an auditor is one action rather than a data-extraction project.

Because this is build-to-order, we tailor the covered DocTypes, retention periods, and lockdown rules to your jurisdiction and chart of accounts rather than shipping a generic toggle. After you request a quotation we run a short scoping call, confirm the exact statutory requirement and DocType coverage in writing, then build and test the app on a staging bench against Frappe/ERPNext v15 or v16. Typical delivery is one working week from confirmed scope. You get the installable source, a git repository handover, UAT sign-off on staging with a rollback plan, user training, and a post-go-live support window — no marketplace download, no fabricated benchmarks, just a maintainable app your auditors can trust.

What you get

  • Installable source code for the Frappe app built for your ERPNext version (v15 or v16)
  • Installation and configuration on your bench, including hooks, DocTypes, scheduler events, and role profiles
  • Technical documentation: DocType schema, hook map, server-script logic, retention and export method reference
  • User guide plus a live training session for compliance officers and finance admins
  • UAT on a staging bench with sign-off checklist and a documented rollback plan
  • Post-go-live support window for defect fixes and configuration questions
  • Git repository handover with full commit history and README
  • Configured retention policies and edit-lockdown rules mapped to your specified statute

Who this is for

Compliance officer under an audit-trail mandate

Responsible for proving to auditors and regulators (India Companies Rule 3, GoBD, SOX-style controls) that the financial change log was always on and never altered. Needs enforced capture, a tamper-evident chain, and a one-action export for inspectors.

Finance controller / CFO

Owns the integrity of the GL and posted vouchers. Wants edit-after-submit locked down with an auditable correction workflow so period-end figures cannot be quietly amended, without slowing legitimate corrections to a halt.

External or internal auditor

Reviews ERPNext during statutory or year-end audits. Needs a read-only, filterable trail with before/after values and a signed export they can rely on as evidence, rather than piecing history together from raw Version records.

ERP administrator / IT lead

Maintains the ERPNext bench and integrations. Needs the audit layer to work at the framework level so REST API and scheduled writes are covered, with clean source, docs, and a git handover they can maintain after go-live.

How Document/Audit Trail & GL Immutability Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Tamper-evidenceHash-chained log; broken chain is detectableDepends on in-house design; often noneUsually plain change log, not chainedVersions can be pruned, not chained
Capture enforcementFramework-level hooks + server scripts, REST-coveredVaries; UI-only paths often missedDoc-event based but scope variesVersion tracking, but toggleable/prunable
Statutory retentionConfigurable per record class, deletion refused earlyHand-built if scoped at allRarely enforced, often manualNo enforced retention schedule
Inspector exportFiltered CSV/Excel + signed PDF via whitelisted methodBuilt to order, extra effortBasic report, rarely signedManual extraction from Version records
Edit-after-submit lockdownRole + validate guards with approval/reason workflowPossible but bespokeSeldom addressedCancel/amend allowed to privileged roles
Regulation mappingBuilt to your statute (Rule 3, GoBD, etc.)Only what you specifyGeneric, not jurisdiction-specificNone
Version support & maintenancev15/v16, git handover, support windowYour team maintains itVendor roadmap, possible lock-inMaintained by Frappe as core
Delivery modelBuild-to-order, one working week, UAT + rollbackLong in-house build cycleInstant install, generic fitAlready present, limited

Frequently Asked Questions about Document/Audit Trail & GL Immutability

How is this different from ERPNext's built-in document Versions and Deletion Log?

ERPNext tracks change history and deletions natively, but that history can be pruned, is not held under an enforced retention schedule, has no single regulation-mapped inspector export, and does not stop privileged users from cancel-and-amend on posted vouchers. We add a hash-chained tamper-evident log with enforced capture on financial DocTypes, configurable statutory retention, edit-after-submit lockdown, and a signed export — the parts an auditor actually asks for.

Can the audit logging be turned off or bypassed by an admin or an integration?

No — capture is wired through `hooks.py` document events and server scripts on the financial DocTypes, so it runs at the framework layer. Desk edits, REST API writes, and whitelisted-method calls all hit the same server-side path. Historical log rows are hash-chained, so deleting or editing one breaks the chain and is detectable by the scheduled integrity check.

How long does delivery take?

This is a build-to-order engagement, not an instant download. After a short scoping call we confirm covered DocTypes, retention periods, and lockdown rules in writing, then build and test on a staging bench. Typical delivery is one working week from confirmed scope, depending on how many custom DocTypes and jurisdictions are in scope.

What happens with support and updates after go-live?

You get a post-go-live support window for defect fixes and configuration questions, plus a git repository handover with full source so your team (or ours) can maintain it. We build against Frappe/ERPNext v15 and v16; a version upgrade or added coverage is scoped as follow-on work, and because you hold the source there is no lock-in.

Which ERPNext documents and versions are supported?

Out of the engagement we typically cover `Journal Entry`, `Sales Invoice`, `Purchase Invoice`, `Payment Entry`, and `GL Entry`, and we extend capture to any custom vouchers you nominate during scoping. The app targets Frappe/ERPNext v15 or v16 and is packaged as a standard installable Frappe app.

Can it satisfy a specific regulation like India's Rule 3 or Germany's GoBD?

Yes — that is the point of building to order. We map retention periods, capture scope, and lockdown behavior to the specific statute you name during scoping, and the inspector export is filterable and signed so it stands as evidence. We do not claim generic pre-certification; we build to your stated regulatory requirement and confirm it in the UAT checklist.

Will locking down edit-after-submit block legitimate corrections?

No. Genuine corrections route through an approval-and-reason workflow: an authorized approver signs off, a mandatory reason is recorded, and the correction itself is written to the audit trail. You keep the ability to fix real mistakes while removing silent, unlogged amendments to posted vouchers.

Request a quote

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.

  • `Audit Trail Log` DocType capturing user, server timestamp, DocType, document name, and field-level before/after values on every change
  • Hash-chained log entries (each row stores a digest of the prior row) so deletion or edit of any historical entry breaks the chain and is detectable
  • Capture enforced at the framework layer via `hooks.py` doc events — `on_update`, `on_submit`, `on_cancel`, `on_trash` — not a UI-only toggle
  • Targeted server scripts on financial DocTypes: `Journal Entry`, `Sales Invoice`, `Purchase Invoice`, `Payment Entry`, `GL Entry`, and custom vouchers

Request a Quotation

Tell us about your Document/Audit Trail & GL Immutability 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.