Electronic Document Management System (ECM/BPM) Development

Our company is engaged in the development, support and maintenance of sites of any complexity. From simple one-page sites to large-scale cluster systems built on micro services. Experience of developers is confirmed by certificates from vendors.
Development and maintenance of all types of websites:
Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:
Development stages
Latest works
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    822
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    847
  • image_website-sbh_0.png
    Website development for SBH Partners
    999
  • image_website-_0.png
    Website development for Red Pear
    451

Development of Electronic Document Management System (ECM/BPM)

ECM (Enterprise Content Management) + BPM (Business Process Management) are systems for creating, approving, storing, and searching documents with automated business processes. They replace paper procedures and Excel spreadsheets with approval statuses.

Key Concepts

Document — not just a file. An object with metadata (type, author, counterparty, amount, date), versions, change history, related documents, and lifecycle (draft → review → approved → archived).

Approval Route — graph of stages and participants. Stages can be:

  • Sequential (step 2 starts after step 1)
  • Parallel (multiple approvers simultaneously)
  • Conditional (if amount > 1M → add CFO)

Approval Task — specific task for specific user: approve, review, sign, fill requisites.

BPM Engines

Implementing workflow engine from scratch is time-consuming. Mature solutions:

Camunda BPM — Java, BPMN 2.0-compatible engine. REST API allows embedding in any stack. Visio-like route editor in browser (Camunda Modeler). Supports DMN for business rules.

Activiti — lightweight Java engine, embedded in Spring Boot.

Temporal.io — code-first workflow engine (Go/Java/TS). Reliable under failures, supports long-lived processes (hours, days, months).

Example of process definition in BPMN (simplified):

<process id="invoice-approval">
  <startEvent id="start"/>
  <userTask id="manager-review" name="Manager Approval"
    camunda:assignee="${document.manager_id}"/>
  <exclusiveGateway id="gateway-1"/>
  <userTask id="cfo-review" name="CFO Approval"
    camunda:assignee="[email protected]"/>
  <!-- ... -->
</process>

Document Versioning

Each document revision is stored separately:

CREATE TABLE document_versions (
  id, document_id, version_number INT,
  file_path TEXT, file_hash VARCHAR(64),
  author_id, created_at,
  change_summary TEXT
);

Current version is record with maximum version_number. On edit, new record is created, old ones aren't deleted. Diff between versions — for text documents via diff-match-patch, for DOCX — via LibreOffice conversion + diff.

Electronic Signature

Integration with digital signature providers:

  • CryptoPro — GOST algorithms, requires plugin or desktop client
  • Diadoc (Kontur) — cloud signature, API for embedded signing
  • Digital Signature from Gov Services — via ESIA

For internal document management, "simple" electronic signature is sufficient: identity verification via authentication + document hash fixation and timestamp.

Full-Text Search

Search by document text (including PDF, DOCX, XLSX content):

  • Text extraction: Apache Tika or LibreOffice headless
  • Indexing: Elasticsearch with Cyrillic morphology (plugin analysis-morphology)
  • Search by metadata + full-text with weights

1C Integration

Bidirectional synchronization:

  • 1C → ECM: document creation (invoices, UPD, acts) automatically appear in ECM with "requires approval" status
  • ECM → 1C: after approval document is marked in 1C as "approved", journal entries are created automatically

Implemented via 1C HTTP services or COM object (for on-premise).

Archive and Storage

Legislation requires storing primary documents 5 years, HR documents 75 years. Archive must:

  • Be immutable (WORM — Write Once Read Many)
  • Support fast search
  • Allow export for tax inspection

Object storage (S3/MinIO) with Immutable Object Lock for WORM mode.

Timelines

MVP (document creation, simple sequential routes, versioning, search): 3–5 months. Full ECM/BPM system with Camunda, digital signature, 1C integration, full-text search, and archive: 6–12 months.