> For the complete documentation index, see [llms.txt](https://developer.esw.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.esw.com/adobe-commerce-magento/esw-adobe-extension-features/catalog.md).

# Catalog

ESW requires a product catalog from retailers to calculate correct duties and taxes. This information is used for checkout calculations as well as customs and duty declarations. Catalog integration exports catalog data and the custom attributes via Adobe Commerce (Magento) using product information that exists in system. The data is sent to ESW and synchronized. The catalog configuration has preselected default mappings of the Adobe Commerce (Magento) product attribute, which are required by ESW and can be altered if needed.

## Custom product attributes <a href="#custom-product-attributes" id="custom-product-attributes"></a>

Some fields that are required for the ESW catalog integration do not exist in the default Magento attributes. Therefore, the extension creates the following three additional product attributes during installation or when you update the ESW Magento extension:

* HS Code
* HS Region
* Material Description

You can view these fields in the ESW category of the product view

## Catalog Configuration <a href="#catalog-configuration" id="catalog-configuration"></a>

The configuration section for the Catalog is accessible from the main ESW Module configuration tab.

{% hint style="warning" %}

#### Note

Product Attributes mapping provides retailers with the configuration to setup the mapping between ESW attributes and Adobe Commerce attributes.

Catalog sync functionality is asynchronous. In order to ensure correct synchronization, follow the [asynchronous integration section](https://know.eshopworld.com/space/AE/840499221/Asynchronous+Integration) for guidance.
{% endhint %}

### Catalog Export Flow <a href="#catalog-export-flow" id="catalog-export-flow"></a>

Catalog integration works with both simple products and custom type products. Export functionality also supports simple products, which may include custom options with their own fixed SKUs or have a parent product with custom options and its own fixed SKUs. In the case of most attributes, the source value data can be derived from the parent product.

## Triggering catalog exports <a href="#triggering-catalog-exports" id="triggering-catalog-exports"></a>

There are two ways in which you can trigger catalog exports to ESW.

### Automated Cron Job <a href="#id-1.-automated-cron-job" id="id-1.-automated-cron-job"></a>

Catalog export is automatically triggered based on the Cron Job settings. Cron job can be configured in two ways:<br>

1. Time based definition.
2. Standard Cron definition.

The configuration section for the Catalog is accessible from the main ESW Module configuration tab.

A product becomes a candidate for the catalog export if it's created or updated. This candidate product is then picked by the job and adds to the queue. Once added, they are synchronized by message queues in Magento and thus exported to ESW Catalog.

If this is the first time synchronization between the store and ESW, use the manual method.

### Manual export using <kbd>Actions</kbd>on product grid

You can trigger catalog exports to ESW using the Export to ESW Catalog option under Actions in products grid. Once the products are added to the queue, they are synchronized by message queues in Magento. The `max_input_varsPHP` setting limits the number of inputs that can be set when posting forms (in most cases, default hosting settings should allow sending 10,000 records per single request). To increase the limit, change the value to `max_input_vars` in the php.ini file.

Note: The export action is only displayed when Catalog integration is enabled.

## Sync Status <a href="#sync-status" id="sync-status"></a>

A column ‘ESW Sync Status' is available on the products catalog page. This new column will show the sync status of all the products with ESW catalog. Click on the 'Columns’ dropdown to enable this column on the product grid.

<kbd>ESW Sync Status</kbd> filter will search for the results based on the sync statuses with ESW catalog on the product grid.&#x20;

{% hint style="warning" %}
The ESW Sync Status filter and column are only displayed when Catalog integration is enabled.
{% endhint %}

## ESW Sync Status definition <a href="#esw-sync-status-definition" id="esw-sync-status-definition"></a>

A product exported to ESW Catalog can go through different states on its journey to ESW. These statuses are defined as follows:

* Unsynced (Default) - The catalog sync status is 'Unsynced' when product is not in ESW Catalog. For example: When a product is newly created and not exported yet to ESW catalog.
* Failed internal validation - Cron job returns this status when the export for a product fails internal validation. For example: If any mandatory field such as HS Code is empty for a particular product. This will fail internal validation and an error will be logged in Extension logs
* Failed ESW API validation - Cron job returns this status when the export for a product fails ESW validation. For example: When ESW catalog API returns a 400 - Bad Request response.
* Synced - The catalog sync status is 'Synced' when the products are successfully synced to ESW catalog API.

{% hint style="warning" %}
In a case where plugin receives `401 - Unauthorized` response from ESW Catalog API while exporting products then the status remains as is.
{% endhint %}

## Resolve catalog sync issues <a href="#resolve-catalog-sync-issues" id="resolve-catalog-sync-issues"></a>

With logs enabled for configuration, it's possible to view additional information in module logs that can help spot issues. &#x20;

### **Catalog product data sync is not being sent to ESW.**

The integration relies on asynchronous functionality. For further details on how the integration works, refer to the [asynchronous integration section](https://know.eshopworld.com/space/AE/1194885355/Asynchronous+Integration.).

### **Incorrect product data is being sent to ESW.**

Verify the product attribute mapping in the Catalog configuration section to ensure that product attributes are correctly associated with the corresponding ESW attributes. Additionally, it may be necessary to adjust the store-view level, especially if the data is not in English for the default/admin store view.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.esw.com/adobe-commerce-magento/esw-adobe-extension-features/catalog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
