Gift Cards & Vouchers

The extension can classify designated multi-purpose voucher lines as out of scope (O) and emit the configured exemption reason. Product setup decides which lines receive that treatment; confirm the classification with the people responsible for tax configuration.

Background

The module models the following distinction in its German default wording:

Type Definition VAT treatment on sale
Single-purpose voucher (§3 Abs. 14) Place of supply and VAT rate are known at issue VAT applies immediately
Multi-purpose voucher (§3 Abs. 15) VAT rate or place of supply is not known at issue No VAT on sale; VAT applies on redemption

Detection Order

For each line the extension resolves, in order:

  1. Product attribute override: If einvoice/vat/voucher_product_attribute is configured, the attribute value takes precedence:
    • multi_purpose → force out-of-scope (O)
    • single_purpose → force normal tax handling
  2. Adobe Commerce giftcard product type: When the Treat Magento Giftcards as Multi-Purpose Voucher flag is enabled (default), any product with product_type=giftcard is treated as a multi-purpose voucher.
  3. Otherwise not a voucher.

Configuration

Stores > Configuration > MageB2B > E-Invoice > VAT Classification

Setting Default Notes
Treat Magento Giftcards as Multi-Purpose Voucher Yes Adobe Commerce giftcard products automatically flagged
Voucher Override Product Attribute (empty) Product attribute code whose value (multi_purpose / single_purpose) overrides detection
Exemption Reason: Out of Scope (O) Mehrzweck-Gutschein (§3 Abs. 15 UStG) BT-120 text used for voucher lines

Custom Product Attribute

If you sell vouchers via third-party modules or custom product types, create a product attribute (e.g. einvoice_voucher_type) with values multi_purpose or single_purpose, and enter the attribute code in the Voucher Override Product Attribute field.

Effect on Invoice

Multi-purpose voucher lines:

  • Use category O (Out of scope) in BT-151
  • Use rate 0 % in BT-152
  • Emit a BT-120 exemption reason (default German wording, override in admin)
  • Contribute to the base total but not to the tax amount of the invoice

Example

A cart with one standard product (€100, 19 %) and one multi-purpose voucher (€50) produces two tax subtotals:

Category Base Tax
S 100.00 19.00
O 50.00 0.00

Grand total: 169.00 € (100 + 19 + 50).