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:
- Product attribute override — if
einvoice/vat/voucher_product_attributeis configured, the attribute value takes precedence:multi_purpose→ force out-of-scope (O)single_purpose→ force normal tax handling
- Adobe Commerce giftcard product type — when the Treat Magento Giftcards as Multi-Purpose Voucher flag is enabled (default), any product with
product_type=giftcardis treated as a multi-purpose voucher. - 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).