Skip to content

Configuration

Set up in this order. Each step names the applet, what it must contain, and what you see when it is missing — because most of what goes wrong in this module is a missing row two applets away from the screen that shows the symptom.

1. Items with a price the storefront can find

Doc Item Maintenance → Items; Pricebook → Pricing Scheme.

The storefront shows an item’s price through the website’s pricing model — a pricing scheme, entity pricing, or EcomSync-by-branch. An item with no price in the scheme the website points at is shown without a price, or not at all. Set the Main Image on the item’s Manage Media tab: that is the listing image the storefront and every marketplace use. Images, video, audio and PDFs that storefront pages, galleries and menus link to live in tenant drives maintained by the Media Library Applet — and only a file whose share policy is anyone with link is ever served to the storefront; the default, restricted, is visible to the uploader alone.

For a marketplace, also set the item’s Dimension Details (height, length, width, weight) before linking it to a shop — the listing record carries its own copy and the shop’s logistics need it.

2. The branch and the merchant behind the storefront

Organisation → Branch; Merchant Admin → Merchant.

A Website cannot be created without a branch, and its Details tab wants a merchant entity. For GadgetSphere Online Sdn Bhd (GSO) that is the fulfilment-centre branch and a merchant record for GSO itself, carrying the gateway merchant code and key the payment callbacks are verified against. If the group also lets third-party sellers trade on the storefront, each seller is a further merchant entity — see step 8.

3. Settlement methods and payment channels

Cashbook → Settlement Method; the Payment Channel applet.

The storefront offers the settlement methods linked to the website (its Settlement Method tab) and to each country (the Country tab), and reads the payment provider codes from the payment channels maintained in the Payment Channel applet (paymentchannelApplet — a live applet with no reference page yet; see the module page). A channel names a gateway, its currency and country, the acquirer entity and the amount limits. The hosted payment-choice page — the step that lists your channels and redirects the shopper to the gateway — accepts only a gateway in the platform’s gateway register — about thirty codes, mostly South-East Asian and Indian wallets, cards and bank transfers, including iPay88, GrabPay (Malaysia), Boost, Atome, IOU Pay and PayNet. A gateway outside the register cannot be reached through that page, and one active channel naming such a gateway stops it listing any channel — it fails with Payment Channel Required List Not Defined Yet. We have not confirmed which gateways the Payment Channel screen offers, nor whether PayPal or FPX, which have their own endpoints but are not in the register, can be used at a storefront checkout; ask BigLedger before you plan on one.

Missing settlement method: the checkout shows no payment option. Missing payment channel: the provider list at payment time is empty.

4. The website

CP Commerce Admin → Website.

Create the Website (title, branch, pricing, membership class — all four required), then work the Details tab: menus, default layout routing, authentication portal, content category, the sales order printable format. Build pages on the Layout Instance tab, set the mobile app version, link the settlement methods, upload the legal agreements, and set Status to Active. A website that is not Active, has no default layout routing, or has no branch and merchant is invisible to customers — the first row of that applet’s troubleshooting table.

If you charge for delivery, tick Enable Shipping Fee Process, choose Shipping Pricebook as the option, and pick the default Shipping Pricebook and the service item the fee is written to. Without the item the storefront computes no fee and shows RM 0.00. Remember that the storefront evaluates the price book in the browser and diverges from the applet in known ways (Single Line rules are never evaluated; a date-range rule always passes; an Inactive price book is still offered) — that applet’s Lifecycle section lists them.

Themes, widgets, menus and categories can also be edited in the older Content Management System applet; it writes the same CMS tables the storefront reads.

5. The knock-off row — or the cart tab stays empty

Organisation → Company → Knock Off Configuration.

A cart that staff or a customer login set FINAL reaches the Sales Order (Internal) applet’s Search Shopping Cart tab only if the company has an INTERNAL_SHOPPING_CART → INTERNAL_SALES_ORDER knock-off row. Paid storefront checkouts do not need it — the server converts those directly — but every manually finalised cart does. The symptom of the missing row is silent: FINAL succeeds, the tab is empty.

6. Customer logins, if customers key their own carts

Customer Maintenance; Shopping Cart Customer Access (Internal).

The Customer Access applet scopes everything by the signed-in login’s link to a customer entity — written on the customer record’s Login tab — and allows one open cart per entity. A customer whose login is not linked signs in and sees nothing — the same rule as the supplier-access applets in Purchasing. Two things to know before handing it to a client: its FINAL converts the cart in place into a sales order through the storefront service, and the backend currently rejects that call from this applet, so plan for staff to finalise customer-keyed carts from the Shopping Cart (Internal) listing; and its line search offers every readable item, not only sellable ones.

7. The marketplace branch and its jobs

Organisation → Branch → Marketplace; Doc Item Maintenance → Marketplace tab, Settings → Ecomsync Management, Scheduler.

Follow the fourteen numbered steps on the EcomSync index; in short:

  1. Create a branch per shop and set its Marketplace → Details (type, authorisation, default entity), Stock Configuration (mode, buffer, sales-order handling), Settlement and Pricing Scheme.
  2. Pull the shop’s category tree, brands and logistics once per branch (Ecomsync Management) — until this has run, the category and brand pickers on every listing are empty.
  3. Link items to shops on the item’s Marketplace tab, then publish from the branch’s Publish Item sub-tab or by CSV import.
  4. Create the Scheduler records. Only the Lazada and Shopee job codes can be created from that screen; the TikTok Shop and Shopify processors exist in the backend but are scheduled by BigLedger support.

Marketplace orders then appear in Sales Order (Internal), or in the cut-down Tiktok Sales Order Applet if that build is what a tenant installed — numbered and FINAL on the marketplace branch, with no step for a person in between.

8. Sellers, if other businesses sell through you

Merchant Admin; Pricebook; Seller Applet.

Each seller is a merchant entity with at least one login link. The automatic allocation of a sales-order line to a seller works only when exactly one seller’s marketplace pricing scheme covers the item, so the pricing-scheme links decide who gets what; ambiguous items wait for manual allocation. The Seller Applet page records that several of its buttons reach no backend in the current build, and that the seller-order processors are not scheduled by anything in the repository — confirm with support that they run for your tenant before relying on the queue.

9. Permissions — your only control

There is no approval engine anywhere in this module. What you can gate:

  • the finalise and delete permissions on the Shopping Cart and Sales Order applets (delete on a cart additionally needs the SHOW_DOCUMENT_DELETE_BUTTON setting);
  • Spending Limit rules per member class in CP Commerce Admin, which are what a B2B portal’s buyer actually runs into;
  • Feature Visibility per team and Sidebar per user in every applet, and the server-side permission sets on the CMS entities;
  • on the storefront side, Restrict View/Access by Entity and the Account tab, which gate a B2B website to linked entities.

What success looks like

  • A test shopper on the storefront completes a checkout with the gateway’s test mode and, within a minute, a TEMP-free sales order exists on the website’s branch, carrying a settlement line with the gateway’s merchant reference. No receipt voucher is made for it.
  • A cart keyed in the Customer Access applet and set FINAL appears in the Sales Order applet’s Search Shopping Cart tab.
  • A marketplace order placed on the shop appears on the marketplace branch after the next scheduled run already numbered and already FINAL. Nothing is waiting for you to open it; if an order has no running number, that is a fault, not a queue.
  • The number on a Lazada or Shopee shop for a test item equals stock balance minus open orders minus the buffer.

Common mistakes

SymptomCauseFix
FINAL cart never appears in the Sales Order appletNo Shopping Cart → Sales Order knock-off rowAdd it in Organisation → Company → Knock Off Configuration
Checkout has no payment optionNo settlement method linked to the website or the country, or no payment channel for the providerSteps 3 and 4
Shipping fee is RM 0.00Item Code for Shipping Fee not set, or the shipping option not chosenWebsite Details tab
Customer signs in to Customer Access and sees nothingLogin not linked to a customer entityCustomer record’s login link
Listing category and brand pickers emptyEcomsync Management never run for the branchRun the four pull actions with the branch selected
Marketplace order has no running numberNot expected — ingestion numbers and finalises in one passTreat it as a failed run: check the branch’s connection record (Remarks and Updated date). Re-running the order job will not repair it, because every order job skips an order already on the branch. Report the order to support with its marketplace order number and branch, and keep it on your exception list until the Sales Order listing shows it numbered and FINAL
An order is on the shop and nowhere in BigLedgerThe pull is a lookback window, not a cursor, so a run that did not happen leaves a permanent gap; or the order’s SKU is not linked to a listing, in which case the whole order is skipped and an e-mail goes to the job’s configured addressWiden the job’s interval once, by hand, to cover the gap (Shopee caps it at fifteen days), and create the missing item first — the order is not queued waiting for it
Nothing syncs for a TikTok Shop or Shopify branchTheir processors are not created from the Scheduler screenCheck the Scheduler applet picker for the TikTok or Shopify processor code before asking — the marketplace screen offers only Lazada and Shopee, but the picker is not limited to what that screen offers. If the code is not there either, name it and the branch (what to send).