Skip to content

Enable purchasing products

To enable adding product to cart and purchasing from the catalog, the following configuration is required:

Configuring products in the UI

After you configure the region, currency and VAT rates for regions in settings, the store manager must set up the remaining parameters in the UI, such as, VAT rates per product type, descriptions, attributes, assets, prices and availability per product, and so on.

For more information, see User Documentation.

Region and currency

All currencies available in the system must be enabled in the Back Office under Product Catalog -> Currencies.

Additionally, you must configure currencies valid for specific SiteAccesses under the ibexa.system.<scope>.product_catalog.currencies configuration key:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
ibexa:
    system:
        default:
            product_catalog:
                currencies:
                    - EUR
                    - GBP
                    - PLN
                regions:
                    - germany
                    - uk
                    - poland

In the ibexa_storefront.yaml file, under the ibexa.system.<scope>.product_catalog.regions configuration key, regions are set with default value. Remember to either exclude this element or extend it by configuring other regions.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
ibexa:
    system:
        storefront_group:
            product_catalog:
                currencies:
                    - EUR
                    - PLN
                regions:
                    - germany
                    - poland
        another_storefront_group:
            product_catalog:
                currencies:
                    - GBP
                regions:
                    - uk

This example uses the currencies and regions set in the VAT rates' example below.

Configuring other regions and currencies

By default, the system always uses the first currency and the first region configured.

To implement a different logic, for example a switcher for preferred currencies and regions, you need to subscribe to Ibexa\Contracts\ProductCatalog\Events\CurrencyResolveEvent and Ibexa\Contracts\ProductCatalog\Events\RegionResolveEvent in your customization.

VAT rates

You set up VAT percentage values corresponding to VAT rates in configuration:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ibexa:
    repositories:
        default:
            product_catalog:
                engine: default
                regions:
                    germany: # Shorthand VAT configuration format
                        vat_categories:
                            standard: 19
                            reduced: 7
                            none: ~
                    poland: # Current VAT configuration format
                        vat_categories:
                            standard:
                                value: 23
                            reduced:
                                value: 8
                            zero:
                                value: 0
                            none:
                                value: 0
                                extras:
                                    not_applicable: true

Note

The above example presents two acceptable formats of VAT configuration. For each VAT category, setting a value to "null" (~) is equal to making the following setting:

1
2
3
4
                            none:
                                value: 0
                                extras:
                                    not_applicable: true

You can then assign VAT rates that apply to every product type in each of the supported regions. To do it, in the Back Office, open the product type for editing, and navigate to the VAT rates area.

Assigning VAT rates to a product type