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.1 or 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:

  1. Open Stores > Configuration > MageB2B > E-Invoice.
  2. 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.
  3. 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.
  4. 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

  1. Leave Enable E-Invoicing off while entering seller and payment data.
  2. Save values in the exact store view you intend to test.
  3. Run Test Configuration, Test XSD Schemas and Test Company Data.
  4. Enable the module with invoice generation mode set to Disabled.
  5. 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.