# SFTP ## Introduction The SFTP Extension project is a reliable tool designed to assist sellers in securely and swiftly transferring files online. It simplifies inventory management by utilizing a powerful SFTP protocol with extensive configuration options. Additionally, it allows sellers to customise their inventory management according to their specific business requirements. ## 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). Ensure that the stores have been enabled and are active on the Fynd Platform. ## Installation & Setup For first time installation, you are required to setup 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/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(2).png) center em Figure 1: Extension Section br 1. Select **Explore**. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(3).png) center em Figure 2: Extension Section br 1. Select the extension from the list and click **Install**. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(4).png) center em Figure 3: Select SFTP br 1. Click **Accept & Continue** to proceed. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(5).png) center em Figure 4: Install Extension br 1. Now we will proceed with configuring the extension. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(6).png) center em Figure 5: Configure Extension br #### **1.1 Installation - Authentication** 1. A seller can set up SFTP Job in the following ways: * Username and Password * SSH Key * Password and SSH Key both ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(7).png) center em Figure 6: Set Authentication br 1. Enter your desired username. 2. The extension will then provide a username defined by the system using the above value. 3. Set the Password and click **Submit**. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(8).png) center em Figure 7: Enter Credentials br 1. The seller will get the SFTP path and SSH Key if chosen after Job Creation. #### **1.2 Installation - File** 1. Select the File Type from **CSV** or **Excel** or **JSON**, you can download a sample file for each. 2. If CSV, select the delimiter to continue. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(9).png) center em Figure 8: Select File Type br 1. If Excel, it will read all sheets by default. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(10).png) center em Figure 9: Select File Type br 1. If the seller disables this toggle then they will have to mention the Sheet Name to read from. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(11).png) center em Figure 10: Edit Sheet Details br 1. If JSON, it will read the data being shared in JSON format. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(12).png) center em Figure 11: Select File Type br #### **1.3 Installation - Configuration** Select the configurations for the incoming inventory file. 1. Inventory Frequency: * **Low Frequency (default)**: Select this option if your inventory is updated infrequently, such as every few hours OR Select this option if you are not sure what frequency to select. * **High Frequency**: Select this option if your inventory is updated frequently, such as every hour. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(13).png) center em Figure 12: Installation Configuration br 1. Inventory Type. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(14).png) center em Figure 13: Select Inventory Type br The '**Parent Child**' inventory type consists of a hierarchical structure with a 'Parent' article and associated 'Child' articles forming a product set. Example: A 5-seater sofa consisting of 3 units, each with its unique article code, while the entire sofa has a single parent article code. In each of these examples, the parent article code would be used to track the inventory of the entire product set, while the child article codes would be used to track the inventory of each individual component. This allows businesses to more easily manage their inventory and track sales data. The '**Made to Order**' inventory type is used for products manufactured after an order is placed. If an article is disabled for inventory tracking, its quantity won't update. The system will rely on the default configured quantity from the backend. Example: A seller of eye optic items, like lenses, can simplify inventory tracking by setting the quantity to the maximum limit available in the catalogue. This allows them to sell lenses without concerns about running out of stock. **Normal**: This is the standardised format that contains the required headers and values. 1. Execution Type: * **Full Inventory**: This file contains the complete inventory with all the line items. * **Delta Inventory**: This file contains only the modified (updated) line items. 2. The **Price Toggle** will be off by default. If you want the item price to be powered by the catalog file then you can enable this button. #### 1.4 Installation - Advance The next step is to enable/disable some advance configuration settings. 1. Compressed File: By enabling this, you can share compressed zip files. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(15).png) center em Figure 14: Advanced File Configuration br 1. Character Encoded File: Here you can select the encoding for the CSV or Excel file. For more information on UTF, refer to [UTF Encoding](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/UTF_Encoding.pdf). ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(16).png) center em Figure 15: Select Encoding Type br 1. Header Row: Enable this if the file contains a header to provide Header Row Number and Data Row Number. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(17).png) center em Figure 16: Edit Header Row br * Edit the file's header row. * Map the mandatory header columns from your file. * Fill in the fields according to your inventory file. 1. Click the “**Submit**” button after entering all the data. 2. You can preview your selection, if everything is according to requirements then click **Confirm & Save**. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(18).png) center em Figure 17: Click Confirm & Save br ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(19).png) center em Figure 18: Download SSH Key br 1. The configured hostname will appear along with the SSH key, you need to download this key. 2. The authentication details for the Job created and the configuration details will be visible to the seller in the **Job Settings** section which they can later edit and save if required. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(20).png) center em Figure 19a: Job Settings br ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(21).png) center em Figure 19b: Created Jobs br Once you have installed this extension, it will be available in the Extensions section on the Fynd Platform. After setting up the SFTP extension for the first time, two sync operations need to be performed. * Catalogue Sync - This operation will sync the catalogue present on the Fynd Commerce to the extension. * Location Sync - This operation will sync all your selling locations on 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 inventory updates and accept orders via the SFTP panel. Any changes made to the catalogue or locations on 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. To accept and update your inventory using SFTP, use the below configurations. * [Selling Location](#selling-location) * [Inventory](#inventory) * [Job Settings](#job-settings) * [Audit Trail](#audit-trail) * [History](#history) * [General Settings](#general-settings) ## Selling Location Opt-in selling locations to send inventory updates via the SFTP panel. Use bulk action to opt-in multiple selling locations at once. 1. Open **Selling Location** widget is present on the homepage of this extension. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(22).png) center em Figure 20: Open Selling Locations br 1. Search for a particular location by entering its '**Location Code**' in the search box. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(23).png) center em Figure 21: Enter Location Code br 1. Click on the **edit** icon present under the Action column. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(24).png) center em Figure 22: Click Edit Icon br 1. Turn ON the **toggle** button to start receiving the inventory from this location (push inventory data to Fynd). ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(25).png) center em Figure 23: Turn on Toggle Button br 1. You can set a buffer on a selling location, it will be applied to all the articles mapped to that selling location. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(26).png) center em Figure 24: Set Buffer Quantity br 1. Click the ✔ icon to save the changes. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(27).png) center em Figure 25: Click Save br Upon successful opt-in, a unique username and token will be generated for the selling location. These credentials must be used to send inventory and receive order updates from the Fynd Platform. NOTE 1 After opting out of a selling location, you must wait for at least 10 minutes before re-opting into the same selling location. NOTE 2 After applying a 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 SFTP - Buffer Quantity) to be pushed to the Fynd Platform. OR the updated inventory (Inventory received from SFTP - Buffer Quantity) will be pushed to the Fynd Commerce automatically upon receiving new inventory updates from SFTP. Click Set Buffer to set a global buffer for all selling locations. This buffer will be applied to all active and inactive selling locations. ### Opt-in Selling Locations in Bulk 1. Click **Bulk Action**. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(28).png) center em Figure 26: Bulk Action br 1. Choose the status of locations from the dropdown. Here, we have selected **All Locations**. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(29).png) center em Figure 27: Select Locations br 1. Choose either EXCEL or CSV from the **Download** dropdown. Save the file in your system. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(30).png) center em Figure 28: Choose File Type br 1. Make the following changes in the downloaded file. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(1)_(1).png) center em Figure 29: Downloaded File br * 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. 1. Save the file. 2. Click **Choose File** to upload the saved file. Please wait until its status changes to **COMPLETED**. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(31).png) center em Figure 30a: Choose File br ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(32).png) center em Figure 30b: Upload File br In this way, you can opt-in to the selling locations in bulk. If there were any errors during upload, an error file will be generated. Download the file, fix the errors mentioned, and re-upload the file. ## Inventory To track inventory updates, check acknowledgement logs of inventory flow from SFTP to Fynd Platform, manually sync inventory from extension to Fynd Platform, and trace a product. 1. Click **Inventory** on the SFTP home page. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(33).png) center em Figure 31: Click Inventory br 1. This tab provides a snapshot of your latest inventory updates on SKUs, with detailed information about: ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/inventory.png) center em Figure 32: Inventory Details br You can see the following if you hover over the quantity tab: * **Received Inventory** - Inventory received from seller via SFTP. * **Buffer Quantity** - Buffer applied on Selling Location x Article on SFTP extension. * **Pushed Inventory** - Inventory pushed to Fynd Commerce after applying the buffer. * **Sellable Quantity** - Live inventory on the Fynd Platform. * **Orders Committed** - Orders received on the Fynd Commerce for an SKU. The date filter allows you to track inventory updates for up to one year. ### Manual Sync If there is any mismatch in quantity or price in the Fynd Commerce and SFTP extension, use the **Manual Sync** to synchronize the inventory to the Fynd Platform. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/manual_sync.png) center em Figure 33: Manual Sync br This eliminates any mismatch between the extension and the Fynd Commerce in either quantity or price. Do this after applying the buffer so that inventory flows to the Fynd Commerce after subtracting the buffer quantity. Once the sync is completed, the changes would reflect on your selected sales channels. You can sync Inventory manually to Fynd Commerce by using: **Seller Identifier** * All seller identifiers - This will sync the inventory for all SKUs. * Add Seller identifiers manually - You will need to manually select SKUs across all the selling locations. **Location Code** - This will sync the inventory for all SKUs present in these selling locations. * All active location codes. * Selected location codes. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/location_code.png) center em Figure 34: Location Sync br When catalogue or location sync jobs are in progress, the extension will not be usable. ### Trace Product This tab lets you know whether an article’s inventory push was successful. 1. Copy the seller identifier of the desired product from the **Inventory** tab. E.g., 8903861231571 (Black Solid Tee). 2. Go to the **Trace Product** tab. 3. Paste the seller identifier in the search box. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/trace_product.png) center em Figure 35: Trace Product br 1. Click **Get Logs**. Here, you will get the status of inventory updates of a product for up to a month. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/get_logs.png) center em Figure 36: Get Logs br * **Inventory Received** - The total inventory of products pushed into the Fynd Commerce by SFTP. * **Inventory Consumed** - The total inventory of products accepted by Fynd Commerce from SFTP after applying buffer quantity. For unsuccessful inventory push, the 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. ## Job Settings This feature allows the user to view the list of Jobs Created and to edit settings configured during first-time installation. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/job_settings.png) center em Figure 37a: Job Settings br ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/created_jobs.png) center em Figure 37b: Created Jobs br Once you select any job by clicking on the → button, now you can edit it as per your requirements. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/edit_job.png) center em Figure 38: Edit Job br Refer to [First-time Installation Setup](#11-installation---authentication) for available options. ## Audit Trail Audit Trail tracks all the actions performed by the user in the SFTP extension. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/audit_trail.pngg) center em Figure 39a: Audit Trail br ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/audit_history.png) center em Figure 39b: Audit Trail History br It helps you pinpoint the exact source of a problem in case someone unsolicitedly does something unexpected within the extension. List of events that get captured: Extension Install, Extension Uninstall, Extension Enable, Extension Disable, Inventory Manual Sync, Catalogue Sync, Locations Sync, Location Edit, Enable Inventory Permission, Disable Inventory Permission, Enable Order Permission, and Disable Order Permission. ## History This feature shows historical logs for inventory jobs sent, their status and the option to download records. ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(39).png) center em Figure 40: History br The page will contain the following information: * A list of jobs that have been executed from the date of inception till the current date, along with their status (Success, Partial Success, and Failed). * You can filter jobs using Date Range, Status, and Job Code. * You can download a log report for the following tasks: * Initial: Total number of records received. * Processed: Number of records processed and synced. * Deleted: Number of records deleted. ## General Settings ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(40).png) center em Figure 41: General Settings br Manually sync your catalogue and selling locations from Fynd Commerce to SFTP, customise your Order and Inventory permissions, and enable or disable this extension according to your preferences. ### Activating/Deactivating SFTP Extension ![QG1](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(41).png) center em Figure 42: Deactivating Extension br 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 the Fynd Platform. ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(42).png) center em Figure 43: Disable Extension br * If you choose yes, inventory for all articles mapped to the selling locations will be reset to 0 in the Fynd Platform. * If you choose no, 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 SFTP to the Fynd Commerce and orders syncing from Fynd Commerce to SFTP will be stopped. #### Enable/Disable Inventory Permissions ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(43).png) center em Figure 44a: Disabling Inventory br ![QG2](https://cdn.pixelbin.io/v2/noisy-leaf-04a452/original/Marketplace-Content-University/MCU-Images/SPF/RTI-Extensions/SFTP/SFTP/image_(44).png) center em Figure 44b: Disabling Inventory br 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 SFTP to the Fynd Commerce will be stopped. * If you select the reset Inventory checkbox, the inventory will be reset in the 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. For any issues/queries, raise a ticket to Fynd Commerce Support: * Navigate to Fynd Commerce > Customer Support > Create Ticket * Or you can email at: [help@fyndplatform.com](mailto:help@fyndplatform.com)