# Wondersoft ## Introduction The Wondersoft extension facilitates real-time synchronization of inventory and order data between the Fynd Commerce and Wondersoft, ensuring that your stocks are up-to-date and that all orders are tracked and fulfilled accurately. This makes the process of selling on marketplaces and websites seamless for sellers. Once you have installed this extension, it will be available in the **Extensions** section on the Fynd Platform. ## Pre-requisites to Use This Extension 1. Your entire product catalogue should be available on the Fynd Platform. Proceed only if you have [uploaded your catalogue](/commerce/docs/products/catalogue/importing-catalogue). For a tutorial, watch [How to Upload Product Catalogue](https://youtu.be/VMHwu1bGf6Q). 2. Add selling locations in the Fynd Platform. Refer to [Add Selling Locations](/commerce/docs/initial-setup/location-setup) for details. For a tutorial, watch [How to Add Selling Locations](https://youtu.be/2lKau7MkkRk). ## First-time Installation Setup For first-time installation, you are required to set up an inventory job. Follow the steps shown below: 1. Navigate to your Fynd Commerce account and go to **Extensions**. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/1.png) Figure 1: Extensions Section - Fynd Platform 2. Go to **Private Extensions** and select the **Wondersoft** extension from the list and click **Install**. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/2.png) Figure 2: Wondersoft Extension 3. Click **Accept & Continue** to proceed. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/3.png) Figure 3: Install Extension When you set up the Wondersoft extension for the first time, two sync operations will be performed, post which you will be able to use the extension: * **Catalog Sync** - This operation will sync all the catalogs present in the Fynd Commerce to the extension. * **Location Sync** - This operation will sync all the selling locations added by you in the Fynd Commerce to the extension. Once the sync is completed, you have to opt-in selling locations so that you can then proceed to use the extension to send supply chain updates and accept orders from Fynd Commerce panel. Any changes made to the catalog or locations in the Fynd Commerce after the initial setup will be communicated to the extension via webhook events, ensuring that the extension is always up-to-date. ## Inventory ### Inventory Summary * Within the inventory summary, we collect various API calls for inventory in batches. * Here you can access a comprehensive inventory log along with seller identifier, location code, status, response, total inventory count of products sent to the Fynd Commerce by Wondersoft, and the total inventory count of products accepted by the Fynd Commerce from Wondersoft after incorporating buffer quantities. The seller identifier and location code in these logs are distinct, ensuring there are no duplicates for these two entities. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/4.png) center em Figure 4: Inventory Summary br * By default, all logs received for a specific company with a unique seller identifier and unique location code are accessible within the tab. * You can utilize the search boxes located at the top to find logs associated with a particular seller identifier or a specific location code. Input your search criteria, and the relevant logs will be filtered accordingly. * The listed drop reasons are retrieved directly from the API calls. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/5.png) Figure 5: Inventory Summary Search ### Inventory This tab offers a summary view of all the logs associated with a particular seller identifier, product name, or location code, specifically focusing on instances where inventory levels are either at 0 or have a positive count. Freshly cataloged logs are not included in the logs. 1. **Seller Identifier**: It is a unique identifier or code assigned to a specific seller. 2. **Location Code**: It is a unique identifier or code for a specific selling location. 3. **Quantity**: Live inventory in Fynd Platform. 4. **Updated on**: Orders received on Fynd Commerce for an SKU. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/6.png) Figure 6: Inventory The date filter allows you to track inventory updates for up to one year. ### Logs When an API call is made, the acknowledgement or confirmation of the execution is typically sent back in the form of a request ID. This unique identifier helps track and verify the specific log of API calls of a specific batch received and processed by the server. #### Payload **Request Body** * `location_id` is the location code. * `sku` is the alphanumeric code assigned to each product for inventory tracking and management * `quantity` is the quantity of the product for cataloguing. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/7.png) Figure 7: Request Body of Payload #### Detailed Log In the detailed log, the payload contains all the data mapped for cataloguing purposes. This data is transferred from the **Article Database** (Article DB), which holds the raw master data, to the Fynd Platform. **Request Body** * `store_id`: The store ID gets created on the Fynd Platform. * `seller_identifier`: The unique identifier of product which is the barcode in the article DB. * `total_quantity`: The total count of inventory available. * `price_effective`: The effective selling price .i.e. price after discount deducted from MRP. * `price_marked` Maximum retail price of the product. * `company_id`: The unique code of the company. * `buffer_message`: The buffer message if they have applied any buffer quantity against it. * `trace_id`: It is the trace ID that is generated in the response to track the request batch received from Wondersoft. * `store_code`: Store code created on the Fynd Platform. It is different from store ID. * `raw_quantity`: Raw quantity of the products. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/8.png) Figure 8: Request Body of Detailed Log ### Manual Sync The operation is utilized when there is an issue with inventory synchronization. If inventory sync is successfully received from Wondersoft but is not reflected in Fynd Platform, you can manually trigger the synchronization to align the two systems in quantity. Use this functionality after applying buffer so that inventory flows to Fynd Commerce after subtracting buffer quantity. Once the sync is completed, the changes will reflect on your opted sales channels. You can sync inventory manually to Fynd Commerce by using: 1. **Seller Identifier**: This will sync the inventory for all SKUs or manually selected SKUs present across all selling locations. * All seller identifiers within a specific date range * Comma–separated multiple seller identifiers within a specific date range ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/9.png) center em Figure 9: Manual Sync — Seller Identifier br 1. **Location Code**: This will sync the inventory for all SKUs present in these selling locations. * All active location codes within a specific date range * Comma–separated multiple location codes within a specific date range ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/10.png) center em Figure 10: Manual Sync — Location Code br ### Inventory Timeline * Enter a seller identifier in the search box, select the location code, select the status of the API call and enter a date range. * Click **Get Logs**. Here, you will get the status of inventory updates of a product for up to a month. * This tab lets you know whether an article’s inventory push was successful or not. * Failure reasons could be: article not available, store mapping not found, discovered duplicate batch record, SKU missing for a store, location not available, and so on. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/11.png) Figure 11: Inventory Timeline ### Inventory Statistics * The total inventory count of products from the master catalog entries that are accessed in the article DB is mirrored in the received inventory. * The total inventory count of products that are synced on the Fynd Commerce from the article database. * The percentage drop represents the decrease in the inventory count, showing the difference between the received inventory and the consumed inventory. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/12.png) Figure 12: Inventory Statistics ### Drop Reasons The drop percentage is attributed to specific reasons, which are detailed in the drop reason section. There are four main reasons for inventory consumption decrease from the Article Database to the Fynd Platform: 1. Location mapping not found 2. Store not found 3. Seller identifier not found 4. Buffer These reasons are visually represented and specified in the form of a pie chart, making it easy to grasp the distribution of inventory drops due to each of these factors. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/13.png) center em Figure 13: Drop Reasons br ## Selling Location All the locations present in the section are reflected in the **Profile** section. Opt-in selling locations to send inventory updates and process orders via the Wondersoft panel. Use bulk action to opt-in multiple selling locations at once. ### How to opt-in for a selling location? 1. Open **Selling Location **widget present on the homepage of this extension. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/14.png) center em Figure 14: Selling Location br 1. Search for a particular location by entering its **Location Code** in the search box. For example, MRVLB20 which is a location code for 'THE MANDHANA RETAIL VENTURES LTD' in the Fynd Platform. 2. Click the **Edit** button present under the **Action** column. 3. Turn ON the toggle to start sending inventory and receiving orders for this location (push inventory data and pull orders data). ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/15.png) center em Figure 15: Enable Selling Location br 1. Disable the location and reset its inventory count to zero by toggling the status button. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Ginesys/image(13).png) Figure 16: Disable Selling Location 2. You can also set a buffer on a selling location, which will be applied to all articles mapped to that selling location. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/16.png) Figure 17: Buffer Quantity 3. Click **Confirm** to save the changes. 4. On successful opt-in, a unique username and token will be generated for that selling location, which has to be used to send inventory to Fynd Commerce and receive order updates from Fynd Platform. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/17.png) Figure 18: Username and Token for Selling Location After opting out of a selling location, you must wait for at least 10 minutes before re-opting into the same selling location. Click **Set Buffer** to set a global buffer for all selling locations. This buffer will be applied to all active and inactive selling locations. ### How to opt-in selling locations in bulk? 1. Click **Bulk Action**. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/18.png) Figure 19: Bulk Action 2. Choose the status of locations from the dropdown. Here, we have selected** All Locations**. 3. Choose either EXCEL or CSV from the **Download** dropdown. A file will be downloaded. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/19.png) Figure 20: Download Template 4. Save the file in your system. 5. Open the file. 6. Make the following changes in the downloaded file. * Opt-in selling locations by marking Status as **ACTIVE**. * Opt-out of selling locations by marking Status as **INACTIVE**. * Set **Buffer Quantity** for multiple selling locations. * Reset inventory to 0 for any location you marked as Active/Inactive by marking the Reset Inventory column as **Yes**. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Ginesys/image(18).png) Figure 21: Bulk Action Template 7. Save the file. 8. Click **Choose** **File** to upload the saved file. Please wait until its status changes to **COMPLETED** 9. In this way, you can opt-in selling locations in bulk. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/20.png) Figure 22: Bulk File Upload If there are errors in uploading the file, there will be an error file which will be generated. Download the error file, fix the errors mentioned, and re-upload the file. After applying buffer to any selling location: you need to manually sync inventory for that specific location or all locations for the updated inventory (Inventory received from Wondersoft–Buffer Quantity) to be pushed to the Fynd Platform. OR the updated inventory (Inventory received from Wondersoft–Buffer Quantity) will be pushed to Fynd Commerce automatically upon receiving new inventory updates from Wondersoft ## Audit Trail * Audit Trail tracks all the actions performed by the user in the Wondersoft extension. * It helps you pinpoint the exact source of a problem in case someone does something unexpected within the extension. * List of events that get captured: * Catalog Sync * Disable Inventory Permission * Disable Order Permission * Enable Inventory Permission * Enable Order Permission * Event Action Edit * Event Status Update * Extension Disable * Extension Enable * Extension Install * Extension Uninstall * Inventory Batch Retry * Inventory Manual Sync * Location Edit * Store Sync ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/21.png) center em Figure 23: Audit Trail br ## Order Analytics You can review all event reports in this section. Each shipment has a distinct shipment ID. You can access comprehensive report details and data insights, including response status and the complete payload of the corresponding event. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/22.png) center em Figure 24: Order Analytics br Failed shipments are automatically retried at the backend every fifty minutes. This frequency of retry attempts can be configured at the backend. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/23.png) center em Figure 25: Retry Event br If the event continues to fail after these retries, it remains in a failed state. Sellers also have the option to manually retry failed events every five minutes, with a limit of three additional attempts. **Comprehensive Logs**: For every event retry, there is an associated log that sellers can access. The default view displays the most recent log entry. Seller can view any log by selecting the same from the dropdown. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/24.png) center em Figure 26: Comprehensive Logs br ## Event Triggers The events listed in the sections are preloaded and presented as read–only data. Initially, their statuses are set to inactive. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/25.png) center em Figure 27: Event Triggers br Sellers need to navigate to the configuration settings of the respective event through the **Action** column. There, they can input the URL and API key, and subsequently save the changes. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/26.png) center em Figure 28: Configuration Settings br ## Settings Manually sync your catalog and selling locations from Fynd Commerce to Wondersoft, and customise your Order and Inventory permissions as well as enable or disable this extension according to your preferences. ![QG1](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/27.png) center em Figure 29: General Settings br ### Activating/Deactivating Wondersoft Extension Upon deactivating this extension, * You will get a popup asking if you want to reset the inventory of all active selling locations to 0 in Fynd Platform 1. If you select the checkbox, inventory for all articles mapped to the selling locations will be reset to 0 in Fynd Platform 2. If you deselect the checkbox, the current existing inventory will be retained. * No tabs and functionalities will be accessible. Only the Settings widget will be enabled so that you can re-enable the extension. * Inventory flow from Wondersoft to Fynd Commerce and orders syncing from Fynd Commerce to Wondersoft will be stopped. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Ginesys/image(27).png) center em Figure 30: Disable Extension br ### Manually Sync catalog and Selling Locations Click **Sync** to manually sync the catalog and selling locations data present in the Fynd Commerce to the Wondersoft extension. When catalog or location sync jobs are in progress, the extension will not be usable. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/28.png) center em Figure 31: Manually Sync catalog and Selling Locations br ### Enable/Disable Inventory and Order Permissions Both order and inventory permissions will be enabled by default if the extension is enabled. **Inventory** - If you remove the permissions for inventory, the inventory flow from Wondersoft to Fynd Commerce will be stopped. * If you select the reset Inventory checkbox, the inventory will be reset in Fynd Commerce and you will stop receiving new orders. * If you do not select the reset Inventory checkbox, the inventory will stay as it is in the Fynd Commerce and the seller will continue receiving orders. **Orders** - Removing the permissions for orders, it will stop the flow of orders from Fynd Commerce to Wondersoft. If there is inventory present in the Fynd Platform, the seller might still receive new orders but will not be able to see them in the Wondersoft panel. Thus, you will have to process all these new orders using the Orders section of the Fynd Platform. Older orders that had been placed before the extension was disabled will also have to be processed Orders section of the Fynd Platform. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/29.png) center em Figure 31: Enable/Disable Inventory and Order Permissions br ### Company The headers mentioned here are derived from the Company Schema established by the admin, and these fields are set as write-only. ![QG2](https://cdn.pixelbin.io/v2/doc/original/moonlight/Extensions/Wondersoft/30.png) center em Figure 32: Company br ## Administrator The admin access is given to only a specific audience of RTI and developers. The following configurations are available for administrators: ### Event Triggers This section displays a list of preloaded events, five of which have been currently added. * These events are customizable, and clicking the configuration button opens a page where action details can be edited. * The **Action Name**, **Method** and **Add Key** can be edited by administrators. * Upon saving the changes, a prompt asks whether these modifications should be implemented universally across all the companies. If yes, the alterations will be implemented on the sellers' side as read-only data, based on if the feature is active/inactive. ### Edit Payload In this interface, administrators have the capability to edit both pre-script and post-script content. When changes are saved, they are automatically applied to all companies, regardless of whether the features are currently active or inactive. ### Add/Delete Event Trigger The authority to add additional event triggers or remove existing ones is exclusively granted to administrators. This section displays a list of preloaded events, five of which have been currently added. * These events are customizable, and clicking the configuration button opens a page where action details can be edited. * The **Action Name**, **Method** and **Add Key** can be edited by administrators. * Upon saving the changes, a prompt asks whether these modifications should be implemented universally across all the companies. If yes, the alterations will be implemented on the sellers' side as read-only data, based on if the feature is active/inactive. ### Edit Payload In this interface, administrators have the capability to edit both pre-script and post-script content. When changes are saved, they are automatically applied to all companies, regardless of whether the features are currently active or inactive. ### Add/Delete Event Trigger The authority to add additional event triggers or remove existing ones is exclusively granted to administrators. Sellers have the authority to enable or disable the event trigger themselves. This eliminates the need to request the administrator for the action. ### Settings #### Extension Setting Schema The configurations established in the existing schema represent the settings options in the company section available on the seller's side. #### Constants All the necessary constants for the script are included. Additionally, administrators can introduce further constants based on the marketplace's requirements. Once saved, the constants become visible to the seller both in the settings and within the payload.