Gift Cards & Multi-Purpose Vouchers

The extension recognises vouchers and marks them as out-of-scope (O) according to §3 Abs. 15 UStG when appropriate. This prevents VAT from being charged on the sale of a multi-purpose voucher, as required by German tax law.

Background

German VAT law (§3 UStG) distinguishes two types of voucher:

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).

Found an issue with this documentation? Let us know