Installation
Install the module, confirm its dependencies, then test one document manually before enabling automatic generation or email attachments.
Requirements
- Magento 2.4
- PHP
8.1or newer within the PHP versions supported by your Magento release - Composer 2
- a valid SoftwareSilo Composer repository credential
- Magento cron for scheduled generation and stale-claim recovery
- supervised queue consumers when message-queue mode is used
The package requires horstoeko/zugferd and num-num/ubl-invoice. Composer installs compatible versions automatically.
Install the package
Run from the Magento project root:
composer require mageb2b/e-invoice
php bin/magento module:enable MageB2B_ExtensionManager MageB2B_EInvoice
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:clean
Deploy static content if your release process requires it:
php bin/magento setup:static-content:deploy -f
The Composer package name is mageb2b/e-invoice. Do not use the older mageb2b/einvoice spelling found in historical notes.
Confirm the installation
composer show mageb2b/e-invoice
php bin/magento module:status MageB2B_EInvoice
The Magento command should report that MageB2B_EInvoice is enabled. Use the package metadata recorded in composer.lock when checking compatibility.
Confirm the database and admin UI
After setup:upgrade:
- Open Stores > Configuration > MageB2B > E-Invoice.
- Open Sales > Invoices and confirm the E-Invoice Status column, Generate E-Invoice mass action and Download E-Invoices (ZIP) mass action are available to an authorized admin role.
- Open Sales > Credit Memos and confirm the E-Invoice Status column and the Generate E-Invoice mass action appear when credit-memo support is enabled.
- Open one invoice and one credit memo. Confirm that each detail page contains its own E-Invoice Information block when the corresponding feature is enabled.
The module stores status, format, paths, timestamps and error information on invoice and credit-memo entities. Both grids expose an E-Invoice Status column; only the invoice grid adds the Download E-Invoices (ZIP) mass action. The module does not create a separate invoice ledger.
Check required PHP capabilities
The generators and validators rely on XML processing, file access and PDF handling. Confirm at least:
php -m | grep -E 'dom|libxml|zlib'
Also confirm Magento can write to its private var/ directory if you plan to use permanent storage.
Prepare background processing
Magento cron is required for scheduled mode and for stale-claim recovery. Queue mode additionally requires the matching consumer:
php bin/magento queue:consumers:start mageb2b.einvoice.generate
php bin/magento queue:consumers:start mageb2b.einvoice.generate.creditmemo
Do not start long-running consumers manually in a terminal for production. Add them to your existing process supervisor.
First safe verification
- Leave Enable E-Invoicing off while entering seller and payment data.
- Save values in the exact store view you intend to test.
- Run Test Configuration, Test XSD Schemas and Test Company Data.
- Enable the module with invoice generation mode set to Disabled.
- Create a representative invoice, generate its e-invoice from the admin view and inspect the actual XML/PDF.
The test buttons confirm local configuration and schema availability. They do not prove that a recipient or network will accept the document.
Common installation problems
Composer cannot find the package
Verify the configured SoftwareSilo repository and credentials, then check the exact package name:
composer show mageb2b/e-invoice --all
Avoid a broad composer update merely to diagnose one package.
The configuration section is missing
Check module status, rerun setup:upgrade, clean configuration cache and confirm the admin role can access MageB2B_EInvoice configuration resources.
The invoice status column or mass actions are missing
Confirm setup completed without errors. Check the feature switches and admin ACL: the UI plugins hide the status columns and E-Invoice mass actions when the feature is disabled. Do not expect format or generated-time columns or a mass-validation action; those controls are not declared by the current admin UI.
Files cannot be written
Verify the configured storage path is writable by the PHP process below Magento's private var/ directory. Do not solve this with world-writable permissions.
Continue with Configuration and the Go-Live Checklist.