diff --git a/docs/integration/xstore/_category_.json b/docs/integration/xstore/_category_.json new file mode 100644 index 00000000..09c15fd1 --- /dev/null +++ b/docs/integration/xstore/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "X-Store", + "link": { + "type": "generated-index", + "slug": "/integration/x-store-category", + "description": "Omnichannel commerce platform and integrations" + } +} \ No newline at end of file diff --git a/docs/integration/xstore/dashboard.md b/docs/integration/xstore/dashboard.md new file mode 100644 index 00000000..7a9ff410 --- /dev/null +++ b/docs/integration/xstore/dashboard.md @@ -0,0 +1,146 @@ +--- +sidebar_position: 4 +title: Dashboard +description: A guide on Dashboard +slug: /integration/xstore/dashboard +tags: ["e-Commerce", "X-Store", "Dashboard"] +--- + +## Dashboard Overview + +The **Dashboard** is the main page where you can see how your stores are doing. It shows you latest information on sales, orders, stock, and if your stores are connected properly. + +--- + +### Date Filter + +![Date Filter](../../../static/img/xstore/dashboard/dashboard-1.png) + +Pick a time period to see its data. You can choose: + +- **Today** +- **Last 3 Days** +- **Last 7 Days** +- **Last 1 Month** +- **Last 2 Months** +- **Last 3 Months** (Default view) + +### Choose What to See + +![Choose What to See](../../../static/img/xstore/dashboard/dashboard-6.png) + +Pick what kind of numbers you want to see: + +- **Amount**: Show the total money from sales for that time. +- **Total**: Show the total number of sales for that time. + +### Chart Types + +![Chart Types](../../../static/img/xstore/dashboard/dashboard-7.png) + +Choose how you want the numbers to look: + +- **Bar Chart**: Shows numbers as vertical bars to compare different times. +- **Line Chart**: Shows a line to see if sales are going up or down. +- **Pie Chart**: Shows a circle divided into parts to see which time had more sales. +- **Table**: Shows exact numbers in a list. + +--- + +## Payments Section + +This part shows you the money side of your business. + +![Payments Section](../../../static/img/xstore/dashboard/dashboard-2.png) + +### Main Numbers + +- **Total Transactions**: Total number of payments received. +- **Total Transaction Amounts**: Total amount of money from all payments. +- **Avg Amount per Transaction**: The average money made from one sale. + +### Payment Chart + +A picture showing your payment trends. You can change how it looks using the buttons on the top-right. + +**Group by Time** + +![Group by Time](../../../static/img/xstore/dashboard/dashboard-8.png) + +Choose how to bundle your payment data: + +- **Day**: See total money for each day. +- **Week**: See total money for each week. +- **Month**: See total money for each month. + +> **Tip**: Try different chart types with different time groups. For example, use a line chart with "Day" to see small changes, or a bar chart with "Month" to see how you did over several months. + +--- + +## Orders Section + +This part shows you how many orders you have and where they come from. + +![Orders Section](../../../static/img/xstore/dashboard/dashboard-3.png) + +### Order Numbers + +- **Total Orders**: The total number of orders you have received. +- **To Ship**: How many orders are waiting for you to send out. +- **Orders Today**: How many orders you got today. + + +### Order Details + +![Order Details](../../../static/img/xstore/dashboard/dashboard-10.png) + +- **Orders by Store**: Shows which individual store (like a specific Lazada or Shopee store) is getting orders. +- **Orders by Status**: Shows all orders status from all the stores. +- **Orders by Region**: Shows which country or area the orders are coming from (like MY or SG). +- **Orders by Platform**: Compare how many orders come from Lazada vs Shopee vs other sites. + +![Orders Chart](../../../static/img/xstore/dashboard/dashboard-13.png) + +- **Orders Chart**: A line or bar showing if you are getting more or fewer orders over time. + +--- + +## Products Section + +Check your stock and how well your items are selling. + +![Products Section](../../../static/img/xstore/dashboard/dashboard-4.png) + +### Stock Numbers + +- **Total Products**: How many different types of items you sell. +- **Total Stock Items**: The total count of all items you have ready to sell. +- **Total Variants**: The count of different choices for items (like different sizes or colors). +- **Total Mapped Products**: How many items are correctly linked between your online store and SQL Account. + +### Product Info + +![Product Info](../../../static/img/xstore/dashboard/dashboard-11.png) + +- **Top Selling Products**: A list of your most popular items. +- **Top Returned Products**: Items that customers send back most often. This helps you find problems with certain products. + +--- + +## Stores Section + +Manage your different selling channels. + +![Stores Section](../../../static/img/xstore/dashboard/dashboard-5.png) + +### Store Numbers + +- **Total Stores**: The total number of online stores you have connected. +- **Active Stores**: How many stores are currently working and sharing data. + +### Store Locations + +![Store Locations](../../../static/img/xstore/dashboard/dashboard-12.png) + +- **Stores by Platform**: Shows how many stores you have for Lazada, Shopee, or TikTok and more. +- **Stores by Region**: Shows where your stores are located (like MY, SG, and more). diff --git a/docs/integration/xstore/getting-started.md b/docs/integration/xstore/getting-started.md new file mode 100644 index 00000000..77d1a97d --- /dev/null +++ b/docs/integration/xstore/getting-started.md @@ -0,0 +1,117 @@ +--- +sidebar_position: 1 +title: Getting Started +description: A guide to getting started +slug: /integration/xstore/getting-started +tags: ["e-Commerce", "X-Store", "Getting Started"] +--- + +## Sign In + +If you already have an account, you can [sign in](https://x-store-demo.sql.com.my/login) using one of the following methods: + +- **Sign in with Passkey** - Use your registered passkey for quick and secure access +- **Sign in with Email** - Enter your email address and click the verification link to sign in +- **Google Single Sign-On (SSO)** - Sign in with your Google account (Gmail only). Click the Google button, select your Gmail account, and you'll be signed in automatically. + +For detailed instructions, please refer to the [Sign Up Section](#sign-up) below. + + ![login-overview](../../../static/img/xstore/getting-started/login-overview.png) + +## Sign Up + +If you don't have an account yet, click [sign up here](https://x-store-demo.sql.com.my/register) to create a new account. + +### Sign Up with Passkey + +Passkeys provide a secure, passwordless way to access your account. + +1. Click **Sign up here** on the sign-in page + + ![signup-overview](../../../static/img/xstore/getting-started/signup-overview.png) + +2. Select **Sign up with Passkey** + + ![passkey-overview](../../../static/img/xstore/getting-started/passkey-overview.png) + +3. Enter your **User Name** and **Passkey Name** + + :::info + This passkey name will be displayed on your phone as an option during authentication. + ::: + +4. Click **Sign Up** + + ![passkey-form](../../../static/img/xstore/getting-started/passkey-form.png) + +5. Choose the option: + + - iPhone, iPad, or Android device + + ![passkey-option](../../../static/img/xstore/getting-started/passkey-option.png) + +6. Use your smartphone to scan the QR code displayed + + :::info + Ensure both **Bluetooth** and **WiFi/Mobile data** are turned on for both your laptop and smartphone. + ::: + + ![passkey-creation](../../../static/img/xstore/getting-started/passkey-creation.png) + +7. Complete the passkey registration on your device + +8. Once successful, you'll be redirected to the **Company List** page + +### Sign Up with Email + +For email-based registration: + +1. Click **Sign up here** on the sign-in page + + ![signup-overview](../../../static/img/xstore/getting-started/signup-overview.png) + +2. Select **Sign up with Email** + + ![email-overview](../../../static/img/xstore/getting-started/email-overview.png) + +3. Enter your **Name** and **valid email address** + +4. Click **Sign Up** + + ![email-form](../../../static/img/xstore/getting-started/email-form.png) + +5. Check your email inbox for a verification link + + :::info + The verification link expires in 2 minutes. + ::: + + ![email-action](../../../static/img/xstore/getting-started/email-action.png) + +6. Click the **verification link** in the email + + ![email-link](../../../static/img/xstore/getting-started/email-link.png) + +7. Your account is now successfully created + + ![email-verification](../../../static/img/xstore/getting-started/email-verification.png) + +8. Once successful, you'll be redirected to the **Company List** page + +## Try Demo + +Feel free to explore the available features in X-Store by using **Try Demo** without signing in. + +![demo-overview](../../../static/img/xstore/getting-started/demo-overview.png) + +## Company List Page + +After successful sign-in or sign-up, you'll land on the **Company List** page. + +Here you can: + +- View all companies you've created +- View companies you've joined +- Create a new company + +![company-overview](../../../static/img/xstore/getting-started/company-overview.png) diff --git a/docs/integration/xstore/inventory.md b/docs/integration/xstore/inventory.md new file mode 100644 index 00000000..5cb6ddc6 --- /dev/null +++ b/docs/integration/xstore/inventory.md @@ -0,0 +1,68 @@ +--- +sidebar_position: 6 +title: Inventory +description: A guide on inventory +slug: /integration/xstore/inventory +tags: ["e-Commerce", "X-Store", "Inventory"] +--- + +## Products + +### Map Products + +1. Go to **Inventory > Products** + + ![1](../../../static/img/xstore/inventory/product-overview.png) + +2. Click the **Map Product Button** to open the **Map Product Dialog** + + ![2](../../../static/img/xstore/inventory/map-product.png) + + ![3](../../../static/img/xstore/inventory/map-dialog-overview.png) + + :::info + Use the **Filter Button** to narrow your **Platform Products View**, or use the **Search Bar** to find specific e-commerce products and stock items. + ::: + +3. Select e-commerce products synced from various platforms and then a stock item synced from SQL Account to map them together + + ![4](../../../static/img/xstore/inventory/mapping-product-1.png) + + :::info + **e-commerce Products** are mapped to **Stock Item UOM**. + ::: + +4. To unmap products, select them and click **Unmap** + + ![5](../../../static/img/xstore/inventory/unmap-product-1.png) + + ![6](../../../static/img/xstore/inventory/unmap-product-2.png) + +## Stocks + +### Map Products to Specific Stock Items + +1. Go to **Inventory > Stocks** + + ![8](../../../static/img/xstore/inventory/stock-overview.png) + +2. Click the icon to view stock details + + ![9](../../../static/img/xstore/inventory/view-stock-detail.png) + + :::info + - **Map Product** can be performed here as well + - **Location Description** and **Code** are fetched from SQL Account + ::: + +3. Click the **+** icon to open the **Map Product Dialog** + + ![10](../../../static/img/xstore/inventory/stock-detail.png) + +4. Select the **Platform Product** and click **Map Product** to map it directly to this **Stock Item UOM** + + ![11](../../../static/img/xstore/inventory/map-selective-uom.png) + + :::info + Ensure your store is mapped to the correct stock item location, or mapped items won't appear. + ::: diff --git a/docs/integration/xstore/orders/_category_.json b/docs/integration/xstore/orders/_category_.json new file mode 100644 index 00000000..49c2e6d0 --- /dev/null +++ b/docs/integration/xstore/orders/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Order", + "position": 7, + "link": { + "type": "generated-index", + "slug": "/integration/x-store/orders-category", + "description": "A guide on Order module" + } +} \ No newline at end of file diff --git a/docs/integration/xstore/orders/order-details.md b/docs/integration/xstore/orders/order-details.md new file mode 100644 index 00000000..e77f8407 --- /dev/null +++ b/docs/integration/xstore/orders/order-details.md @@ -0,0 +1,278 @@ +--- +sidebar_position: 2 +title: Order Detail +description: Guide to managing order details and actions in XStore +slug: /integration/xstore/order-details +tags: ["e-Commerce", "X-Store", "Order Detail"] +--- + +## Overview + +The **Order Detail** module allows you to view individual order information and perform actions such as cancellations, returns, and refunds. + +To access this page, click the **document icon** on any order row. + +![order-detail-enter](../../../../static/img/xstore/order-details/order-detail-enter.png) + +The Order Details interface allows you to: + +- View order information +- Perform order actions (cancel, return, refund) +- Map order items to stock items + +![order-detail-overview](../../../../static/img/xstore/order-details/order-detail-overview.png) + +> **Quick Feature:** Use the mapping button to quickly link order items to your stock items directly from this page. + +## Platform-Specific Guides + +Each e-commerce platform has unique order detail layouts and available actions. Select your platform below: + +- [Lazada](#lazada) +- [Shopee](#shopee) +- [TikTok](#tiktok) + +## Lazada + +### Order Detail Page + +![lazada-order-detail](../../../../static/img/xstore/order-details/lazada/order-detail.png) + +The order information section displays: + +| Section | Details | +| -------------------- | ------------------------------------------- | +| **Order Details** | Order ID, Shop ID, Payment Method | +| **Payment Details** | Currency, Payment Time | +| **Shipment Details** | Provider type, Shipping type, address, etc. | +| **Voucher Details** | Applied discounts and promotions on an item | + +Order items are grouped by package and tracking ID. + +![lazada-cancelled-order-item](../../../../static/img/xstore/order-details/lazada/cancelled-order-item.png) + +> **Note:** Cancelled items display a red badge indicating the cancellation reason. + +### Return Order Info + +![lazada-return-order-info](../../../../static/img/xstore/order-details/lazada/return-order-info.png) + +### Cancel Order Info + +![lazada-cancel-order-info](../../../../static/img/xstore/order-details/lazada/cancel-order-info.png) + +### Repack Order + +![lazada-repack-order](../../../../static/img/xstore/order-details/lazada/repack-order.png) + +**Available for:** Orders in the **To Process** tab + +Use the Repack action to repack specific items in the order after cancellation of specific items. + +### Cancel Order (Seller-Initiated) + +![lazada-cancel-order-button](../../../../static/img/xstore/order-details/lazada/seller-cancel-order.png) + +**Available for:** Orders in **New Order**, **To Process**, or **To Ship** tabs + +**Steps to cancel:** + +1. Click the **Cancel Order** button +2. Select the cancellation reason +3. Choose the items to cancel +4. Submit the cancellation request + +![lazada-cancel-order-form](../../../../static/img/xstore/order-details/lazada/seller-cancel-order-form.png) + +![lazada-cancel-order-warning](../../../../static/img/xstore/order-details/lazada/seller-cancel-order-form-warning.png) + +> **Warning:** Hover over the warning icon to see Lazada's cancellation policies and potential consequences on this order. + +### Return Order (Buyer-Initiated) + +![lazada-return-order](../../../../static/img/xstore/order-details/lazada/buyer-return-order.png) + +When a buyer initiates a return, the order moves to the **To Return** tab for seller approval. + +**Return Processing Options:** May vary based on reason details + +| Option | Description | +| --------------------- | ------------------------------------------ | +| **Refund Only** | Issue refund without requiring item return | +| **Return and Refund** | Refund after receiving returned item | +| **Reject Refund** | Decline the refund request with evidence | + +**1. Refund Only** + +During **"Request Initiate"** status, process the refund directly to the buyer. + +**2. Return and Refund** + +![lazada-confirm-return-receipt](../../../../static/img/xstore/order-details/lazada/buyer-return-order-confirm-return-receipt.png) + +During **"Buyer Return Item"** status: + +1. Wait for the item to be returned +2. Click **Confirm Return Receipt** when received +3. Process the refund + +![lazada-process-refund](../../../../static/img/xstore/order-details/lazada/buyer-return-order-process-refund.png) + +**3. Reject Refund** + +![lazada-reject-refund](../../../../static/img/xstore/order-details/lazada/buyer-return-order-reject.png) + +To reject a refund request: + +1. Provide a reason for rejection +2. Upload supporting evidence +3. Submit for platform review + +**4. Refund Pending** + +![lazada-refund-pending](../../../../static/img/xstore/order-details/lazada/buyer-return-order-refund-pending.png) + +After processing, the status changes to **Refund Pending** while Lazada processes and reviews the refund. + +## Shopee + +### Order Detail Page + +![shopee-order-detail](../../../../static/img/xstore/order-details/shopee/order-detail.png) + +The order information section displays: + +| Section | Details | +| -------------------- | ----------------------------------------- | +| **Buyer Details** | Customer username, user ID and address | +| **Payment Details** | Payment method, Currency and Payment time | +| **Shipment Details** | Carrier information | +| **Extra Details** | Additional order notes and info | + +### Return Order Info + +![shopee-return-order-info](../../../../static/img/xstore/order-details/shopee/return-order-info.png) + +### Cancel Order (Seller-Initiated) + +![shopee-cancel-order-button](../../../../static/img/xstore/order-details/shopee/seller-cancel-order.png) + +**Available for:** Orders in the **New Order** and **To Process** tabs + +![shopee-cancel-order-form](../../../../static/img/xstore/order-details/shopee/seller-cancel-order-form.png) + +**Out of Stock Cancellation:** + +![shopee-cancel-order-out-of-stock](../../../../static/img/xstore/order-details/shopee/seller-cancel-order-outofstock.png) + +When selecting "Out of Stock" as the reason: + +1. Select the out-of-stock items +2. Submit the cancellation + +> **Note:** Cancelling with "Out of Stock" may reset the item quantity to 0 on the platform. + +### Cancel Order (Buyer-Initiated) + +![shopee-cancel-order-button](../../../../static/img/xstore/order-details/shopee/buyer-cancel-order.png) + +Sellers can accept or reject the buyer's cancellation request. + +### Return Order (Buyer-Initiated) + +**1. Refund Only** + +![shopee-refund-only](../../../../static/img/xstore/order-details/shopee/buyer-refund-only.png) + +When a buyer requests **Refund Only**, review the request and choose between approving or rejecting. + +**2. Return and Refund (Buyer's Offer)** + +![shopee-return-refund-action](../../../../static/img/xstore/order-details/shopee/buyer-return-refund-action.png) + +When the latest offer is from the buyer, you can: + +| Action | Description | +| ---------------- | --------------------------------- | +| **Create Offer** | Counter with a new offer amount | +| **Accept Offer** | Accept the buyer's proposed terms | +| **Dispute** | Escalate to Shopee for resolution | + +**3. Return and Refund (Seller's Offer)** + +![shopee-return-refund-order](../../../../static/img/xstore/order-details/shopee/buyer-return-refund.png) + +When you've made an offer and are awaiting buyer response, you can still modify your offer. + +**Create Offer Form:** + +![shopee-create-offer-form](../../../../static/img/xstore/order-details/shopee/buyer-return-refund-create-offer.png) + +**Dispute Form:** + +![shopee-dispute-form](../../../../static/img/xstore/order-details/shopee/buyer-return-refund-dispute.png) + +## TikTok + +### Order Detail Page + +![tiktok-order-detail](../../../../static/img/xstore/order-details/tiktok/order-detail.png) + +The order information section displays: + +| Section | Details | +| -------------------- | ----------------------------------------- | +| **Order Details** | Order ID, Order status, Payment method | +| **Buyer Details** | Customer name and shipping address | +| **Payment Details** | Payment method, Currency and Payment time | +| **Shipping Details** | Carrier information | + +### Cancel Order Info + +![tiktok-cancel-order-info](../../../../static/img/xstore/order-details/tiktok/cancel-order-info.png) + +Displays cancellation details including the cancel reason and initiator when an order has been cancelled. + +### Return Order Info + +![tiktok-return-order-info](../../../../static/img/xstore/order-details/tiktok/return-order-info.png) + +Displays return request details including the return reason, status, and refund amount when a buyer initiates a return. + +### Cancel Order (Seller-Initiated) + +![tiktok-cancel-order-button](../../../../static/img/xstore/order-details/tiktok/seller-cancel-order.png) + +**Available for:** Orders in the **New Order** and **To Process** tabs + +![tiktok-cancel-order-form](../../../../static/img/xstore/order-details/tiktok/seller-cancel-order-form.png) + +Select a cancellation reason and submit to cancel the order. + +### Cancel Order (Buyer-Initiated) + +![tiktok-buyer-cancel-request](../../../../static/img/xstore/order-details/tiktok/buyer-cancel-order.png) + +When a buyer requests cancellation, choose your response: + +**Approve Cancellation:** + +![tiktok-approve-cancellation](../../../../static/img/xstore/order-details/tiktok/buyer-cancel-order-approve.png) + +**Reject Cancellation:** + +![tiktok-reject-cancellation](../../../../static/img/xstore/order-details/tiktok/buyer-cancel-order-reject.png) + +### Return Order (Buyer-Initiated) + +![tiktok-return-request](../../../../static/img/xstore/order-details/tiktok/buyer-return-order.png) + +When a buyer initiates a return, review the request and respond: + +**Approve Return:** + +![tiktok-approve-return](../../../../static/img/xstore/order-details/tiktok/buyer-return-order-approve.png) + +**Reject Return:** + +![tiktok-reject-return](../../../../static/img/xstore/order-details/tiktok/buyer-return-order-reject.png) diff --git a/docs/integration/xstore/orders/orders.md b/docs/integration/xstore/orders/orders.md new file mode 100644 index 00000000..375607c4 --- /dev/null +++ b/docs/integration/xstore/orders/orders.md @@ -0,0 +1,140 @@ +--- +sidebar_position: 1 +title: Order +description: Guide to managing orders in XStore +slug: /integration/xstore/orders +tags: ["e-Commerce", "X-Store", "Orders"] +--- + +## Overview + +The **Order** module allows you to view, process, and manage orders from all your connected e-commerce platforms (Lazada, Shopee, TikTok, etc.) in one centralized location. + +![order-management-page](../../../../static/img/xstore/orders/order-page.png) + +To access this page, navigate to **Orders** in the sidebar menu. + +The Order Management interface is organized into tabs representing each stage of the order lifecycle. You can: + +- Filter orders by date range +- Search by Order ID or Store Name +- Perform bulk actions (packing, shipping, printing) +- Track order status across all platforms + +## Order Statuses + +![order-status-tabs](../../../../static/img/xstore/orders/order-statuses.png) + +Orders are categorized into the following status tabs: + +| Status | Description | +| -------------- | ------------------------------------------------------------- | +| **Unpaid** | Orders placed but not yet paid by the customer | +| **New Order** | Paid orders ready to be processed | +| **To Process** | Packed orders waiting to be shipped | +| **To Ship** | Orders ready for courier handover | +| **Shipped** | Orders currently in transit | +| **Delivered** | Orders successfully delivered to the customer | +| **Completed** | Orders finalized and closed | +| **To Cancel** | Buyer-initiated cancellation requests pending seller approval | +| **To Return** | Buyer-initiated return requests pending seller approval | +| **Others** | Orders with special or exceptional statuses | + +## Order Processing Workflow + +The order processing flow moves through several stages. Different actions are available at each stage. + +### Step 1: Pack New Orders + +![pack-orders](../../../../static/img/xstore/orders/pack-order.png) + +1. Select orders by clicking the checkbox next to each order +2. Click the **Pack** button +3. Packed orders will move to the **To Process** tab + +### Step 2: Process Orders for Shipping + +![to-process-tab](../../../../static/img/xstore/orders/order-to-process.png) + +1. Select the orders you want to process by checking the boxes + +2. **Print Picking Documents:** + + ![picking-list-options](../../../../static/img/xstore/orders/pickinglist-doc.png) + + Use the **Action** dropdown to print: + + - **Picking List Summary** – A consolidated list of all order items for batch picking + - **Picking List** – Individual picking lists per order + +3. Click **To Ship** to update order status on the marketplace and move orders to the "To Ship" tab + +4. _(Optional)_ Click the **Scan** icon for the Scan to Ship interface + +### Step 3: Scan to Ship (Optional) + +Use this feature to quickly verify and ship orders by scanning. + +![scan-to-ship-interface](../../../../static/img/xstore/orders/scan-to-ship-empty.png) + +1. Click on the screen and scan the barcode from the picking list +2. **Alternative:** Type the barcode number manually and press Enter + +![scanned-orders](../../../../static/img/xstore/orders/scan-to-ship.png) + +**Available Actions:** + +- **Print AWB** – Print Air Waybills for selected orders +- **Print Courier Manifest** – Generate a manifest for courier pickup + +### Step 4: Ship Orders & Print Documentation + +![to-ship-tab](../../../../static/img/xstore/orders/to-ship.png) + +![action-menu](../../../../static/img/xstore/orders/to-ship-action.png) + +**Available Actions:** + +| Action | Description | +| -------------------------- | -------------------------------------- | +| **Print AWB** | Print Air Waybills for selected orders | +| **Print Courier Manifest** | Generate a manifest for courier pickup | + +**Seller Own Fulfillment (SOF):** + +![mark-as-delivered](../../../../static/img/xstore/orders/mark-as-delivered.png) + +If you handle delivery yourself: + +1. Toggle the **SOF** switch to enable self-fulfillment mode +2. Select the delivered orders +3. Click **Mark as Delivered** + +### Step 5: Post Completed Orders to SQL Account + +![completed-orders](../../../../static/img/xstore/orders/completed.png) + +Once orders reach **Shipped**, **Delivered**, or **Completed** status: + +1. **Post Order** – Click to post orders to **SQL Account** + + > The orders posted will match the current tab's status. For example, clicking **Post Order** on the Shipped tab posts only shipped orders. + +2. **Status** – Click the **icon next to the Post Order button** to view order posting history and status + + | Icon Colour | Status | + | ----------- | ---------- | + | 🔵 Blue | Processing | + | 🟢 Green | Success | + | 🔴 Red | Failed | + +3. **Archived Orders** – Turn on the switch to view orders that have been posted to SQL Account. + Note\*: If orders are updated after posting, they will be moved back to the **non-archived** page. + +## General Features + +| Feature | Description | +| --------------------- | ------------------------------------------------------------------ | +| **Search** | Find orders by **Order ID** or **Store Name** using the search bar | +| **Date Range** | Filter orders by creation date using the date picker | +| **Column Visibility** | Click the column icon to show/hide specific table columns | diff --git a/docs/integration/xstore/payments.md b/docs/integration/xstore/payments.md new file mode 100644 index 00000000..dbbb665c --- /dev/null +++ b/docs/integration/xstore/payments.md @@ -0,0 +1,36 @@ +--- +sidebar_position: 8 +title: Payments +description: A guide on Payments +slug: /integration/xstore/payments +tags: ["e-Commerce", "X-Store", "Payments"] +--- + +The **Manage Payments** page allows you to view and manage all payment details. The number below the table shows the **total number** of transactions or orders in the data table based on the view options. + +![payment-overview](../../../static/img/xstore/payments/payment-overview.png) + +## Data Table Features + +![payment-details](../../../static/img/xstore/payments/payment-details.png) + +| Column | Description | +|--------------------------------------------------------------------------|---------------------------------------------------------------------------------| +| **Transaction Date** (Payment view) / **Platform Order ID** (Order view) | The grouping field - by transaction date or order ID | +| **Description** | Details of each transaction line item | +| **Currency** | The currency used (e.g., MYR) | +| **Amount** | Total amount for the grouped row, or individual line item amounts when expanded | + +## General Features + +![payment-filter](../../../static/img/xstore/payments/payment-filter.png) + +| Filter Option | Description | +|-----------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Sync Payment** | Click the **Sync Payment** button at the top-left corner besides title "Payment Management" to synchronize payment data from your e-commerce platform | +| **Store Selection** | Click the **Select Store** dropdown next to "Store Name" to choose a specific store, or leave as default to display **All** stores | +| **View Options** | Toggle between two view modes using the switch at the top-right corner. **View by Payment** displays transactions grouped by transaction date while **View by Order** displays individual orders grouped by Platform Order ID | +| **Customize Table Columns** | Click the **column icon** on the left side (beside the Start Date field) to show or hide specific columns and customize which information is displayed | +| **Date Range Filter** | Select a **Start Date** and **End Date** (up to today) to filter transactions within the date range. | +| **Search by Order ID** | Enter an **Order ID** in the search field to filter and display matching orders | +| **Expand All** | Click **Expand All** in the top-right to expand all transactions rows and reveal detailed breakdowns | diff --git a/docs/integration/xstore/settings.md b/docs/integration/xstore/settings.md new file mode 100644 index 00000000..5392315a --- /dev/null +++ b/docs/integration/xstore/settings.md @@ -0,0 +1,248 @@ +--- +sidebar_position: 9 +title: Settings +description: A guide on Settings +slug: /integration/estore/settings +tags: ["e-Commerce", "X-Store", "Settings"] +--- + +The Settings module consists of three main sections to help you manage your organization: + +- **Company** - Manage your organization's profile and configuration +- **Users** - Control team member access and invitations +- **Permissions** - Define roles and access control + +## Company Settings + +### Overview + +View and update your company's information, including business details and API configurations. +:::info +Check out our [setup-guide](/integration/xstore/setup#step-1-create-company) for detailed instructions on creating your company profile. +::: + +![company-overview](../../../static/img/xstore/settings/company-overview.png) + +### Company Information + +Your company profile displays: + +- Company ID +- Company name +- Logo +- Registration number +- Email address +- Phone number + +**SQL Account Integration** + +Configure your SQL Account API access by setting up: + +- Access key +- Secret key + +![company-information](../../../static/img/xstore/settings/company-information.png) +:::info +For more details on SQL Account configuration, see our [Setup Guide](/integration/xstore/setup#step-3-configure-company-settings). +::: + +#### Update Company Logo + +Click on your current logo to upload a new one. + +![company-logo-upload-flow](../../../static/img/xstore/settings/company-logo-upload-flow.png) + +### Editing Company Details + +**To update your company information:** + +1. Click the **Update Company Details** button + + ![company-update-details-button](../../../static/img/xstore/settings/company-update-details-button.png) + +2. Modify any of the following fields: + + - Company name + - Registration number + - Email address + - Phone number + +3. Click **Save** to apply changes + + ![company-update-details-page](../../../static/img/xstore/settings/company-update-details-page.png) + +:::warning Validation Required +You must provide valid email and phone number formats. Invalid entries will trigger a warning message. +::: + +![company-update-details-warning](../../../static/img/xstore/settings/company-update-details-warning.png) + +**Canceling Changes** + +If you click **Cancel** after making edits, you'll see a confirmation dialog. Click **Continue** to discard your changes. + +![company-update-details-cancel](../../../static/img/xstore/settings/company-update-details-cancel.png) + +## Users Settings + +### Overview + +Manage your team members, including viewing, editing, inviting, and removing users. + +![user-management-overview](../../../static/img/xstore/settings/user-management-overview.png) + +### Active Users Table + +The users table displays all team members with their name, ID (with copy function), email, phone number, assigned role, status, and removal action. Use the search bar to filter users by name, ID, email, or phone number. Your account always appears in the first row. + +| Column | Description | +| -------------- | --------------------------- | +| User Name & ID | Full name with copyable ID | +| Email | Contact email address | +| Phone Number | Contact phone number | +| Role | Assigned role in the system | +| Status | Active/Inactive status | +| Actions | Remove user button | + +![user-management-table](../../../static/img/xstore/settings/user-management-table.png) + +### Editing User Details + +You can modify a user's role and status directly in the table. + +1. Update the desired fields +2. Click the **Save** button +3. Confirm your changes in the dialog +4. Click **Continue** to apply (or **Cancel** to discard any unsaved modifications) + +![user-management-update](../../../static/img/xstore/settings/user-management-update.png) + +### Removing Users + +1. Click the **Delete** icon in the user's row +2. Type `delete user` in the confirmation dialog +3. Click **Continue** to remove the user + +![user-management-remove-user](../../../static/img/xstore/settings/user-management-remove-user.png) + +### Inviting New Users + +#### Step 1: Enter User Details + +1. Click the **Invite Users** button +2. In the dialog, enter either: + - Email address (press Enter after each email) + - User ID +3. Click **Batch Invite** to add users to the invitation list + +:::info Finding User ID +User IDs appear in the users table. Ask the person you want to invite to copy their ID and send it to you. +::: + +![user-invitation-input](../../../static/img/xstore/settings/user-invitation-input.png) + +#### Step 2: Assign Roles and Send + +1. Select a role from the **Role** dropdown for each user +2. Click **Send Invitation** to send all invitations +3. Use **Clear All** to remove all pending invitations from the list + +![user-invitation-send](../../../static/img/xstore/settings/user-invitation-send.png) + +#### Step 3: Review Invitation Status + +After sending, you'll see a status summary showing: + +| Status | Meaning | +| ---------- | ------------------------------- | +| ✅ Success | Invitation sent successfully | +| ℹ️ Exist | User already joined the company | +| ❌ Failed | Invitation could not be sent | + +![user-invitation-status](../../../static/img/xstore/settings/user-invitation-status.png) + +### Managing Pending Invitations + +Click **Pending Invitations** to switch to the pending list view. + +- Shows invitations not yet accepted +- Includes a **Revoke** button for each invitation +- Invitations expire after 24 hours +- Expired invitations must be resent + +![user-invitation-pending-list](../../../static/img/xstore/settings/user-invitation-pending-list.png) + +### Accepting Invitations + +Recipients receive an email with an invitation link. + +:::tip Invitation with User ID +Users invited by User ID join the company immediately without needing to accept an invitation. +::: + +![user-invitation-email](../../../static/img/xstore/settings/user-invitation-email.png) + +**Option 1: Sign in with Passkey** + +Log in using a Passkey and redirect to the Company List page. + +:::info Prerequisite +You must register a user account with a passkey before using this method to accept the invitation. +::: + +![user-invitation-accept-passkey](../../../static/img/xstore/settings/user-invitation-accept-passkey.png) + +**Option 2: Sign up with Email** + +Register a new account, log in automatically, and redirect to the Company List page. + +![user-invitation-accept-email](../../../static/img/xstore/settings/user-invitation-accept-email.png) + +## Permissions Settings + +### Overview + +Define and manage roles with specific permissions to control what users can do in the system. + +The roles table displays: + +- Role name +- Last updated date +- Updated by (user name) +- Action buttons (Edit, Delete) + +![permissions-overview](../../../static/img/xstore/settings/permissions-overview.png) + +### Editing Roles + +1. Click the **Edit** icon in the role's row +2. Update the role name or adjust permissions +3. Click **Update Role** +4. Confirm your changes by clicking **Continue** + +![permissions-role-edit](../../../static/img/xstore/settings/permissions-role-edit.png) + +### Deleting Roles + +1. Click the **Delete** icon +2. Confirm the deletion in the dialog + +:::warning Deletion Requirements +Roles can only be deleted if they're not assigned to any users. If the role is in use, you'll see a warning message. +::: + +![permissions-role-delete](../../../static/img/xstore/settings/permissions-role-delete.png) + +### Creating New Roles + +1. Click **Create Role** at the top right of the table + + ![permissions-role-create-button](../../../static/img/xstore/settings/permissions-role-create-button.png) + +2. In the dialog: + - Enter a role name + - Select the permissions to assign +3. Click **Create Role** +4. Confirm by clicking **Continue** + +![permissions-role-create-dialog](../../../static/img/xstore/settings/permissions-role-create-dialog.png) diff --git a/docs/integration/xstore/setup.md b/docs/integration/xstore/setup.md new file mode 100644 index 00000000..9c015f3b --- /dev/null +++ b/docs/integration/xstore/setup.md @@ -0,0 +1,205 @@ +--- +sidebar_position: 2 +title: Setup +description: A guide to set up SQL X-Store App +slug: /integration/xstore/setup +tags: ["e-Commerce", "X-Store", "Setup"] +--- + +## Configurations + +This guide walks you through the complete setup of the **SQL X-Store** App — from creating a company to syncing data from **E-commerce platforms** and **SQL Account**. + +### Step 1: Create Company + +1. Click **Create Company** in Company List page + + ![create-company](../../../static/img/xstore/setup/create-company.png) + +2. Enter the **Company Name**, **Email**, and **Phone Number** + +3. Click **Create Company** + + ![input-company-info](../../../static/img/xstore/setup/input-company-info.png) + +4. Select the newly created company + + ![select-company](../../../static/img/xstore/setup/select-company.png) + +5. The system will navigate to the **Company Profile** page + + ![company-profile](../../../static/img/xstore/setup/company-profile.png) + +### Step 2: Link Store + +Connect E-commerce stores to sync **store**, **product**, **order**, and **payment** data. + +1. Click **Stores** in the sidebar + + ![store-sidebar](../../../static/img/xstore/setup/store-sidebar.png) + +2. Click **Link Store** + + ![link-store](../../../static/img/xstore/setup/link-store.png) + +> 📌 For detailed instructions on linking store, navigate to **Integration > XStore > [Stores](./stores.md)** + +**Auto-Sync Behavior** + +- After linking, the system **automatically syncs the past 3 days** of product, order, and payment data. +- Sync actions are locked for **10 minutes** to prevent overload. +- After 10 minutes, manual sync becomes available. + +### Step 3: Configure Company Settings + +1. Click **Settings > Company** from the sidebar + + ![company-sidebar](../../../static/img/xstore/setup/company-sidebar.png) + +2. Click **Edit** + + ![add-key](../../../static/img/xstore/setup/add-key.png) + +3. Copy the **Access Key** and **Secret Key** from SQL Account and fill in both fields to enable SQL sync + +4. Click **Save** + + ![input-key](../../../static/img/xstore/setup/input-key.png) + +### Step 4: Code Mapping + +Sync **Stock**, **Customer**, **Location**, and **Payment** codes from SQL Account to map codes such as **Location**, **Project**, **Voucher**, **Discount**, **Shipping**, **Transaction**, **Payment**, and **Customer** codes for invoice posting to SQL Account. + +1. Click **Stores** in the sidebar + + ![store-sidebar](../../../static/img/xstore/setup/store-sidebar.png) + +2. Click the **Config** (⚙️) icon of any store + + ![store-config](../../../static/img/xstore/setup/store-config.png) + +3. A dialog will open: + + 1. Select the **code type** from the dropdown + + 2. Click **Map Codes** + + ![map-codes](../../../static/img/xstore/setup/map-codes.png) + +4. A success message will appear once mapping is completed + + ![map-code-success](../../../static/img/xstore/setup/map-success.png) + +### Step 5: Sync Stock Items from SQL Account + +Sync stock items from SQL Account for **product mapping** and **quantity control**. + +1. Click **Inventory > Stocks** in the sidebar + + ![stock-sidebar](../../../static/img/xstore/setup/stock-sidebar.png) + +2. Click **Sync Stock** + + ![sync-stock](../../../static/img/xstore/setup/sync-stock.png) + +3. Choose sync method: + + 1. **Sync All**, or + + 2. Tick checkboxes and click **Sync Selected** + + ![select-stockSync](../../../static/img/xstore/setup/select-stockSync.png) + +4. Synced stock items will appear in the Data Table + + ![stock-items](../../../static/img/xstore/setup/stock-items.png) + +## Manual Sync + +If platform data failed to sync during store linking, you can sync manually + +### Sync Product Data + +1. Click **Inventory > Products** in the sidebar + + ![product-sidebar](../../../static/img/xstore/setup/product-sidebar.png) + +2. Click (**⟲**) icon + + ![sync-product](../../../static/img/xstore/setup/sync-product.png) + +3. A dialog will open: + + 1. Tick checkboxes to select stores + + 2. Click **Sync Selected** + + ![select-productSync](../../../static/img/xstore/setup/select-productSync.png) + +### Sync Order Data + +1. Click **Orders** in the sidebar + + ![order-sidebar](../../../static/img/xstore/setup/order-sidebar.png) + +2. Click (**⟲**) icon + + ![sync-order](../../../static/img/xstore/setup/sync-order.png) + +3. A dialog will open: + + 1. Sync with **Date Filter** + + 1. Select date range using the **Date Picker** + + ![select-sync-date](../../../static/img/xstore/setup/select-syncDate.png) + + 2. Tick checkboxes to select stores + + 3. Click **Sync Selected** + + 4. To change the selected date, click **Change** + + ![change-sync-date](../../../static/img/xstore/setup/change-syncDate.png) + + 2. Sync without **Date Filter** (will only sync past 3 days data) + + 1. Tick checkboxes to select stores + + 2. Click **Sync Selected** + + ![select-orderSync](../../../static/img/xstore/setup/select-orderSync.png) + +### Sync Payment Data + +1. Click **Payments** in the sidebar + + ![payment-sidebar](../../../static/img/xstore/setup/payment-sidebar.png) + +2. Click (**⟲**) icon + + ![sync-payment](../../../static/img/xstore/setup/sync-payment.png) + +3. A dialog will open: + + 1. Sync with **Date Filter** + + 1. Select date range using the **Date Picker** + + ![select-paymentSyncDate](../../../static/img/xstore/setup/select-paymentSyncDate.png) + + 2. Tick checkboxes to select stores + + 3. Click **Sync Selected** + + 4. To change the selected date, click **Change** + + ![change-sync-date](../../../static/img/xstore/setup/change-syncDate.png) + + 2. Sync without **Date Filter** (will only sync past 3 days data) + + 1. Tick checkboxes to select stores + + 2. Click **Sync Selected** + + ![select-order-sync](../../../static/img/xstore/setup/select-orderSync.png) diff --git a/docs/integration/xstore/side-menu.md b/docs/integration/xstore/side-menu.md new file mode 100644 index 00000000..94af7301 --- /dev/null +++ b/docs/integration/xstore/side-menu.md @@ -0,0 +1,100 @@ +--- +sidebar_position: 3 +title: Side Menu +description: A guide on Side Menu +slug: /integration/xstore/side-menu +tags: ["e-Commerce", "X-Store", "Side Menu"] +--- + +The side menu is the secondary navigation component for the e-Commerce integration system. + +![Side Menu](../../../static/img/xstore/sidemenu/sidemenu.png) + +## Profile Actions + +1. **User Profile** 👤 + - **Register Passkey** & **Manage Session** + - **View** and **Edit** personal profile information + +2. **Switch Company** 🔄 + - Switch between multiple company accounts + - Back to **Company List Page** + +3. **Language Selection** 🌐 + - Change language of X-Store + +4. **Theme Toggle** 🌙 + - Toggle between light and dark themes + - Persists user preference + +--- + +## User Profile + +The User Profile page displays your account information and security settings. + +![User Profile](../../../static/img/xstore/sidemenu/sidemenu-1.png) + +### Profile Information + +| Field | Description | +|-------|-------------| +| **Name** | Your display name | +| **Email** | Your registered email address | +| **User ID** | Unique identifier for your account | +| **Phone Number** | Contact phone number | + +### Passkeys + +Manage your registered passkeys for secure authentication. + +![Passkeys](../../../static/img/xstore/sidemenu/sidemenu-2.png) + +- Click **+ Create Passkey** to register a new passkey +- View existing passkeys with actions menu + +### Sessions + +View your active login sessions across different devices and browsers. + +![Passkeys](../../../static/img/xstore/sidemenu/sidemenu-8.png) + +![Passkeys](../../../static/img/xstore/sidemenu/sidemenu-3.png) + +--- + +## Update User Profile + +Edit your profile information from the User Profile page. + +![Update User Profile](../../../static/img/xstore/sidemenu/sidemenu-4.png) + +### Editable Fields + +![Update User Profile 2](../../../static/img/xstore/sidemenu/sidemenu-7.png) + +Click **Save** to apply changes or **Cancel** to discard. + +--- + +## Register New Passkey + +Create a new passkey for passwordless authentication. + +![Register New Passkey](../../../static/img/xstore/sidemenu/sidemenu-5.png) + +### Steps to Register + +1. Click **+ Create Passkey** from the User Profile page +2. Enter a **Passkey Name** (required, max 50 characters) + + ![Authentication Prompt](../../../static/img/xstore/sidemenu/sidemenu-9.png) + +3. Click **Register** to complete the process + + ![Authentication Prompt](../../../static/img/xstore/sidemenu/sidemenu-6.png) + +4. Choose where to save the passkey +5. Follow your device's authentication prompt + +--- diff --git a/docs/integration/xstore/stores.md b/docs/integration/xstore/stores.md new file mode 100644 index 00000000..38b7f11c --- /dev/null +++ b/docs/integration/xstore/stores.md @@ -0,0 +1,156 @@ +--- +sidebar_position: 5 +title: Stores +description: Complete guide to link e-commerce stores and perform code mapping for product mapping and order posting +slug: /integration/xstore/stores +tags: ["e-Commerce", "X-Store", "Stores"] +--- + +## Linking Stores + +1. Click **Stores** in the sidebar + + ![store-sidebar](../../../static/img/xstore/stores/store-sidebar.png) + +2. Click **Link Store** + + ![link-store](../../../static/img/xstore/stores/link-store.png) + +### Lazada + +1. Select Lazada + +2. Click the Link Store button + + ![select-lazada](../../../static/img/xstore/stores/select-lazada.png) + +3. Select Region + +4. Click Use Seller Login + + ![lazada-login](../../../static/img/xstore/stores/lazada-login.png) + +5. Login using Lazada credentials + + ![input-lazada-credentials](../../../static/img/xstore/stores/lazada-credentials.png) + +6. Click authorize + + ![lazada-authorize](../../../static/img/xstore/stores/lazada-authorize.png) + +7. After successful linking + + - A success message will appear + + - The linked store will be added to the data table. + + ![link-lazada](../../../static/img/xstore/stores/link-lazada.png) + +### Shopee + +1. Select Shopee + +2. Select Region + +3. Click the Link Store button + + ![select-shopee](../../../static/img/xstore/stores/select-shopee.png) + +4. If Linking a **Shop Account** + + 1. Enter shop account credentials + + ![shopee-shop-acc](../../../static/img/xstore/stores/shopee-shopAcc.png) + + 2. Click Confirm Authorization + + ![shopee-shopAuth](../../../static/img/xstore/stores/shopee-shopAuth.png) + + 3. Select the Authorization Period + + 4. Click Confirm Authorization + + ![shopee-storeAuthPeriod](../../../static/img/xstore/stores/shopee-storeAuthPeriod.png) + +5. If Linking a **Main Account** + + 1. Click Switch to Main Account + + ![switch-main-acc](../../../static/img/xstore/stores/switch-mainAcc.png) + + 2. Enter Main Account credentials + + ![shopee-mainAcc](../../../static/img/xstore/stores/shopee-mainAcc.png) + + 3. Select the Shop and Merchant authorized for your App + + 4. Click Confirm Authorization + + ![shopee-mainAccAuth](../../../static/img/xstore/stores/shopee-mainAccAuth.png) + + 5. Select the Authorization Period + + 6. Click Confirm Authorization + + ![shopee-mainAuthPeriod](../../../static/img/xstore/stores/shopee-mainAuthPeriod.png) + +6. After successful linking + + - A success message will appear + + - The linked store will be added to the data table. + + ![link-shopeeMain](../../../static/img/xstore/stores/link-shopeeMain.png) + +### Tiktok + +1. Select Tiktok + +2. Click the Link Store button + + ![select-tiktok](../../../static/img/xstore/stores/select-tiktok.png) + +3. Select your account type to start the authorization process + + ![tiktok-selectAcc](../../../static/img/xstore/stores/tiktok-selectAcc.png) + +4. Select and input tiktok account credentials + +5. Click Confirm to Install + + ![tiktok-login](../../../static/img/xstore/stores/tiktok-login.png) + +6. Review the data-sharing permissions and tick the checkbox to acknowledge + +7. Click Authorize + + ![input-tiktok-credentials](../../../static/img/xstore/stores/tiktok-credentials.png) + +8. Click Done to complete the setup + + ![tiktok-auth](../../../static/img/xstore/stores/tiktok-auth.png) + +9. After successful linking + + - A success message will appear + + - The linked store will be added to the data table. + + ![link-tiktok](../../../static/img/xstore/stores/link-tiktok.png) + +> 📌**If store authorization expires, click the link icon (🔗) to re-link the store or click Link Store** + +![store-expired](../../../static/img/xstore/stores/store-expired.png) + +## General Features + +![general-features](../../../static/img/xstore/stores/general-features.png) + +| Features | Description | +| ----------------------------| -------------------------------------------------------------------------------------- | +| **1. Search** | Search for stores by **store name** or **region**. | +| **2. Pagination** | Choose to display **50, 100, 150, or 200** records per page. | +| **3. Collapse All** | **Hide all** child-level details. | +| **4. Expand All** | **Expand all** child-level details to view complete information at once. | +| **5. Sorting** | Sort data in **ascending** or **descending** order. | +| **6. Column Visibility** | **Show or hide** specific columns to customize the table view according to preference. | diff --git a/static/img/xstore/dashboard/dashboard-1.png b/static/img/xstore/dashboard/dashboard-1.png new file mode 100644 index 00000000..4fc38a14 Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-1.png differ diff --git a/static/img/xstore/dashboard/dashboard-10.png b/static/img/xstore/dashboard/dashboard-10.png new file mode 100644 index 00000000..1a05e48d Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-10.png differ diff --git a/static/img/xstore/dashboard/dashboard-11.png b/static/img/xstore/dashboard/dashboard-11.png new file mode 100644 index 00000000..5be63690 Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-11.png differ diff --git a/static/img/xstore/dashboard/dashboard-12.png b/static/img/xstore/dashboard/dashboard-12.png new file mode 100644 index 00000000..f5cebce4 Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-12.png differ diff --git a/static/img/xstore/dashboard/dashboard-13.png b/static/img/xstore/dashboard/dashboard-13.png new file mode 100644 index 00000000..1f2d666e Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-13.png differ diff --git a/static/img/xstore/dashboard/dashboard-2.png b/static/img/xstore/dashboard/dashboard-2.png new file mode 100644 index 00000000..6a63b45d Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-2.png differ diff --git a/static/img/xstore/dashboard/dashboard-3.png b/static/img/xstore/dashboard/dashboard-3.png new file mode 100644 index 00000000..ab2fb306 Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-3.png differ diff --git a/static/img/xstore/dashboard/dashboard-4.png b/static/img/xstore/dashboard/dashboard-4.png new file mode 100644 index 00000000..8b3cc26c Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-4.png differ diff --git a/static/img/xstore/dashboard/dashboard-5.png b/static/img/xstore/dashboard/dashboard-5.png new file mode 100644 index 00000000..64f90a3d Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-5.png differ diff --git a/static/img/xstore/dashboard/dashboard-6.png b/static/img/xstore/dashboard/dashboard-6.png new file mode 100644 index 00000000..2eed7880 Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-6.png differ diff --git a/static/img/xstore/dashboard/dashboard-7.png b/static/img/xstore/dashboard/dashboard-7.png new file mode 100644 index 00000000..67dcffed Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-7.png differ diff --git a/static/img/xstore/dashboard/dashboard-8.png b/static/img/xstore/dashboard/dashboard-8.png new file mode 100644 index 00000000..7e94c42e Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-8.png differ diff --git a/static/img/xstore/dashboard/dashboard-9.png b/static/img/xstore/dashboard/dashboard-9.png new file mode 100644 index 00000000..1109d3d3 Binary files /dev/null and b/static/img/xstore/dashboard/dashboard-9.png differ diff --git a/static/img/xstore/getting-started/company-overview.png b/static/img/xstore/getting-started/company-overview.png new file mode 100644 index 00000000..fe19f39d Binary files /dev/null and b/static/img/xstore/getting-started/company-overview.png differ diff --git a/static/img/xstore/getting-started/demo-overview.png b/static/img/xstore/getting-started/demo-overview.png new file mode 100644 index 00000000..b64be9ed Binary files /dev/null and b/static/img/xstore/getting-started/demo-overview.png differ diff --git a/static/img/xstore/getting-started/email-action.png b/static/img/xstore/getting-started/email-action.png new file mode 100644 index 00000000..89ab094a Binary files /dev/null and b/static/img/xstore/getting-started/email-action.png differ diff --git a/static/img/xstore/getting-started/email-form.png b/static/img/xstore/getting-started/email-form.png new file mode 100644 index 00000000..7f4c88d7 Binary files /dev/null and b/static/img/xstore/getting-started/email-form.png differ diff --git a/static/img/xstore/getting-started/email-link.png b/static/img/xstore/getting-started/email-link.png new file mode 100644 index 00000000..17a0f489 Binary files /dev/null and b/static/img/xstore/getting-started/email-link.png differ diff --git a/static/img/xstore/getting-started/email-overview.png b/static/img/xstore/getting-started/email-overview.png new file mode 100644 index 00000000..11836d6f Binary files /dev/null and b/static/img/xstore/getting-started/email-overview.png differ diff --git a/static/img/xstore/getting-started/email-verification.png b/static/img/xstore/getting-started/email-verification.png new file mode 100644 index 00000000..77dd3926 Binary files /dev/null and b/static/img/xstore/getting-started/email-verification.png differ diff --git a/static/img/xstore/getting-started/login-overview.png b/static/img/xstore/getting-started/login-overview.png new file mode 100644 index 00000000..2e04996a Binary files /dev/null and b/static/img/xstore/getting-started/login-overview.png differ diff --git a/static/img/xstore/getting-started/passkey-creation.png b/static/img/xstore/getting-started/passkey-creation.png new file mode 100644 index 00000000..95875270 Binary files /dev/null and b/static/img/xstore/getting-started/passkey-creation.png differ diff --git a/static/img/xstore/getting-started/passkey-form.png b/static/img/xstore/getting-started/passkey-form.png new file mode 100644 index 00000000..92231f16 Binary files /dev/null and b/static/img/xstore/getting-started/passkey-form.png differ diff --git a/static/img/xstore/getting-started/passkey-option.png b/static/img/xstore/getting-started/passkey-option.png new file mode 100644 index 00000000..6da02c99 Binary files /dev/null and b/static/img/xstore/getting-started/passkey-option.png differ diff --git a/static/img/xstore/getting-started/passkey-overview.png b/static/img/xstore/getting-started/passkey-overview.png new file mode 100644 index 00000000..c4b760d5 Binary files /dev/null and b/static/img/xstore/getting-started/passkey-overview.png differ diff --git a/static/img/xstore/getting-started/signup-overview.png b/static/img/xstore/getting-started/signup-overview.png new file mode 100644 index 00000000..ec0670aa Binary files /dev/null and b/static/img/xstore/getting-started/signup-overview.png differ diff --git a/static/img/xstore/inventory/map-dialog-overview.png b/static/img/xstore/inventory/map-dialog-overview.png new file mode 100644 index 00000000..29833db2 Binary files /dev/null and b/static/img/xstore/inventory/map-dialog-overview.png differ diff --git a/static/img/xstore/inventory/map-product.png b/static/img/xstore/inventory/map-product.png new file mode 100644 index 00000000..04935275 Binary files /dev/null and b/static/img/xstore/inventory/map-product.png differ diff --git a/static/img/xstore/inventory/map-selective-uom.png b/static/img/xstore/inventory/map-selective-uom.png new file mode 100644 index 00000000..c45d32be Binary files /dev/null and b/static/img/xstore/inventory/map-selective-uom.png differ diff --git a/static/img/xstore/inventory/mapping-product-1.png b/static/img/xstore/inventory/mapping-product-1.png new file mode 100644 index 00000000..b0cab882 Binary files /dev/null and b/static/img/xstore/inventory/mapping-product-1.png differ diff --git a/static/img/xstore/inventory/mapping-product-2.png b/static/img/xstore/inventory/mapping-product-2.png new file mode 100644 index 00000000..11c20203 Binary files /dev/null and b/static/img/xstore/inventory/mapping-product-2.png differ diff --git a/static/img/xstore/inventory/product-overview.png b/static/img/xstore/inventory/product-overview.png new file mode 100644 index 00000000..4008b45b Binary files /dev/null and b/static/img/xstore/inventory/product-overview.png differ diff --git a/static/img/xstore/inventory/stock-detail.png b/static/img/xstore/inventory/stock-detail.png new file mode 100644 index 00000000..31600cb8 Binary files /dev/null and b/static/img/xstore/inventory/stock-detail.png differ diff --git a/static/img/xstore/inventory/stock-overview.png b/static/img/xstore/inventory/stock-overview.png new file mode 100644 index 00000000..f026b5df Binary files /dev/null and b/static/img/xstore/inventory/stock-overview.png differ diff --git a/static/img/xstore/inventory/unmap-product-1.png b/static/img/xstore/inventory/unmap-product-1.png new file mode 100644 index 00000000..3b8a1d45 Binary files /dev/null and b/static/img/xstore/inventory/unmap-product-1.png differ diff --git a/static/img/xstore/inventory/unmap-product-2.png b/static/img/xstore/inventory/unmap-product-2.png new file mode 100644 index 00000000..09e1426a Binary files /dev/null and b/static/img/xstore/inventory/unmap-product-2.png differ diff --git a/static/img/xstore/inventory/update-quantity.png b/static/img/xstore/inventory/update-quantity.png new file mode 100644 index 00000000..89e6de15 Binary files /dev/null and b/static/img/xstore/inventory/update-quantity.png differ diff --git a/static/img/xstore/inventory/view-stock-detail.png b/static/img/xstore/inventory/view-stock-detail.png new file mode 100644 index 00000000..5cbddfd2 Binary files /dev/null and b/static/img/xstore/inventory/view-stock-detail.png differ diff --git a/static/img/xstore/order-details/lazada/buyer-return-order-confirm-return-receipt.png b/static/img/xstore/order-details/lazada/buyer-return-order-confirm-return-receipt.png new file mode 100644 index 00000000..d98720f6 Binary files /dev/null and b/static/img/xstore/order-details/lazada/buyer-return-order-confirm-return-receipt.png differ diff --git a/static/img/xstore/order-details/lazada/buyer-return-order-process-refund.png b/static/img/xstore/order-details/lazada/buyer-return-order-process-refund.png new file mode 100644 index 00000000..d00d3c54 Binary files /dev/null and b/static/img/xstore/order-details/lazada/buyer-return-order-process-refund.png differ diff --git a/static/img/xstore/order-details/lazada/buyer-return-order-refund-pending.png b/static/img/xstore/order-details/lazada/buyer-return-order-refund-pending.png new file mode 100644 index 00000000..3f35f930 Binary files /dev/null and b/static/img/xstore/order-details/lazada/buyer-return-order-refund-pending.png differ diff --git a/static/img/xstore/order-details/lazada/buyer-return-order-reject.png b/static/img/xstore/order-details/lazada/buyer-return-order-reject.png new file mode 100644 index 00000000..4e1ac895 Binary files /dev/null and b/static/img/xstore/order-details/lazada/buyer-return-order-reject.png differ diff --git a/static/img/xstore/order-details/lazada/buyer-return-order.png b/static/img/xstore/order-details/lazada/buyer-return-order.png new file mode 100644 index 00000000..96f51e66 Binary files /dev/null and b/static/img/xstore/order-details/lazada/buyer-return-order.png differ diff --git a/static/img/xstore/order-details/lazada/cancel-order-info.png b/static/img/xstore/order-details/lazada/cancel-order-info.png new file mode 100644 index 00000000..031e0ab8 Binary files /dev/null and b/static/img/xstore/order-details/lazada/cancel-order-info.png differ diff --git a/static/img/xstore/order-details/lazada/cancelled-order-item.png b/static/img/xstore/order-details/lazada/cancelled-order-item.png new file mode 100644 index 00000000..b8a9c0ff Binary files /dev/null and b/static/img/xstore/order-details/lazada/cancelled-order-item.png differ diff --git a/static/img/xstore/order-details/lazada/order-detail.png b/static/img/xstore/order-details/lazada/order-detail.png new file mode 100644 index 00000000..da5e8488 Binary files /dev/null and b/static/img/xstore/order-details/lazada/order-detail.png differ diff --git a/static/img/xstore/order-details/lazada/repack-order.png b/static/img/xstore/order-details/lazada/repack-order.png new file mode 100644 index 00000000..e0df151f Binary files /dev/null and b/static/img/xstore/order-details/lazada/repack-order.png differ diff --git a/static/img/xstore/order-details/lazada/return-order-info.png b/static/img/xstore/order-details/lazada/return-order-info.png new file mode 100644 index 00000000..9b0c6681 Binary files /dev/null and b/static/img/xstore/order-details/lazada/return-order-info.png differ diff --git a/static/img/xstore/order-details/lazada/seller-cancel-order-form-warning.png b/static/img/xstore/order-details/lazada/seller-cancel-order-form-warning.png new file mode 100644 index 00000000..2136087d Binary files /dev/null and b/static/img/xstore/order-details/lazada/seller-cancel-order-form-warning.png differ diff --git a/static/img/xstore/order-details/lazada/seller-cancel-order-form.png b/static/img/xstore/order-details/lazada/seller-cancel-order-form.png new file mode 100644 index 00000000..92dcb030 Binary files /dev/null and b/static/img/xstore/order-details/lazada/seller-cancel-order-form.png differ diff --git a/static/img/xstore/order-details/lazada/seller-cancel-order.png b/static/img/xstore/order-details/lazada/seller-cancel-order.png new file mode 100644 index 00000000..34f43bd4 Binary files /dev/null and b/static/img/xstore/order-details/lazada/seller-cancel-order.png differ diff --git a/static/img/xstore/order-details/order-detail-enter.png b/static/img/xstore/order-details/order-detail-enter.png new file mode 100644 index 00000000..6eae6b97 Binary files /dev/null and b/static/img/xstore/order-details/order-detail-enter.png differ diff --git a/static/img/xstore/order-details/order-detail-overview.png b/static/img/xstore/order-details/order-detail-overview.png new file mode 100644 index 00000000..d0d4e0d2 Binary files /dev/null and b/static/img/xstore/order-details/order-detail-overview.png differ diff --git a/static/img/xstore/order-details/shopee/buyer-cancel-order.png b/static/img/xstore/order-details/shopee/buyer-cancel-order.png new file mode 100644 index 00000000..3ffe993f Binary files /dev/null and b/static/img/xstore/order-details/shopee/buyer-cancel-order.png differ diff --git a/static/img/xstore/order-details/shopee/buyer-refund-only.png b/static/img/xstore/order-details/shopee/buyer-refund-only.png new file mode 100644 index 00000000..741ecf44 Binary files /dev/null and b/static/img/xstore/order-details/shopee/buyer-refund-only.png differ diff --git a/static/img/xstore/order-details/shopee/buyer-return-refund-action.png b/static/img/xstore/order-details/shopee/buyer-return-refund-action.png new file mode 100644 index 00000000..60333a0d Binary files /dev/null and b/static/img/xstore/order-details/shopee/buyer-return-refund-action.png differ diff --git a/static/img/xstore/order-details/shopee/buyer-return-refund-create-offer.png b/static/img/xstore/order-details/shopee/buyer-return-refund-create-offer.png new file mode 100644 index 00000000..6f30fd7c Binary files /dev/null and b/static/img/xstore/order-details/shopee/buyer-return-refund-create-offer.png differ diff --git a/static/img/xstore/order-details/shopee/buyer-return-refund-dispute.png b/static/img/xstore/order-details/shopee/buyer-return-refund-dispute.png new file mode 100644 index 00000000..bfd50ddf Binary files /dev/null and b/static/img/xstore/order-details/shopee/buyer-return-refund-dispute.png differ diff --git a/static/img/xstore/order-details/shopee/buyer-return-refund.png b/static/img/xstore/order-details/shopee/buyer-return-refund.png new file mode 100644 index 00000000..979e28ff Binary files /dev/null and b/static/img/xstore/order-details/shopee/buyer-return-refund.png differ diff --git a/static/img/xstore/order-details/shopee/order-detail.png b/static/img/xstore/order-details/shopee/order-detail.png new file mode 100644 index 00000000..0e5655ad Binary files /dev/null and b/static/img/xstore/order-details/shopee/order-detail.png differ diff --git a/static/img/xstore/order-details/shopee/return-order-info.png b/static/img/xstore/order-details/shopee/return-order-info.png new file mode 100644 index 00000000..0ed51f32 Binary files /dev/null and b/static/img/xstore/order-details/shopee/return-order-info.png differ diff --git a/static/img/xstore/order-details/shopee/seller-cancel-order-form.png b/static/img/xstore/order-details/shopee/seller-cancel-order-form.png new file mode 100644 index 00000000..662ccc3d Binary files /dev/null and b/static/img/xstore/order-details/shopee/seller-cancel-order-form.png differ diff --git a/static/img/xstore/order-details/shopee/seller-cancel-order-outofstock.png b/static/img/xstore/order-details/shopee/seller-cancel-order-outofstock.png new file mode 100644 index 00000000..d36aabd3 Binary files /dev/null and b/static/img/xstore/order-details/shopee/seller-cancel-order-outofstock.png differ diff --git a/static/img/xstore/order-details/shopee/seller-cancel-order.png b/static/img/xstore/order-details/shopee/seller-cancel-order.png new file mode 100644 index 00000000..5d779e28 Binary files /dev/null and b/static/img/xstore/order-details/shopee/seller-cancel-order.png differ diff --git a/static/img/xstore/order-details/tiktok/buyer-cancel-order-approve.png b/static/img/xstore/order-details/tiktok/buyer-cancel-order-approve.png new file mode 100644 index 00000000..e6234b23 Binary files /dev/null and b/static/img/xstore/order-details/tiktok/buyer-cancel-order-approve.png differ diff --git a/static/img/xstore/order-details/tiktok/buyer-cancel-order-reject.png b/static/img/xstore/order-details/tiktok/buyer-cancel-order-reject.png new file mode 100644 index 00000000..6844cc99 Binary files /dev/null and b/static/img/xstore/order-details/tiktok/buyer-cancel-order-reject.png differ diff --git a/static/img/xstore/order-details/tiktok/buyer-cancel-order.png b/static/img/xstore/order-details/tiktok/buyer-cancel-order.png new file mode 100644 index 00000000..13459a1e Binary files /dev/null and b/static/img/xstore/order-details/tiktok/buyer-cancel-order.png differ diff --git a/static/img/xstore/order-details/tiktok/buyer-return-order-approve.png b/static/img/xstore/order-details/tiktok/buyer-return-order-approve.png new file mode 100644 index 00000000..2dae6842 Binary files /dev/null and b/static/img/xstore/order-details/tiktok/buyer-return-order-approve.png differ diff --git a/static/img/xstore/order-details/tiktok/buyer-return-order-reject.png b/static/img/xstore/order-details/tiktok/buyer-return-order-reject.png new file mode 100644 index 00000000..905791f0 Binary files /dev/null and b/static/img/xstore/order-details/tiktok/buyer-return-order-reject.png differ diff --git a/static/img/xstore/order-details/tiktok/buyer-return-order.png b/static/img/xstore/order-details/tiktok/buyer-return-order.png new file mode 100644 index 00000000..5165293f Binary files /dev/null and b/static/img/xstore/order-details/tiktok/buyer-return-order.png differ diff --git a/static/img/xstore/order-details/tiktok/cancel-order-info.png b/static/img/xstore/order-details/tiktok/cancel-order-info.png new file mode 100644 index 00000000..5d537348 Binary files /dev/null and b/static/img/xstore/order-details/tiktok/cancel-order-info.png differ diff --git a/static/img/xstore/order-details/tiktok/order-detail.png b/static/img/xstore/order-details/tiktok/order-detail.png new file mode 100644 index 00000000..8c68c4de Binary files /dev/null and b/static/img/xstore/order-details/tiktok/order-detail.png differ diff --git a/static/img/xstore/order-details/tiktok/return-order-info.png b/static/img/xstore/order-details/tiktok/return-order-info.png new file mode 100644 index 00000000..9fdb427b Binary files /dev/null and b/static/img/xstore/order-details/tiktok/return-order-info.png differ diff --git a/static/img/xstore/order-details/tiktok/seller-cancel-order-form.png b/static/img/xstore/order-details/tiktok/seller-cancel-order-form.png new file mode 100644 index 00000000..a96fd5c4 Binary files /dev/null and b/static/img/xstore/order-details/tiktok/seller-cancel-order-form.png differ diff --git a/static/img/xstore/order-details/tiktok/seller-cancel-order.png b/static/img/xstore/order-details/tiktok/seller-cancel-order.png new file mode 100644 index 00000000..f803429a Binary files /dev/null and b/static/img/xstore/order-details/tiktok/seller-cancel-order.png differ diff --git a/static/img/xstore/orders/completed.png b/static/img/xstore/orders/completed.png new file mode 100644 index 00000000..9e461818 Binary files /dev/null and b/static/img/xstore/orders/completed.png differ diff --git a/static/img/xstore/orders/mark-as-delivered.png b/static/img/xstore/orders/mark-as-delivered.png new file mode 100644 index 00000000..18e06f5f Binary files /dev/null and b/static/img/xstore/orders/mark-as-delivered.png differ diff --git a/static/img/xstore/orders/order-page.png b/static/img/xstore/orders/order-page.png new file mode 100644 index 00000000..1cf4cc97 Binary files /dev/null and b/static/img/xstore/orders/order-page.png differ diff --git a/static/img/xstore/orders/order-statuses.png b/static/img/xstore/orders/order-statuses.png new file mode 100644 index 00000000..e7cfe2bc Binary files /dev/null and b/static/img/xstore/orders/order-statuses.png differ diff --git a/static/img/xstore/orders/order-to-process.png b/static/img/xstore/orders/order-to-process.png new file mode 100644 index 00000000..4c375a89 Binary files /dev/null and b/static/img/xstore/orders/order-to-process.png differ diff --git a/static/img/xstore/orders/pack-order.png b/static/img/xstore/orders/pack-order.png new file mode 100644 index 00000000..a975035c Binary files /dev/null and b/static/img/xstore/orders/pack-order.png differ diff --git a/static/img/xstore/orders/pickinglist-doc.png b/static/img/xstore/orders/pickinglist-doc.png new file mode 100644 index 00000000..33665a0c Binary files /dev/null and b/static/img/xstore/orders/pickinglist-doc.png differ diff --git a/static/img/xstore/orders/scan-to-ship-empty.png b/static/img/xstore/orders/scan-to-ship-empty.png new file mode 100644 index 00000000..9b0c6f45 Binary files /dev/null and b/static/img/xstore/orders/scan-to-ship-empty.png differ diff --git a/static/img/xstore/orders/scan-to-ship.png b/static/img/xstore/orders/scan-to-ship.png new file mode 100644 index 00000000..018546af Binary files /dev/null and b/static/img/xstore/orders/scan-to-ship.png differ diff --git a/static/img/xstore/orders/sof-switch.png b/static/img/xstore/orders/sof-switch.png new file mode 100644 index 00000000..91d318ff Binary files /dev/null and b/static/img/xstore/orders/sof-switch.png differ diff --git a/static/img/xstore/orders/to-ship-action.png b/static/img/xstore/orders/to-ship-action.png new file mode 100644 index 00000000..1b4862e8 Binary files /dev/null and b/static/img/xstore/orders/to-ship-action.png differ diff --git a/static/img/xstore/orders/to-ship.png b/static/img/xstore/orders/to-ship.png new file mode 100644 index 00000000..7d9a2cc6 Binary files /dev/null and b/static/img/xstore/orders/to-ship.png differ diff --git a/static/img/xstore/payments/payment-details.png b/static/img/xstore/payments/payment-details.png new file mode 100644 index 00000000..c852e4fd Binary files /dev/null and b/static/img/xstore/payments/payment-details.png differ diff --git a/static/img/xstore/payments/payment-filter.png b/static/img/xstore/payments/payment-filter.png new file mode 100644 index 00000000..7f558cab Binary files /dev/null and b/static/img/xstore/payments/payment-filter.png differ diff --git a/static/img/xstore/payments/payment-overview.png b/static/img/xstore/payments/payment-overview.png new file mode 100644 index 00000000..e8c472be Binary files /dev/null and b/static/img/xstore/payments/payment-overview.png differ diff --git a/static/img/xstore/settings/company-information.png b/static/img/xstore/settings/company-information.png new file mode 100644 index 00000000..e9f6fbc8 Binary files /dev/null and b/static/img/xstore/settings/company-information.png differ diff --git a/static/img/xstore/settings/company-logo-upload-flow.png b/static/img/xstore/settings/company-logo-upload-flow.png new file mode 100644 index 00000000..fa1ce1a1 Binary files /dev/null and b/static/img/xstore/settings/company-logo-upload-flow.png differ diff --git a/static/img/xstore/settings/company-overview.png b/static/img/xstore/settings/company-overview.png new file mode 100644 index 00000000..823130f9 Binary files /dev/null and b/static/img/xstore/settings/company-overview.png differ diff --git a/static/img/xstore/settings/company-update-details-button.png b/static/img/xstore/settings/company-update-details-button.png new file mode 100644 index 00000000..7053b82f Binary files /dev/null and b/static/img/xstore/settings/company-update-details-button.png differ diff --git a/static/img/xstore/settings/company-update-details-cancel.png b/static/img/xstore/settings/company-update-details-cancel.png new file mode 100644 index 00000000..3cbb03b7 Binary files /dev/null and b/static/img/xstore/settings/company-update-details-cancel.png differ diff --git a/static/img/xstore/settings/company-update-details-page.png b/static/img/xstore/settings/company-update-details-page.png new file mode 100644 index 00000000..dd190324 Binary files /dev/null and b/static/img/xstore/settings/company-update-details-page.png differ diff --git a/static/img/xstore/settings/company-update-details-warning.png b/static/img/xstore/settings/company-update-details-warning.png new file mode 100644 index 00000000..ffe911f1 Binary files /dev/null and b/static/img/xstore/settings/company-update-details-warning.png differ diff --git a/static/img/xstore/settings/permissions-overview.png b/static/img/xstore/settings/permissions-overview.png new file mode 100644 index 00000000..cb349dee Binary files /dev/null and b/static/img/xstore/settings/permissions-overview.png differ diff --git a/static/img/xstore/settings/permissions-role-create-button.png b/static/img/xstore/settings/permissions-role-create-button.png new file mode 100644 index 00000000..0e6aa43a Binary files /dev/null and b/static/img/xstore/settings/permissions-role-create-button.png differ diff --git a/static/img/xstore/settings/permissions-role-create-dialog.png b/static/img/xstore/settings/permissions-role-create-dialog.png new file mode 100644 index 00000000..7e407501 Binary files /dev/null and b/static/img/xstore/settings/permissions-role-create-dialog.png differ diff --git a/static/img/xstore/settings/permissions-role-delete.png b/static/img/xstore/settings/permissions-role-delete.png new file mode 100644 index 00000000..9c67a76a Binary files /dev/null and b/static/img/xstore/settings/permissions-role-delete.png differ diff --git a/static/img/xstore/settings/permissions-role-edit.png b/static/img/xstore/settings/permissions-role-edit.png new file mode 100644 index 00000000..f9e518f1 Binary files /dev/null and b/static/img/xstore/settings/permissions-role-edit.png differ diff --git a/static/img/xstore/settings/user-invitation-accept-email.png b/static/img/xstore/settings/user-invitation-accept-email.png new file mode 100644 index 00000000..e54d5eb7 Binary files /dev/null and b/static/img/xstore/settings/user-invitation-accept-email.png differ diff --git a/static/img/xstore/settings/user-invitation-accept-passkey.png b/static/img/xstore/settings/user-invitation-accept-passkey.png new file mode 100644 index 00000000..5f474a82 Binary files /dev/null and b/static/img/xstore/settings/user-invitation-accept-passkey.png differ diff --git a/static/img/xstore/settings/user-invitation-email.png b/static/img/xstore/settings/user-invitation-email.png new file mode 100644 index 00000000..d480c19a Binary files /dev/null and b/static/img/xstore/settings/user-invitation-email.png differ diff --git a/static/img/xstore/settings/user-invitation-input.png b/static/img/xstore/settings/user-invitation-input.png new file mode 100644 index 00000000..7a4d9b7f Binary files /dev/null and b/static/img/xstore/settings/user-invitation-input.png differ diff --git a/static/img/xstore/settings/user-invitation-pending-list.png b/static/img/xstore/settings/user-invitation-pending-list.png new file mode 100644 index 00000000..56134a10 Binary files /dev/null and b/static/img/xstore/settings/user-invitation-pending-list.png differ diff --git a/static/img/xstore/settings/user-invitation-send.png b/static/img/xstore/settings/user-invitation-send.png new file mode 100644 index 00000000..34d1f041 Binary files /dev/null and b/static/img/xstore/settings/user-invitation-send.png differ diff --git a/static/img/xstore/settings/user-invitation-status.png b/static/img/xstore/settings/user-invitation-status.png new file mode 100644 index 00000000..9badbb5f Binary files /dev/null and b/static/img/xstore/settings/user-invitation-status.png differ diff --git a/static/img/xstore/settings/user-management-overview.png b/static/img/xstore/settings/user-management-overview.png new file mode 100644 index 00000000..9c4bdbb8 Binary files /dev/null and b/static/img/xstore/settings/user-management-overview.png differ diff --git a/static/img/xstore/settings/user-management-remove-user.png b/static/img/xstore/settings/user-management-remove-user.png new file mode 100644 index 00000000..1572b546 Binary files /dev/null and b/static/img/xstore/settings/user-management-remove-user.png differ diff --git a/static/img/xstore/settings/user-management-table.png b/static/img/xstore/settings/user-management-table.png new file mode 100644 index 00000000..e69190a4 Binary files /dev/null and b/static/img/xstore/settings/user-management-table.png differ diff --git a/static/img/xstore/settings/user-management-update.png b/static/img/xstore/settings/user-management-update.png new file mode 100644 index 00000000..2abe2007 Binary files /dev/null and b/static/img/xstore/settings/user-management-update.png differ diff --git a/static/img/xstore/setup/add-key.png b/static/img/xstore/setup/add-key.png new file mode 100644 index 00000000..5415e2c3 Binary files /dev/null and b/static/img/xstore/setup/add-key.png differ diff --git a/static/img/xstore/setup/change-syncDate.png b/static/img/xstore/setup/change-syncDate.png new file mode 100644 index 00000000..10dc440d Binary files /dev/null and b/static/img/xstore/setup/change-syncDate.png differ diff --git a/static/img/xstore/setup/company-profile.png b/static/img/xstore/setup/company-profile.png new file mode 100644 index 00000000..32e29f21 Binary files /dev/null and b/static/img/xstore/setup/company-profile.png differ diff --git a/static/img/xstore/setup/company-sidebar.png b/static/img/xstore/setup/company-sidebar.png new file mode 100644 index 00000000..90fe499b Binary files /dev/null and b/static/img/xstore/setup/company-sidebar.png differ diff --git a/static/img/xstore/setup/create-company.png b/static/img/xstore/setup/create-company.png new file mode 100644 index 00000000..9c2b0b0c Binary files /dev/null and b/static/img/xstore/setup/create-company.png differ diff --git a/static/img/xstore/setup/input-company-info.png b/static/img/xstore/setup/input-company-info.png new file mode 100644 index 00000000..02257ac2 Binary files /dev/null and b/static/img/xstore/setup/input-company-info.png differ diff --git a/static/img/xstore/setup/input-key.png b/static/img/xstore/setup/input-key.png new file mode 100644 index 00000000..e853c570 Binary files /dev/null and b/static/img/xstore/setup/input-key.png differ diff --git a/static/img/xstore/setup/link-store.png b/static/img/xstore/setup/link-store.png new file mode 100644 index 00000000..7f30aef5 Binary files /dev/null and b/static/img/xstore/setup/link-store.png differ diff --git a/static/img/xstore/setup/map-codes.png b/static/img/xstore/setup/map-codes.png new file mode 100644 index 00000000..4edbcb28 Binary files /dev/null and b/static/img/xstore/setup/map-codes.png differ diff --git a/static/img/xstore/setup/map-success.png b/static/img/xstore/setup/map-success.png new file mode 100644 index 00000000..bbecb251 Binary files /dev/null and b/static/img/xstore/setup/map-success.png differ diff --git a/static/img/xstore/setup/order-sidebar.png b/static/img/xstore/setup/order-sidebar.png new file mode 100644 index 00000000..ca00e74c Binary files /dev/null and b/static/img/xstore/setup/order-sidebar.png differ diff --git a/static/img/xstore/setup/payment-sidebar.png b/static/img/xstore/setup/payment-sidebar.png new file mode 100644 index 00000000..ea3c9c18 Binary files /dev/null and b/static/img/xstore/setup/payment-sidebar.png differ diff --git a/static/img/xstore/setup/product-sidebar.png b/static/img/xstore/setup/product-sidebar.png new file mode 100644 index 00000000..8e5b1e6e Binary files /dev/null and b/static/img/xstore/setup/product-sidebar.png differ diff --git a/static/img/xstore/setup/select-company.png b/static/img/xstore/setup/select-company.png new file mode 100644 index 00000000..7fc0d25a Binary files /dev/null and b/static/img/xstore/setup/select-company.png differ diff --git a/static/img/xstore/setup/select-orderSync.png b/static/img/xstore/setup/select-orderSync.png new file mode 100644 index 00000000..27e79c19 Binary files /dev/null and b/static/img/xstore/setup/select-orderSync.png differ diff --git a/static/img/xstore/setup/select-paymentSyncDate.png b/static/img/xstore/setup/select-paymentSyncDate.png new file mode 100644 index 00000000..5a254236 Binary files /dev/null and b/static/img/xstore/setup/select-paymentSyncDate.png differ diff --git a/static/img/xstore/setup/select-productSync.png b/static/img/xstore/setup/select-productSync.png new file mode 100644 index 00000000..0be4f0ec Binary files /dev/null and b/static/img/xstore/setup/select-productSync.png differ diff --git a/static/img/xstore/setup/select-stockSync.png b/static/img/xstore/setup/select-stockSync.png new file mode 100644 index 00000000..75f57625 Binary files /dev/null and b/static/img/xstore/setup/select-stockSync.png differ diff --git a/static/img/xstore/setup/select-syncDate.png b/static/img/xstore/setup/select-syncDate.png new file mode 100644 index 00000000..5ac2f7e9 Binary files /dev/null and b/static/img/xstore/setup/select-syncDate.png differ diff --git a/static/img/xstore/setup/stock-items.png b/static/img/xstore/setup/stock-items.png new file mode 100644 index 00000000..bbb3af76 Binary files /dev/null and b/static/img/xstore/setup/stock-items.png differ diff --git a/static/img/xstore/setup/stock-sidebar.png b/static/img/xstore/setup/stock-sidebar.png new file mode 100644 index 00000000..f026b5df Binary files /dev/null and b/static/img/xstore/setup/stock-sidebar.png differ diff --git a/static/img/xstore/setup/store-config.png b/static/img/xstore/setup/store-config.png new file mode 100644 index 00000000..44cb62b4 Binary files /dev/null and b/static/img/xstore/setup/store-config.png differ diff --git a/static/img/xstore/setup/store-sidebar.png b/static/img/xstore/setup/store-sidebar.png new file mode 100644 index 00000000..68a5cbf9 Binary files /dev/null and b/static/img/xstore/setup/store-sidebar.png differ diff --git a/static/img/xstore/setup/sync-order.png b/static/img/xstore/setup/sync-order.png new file mode 100644 index 00000000..d8cd1a9c Binary files /dev/null and b/static/img/xstore/setup/sync-order.png differ diff --git a/static/img/xstore/setup/sync-payment.png b/static/img/xstore/setup/sync-payment.png new file mode 100644 index 00000000..837fe734 Binary files /dev/null and b/static/img/xstore/setup/sync-payment.png differ diff --git a/static/img/xstore/setup/sync-product.png b/static/img/xstore/setup/sync-product.png new file mode 100644 index 00000000..586787ab Binary files /dev/null and b/static/img/xstore/setup/sync-product.png differ diff --git a/static/img/xstore/setup/sync-stock.png b/static/img/xstore/setup/sync-stock.png new file mode 100644 index 00000000..20460fa7 Binary files /dev/null and b/static/img/xstore/setup/sync-stock.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-1.png b/static/img/xstore/sidemenu/sidemenu-1.png new file mode 100644 index 00000000..bff5e075 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-1.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-2.png b/static/img/xstore/sidemenu/sidemenu-2.png new file mode 100644 index 00000000..43186dc6 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-2.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-3.png b/static/img/xstore/sidemenu/sidemenu-3.png new file mode 100644 index 00000000..e44f6ea2 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-3.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-4.png b/static/img/xstore/sidemenu/sidemenu-4.png new file mode 100644 index 00000000..b94c4db5 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-4.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-5.png b/static/img/xstore/sidemenu/sidemenu-5.png new file mode 100644 index 00000000..19c278d4 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-5.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-6.png b/static/img/xstore/sidemenu/sidemenu-6.png new file mode 100644 index 00000000..cbb3c68b Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-6.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-7.png b/static/img/xstore/sidemenu/sidemenu-7.png new file mode 100644 index 00000000..29b70060 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-7.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-8.png b/static/img/xstore/sidemenu/sidemenu-8.png new file mode 100644 index 00000000..f43a7601 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-8.png differ diff --git a/static/img/xstore/sidemenu/sidemenu-9.png b/static/img/xstore/sidemenu/sidemenu-9.png new file mode 100644 index 00000000..aefefdc0 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu-9.png differ diff --git a/static/img/xstore/sidemenu/sidemenu.png b/static/img/xstore/sidemenu/sidemenu.png new file mode 100644 index 00000000..43ebb7e7 Binary files /dev/null and b/static/img/xstore/sidemenu/sidemenu.png differ diff --git a/static/img/xstore/stores/general-features.png b/static/img/xstore/stores/general-features.png new file mode 100644 index 00000000..aa033285 Binary files /dev/null and b/static/img/xstore/stores/general-features.png differ diff --git a/static/img/xstore/stores/lazada-authorize.png b/static/img/xstore/stores/lazada-authorize.png new file mode 100644 index 00000000..60c80559 Binary files /dev/null and b/static/img/xstore/stores/lazada-authorize.png differ diff --git a/static/img/xstore/stores/lazada-credentials.png b/static/img/xstore/stores/lazada-credentials.png new file mode 100644 index 00000000..8e4e6f8a Binary files /dev/null and b/static/img/xstore/stores/lazada-credentials.png differ diff --git a/static/img/xstore/stores/lazada-login.png b/static/img/xstore/stores/lazada-login.png new file mode 100644 index 00000000..dec58636 Binary files /dev/null and b/static/img/xstore/stores/lazada-login.png differ diff --git a/static/img/xstore/stores/link-lazada.png b/static/img/xstore/stores/link-lazada.png new file mode 100644 index 00000000..2c3d2990 Binary files /dev/null and b/static/img/xstore/stores/link-lazada.png differ diff --git a/static/img/xstore/stores/link-shopeeMain.png b/static/img/xstore/stores/link-shopeeMain.png new file mode 100644 index 00000000..a7270391 Binary files /dev/null and b/static/img/xstore/stores/link-shopeeMain.png differ diff --git a/static/img/xstore/stores/link-store.png b/static/img/xstore/stores/link-store.png new file mode 100644 index 00000000..7f30aef5 Binary files /dev/null and b/static/img/xstore/stores/link-store.png differ diff --git a/static/img/xstore/stores/link-tiktok.png b/static/img/xstore/stores/link-tiktok.png new file mode 100644 index 00000000..579bd73e Binary files /dev/null and b/static/img/xstore/stores/link-tiktok.png differ diff --git a/static/img/xstore/stores/select-lazada.png b/static/img/xstore/stores/select-lazada.png new file mode 100644 index 00000000..1583f801 Binary files /dev/null and b/static/img/xstore/stores/select-lazada.png differ diff --git a/static/img/xstore/stores/select-shopee.png b/static/img/xstore/stores/select-shopee.png new file mode 100644 index 00000000..a540276f Binary files /dev/null and b/static/img/xstore/stores/select-shopee.png differ diff --git a/static/img/xstore/stores/select-tiktok.png b/static/img/xstore/stores/select-tiktok.png new file mode 100644 index 00000000..e01c10d2 Binary files /dev/null and b/static/img/xstore/stores/select-tiktok.png differ diff --git a/static/img/xstore/stores/shopee-mainAcc.png b/static/img/xstore/stores/shopee-mainAcc.png new file mode 100644 index 00000000..bdcf2405 Binary files /dev/null and b/static/img/xstore/stores/shopee-mainAcc.png differ diff --git a/static/img/xstore/stores/shopee-mainAccAuth.png b/static/img/xstore/stores/shopee-mainAccAuth.png new file mode 100644 index 00000000..1ba4597d Binary files /dev/null and b/static/img/xstore/stores/shopee-mainAccAuth.png differ diff --git a/static/img/xstore/stores/shopee-mainAuthPeriod.png b/static/img/xstore/stores/shopee-mainAuthPeriod.png new file mode 100644 index 00000000..cd2ca3f9 Binary files /dev/null and b/static/img/xstore/stores/shopee-mainAuthPeriod.png differ diff --git a/static/img/xstore/stores/shopee-shopAcc.png b/static/img/xstore/stores/shopee-shopAcc.png new file mode 100644 index 00000000..e82c88f9 Binary files /dev/null and b/static/img/xstore/stores/shopee-shopAcc.png differ diff --git a/static/img/xstore/stores/shopee-shopAuth.png b/static/img/xstore/stores/shopee-shopAuth.png new file mode 100644 index 00000000..5eb561de Binary files /dev/null and b/static/img/xstore/stores/shopee-shopAuth.png differ diff --git a/static/img/xstore/stores/shopee-storeAuthPeriod.png b/static/img/xstore/stores/shopee-storeAuthPeriod.png new file mode 100644 index 00000000..c0fd2f50 Binary files /dev/null and b/static/img/xstore/stores/shopee-storeAuthPeriod.png differ diff --git a/static/img/xstore/stores/store-expired.png b/static/img/xstore/stores/store-expired.png new file mode 100644 index 00000000..b304b778 Binary files /dev/null and b/static/img/xstore/stores/store-expired.png differ diff --git a/static/img/xstore/stores/store-sidebar.png b/static/img/xstore/stores/store-sidebar.png new file mode 100644 index 00000000..68a5cbf9 Binary files /dev/null and b/static/img/xstore/stores/store-sidebar.png differ diff --git a/static/img/xstore/stores/switch-mainAcc.png b/static/img/xstore/stores/switch-mainAcc.png new file mode 100644 index 00000000..422cdb91 Binary files /dev/null and b/static/img/xstore/stores/switch-mainAcc.png differ diff --git a/static/img/xstore/stores/tiktok-auth.png b/static/img/xstore/stores/tiktok-auth.png new file mode 100644 index 00000000..c54de4b0 Binary files /dev/null and b/static/img/xstore/stores/tiktok-auth.png differ diff --git a/static/img/xstore/stores/tiktok-credentials.png b/static/img/xstore/stores/tiktok-credentials.png new file mode 100644 index 00000000..2489a4d1 Binary files /dev/null and b/static/img/xstore/stores/tiktok-credentials.png differ diff --git a/static/img/xstore/stores/tiktok-login.png b/static/img/xstore/stores/tiktok-login.png new file mode 100644 index 00000000..7b936a08 Binary files /dev/null and b/static/img/xstore/stores/tiktok-login.png differ diff --git a/static/img/xstore/stores/tiktok-selectAcc.png b/static/img/xstore/stores/tiktok-selectAcc.png new file mode 100644 index 00000000..bb720066 Binary files /dev/null and b/static/img/xstore/stores/tiktok-selectAcc.png differ