Magento 2 Extension Customer Documents

Magento 2 customer document extension for private account libraries, customer and group access, product files, order links, passwords, validity periods, notifications, and tracked downloads.

SoftwareSilo Customer Documents adds a controlled document area to Magento 2 customer accounts. Instead of sending files repeatedly by email, your team can keep current documents in Magento and make them available to the people who should see them.

Built for customer-specific delivery: Assign a file to one or more customers, to selected customer groups, or publish it as a public document. A private contract can stay with one account while a general manual is available to an entire dealer group.

A real document library in My Account: Customers find their files under My Documents. Categories, tags, configurable columns, and optional navigation or sidebar links help them locate the right invoice, certificate, price sheet, or manual.

Control when and how often a file is available: Valid From and Valid To dates define the publication window. A maximum download count can place an additional limit on documents that should not remain available indefinitely.

Add password protection where it is useful: Passwords can protect both private and public documents. The storefront asks for the password before download and excludes password-protected files from the ZIP bulk action.

Reduce predictable file access: Optional filename obfuscation replaces the original download filename with a generated value. For sensitive material, the documentation also explains how to block direct web access to the storage folder at server level.

Use internal files or controlled external links: A document can point to a file in Magento or to an external URL. Merchants can maintain an allowlist of trusted external hostnames instead of permitting redirects to arbitrary domains.

Place technical files on product pages: Assign documents to products and show eligible downloads in a product document block. This suits manuals, certificates, data sheets, installation instructions, and other files that belong to a product rather than a single order.

Put order documents in context: Documents can be linked to orders, invoices, shipments, and credit memos. Filename patterns support automated linking, so customers can retrieve a delivery note or project file from the related sales document view.

Notify customers about new documents: The module queues email notifications and sends them by cron. Attachment size limits help prevent oversized email messages, while the customer account remains the durable place to retrieve the file.

Offer a ZIP download for larger libraries: Customers can collect eligible internally stored files in one ZIP archive. External links and password-protected files are left out because they require a separate access step.

Keep download activity traceable: Download reports record access events and counters. Your service team can check whether a customer retrieved a document instead of relying on email delivery alone.

Configure file handling deliberately: Allowed extensions, upload path, maximum upload size, maximum email attachment size, visible frontend columns, and cleanup of missing files are controlled in store configuration.

Connect back-office workflows with separate add-ons: The REST/SOAP API package manages documents and assignments, the GraphQL package serves headless customer document views, and the import/export package handles Magento CSV processes. These packages are sold separately from the base extension.

Use the storefront that fits the project: The base extension supports the standard Magento frontend. A separate Hyva compatibility package provides the corresponding customer document, product download, linked-document, tag, password, and ZIP experiences for Hyva storefronts.

Choose by workflow, not by the word attachment: SoftwareSilo is intended for merchant-managed customer libraries and controlled document delivery. Product attachment modules focus mainly on files attached to catalog pages. Order attachment modules often let buyers upload files during checkout. Those are related, but different jobs.

Precise Access Control by Customer and Group

Define access per document by customer or customer group. This keeps sensitive content protected while approved files remain easy to access.

Documents Directly on Product Detail Pages

Assign documents to products so customers can download manuals, datasheets, and instructions directly on the product page once visibility and access rules are met.

Automatic Assignment to Orders, Invoices, and Shipments

Link documents automatically to order data. This reduces support follow-up and speeds up service processes.

Password Protection and Time Windows for Sensitive Content

Protect individual documents with passwords and control availability with validity periods.

Automated Document Notifications

Notify customers automatically by email when new documents are available, with clear visibility into delivery status and failures.

ZIP Bulk Download for Multiple Documents

Customers can download multiple approved documents as one ZIP package, improving the experience for larger document sets.

  • Current Version1.8.6
  • Compatible with Magento 2.4.6 - 2.4.9
  • Compatible with PHP 8.1 - 8.5

If your environment differs from the listed requirements, we can check compatibility in advance. Please contact us via our contact form.

customerdocuments

Version 1.8.6 - 2026-09-18

Fixed
  • Fixed document availability dates to use the active store view timezone

Version 1.8.5 - 2026-08-04

Changed
  • Replaced the module information block with the shared Extension Manager extension

Version 1.8.4 - 2026-06-26

Added
  • Added configurable cart document ZIP download for product-linked customer documents
Fixed
  • Fixed ZIP downloads to enforce customer document download limits and record download counters/report entries for included files
  • Fixed ZIP generation to use collision-resistant temporary filenames for concurrent downloads
  • Fixed public document URLs to enforce website scope before redirecting or streaming files

Version 1.8.3 - 2026-06-08

Changed
  • Added `ScopeInterface::SCOPE_STORE` to config reads in UploadFile, Observer/CustomerDocumentsConfigChange, Cron/DeleteMissingFiles, and Cron/LinkDocuments for multi-store compatibility
  • Reworked the frontend UI/UX across the document listing, search, grid, password modal and product download views
  • Migration from `web/css/customerdocuments.css` to `web/css/source/_module.less`
  • Split the storefront search into dedicated `MageB2B_CustomerDocuments/js/search` for AJAX filters and sorting
  • Public download controller now checks `customerdocuments/general/active` config flag
  • Moved base64 document file handling to explicit `DocumentFileManagementInterface`
Fixed
  • Fixed admin listing fulltext search
  • Fixed direct download access validation to enforce document website scope for public and private documents
  • Fixed download counters and report entries to be recorded only after a valid external redirect or local file response is prepared
  • Fixed linked entity documents to reuse date, website and customer/group visibility checks before rendering
  • Fixed linked-document cron path matching to use batched exact path lookups instead of per-entity suffix scans

Version 1.8.2 - 2026-04-07

Added
  • Added linked documents block support on customer credit memo pages
  • Added `creditmemo` entity type support in linked-document pattern configuration
Changed
  • Improved linked document context resolution for invoice, shipment, and credit memo pages
  • Extended linked-document retrieval to support multiple entity IDs in a single page context
Fixed
  • Fixed config path mismatch for "show message on empty linked documents"
  • Fixed WebAPI/Swagger contract mismatches in document service contracts to avoid schema issues
  • Improved email attachment compatibility across Magento mail stacks (Laminas and Symfony)
  • Fixed notification cron statistics logging under PHP 8.4

Version 1.8.1 - 2026-02-17

Added
  • Added mass action "Resend" in notification grid to requeue selected notifications
Changed
  • Changed notification grid column from "Document ID" to "Document" and display document name
  • Standardized customer account protection for frontend account pages
  • Highlight selected tag filter in frontend "My Documents" tag cloud
Fixed
  • Fixed email notification recipient filtering when both specific customers and customer groups are assigned

Version 1.8.0 - 2026-02-13

Added
  • Added product-level document assignments with store view scoping and new Downloads tab at product detail page
Fixed
  • Private documents now enforce access rights and download limits before delivery
  • Fixed cron notification timestamps and error handling when a document no longer exists
  • Fixed document linking cron to process in batches and avoid heavy memory usage
Changed
  • Unified download validation logic across endpoints for more consistent behavior

Version 1.7.5 - 2025-12-12

Fixed
  • Fixed error on admin Customer Documents grid when categories are empty
  • Fixed admin Customer Documents grid filters for "Customer Emails" and "Customer Groups" columns not working

Version 1.7.4 - 2025-12-08

Added
  • Added website scoping for customer documents (Website Field and "All Websites" Option)
Changed
  • Added Export and Filter to Customer -> Documents section
Fixed
  • Fixed PHP 8.4 deprecation warning by explicitly marking the `$pool` constructor parameter in `Ui\DataProvider\Document\DataProvider` as nullable

Version 1.7.3 - 2025-12-07

Added
  • Added Customer -> Documents section in admin area to view assigned documents
  • Added tag management system with admin CRUD interface, tag chips in document form, and frontend tag cloud filtering
  • Added column visibility configuration for frontend document grid (multiselect in admin to show/hide columns)

Version 1.7.2 - 2025-11-13

Fixed
  • Fixed config path enable_sidebar in Block/Sidebar class

Version 1.7.1 - 2025-11-09

Fixed
  • My documents layout: use cards on mobile viewport
  • Escaping: sanitized unescaped values (name, category, description, and category headers) in frontend grid templates to prevent XSS
  • Configuration scope: ensured store/website scope is respected by using SCOPE_STORE for frontend config reads (links, grid options, upload path, allowed extensions, external domain whitelist, email settings)
  • Sidebar visibility: customer account navigation link now respects "Enable at sidebar" via layout `ifconfig` and additionally hidden when module is disabled
  • Head link visibility: header "My Documents" link is hidden unless both the module is active and the head link is enabled
  • Disabled module redirects: improved grammar for the disabled-extension message and ensured controllers read module status per store scope

Version 1.7.0 - 2025-11-02

Added
  • Added rate limiting for document downloads (5 downloads per hour) using cache-based implementation with IP tracking for guest users and customer ID tracking for logged-in users
  • Added CSRF protection for POST requests in CheckDownload controller using FormKeyValidator
  • Added request-level caching for access rights checks to prevent redundant database queries during the same request
  • Added composite database indexes to optimize queries on relation tables (document_id + customer_id, document_id + customer_group_id, document_id + customer_id + downloaded_at)
  • Added configuration option for maximum upload file size (MB) in system config
  • Added configuration option for maximum email attachment size (MB) in system config
  • Added MIME type validation using setValidateCallback() in file uploader for better security
  • Added security warning for external URL configuration in admin system config
  • Added temporary directory writability check for ZIP download functionality
  • Added PathColumn UI component to display external URL when path is empty in admin grid
  • Added delete confirmation dialogs for admin grid actions in both documents and categories listing
Changed
  • Replaced all date() calls with Magento DateTime helper (gmtDate) for proper timezone handling and consistency
  • Improved admin documents grid to show customer emails instead of customer IDs
  • Improved admin documents grid to show customer group codes instead of customer group IDs
  • Changed admin grid path column label to "Path / External URL" to better reflect its dual purpose
  • Email attachment logic now respects configurable maximum attachment size
Fixed
  • Fixed N+1 query issue in document collection by implementing eager loading using GROUP_CONCAT and _afterLoad() hook
  • Fixed 12-hour time format bug (h:i:s) in document creation timestamp, now correctly uses 24-hour format (H:i:s)
  • Fixed URL encoding in frontend search functionality
  • Improved error messages throughout the extension to be more specific instead of generic

Version 1.6.0 - 2025-10-17

Added
  • Added feature to use external links for document downloads instead of uploaded documents
Fixed
  • Fixed issue on fresh installation with obsolete customer group colum check

Version 1.5.3 - 2025-08-08

Fixed
  • Fixed small issues with PHP 8.4 compatibility

Version 1.5.2 - 2025-07-27

Added
  • Added PHP 8.4 compatibility
Fixed
  • Fixed an issue with incrementDownloadsCounter

Version 1.5.1 - 2025-07-22

Added
  • Added suggest entry to composer.json referencing the CustomerDocuments Sample Data package for easier onboarding
Fixed
  • Show download as ZIP file option only if customer has access to at least one document

Version 1.5.0 - 2025-06-22

Added
  • Added a configuration obscure_filename to obscure the filename (e.g., `file_64e1f8a9c3b4a.pdf`) when downloading a document - this adds an additional layer of security to prevent direct access to files by their original names
  • Added feature to restrict a document within dates (valid from date & valid to date) - disabled by default
  • Added instructions in README.md for web server configuration to block direct access to the document folder for enhanced security
Changed
  • Changed the public download path to `/customerdocuments/download/file?id=document_id&password=password` , please make sure to update your public download links accordingly
  • Removed the resync upload path functionality and config button, as it is replaced by observer logic
  • Improved display for public download URL in customer document form in admin area, now it shows the full URL with the document ID and password dynamically
  • Removed some redundant functions and methods in the codebase to streamline the extension
Fixed
  • Fixed issue with back button in admin area (customer documents form, customer documents category form)

Version 1.4.5 - 2025-06-11

Fixed
  • Fixed issue accessing the customer documents category menu in admin area

Version 1.4.4 - 2025-06-06

Fixed
  • Fixed issue when creating document and customers/customer groups within the same request

Version 1.4.3 - 2025-05-28

Added
  • Added feature to download all documents as ZIP file (the password protected files, if any, will be automatically excluded) - disabled by default

Version 1.4.2 - 2025-05-22

Added
  • Added link "My Documents" in the customer head section (store config, enabled by default)

Version 1.4.1 - 2025-05-07

Added
  • Added Public URL on Admin UI Form to copy & paste the URL easily
Changed
  • Added DB column created_at to email notification table
Fixed
  • Fixed error message shown when customer document file was deleted in edit form
  • Fixed wrong error message on public download when password was not provided
  • Fixed sorting issue under My Documents
  • Fixed incorrect value display for "Is Public" under My Documents

Version 1.4.0 - 2025-04-29

Added
  • Added "Max Downloads" attribute to define a maximum number of allowed downloads per document
  • Added added email notification table to check if any errors occured during sending process
  • Added system store config option to directly add document as attachment inside the email
Changed
  • Changed email to queue processing using cronjob
  • Refactored complete Admin UI using UI forms
  • Changed Category, Customer and CustomerGroup Classes/Models to add prefix "Document" (CustomerRepository -> DocumentCustomerRepository)

Version 1.3.2 - 2024-12-30

Fixed
  • Fixed issue with sorting parameters in frontend My Documents section

Version 1.3.1 - 2024-10-25

Changed
  • Changed logic of email store: Now, the store for the selected template will be fetched from the customer's store_id
Fixed
  • PHP 8.3 compatibility bugfixes
  • Fixed ambigious column issue in customer documents grid
  • Fixed sorting issue in customer documents grid

Version 1.3.0 - 2024-10-07

Added
  • Added fulltext search in customer documents admin grid
  • Added pager and limit feature for frontend customer documents grid
Changed
  • Moved the customer_group values (previously stored as comma-separated values) into a dedicated relation table customer_document_customer_group for better data management
  • Added a data migration patch to transfer existing customer group data into the new relation table
  • Improved performance when handling large datasets by optimizing database queries and reducing memory usage
  • Changed System class for displaying extension information
Fixed
  • Fixed issue with Cronjob DeleteMissingFiles

Version 1.2.0 - 2024-09-24

Added
  • Added link entity: Now customer documents can be linked to any entity in Magento 2, e.g. orders or invoices
  • Added automatic cronjob to connect the documents based on defined patterns (defined in the system configuration)
  • Added functionality to both use password protection and public document (see README.md for further instructions)
  • Added feature to show documents per category, added system configuration
  • Added system configuration: Show Document Name
  • Added system configuration: Show Password Notice
  • Added system configuration: Delete Missing Files (Cronjob)
  • Added support for Magento_RemoteStorage (by using Filesystem method of Magento 2)
  • Added Magento_CSP Compatibility (works for Magento 2.4.7 onwards)
Changed
  • Changed to a more secure approach for password protected documents
  • Changed config paths (a Patch will automatically move your settings)
  • Removed MageB2B\CustomerDocuments\Helper\Common (in favor of Helper\Data class)
  • Removed MageB2B\CustomerDocuments\Helper\Config (in favor of Magento\Framework\App\Config\ScopeConfigInterface class)
  • Removed MageB2B\CustomerDocuments\Helper\Logger (in favor of \Psr\Log\LoggerInterface class)
  • Renamed "Publicly Available" to "Is Public"
  • Use yesnoSource Class for Customer Document Form
Fixed
  • Removed action columns for Download Report menu

Version 1.1.6 - 2024-08-07

Fixed
  • Fixed icon issue on Download Report menu in admin area

Version 1.1.5 - 2024-07-22

Added
  • Updated README.md

Version 1.1.4 - 2024-05-17

Added
  • Added patch to add General category if it doesnt exist (to avoid issue when accessing category grid in admin with empty categories)

Version 1.1.3 - 2024-04-22

Fixed
  • PHP 8.2 compatibility bugfixes
Changed
  • Improved email template

Version 1.1.2 - 2024-03-06

Changed
  • PHP docs

Version 1.1.0 - 2023-08-29

Added
  • Added a store config "Enable Sidebar" - only if store config is enabled, sidebar block will be rendered
Fixed
  • Fixed various issues around grid filter, added category dropdown filter instead of text
  • Fixed mass action delete on grid

Version 1.0.11 - 2023-03-03

Added
  • Added a button "resync upload path" to resync the upload path after changed, so every file will be moved automatically

Version 1.0.10 - 2023-01-24

Changed
  • replaced setFrom() method with setFromByScope()

Version 1.0.9 - 2022-10-14

Fixed
  • Added uninstall routine

Version 1.0.8 - 2022-08-03

Fixed
  • PHP8 Compatibility bugfixes

Version 1.0.7 - 2022-05-17

Added
  • Field updated_at added
  • Added password on document grid
Fixed
  • Removed new button from report grid

Version 1.0.6 - 2022-04-23

Fixed
  • Composer.json bugfixes
customerdocuments-importexport

Version 1.6.2 - 2026-09-18

Changed
  • Changed sample CSV downloads to use Magento's standard import sample provider
Fixed
  • Fixed document imports to save document records and their assignments atomically
  • Fixed replacement imports to retain the previous document file when persistence fails

Version 1.6.1 - 2026-03-11

Fixed
  • Fixed export to properly handle `customer_ids` and `customer_group_ids` as arrays (not strings) in Document model

Version 1.6.0 - 2026-02-13

Added
  • Added CSV column `product_links` to import and export product assignments in format `sku@store_code@position|...`
  • Added validation for product links (SKU/store-code checks)
Fixed
  • Fixed import updates with existing `id` and empty `path` (keeps current document file path)
  • Replaced direct `date()` usage with Magento DateTime helper timestamps for import defaults

Version 1.5.3 - 2025-12-07

Added
  • Added compatibility to mageb2b/customerdocuments 1.7.3 (tag implementation)
Fixed
  • Fixed issue on export.xml file

Version 1.5.2 - 2025-10-28

Fixed
  • Return a proper download response for the sample file so the browser saves the file instead of rendering it inline

Version 1.5.1 - 2025-07-06

Added
  • Added README.md and CHANGELOG.md

Version 1.5.0 - 2025-06-20

Added
  • Added compatibility with customerdocuments 1.5.0

Version 1.4.0 - 2025-04-29

Added
  • Added compatibility with customerdocuments 1.4.0, added send_email flag and functionality to queue emails from import

Version 1.3.1 - 2025-04-16

Changed
  • Downgraded to version 1.3.1

Version 1.3.0 - 2024-10-03

Changed
  • Changed version constraint for new version
  • Import changes especially for customer group table change

Version 1.2.0 - 2024-08-07

Changed
  • Version 1.2.0 which will support new MageB2B_CustomerDocuments 1.2.0 (classes were removed)

Version 1.0.4 - 2024-03-06

Changed
  • Changed homepage in composer.json

Version 1.0.3 - 2023-11-09

Fixed
  • Fixed undefined issue on variable

Version 1.0.2 - 2022-12-28

Fixed
  • Fixed undefined constant issue on sample file download

Version 1.0.1 - 2022-07-29

Fixed
  • fixed composer.json, bump version to 1.0.1

Version 1.0.0 - 2022-05-14

Added
  • Added dependency for package mageb2b/customerdocuments inside composer.json
  • Output validation errors on CLI import
Changed
  • Updated import class to add updated_at column
  • Replaced MageBTB->MageB2B
  • MageBTB_CustomerDocumentsImportExport -> MageB2B_CustomerDocumentsImportExport
customerdocuments-api

Version 1.4.4 - 2026-06-08

Added
  • Added explicit document file content endpoints for base64 file retrieval and upload, file content is not delivered anything more within the previous endpoint

Version 1.4.3 - 2026-02-13

Added
  • Added new endpoints for document product assignment feature

Version 1.4.2 - 2025-07-05

Fixed
  • Fixed CHANGELOG.md

Version 1.3.0 - 2024-10-03

Added
  • Added new webapi routes
Changed
  • Add version constraint for new api definitions

Version 1.2.0 - 2024-08-08

Added
  • Added new API routes for customer link feature

Version 1.0.1 - 2024-03-06

Fixed
  • Fixed homepage on composer.json
Changed
  • Updated copyright info

Version 1.0.0 - 2022-05-12

Added
  • Initial version of mageb2b/customerdocuments-api
customerdocuments-graph-ql

Version 1.0.0 - 2026-02-23

Added
  • Initial release
customerdocuments-hyva

Version 1.2.2 - 2026-06-26

Added
  • Added Hyva cart document ZIP download compatibility for product-linked customer documents
Changed
  • Requires `mageb2b/customerdocuments: 1.8.4`

Version 1.2.1 - 2026-06-16

Fixed
  • Added Hyva Tailwind 4 module CSS source registration while keeping Tailwind 3 source compatibility

Version 1.2.0 - 2026-06-08

Changed
  • Requires `mageb2b/customerdocuments: 1.8.3`
  • Removed the Luma password modal block on Hyva via layout override
  • Extracted the password modal into `templates/customerdocuments/password_modal.phtml`, registered as a child block so it can be overridden cleanly
  • Switched duplicated SVG markup for download, lock, document, shield, tag and spinner icons to a single `Icon` view model
  • Added mobile card layouts for the document grid
  • Debounced text search inputs and triggered auto-submit for selects/date changes
Fixed
  • Added `aria-sort`, `aria-modal`, `aria-labelledby`/`aria-describedby`, auto-focus and tab-trap to the password modal; moved the JS script tag to `defer`
  • Scoped all Hyvä compatibility layout handles with the `hyva_` prefix so the module no longer overrides Luma customer document pages when installed in mixed-theme shops
Added
  • Added Loading… / Processing… translations for `de_DE`, `en_US` and `es_ES`

Version 1.1.2 - 2026-02-24

Added
  • Added dedicated view models for product downloads, linked documents, and tag URL handling in Hyva templates
Fixed
  • Fixed Hyva linked document download flow by aligning template bindings with the Hyva download component
  • Fixed tag filter URL handling to keep a single `search[tags]` parameter

Version 1.1.1 - 2026-02-18

Added
  • Hyva compatibility for product page document downloads
Changed
  • Updated compatibility baseline for mageb2b/customerdocuments 1.8.1
  • Aligned module dependency sequencing for Hyva compatibility fallback loading

Version 1.1.0 - 2025-12-07

Added
  • Compability to mageb2b/customerdocuments 1.7.3
  • Added tag search field and visual tag cloud with Tailwind CSS styling
  • Added column visibility support for frontend document grid (conditional rendering based on configuration)

Version 1.0.0 - 2025-06-13

Added
  • Initial version
Module-Specific Questions
What is a Magento 2 Customer Documents extension?

It gives merchants a controlled way to publish files in customer accounts. SoftwareSilo combines a My Documents library with access rules, categories, tags, product assignments, sales-document links, notifications, and download reporting.

Who is SoftwareSilo Customer Documents designed for?

It suits B2B stores, manufacturers, distributors, service providers, and project businesses that need to deliver contracts, certificates, manuals, price files, delivery records, or other account-specific documents.

Does Magento Open Source include a customer document library?

Magento Open Source has order, invoice, shipment, and credit memo views, but it does not provide this general-purpose customer document library with assignment and access controls. SoftwareSilo adds that workflow.

Where do customers find their documents?

Customers use My Documents in their account. Merchants can also enable a navigation link, a sidebar block, product-page downloads, and links from related sales documents.

Can a document be assigned to one customer?

Yes. A document can be assigned to individual customer accounts. Multiple customer assignments are also possible when the same file belongs to a defined set of accounts.

Can documents be assigned by customer group?

Yes. Customer-group assignments are supported, which is useful for dealer levels, service groups, wholesale tiers, or other Magento customer segments.

Can a document be public without a customer login?

Yes. The Is Public setting creates a public download path. Use it only for material intended for open access, and add a password when the public link still needs an extra check.

Can private and public documents use passwords?

Yes. Password protection works for both access models. The storefront validates the password before serving the document.

Can document availability be limited by date?

Yes. Valid From and Valid To fields determine when an eligible document is visible and downloadable.

Can the number of downloads be limited?

Yes. A maximum download value can be set on a document, and the module keeps a download counter.

Are document downloads recorded?

Yes. The download report stores access activity so administrators can review retrieval instead of relying only on email delivery.

Can customers download several documents as a ZIP?

Yes. The optional ZIP action collects eligible internally hosted documents. Password-protected documents and external URLs are excluded because each requires a separate access path.

How are documents organized in the customer account?

Merchants can use categories and tags. The My Documents list can be grouped by category, filtered by tags, and configured to show selected columns.

Can documents appear on product pages?

Yes. Assign documents to products and enable the product document view. The module then shows eligible files in the configured product-page location.

Can documents be linked to orders and invoices?

Yes. Document links support order-related contexts including orders, invoices, shipments, and credit memos. Customers can open the file from the related frontend view.

Can order documents be linked automatically?

Yes. A cron task can match document filenames against configured patterns and create links to the corresponding sales entities.

Does the extension send email notifications?

Yes. New-document notifications are queued and sent by cron. The store can limit attachment size so large files remain account downloads instead of oversized email attachments.

Can a document point to an external URL?

Yes. External document URLs are supported. Configure an allowlist of trusted hostnames to avoid sending customers to arbitrary domains.

How can direct access to stored files be reduced?

Enable filename obfuscation and block the document storage directory in the Apache or Nginx configuration. Customers should receive files through the module's checked download route.

Can allowed file types and upload size be restricted?

Yes. Store configuration contains an allowed-extension list and a maximum upload size. PHP and web-server limits still apply.

What happens when a stored file is missing?

The optional cleanup cron checks for document records whose files no longer exist and removes stale entries. The module also reports a clear error when a requested file is absent.

Does the base extension include a REST or SOAP API?

No. REST and SOAP endpoints are supplied by the separately licensed Customer Documents API add-on. The base module contains the underlying repositories and storefront workflow.

Is GraphQL available for headless storefronts?

Yes, through a separate GraphQL add-on. It provides customer document queries, categories, filtering, pagination, password-aware downloads, and remaining-download information.

Can documents be imported and exported with CSV?

Yes, through the separate Import/Export add-on. It integrates with Magento import/export and includes a CLI import command, including product-link mapping.

Does Customer Documents support Hyva?

Yes, with the separate Hyva compatibility package. It supplies customer lists, product downloads, linked documents, tag filters, password handling, and ZIP behavior for Hyva storefronts.

Is SoftwareSilo the same type of extension as Magezon Customer Attachments?

They overlap on customer-specific files, notifications, validity, download limits, reporting, and API use. SoftwareSilo also documents customer-group access, categories and tags, product assignments, sales-document links, passwords, public files, ZIP, GraphQL, import/export, and Hyva packages.

How does SoftwareSilo differ from Webkul Product Attachments?

Webkul focuses on catalog attachments for products and categories, with product views in orders and email. SoftwareSilo starts with a customer account library and adds product placement as one part of a broader document-delivery workflow.

How does SoftwareSilo differ from Swissup Order Attachments?

Swissup documents customer file uploads during checkout and from order views. SoftwareSilo primarily lets the merchant deliver controlled documents to customers and connect them to products or sales documents.

Does the module generate invoices, contracts, or PDFs?

No. It stores and delivers documents that already exist or links to external files. PDF generation, contract creation, and accounting document creation are separate processes.

Can the extension replace a full document management system?

It is a Magento customer delivery and access layer, not an enterprise authoring or records-management suite. Use it when documents belong in the commerce account and connect another system through add-ons when that system remains the source.

General Questions
How many Magento installations is the license valid for?

The license is valid for one Magento installation, including multi-website operation. In addition, the module may be installed on any number of development or staging servers. You can find further details in our license terms.

Is installation included in the price?

Installation and configuration are not included in the price. On request, we can support you with a smooth integration into your system.

How do I install a module?

Composer is PHP's package manager, and Magento 2 uses it to install modules and their dependencies. After purchase, the commands for your module are available under Licenses in your customer account. First add the private SoftwareSilo repository and your license token. Then install the listed package with composer require and run php bin/magento setup:upgrade and php bin/magento cache:clean.

What payment methods are available?

You can pay by credit card (Stripe) or bank transfer (prepayment). For credit card payments, the order is processed immediately and the access credentials are provided directly in a separate follow-up email.

What does the order process look like?

After credit card payment, you immediately receive access credentials to obtain the module via Composer. For bank transfer, access is granted once the invoice is paid.

I need a custom modification of the module. Is that possible?

Custom requests are no problem. We tailor our Magento 2 modules to your project and maintain a dedicated internal version so we always know exactly what runs on your system for support.

Can I install a demo version locally?

On each module detail page, you can request your own demo instance and test the module intensively for 7 days. However, we do not provide a local demo version.

Is the source code encrypted?

No, the source code of our modules is not encrypted. If you need a customization, feel free to send us a request. We will get back to you promptly with a non-binding quote.

What is the update policy and support?

You can add a support package to your order. It includes assistance as well as updates and upgrades related to the module. No continuous subscription is required.

I already have a license. How can I perform an update?

You can complete the license update here. If you have an active support package, you receive updates automatically via Composer. If your support package has expired, you can renew your license here or in your account.

I have another question — how can I contact you?

You can reach us anytime via eMail.

Customer Documents

×

Ideal for these industries & use cases

Automated Invoice Distribution

Link invoices to orders automatically through filename patterns. Customers can access all relevant files from one central account area.

Secure Contract Delivery

Deliver confidential contracts with password protection and time-limited access. Downloads remain transparent and traceable.

Technical Documents on Product Pages

Provide manuals, datasheets, and instructions directly on product detail pages and reduce support requests.

Traceable Download History for Audit Processes

Track document downloads transparently and support internal review processes with clear retrieval history. Full compliance requirements still require additional organizational policies.

Order Confirmations and Delivery Notes

Link order-related documents to orders, invoices, and shipments so customers can find all information in one place.

Onboarding with Digital Documents

Provide setup materials, process guides, and instructions to new customers in a structured way and reduce onboarding time.

Try before you buy

Request a personal demo and test the module with realistic sample data in Magento Admin and the storefront. Take your time to see whether it fits your requirements and workflows.

Technical documentation

Practical Magento 2 guides, developer documentation, and API references for installation, configuration, and troubleshooting.

Go to Knowledge Base

Do you need a custom solution?

Do your requirements go beyond the capabilities of our Magento 2 modules? We develop suitable Magento 2 modules and integrations for your business processes.

Request now