xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
Auto DMSConsumer Goods DMSSales Force Automation (SFA) FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Commerce/Partner microsites and order routing
HOW-TO · Last reviewed

Partner microsites and order routing

A partner microsite is a public storefront for one dealer or distributor. It sells your published range at its own address, /s/<slug>, on your brand portal's host, and the commission you owe the partner builds up month by month. It sits after the catalogue work: a partner first has to resolve to a store whose catalogue is published. After that, orders placed on the microsite are ordinary sales orders in that partner's order list, and the commission they earn is collected in Partner settlements. This page also covers pincode routing, which sends orders from your own storefront to the partner covering the delivery pincode, and the partner performance settings.

Overview

Partner microsites are made of four kinds of record:

RecordWhat it isWho writes it
Partner micrositeOne partner's storefront: its address, status, store, channel, commission rate and themeAn administrator
Partner service areaOne pincode a partner delivers to, with a priorityAn administrator, on the microsite's Service Areas tab
Partner settlementWhat you owe one microsite for one calendar monthThe daily settlement job only
Partner settlement lineOne order's share of a settlement, with the rate usedThe daily settlement job only

Every microsite also has its own Commerce Channel of type microsite. Fifty partners need fifty microsite records and fifty channels, not fifty websites. One page on the portal renders every microsite by its slug.

When to use it

  • A partner should sell your range online under their own name. Give them a microsite, a slug and a commission rate.
  • Online orders should go to the nearest partner. Turn on pincode routing on your own storefront channel and give partners service areas. A partner can take part in routing without a public storefront.
  • You pay partners a share of storefront sales. Set a Settlement Percent on the microsite and the settlement job works out what you owe each month.

Do not use a microsite for orders your sales team raises for a partner through Take Order or B2B ordering. Those orders settle through your trade terms and never earn microsite commission.

How xMatix handles it

One storefront, many faces. A microsite sells through its own channel, but the catalogue it shows is the published catalogue of its store. Prices, schemes and stock rules are the same as everywhere else the store is sold. Orders from the microsite carry the channel's partner and branch as the selling company, so they appear in that partner's normal order list and are fulfilled with the tools the partner already uses.

Which store a partner sells. When a microsite is provisioned, xMatix looks for the partner's store in this order:

  1. a Store whose own partner account is the partner (the newest one, if there are several);
  2. the partner's Partner Store links, preferring a link for the microsite's branch, then a link with no branch, then any link;
  3. a Store set up for an account group the partner belongs to.

The result is saved on the microsite. Later changes to these links do not change a live storefront until someone edits the microsite's Store.

Only Live microsites exist publicly. The /s/<slug> page answers only for a microsite whose Status is Live and whose channel is active. A Draft or Suspended microsite, or a slug that was never used, shows the portal's "not found" page. Nobody can tell them apart from outside.

Look and feel. The microsite's theme is laid over your brand portal's theme. Each colour token the partner overrides replaces yours, and everything else keeps your values. If the theme cannot be read as a JSON object, it is ignored and the brand theme is used. The microsite also stays up if the portal theme cannot be loaded at that moment. One template ships, partner-portal. An empty or unknown Template value falls back to it, so the storefront never fails because of it.

Routing by pincode. When Route By Pincode is switched on for a storefront channel, checkout looks up the shipping pincode:

  • Coverage comes from active service areas on Live microsites, and from service areas attached to a Partner Store link for partners with no microsite.
  • The lowest Priority number wins. When a microsite and a partner-store link tie, the microsite wins.
  • The result is fixed when the checkout session opens. A coverage change never moves a checkout that is already in progress.
  • The routed partner and branch become the order's selling company, and stock is reserved against the branch that will ship.
  • If nobody covers the pincode, or no pincode was given, the order stays with the channel's own company. Routing never refuses an order.
  • Routing changes who sells and fulfils. The catalogue and prices stay those of the channel the shopper is on.

Delivery windows follow the fulfilling branch. The delivery slots offered at checkout belong to the routed branch when there is one, and otherwise to the channel's branch. They come from that branch's Delivery time slots (see Resource availability). The storefront shows the next 7 days, and a slot can be booked up to 14 days ahead. If neither branch is set, checkout shows "This storefront has no delivery branch configured."

Commission accrues once a day. A daily job adds each qualifying order to the microsite's settlement for the calendar month (UTC) the order was created in. See Business rules.

Prerequisites

  • The Commerce module is on (Setup → Feature Hub → Commerce → Settings, Enable Commerce).
  • Your tenant runs more than one company. On a tenant set up as a single company, the partner microsite, service area, settlement and target screens are hidden.
  • A partner Account, and usually a Branch that fulfils the partner's orders.
  • A store the partner resolves to, with a Live catalogue publication. See Stores and Direct to consumer.
  • A portal storefront whose host will serve /s/<slug>.
  • Access to the Commerce app with write access on Partner microsites and Partner Service Area. See Permissions.

Procedure

Step 1 — Create the microsite

The Partner microsites list (Commerce app, Partners group) has no New button. Create a microsite in one of these ways:

  • Provisioning (recommended). Call the Commerce administration endpoint POST /api/1.0/commerce/admin/microsites with the partner account, optional branch, slug, display name and settlement percent (see the Data API for signing in to the API). Provisioning does the following in one step:
    • turns the slug into a web address (lowercase, hyphens);
    • finds the partner's store;
    • creates a microsite channel in the store's currency, with the partner and branch as the selling company;
    • creates the microsite as Draft.
  • With the Setup Copilot. Ask it to stand up a partner microsite. It creates the microsite record for you, but like the manual route it needs the partner's store and a microsite channel to exist.
  • By hand. Add ?create=1 to the list address (/PartnerMicrosite?create=1) and fill in the form. Nothing is created for you. Create a Commerce Channel with Channel Type microsite, the partner's account and branch, and the store first. Then pick it as the microsite's Channel. Type the slug in lowercase letters, digits and hyphens, and set Status to Draft.

After saving, the microsite opens on its record page. It is not visible to shoppers yet.

Step 2 — Add service areas

  1. Open the create form for a service area. The microsite's Service Areas tab shows no New button as shipped, because Partner Service Area ships without that action; add ?create=1 to the list address (/PartnerServiceArea?create=1) and pick the microsite in Microsite, or use the endpoint below.
  2. In the form, set Name, Area Type Pincode, Postal Code, a Priority (lower wins against other partners covering the same pincode), and switch Is Active on.
  3. Repeat for each pincode the partner delivers to.

To replace a microsite's whole coverage list in one go, use the endpoint POST /api/1.0/commerce/admin/microsites/<id>/service-areas with a list of pincodes and one priority. It removes the existing areas and creates one active row per pincode (priority 100 when none is given).

For a partner that should take part in routing without a storefront, attach the areas to their Partner Store link instead. Use the Partner Store field on the service area form, or POST /api/1.0/commerce/admin/partner-stores/<id>/service-areas. The endpoint refuses a link with no partner account: "Set the partner account on this Partner Store before giving it coverage."

Step 3 — Set the commission rate and identity

Fill in these fields:

  • Settlement Percent, as a percentage (enter 12.5 for 12.5%). Leave it empty if you settle with this partner outside xMatix.
  • Display Name, the name shoppers see in the browser title.
  • Template and Theme Json if the partner has its own look (see Fields).

The microsite's record page has no Edit button as shipped, so set them when you create the microsite, or change them later through the Setup Copilot or the Data API. An administrator can add Edit and Delete to the record; see Commerce screens and records.

Step 4 — Publish the microsite

Publishing makes the microsite Live. The publish endpoint, POST /api/1.0/commerce/admin/microsites/<id>/publish, first checks that the microsite's store has a Live catalogue publication. If it does not, publishing is refused with "Publish this partner's catalogue before publishing their storefront."

You can also change the record's Status to Live directly (through the Setup Copilot or the Data API, or Edit once an administrator has added it). That path does not check the catalogue. Publish the store's catalogue first, or shoppers reach an empty storefront.

Once Live, the storefront answers at /s/<slug> on your portal's host. The pincode check on your storefronts lists it for the pincodes it covers.

Step 5 — Turn on pincode routing (optional)

  1. Open your own storefront's Commerce Channel record (type Commerce Channel in the App Launcher).
  2. Switch Route By Pincode on. The channel record has no Edit button as shipped, so make the change through the Setup Copilot or the Data API, or have an administrator add the action first.

From the next checkout on, orders whose shipping pincode is covered go to the covering partner.

Step 6 — Suspend or retire a microsite

To take a storefront offline without deleting it, change Status to Suspended (as in Step 3, there is no Edit button as shipped). Within about a minute the address answers "not found". The microsite drops out of routing and the pincode check, and the settlement job stops accruing for it. Set it back to Live to reopen it.

Step 7 — Review what you owe

  1. Open the microsite and select the Related tab. Partner settlements lists one row per month.
  2. Open a settlement. The Lines tab shows one line per order, with Gross Amount, Commission Percent and Commission Amount. The Details tab shows the period, the Order Count and the totals.

Settlements are also listed across all microsites: type Partner settlement in the App Launcher.

Fields

Partner microsite

The Details tab groups the fields into Microsite, Partner, Commercials and Theme.

FieldWhat it meansNotes
NameInternal name of the micrositeRequired. Provisioning sets it to the slug
SlugThe public address segment: /s/<slug>Required. Unique in your tenant. Use lowercase letters, digits and hyphens. Changing it changes the live address
Display NameThe name shoppers seeProvisioning defaults it to the partner's account name
StatusDraft, Live or SuspendedRequired. Only Live is visible to shoppers, routed to and accrued
Partner AccountThe partner who sellsRequired. A partner can have one microsite per branch
BranchThe partner branch the microsite belongs toUsed to choose among the partner's Partner Store links. The selling branch on orders comes from the channel
StoreThe store whose published catalogue the microsite showsSet by provisioning. Must have a Live catalogue publication before publishing
ChannelThe microsite's own Commerce ChannelRequired for the storefront to answer, to be routed to and to accrue commission. Its partner and branch become the selling company on orders
Settlement PercentThe partner's commission rateEntered as a percentage. Empty means no commission is accrued
Gateway Linked Account RefThe partner's linked account reference at your payment providerStored for reference. Payments still land in your account, and the partner's share is accrued as a settlement
TemplateWhich storefront template renders the micrositepartner-portal is the only shipped template. Empty or unknown values use it
Theme JsonThe partner's theme overrides, as JSONLaid over the brand portal theme token by token. Invalid JSON is ignored

Partner service area

FieldWhat it meansNotes
NameA label for the rowRequired. The endpoints use the pincode
MicrositeThe microsite whose coverage this isFill this or Partner Store, not both
Partner StoreThe partner-store link whose coverage this is, for a partner without a micrositeTakes part in routing only. It never appears in the pincode check
Area TypePincode or PolygonRouting and the pincode check match Postal Code only. A drawn polygon is not used
Postal CodeThe pincode coveredMust match the shipping pincode exactly
PriorityWhich partner wins a shared pincodeLower wins. Set it on every row
Is ActiveWhether the row countsAn inactive row is ignored by routing and by the pincode check
Polygon JsonA drawn areaNot used

Partner settlement and settlement line

FieldWhat it meansNotes
NameThe microsite slug and the month, for example riverside 2026-10Set by the job
Microsite, Partner AccountWhose settlement it isSet by the job
StatusAccrued, Statemented or SettledThe job creates Accrued. No screen or job moves it on (see Business rules)
Period Start Utc, Period End UtcThe calendar month (UTC)One settlement per microsite per month
Order CountOrders accrued into the settlementGrows as the job runs
Settled UtcWhen it was settledNot set by xMatix
Gross AmountSum of the orders' totals
Commission AmountSum of the line commissions
Net AmountWhat you owe the partnerEqual to the commission amount
Line: Order, Gross AmountThe order and its totalOne line per order, ever
Line: Commission Percent, Commission AmountThe rate used and the commissionRounded to two decimals. Never recalculated
Line: Accrued UtcWhen the job accrued it

Business rules

  • Slugs are unique. No two live microsites in your tenant can share a slug, and a partner can have only one microsite per branch. Provisioning refuses a used slug with "That address is already in use by another storefront."
  • Provisioning needs a store. If the partner resolves to no store, provisioning refuses with "This partner has no catalogue. Link them to a Store (directly, via a Store Dealer row, or through an account group) before creating their storefront." A slug that turns into nothing usable is refused with "That name cannot be turned into a web address.", and a rate outside 0–100 with "The settlement percent must be between 0 and 100."
  • Every microsite starts Draft. Provisioning never publishes. Publishing through the endpoint needs a Live catalogue publication for the store.
  • What earns commission. The job looks at orders that are not deleted, have a total above zero, were placed through storefront checkout and have no settlement line yet. An order accrues to a Live microsite that has a Channel and a Settlement Percent in one of two ways:
    • the checkout ran on that microsite's own channel. This applies whoever ends up fulfilling the order.
    • the checkout ran on a channel that belongs to no microsite and is not one of the partner's own channels, and the order's selling company is that microsite's partner. This is a routed order from your storefront. It also applies when the routing came from the partner's Partner Store coverage.

    Orders a rep raises through Take Order or B2B ordering have no checkout and never accrue. The job does not look at the order's status.

    • Each order accrues once. A unique rule on the lines stops an order from accruing twice, even if the job is re-run. Orders placed on a microsite are claimed before routed orders are considered, so an order never accrues to two microsites.
    • The rate is the one in force when the job runs. The job applies the microsite's current Settlement Percent and records it on the line. It normally runs within a day of the sale. A rate change made before the next run applies to orders not yet accrued, and a changed rate never rewrites a line that has already accrued.
    • Suspending stops accrual. Only Live microsites are considered. Orders placed while a microsite was Live but not accrued before it was suspended are accrued after it goes Live again.
    • Closed months stay closed. If a month's settlement is no longer Accrued, late orders for that month are skipped and logged. Nothing in xMatix sets Statemented or Settled. Those statuses only come from a change made outside the shipped screens, which cannot edit settlements.
    • Service areas from the endpoint replace, not add. Each call soft-deletes the existing rows for that microsite or link, then creates the submitted pincodes.

    Example

    A paint brand sells online through its own portal and works with a dealer, Riverside Paints, in two pincodes.

    1. The administrator checks that Riverside Paints has a Partner Store link to the brand's retail store, whose catalogue is published.
    2. They provision a microsite for Riverside Paints through the administration endpoint, with slug riverside, display name "Riverside Paints" and a settlement percent of 8. The microsite is created as Draft with a microsite channel.
    3. On the Service Areas tab they add pincodes 411001 and 411002, both with priority 10, active. A second dealer covers 411002 with priority 50.
    4. They publish the microsite. /s/riverside now shows the brand's catalogue under the dealer's name.
    5. They switch Route By Pincode on for the brand's own storefront channel.
    6. A shopper on the brand storefront checks out with pincode 411002. Riverside Paints wins on priority, so the order is raised with Riverside Paints as the selling company. The delivery slots come from Riverside's branch.
    7. Another shopper buys ₹2,000 of paint directly on /s/riverside.
    8. The next day the settlement job creates riverside 2026-11 with two lines. The direct order earns ₹160 at 8%. The routed order earns 8% of its total as well.

    Training

    Practice exercise

    In a sandbox with Commerce on and a store with a published catalogue:

    1. Create a microsite for a test partner (provisioned through the Setup Copilot, or by hand with its own microsite channel), slug practice-shop.
    2. Add one service area for a pincode, priority 10, active.
    3. Open /s/practice-shop on the portal host while the microsite is Draft.
    4. Publish it and open the address again.
    5. Set Status to Suspended and open it a third time.

    Expected result: the address answers "not found" while Draft, shows the catalogue under the display name while Live, and answers "not found" again once Suspended.

    Quick reference

    • Address: /s/<slug> on the portal host. Only Live microsites answer.
    • New microsites start Draft. Publish only after the store's catalogue is Live.
    • One microsite per partner per branch. Slugs are unique.
    • Service areas: lower Priority wins. The microsite beats a partner-store link on a tie.
    • Routing is set per channel (Route By Pincode) and fixed when checkout opens.
    • No covering partner means the order stays with the channel's company.
    • Commission = order total × the Settlement Percent when the daily job runs.
    • One settlement per microsite per calendar month. One line per order.
    • Empty Settlement Percent = nothing accrues for that microsite.

    Permissions

    Access is set in security profiles. As shipped:

    ProfileCommerce appMicrosites and service areasSettlements
    System AdminYesFull accessFull access
    Sales ManagerYesFull accessRead only
    Sales ExecutiveYesFull accessFull access
    Standard UserNoFull access to the records, but no Commerce appFull access to the records

    Settlements and settlement lines cannot be created or edited on screen by anyone, whatever the profile, because only the job writes them. A user without read access on Partner microsites does not see the menu entry. Running the settlement job on demand needs access to Setup → Administration → Monitoring → Jobs.

    Configuration

    SettingWhereWhat it affects
    Enable CommerceSetup → Feature Hub → Commerce → Settings, GeneralOff stops the storefronts, the pincode check and the settlement job
    Route By PincodeThe Commerce Channel record of your own storefrontOff by default. On routes each checkout to the partner covering the shipping pincode
    Channel Partner Account and BranchThe microsite's Commerce Channel recordThe selling company and branch stamped on microsite orders and on orders routed to this microsite. The branch's Delivery time slots are the delivery windows offered
    Settlement PercentThe microsite recordThe commission rate the job applies
    Template, Theme JsonThe microsite recordThe storefront's template and colour and identity overrides
    Service areasThe microsite's Service Areas tab, or the Partner Store field on a service areaWho receives routed orders and who the pincode check lists
    Settlement jobSetup → Administration → Monitoring → JobsRuns daily on its own. To run it now, add a schedule for Accrue partner microsite settlements and select Run now. It accrues every pending order and is safe to re-run
    NavigationSetup → Design Studio → Apps, the Commerce appWhere Partner microsites appears

    Partner performance settings

    These settings are in the Partner performance group of Setup → Feature Hub → Commerce → Settings. They control what a signed-in partner sees on your partner portal, not the microsite.

    SettingDefaultWhat changing it affects
    Show partners their leaderboard rankOffOn shows each signed-in partner where they rank against partners with the same peer group on their target. Other partners are always anonymous
    Suppress the leaderboard below (partners in the cohort)5No ranking is shown when fewer partners share the peer group, even with the switch on (2–500)
    Leaderboard rows shown5How many top rows a partner sees. Their own row is added when it falls outside the top (3–50)
    Performance lookback window (days)180The history used for average order value, order frequency, fill rate and the reorder suggestion (30–1,095)

    The goals shown to a partner are Partner Target records (type Partner Target in the App Launcher). They can be entered by hand, or derived from an Approved incentive plan whose Member Type is Partner. Derived targets are refreshed every time the plan is saved. Only the Sale Order Amount, Sale Order Quantity, Sale Amount and Invoice Quantity target types carry over. A hand-entered target for the same account and period is never overwritten. When a plan stops covering a member or period, its derived targets are switched off, not deleted. Peer Group Code, Label and Unit are kept once you set them.

    Common problems

    Provisioning says the partner has no catalogue

    The partner resolves to no store. Give them a Partner Store link to the store, make a store theirs, or add them to an account group that has a store. Then provision again.

    The microsite address shows "not found"

    Check, in order:

    1. Status is Live.
    2. The microsite has a Channel, and that channel is active.
    3. The slug in the address matches the Slug field.
    4. You are on the brand portal's host.

    The microsite is live but shows no products

    The store's catalogue has no Live publication, or the microsite was set Live on the record before the catalogue was published. Publish the store's catalogue. See Direct to consumer.

    Orders are not being routed to the partner

    • Route By Pincode must be on for the channel the shopper checks out on.
    • The service area must be active, with a Postal Code that matches the shipping pincode exactly.
    • A microsite-based service area only counts while the microsite is Live.
    • Another partner with a lower Priority number may cover the same pincode.
    • Coverage changes do not affect a checkout that was already open.

    Checkout says "This storefront has no delivery branch configured."

    Neither the routed partner nor the channel has a branch. Set Branch on the microsite's channel, or on the storefront channel.

    An order is missing from the partner's settlement

    • The order must have come through storefront checkout. Rep-raised orders never accrue.
    • The microsite must be Live and have a Channel and a Settlement Percent.
    • The job may not have run yet. Run it on demand.
    • If the order's month is no longer Accrued, the order is skipped.
    • The order may already have accrued to another microsite, for example the one it was placed on.

    Commission was calculated at the old rate

    The job applies the rate in force when it runs and never recalculates an accrued line. To change a rate cleanly, run the job first, then change Settlement Percent.

    Common questions

    Can a partner have a storefront without taking part in routing?

    Yes, and the reverse as well. A microsite with no service areas sells only to shoppers who come to its address. It is never chosen by routing, and the pincode check never lists it. A partner with service areas on its Partner Store link but no microsite receives routed orders from your storefront, but has no public storefront and does not appear in the pincode check. Use whichever fits each partner. A partner can have a microsite for one branch and plain coverage for another.

    What does a shopper see on a routed order?

    They see your storefront, your catalogue and your prices throughout. Routing changes only who sells, fulfils and earns commission, never what is bought or at what price. The delivery windows offered come from the routed partner's branch, so the date promised is one that branch can keep. The order confirmation is for an ordinary sales order with the partner as the selling company, and the partner sees it in their normal order list.

    Why does an unpublished microsite show "not found" instead of "coming soon"?

    So that the public address space never reveals which partners you are preparing, testing or have suspended. Draft and Suspended microsites are indistinguishable from slugs that were never used. To check a microsite before launch, review the record and the store's published catalogue. If you need to see the real storefront, publish it, check it, and set it back to Suspended if it is not ready.

    Who receives the payment for a microsite order?

    Your payment gateway account does. The partner's share is not split at payment time: it is accrued as commission in Partner settlements, and you pay it out under your own arrangements. Gateway Linked Account Ref is only a stored reference. See Payments and gateways for how the receipt is booked.

    Does changing a partner's rate change last month's statement?

    No. Every settlement line keeps the rate it was calculated with, and accrued lines are never recalculated. Orders not yet accrued pick up the new rate the next time the job runs. To make the change take effect from a clear point, run the settlement job, then change the rate.