Supercommerce API Docs
Tester Guide

Vendor Admin — Tester Walkthrough

A click-by-click, plain-language guide to every screen in the Vendor Admin (the seller back office) for QA and testers: what each module is for, where to find it, what you should see, and the exact steps to exercise it — with screenshots from the live app.

The Vendor Admin is the back office for one seller. A vendor manages only their own products, stock, orders, returns, reviews and payouts here — they never see another vendor's data. It's the seller-side counterpart to the Marketplace Admin Panel.

  • URL: http://localhost:3005
  • Login: vendor@beautybarn.in / supersecret

If you haven't read the Start Here overview, read it first — especially the part about parent orders vs per-vendor sub-orders, because a vendor only ever works with their slice (the sub-order).

Vendor login screen

The golden rule for vendor testing: a vendor must never be able to see or touch another vendor's data. If you try to open a record that belongs to a different vendor, the correct result is a "Page not found"not a "forbidden" error. "Not found" is the intended, secure behaviour: it hides the very existence of other vendors' data. Treat it as a pass, not a bug.

How the screens are organised

The left sidebar groups everything into four sections:

  • Platform — Dashboard, Catalog (Products / Requests), Inventory.
  • Sale — Orders, Shipping, Returns, Reviews, Reports.
  • Payments — Payouts.
  • Settings — Store Settings, Tax.

The same shared controls apply on every list (search, Columns, sort, pagination, breadcrumb) as in the admin panel.


Becoming a vendor (onboarding)

Before a seller can use any of the screens below, they go through onboarding:

  1. Sign up / apply. From the login screen a new seller can Sign up and submit a vendor application.
  2. Wait for approval. An admin reviews the application in the Admin Panel (Vendors → Applications) and approves or rejects it.
  3. Onboarding. After approval, on first login the vendor is walked through an onboarding flow to complete their store profile before the full dashboard unlocks.

What to test: sign up as a brand-new seller → confirm the application shows up on the admin side → approve it there → log in as the new vendor → confirm the onboarding flow appears and, once completed, the dashboard becomes available.


Dashboard

What it's for: the seller's at-a-glance performance — paid orders today, gross sales, net earnings, total orders, units sold, average order value, commission taken by the marketplace, and refunds, with a revenue chart. Everything is scoped to this vendor only.

Where: sidebar → Dashboard (the home screen after login).

Vendor dashboard

What to test:

  1. Switch the period (Today / 7 days / 30 days / All time) and confirm every tile and the chart update.
  2. Confirm the numbers are only this vendor's (compare against the admin dashboard, which is the platform-wide total — the vendor's should be a subset).
  3. The "Paid Orders Today" tile carries a Live badge; place a storefront order for this vendor's product and watch it tick up without refreshing.

Catalog

Where the vendor manages the products they sell. A product belongs to exactly one vendor.

Products

What it's for: create and maintain the vendor's products — their variants, options and the descriptive tabs shown on the storefront product page.

Where: sidebar → Catalog → Products.

Vendor products list

Creating a new product:

New product form

Opening an existing product:

Product detail

What to test:

  1. Create a product: name, description, images, at least one variant (a variant is the actual buyable unit — e.g. a size/shade). Set the price (shown in ₹).
  2. Confirm the variant carries an HSN code (the tax classification snapshotted onto orders at purchase time).
  3. Edit the product, add a second variant, reorder images, edit the descriptive tabs.
  4. Soft-delete a product and confirm it disappears from the storefront but isn't hard-deleted.
  5. Security check: a product can only ever belong to this vendor — there's no way to attach it to another vendor.

Requests

What it's for: vendors can't create shared taxonomy (brands, categories, tags, ingredients) themselves — those are platform-wide. Instead they request a new one here, and an admin approves it.

Where: sidebar → Catalog → Requests.

Catalog requests

What to test:

  1. Submit a request for a new brand/category/tag/ingredient.
  2. Confirm it appears in this list as pending.
  3. On the admin side, approve it (Admin Panel → Catalog) and confirm the request flips to approved here and the new entry becomes selectable on the vendor's products.

Inventory

What it's for: stock levels for the vendor's variants — set quantities, stock policy, make manual adjustments (with a reason), see the audit trail, and do bulk CSV imports.

Where: sidebar → Inventory.

Inventory list

Each product row expands to show its variants and their stock, with Adjust and detail actions:

Inventory row expanded

What to test:

  1. Expand a product, find a variant, and read its Available quantity and status (In Stock / Out of Stock).
  2. Adjust stock (e.g. +10) with a reason; confirm Available updates and an entry is added to the audit trail.
  3. Place a storefront order for that variant and confirm Available drops (stock is reserved/consumed) — this proves the inventory ↔ order link.
  4. Take a variant to 0 and confirm it shows Out of Stock and can't be over-sold.

Bulk import

What it's for: updating many variants' stock at once via a spreadsheet.

Where: sidebar → Inventory → Bulk inventory import (button), import history at /inventory/import.

Inventory import

What to test:

  1. Download/prepare the CSV template, upload it, and confirm a row-by-row result (succeeded / failed with reasons).
  2. Upload a deliberately bad file and confirm errors are reported clearly without corrupting good rows.

Orders (Sale)

What it's for: the heart of the seller's day — the vendor's sub-orders. For each one the vendor assigns a shipping provider, marks it fulfilled, then delivered, or cancels it; they can also generate the order's GST invoice.

Where: sidebar → Orders.

Vendor orders list

Opening a sub-order:

Vendor order detail

What to test (the fulfilment flow — the most important vendor test):

  1. Open a sub-order. Confirm it shows only this vendor's line items (not the customer's whole basket), the order number, status (Pending / Fulfilled / Delivered / Cancelled), payment status, and the shipping address.
  2. Mark fulfilled: assign a shipping provider / tracking, then mark it fulfilled. Status should advance and the change should appear under the Activity tab.
  3. Mark delivered and confirm the timeline records it.
  4. Generate invoice: trigger the GST invoice. It renders in the background; confirm you can download the PDF when ready, and that the vendor only ever sees their own invoice (its own GSTIN), never a sibling vendor's.
  5. Cancel a sub-order and confirm stock is released.
  6. Cross-check on the admin side that the parent order reflects the vendor's status change.

Shipping

What it's for: the vendor's shipping configuration — the flat customer-charge rate, a free-shipping-above threshold, and which couriers/providers are enabled — plus the per-sub-order tracking timeline.

Where: sidebar → Shipping.

Shipping

What to test:

  1. Set the flat customer charge and a free-above threshold; confirm a storefront cart below the threshold is charged shipping and one above it isn't.
  2. Enable/disable a provider and confirm it's reflected when fulfilling an order.
  3. Open a fulfilled order's tracking timeline and confirm the events read correctly.

Note the two-layer shipping model: the customer charge (the flat rate set here, applied in the cart) is separate from the courier/provider the vendor assigns when actually fulfilling the order.


Returns

What it's for: handling customer return requests on the vendor's own orders — approve or reject a request, arrange pickup, receive the item back, and refund.

Where: sidebar → Returns.

Returns

What to test (the return flow):

  1. As a customer, request a return on a delivered order.
  2. As the vendor, open the return → approve (or reject with a reason).
  3. Walk it through pickup → received → refunded; confirm each step updates the status and timeline.
  4. Confirm the refund is reflected back to the customer and visible to the admin.
  5. Try to open a return belonging to another vendor → expect Page not found.

Reviews

What it's for: moderating customer reviews on the vendor's own products — list, edit content, approve/reject, mark/unmark as spam, and soft-delete.

Where: sidebar → Reviews.

Reviews

What to test:

  1. Find a pending review and approve it; confirm it then shows on the storefront product page.
  2. Reject / mark spam on another and confirm it's hidden.
  3. Edit a review's content (e.g. redact something) and confirm it saves.
  4. Confirm only reviews on this vendor's products are listed.

Reports (Sale)

What it's for: the vendor's own operational reports (orders and sub-orders) with a date range, KPI/trend views, and async CSV/XLSX exports — all locked to this vendor.

Where: sidebar → Reports.

Vendor reports

What to test:

  1. Pick a report, set a date range, confirm the data updates and is only this vendor's.
  2. Trigger an export and download the resulting file when ready.

Payouts (Payments)

What it's for: the money the marketplace owes this vendor for their sales. The vendor watches their earnings accrue and tracks payouts the admin disburses.

Where: sidebar → Payouts.

Payouts

What to test:

  1. After fulfilling/delivering paid orders, confirm the vendor's owed/earnings balance reflects sales minus the marketplace commission.
  2. When the admin disburses a payout (Admin Panel side), confirm it appears here with the right amount and status.
  3. Open a payout to see which orders/period it covers.

Settings

Store Settings

What it's for: the vendor's self-service configuration — staff-facing config (shipping, tax, payout details) and store-facing config — organised by scope.

Where: sidebar → Store Settings.

Store settings

What to test:

  1. Change a value, save, reload, confirm it persisted.
  2. Confirm invalid values are rejected with a clear message.
  3. Confirm a vendor can only edit their own settings; the admin can override them from the admin side.

Tax

What it's for: the vendor's flat tax setup — the inclusive tax rows (type + rate, e.g. GST 18%) applied uniformly to every line on this vendor's orders.

Where: sidebar → Tax.

Tax

What to test:

  1. Add/edit a tax row (e.g. GST 18%).
  2. Place an order and confirm the tax is computed per the configured rows and snapshotted onto the order.

Your account (Profile)

What it's for: the vendor user's own account — profile, security (password/passkey), active sessions, and a danger zone.

Where: click your store name at the bottom-left → Profile / Security / Sessions.

Vendor profile

What to test:

  1. Update profile details; save.
  2. Change password; confirm re-login.
  3. Revoke another session under Sessions.

Quick vendor test checklist

  • Sign up → admin approves → onboarding appears → dashboard unlocks.
  • Dashboard KPIs are this-vendor-only and respond to the period switch.
  • Create a product with a variant + HSN; it appears on the storefront.
  • Adjust inventory; storefront order drops the stock; 0 stock = Out of Stock.
  • Bulk import: good rows succeed, bad rows error clearly.
  • Fulfil a sub-order: assign provider → fulfilled → delivered; activity logged.
  • Generate the GST invoice; only this vendor's invoice is visible.
  • Run a return end-to-end: approve → pickup → received → refunded.
  • Moderate a review: approve shows it, reject/spam hides it.
  • Shipping flat rate + free-above behave correctly in the cart.
  • Payout balance = sales − commission; disbursed payout shows here.
  • Security: opening another vendor's order/return/product gives "Page not found".

Back to the Admin Panel guide or the Start Here overview.

On this page