Skip to content

About

WORM document archive for the Frappe Framework: document types, retention, S3 Object Lock

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

A WORM document archive app for the Frappe Framework

docarchive

docarchive files business documents such as invoices, contracts and bank statements in a Frappe site. It is meant to copy each one, unchanged, into write-once (WORM) object storage for its retention period.

Status

This version has the document model, the locks, the storage configuration, the upload API, the nightly archive run to Object Lock storage, legal holds, the deletion of expired documents, the archiving of e-mails and other correspondence, exports, the audit log and monitoring. Archiving is off until a System Manager enables it in Archive Settings. Until then, nothing leaves the site.

No compliance promise

docarchive is a technical tool. It does not make you compliant with GoBD, the GDPR or any other law or standard, and it gives no legal or tax advice. Retention periods, procedures and documentation are your responsibility. Check them with your tax advisor or auditor.

Features

Archiving and WORM

Legal hold and deletion

Documents

Correspondence

Export

  • Export as ZIP packages with manifest, checksums and an offline viewer.

Audit and monitoring

  • Audit log of archive events, each entry stored under Object Lock and compared with the database every night.
  • Monitoring and completeness: bell notifications for failed, overdue and incomplete archiving, and a completeness report.

Integration

  • Roles and permissions: Document Manager, Archive Admin, Document Integration, and host roles.
  • Host app hooks for assignment, counterparties, file access and e-invoice extractors, and commands for runs and checks.
  • Tools for AI agents: list, read and assign open documents through the mcpserver app, without archiving.

Screenshots

From the demo data of bench --site <site> docarchive-demo (see Commands).

Counterparty panel: documents of a contact with filters, row actions and upload
Counterparty panel: documents of a contact with filters, row actions and upload
Business Document after archiving
Business Document after archiving
Triage: documents with missing fields, one by one
Triage: documents with missing fields, one by one
Archive now: confirmation with retain-until date and lock mode
Archive now: confirmation with retain-until date and lock mode
Retention Overview report
Retention Overview report
Setting a legal hold
Setting a legal hold
Archived e-mail in the viewer
Archived e-mail in the viewer
Mail thread with a gap
Mail thread with a gap
Archive Audit Log
Archive Audit Log
Audit log section on a document
Audit log section on a document
Archive Completeness report with a number gap
Archive Completeness report with a number gap
Offline export viewer
Offline export viewer
Audit log tab of the export viewer
Audit log tab of the export viewer
Audit entry of a nightly run
Audit entry of a nightly run

Documentation

Installation

bench get-app https://github.com/EffizienzAgent/s3storage --branch version-16
bench get-app https://github.com/EffizienzAgent/docarchive --branch version-16
bench --site <site> install-app docarchive

docarchive requires the s3storage app (v0.3.0 or later) for its S3 client and for storing large export files. s3storage keeps files on local disk until you configure its own bucket.

Compatibility: Frappe v16. The version-16 branch always points to the latest release; tagged releases and the changelog are on the releases page.

Professional setup & support

Need help setting this up or integrating it into your Frappe stack? Write to oss@effizienzagent.de (English or German). German-speaking SMEs: see mittelstandshub.de.

License

MIT

About

WORM document archive for the Frappe Framework: document types, retention, S3 Object Lock

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages