Skip to content

Seller Applet

The seller’s side of the marketplace: a login linked to a merchant entity picks that seller and works on its marketplace products, its per-store stock balances and the seller orders allocated to it from the tenant’s sales orders, alongside the purchase invoices and payment vouchers that settle with it. A seller order is a marketplace record — no journal, no stock movement, no open balance — and nothing links it to a purchase invoice. Seller orders appear only when scheduled runs find exactly one seller for a sales-order line, and the Save, Final and Delete buttons on a seller order do nothing in this build, so treat that listing as read-only.

Overview

The Seller Applet is the seller-side workspace of BigLedger’s marketplace module. A tenant user who has been linked to one or more merchant entities picks a seller in the sidebar and then works on that seller’s marketplace product catalogue, the seller’s per-store stock balances, the seller orders that the tenant allocated to the seller out of its own sales orders, and the purchase invoices and payment vouchers the tenant uses to settle with the seller. The marketplace owner’s side of the same process (the queue of sales-order lines waiting for a seller) lives in a Seller Admin build that is not installable from the Applet Store, and the sales orders themselves come from the Internal Sales Order applet or a marketplace / storefront sync.

The applet is registered as “Seller Applet” (type TNT-ADMIN). It is a template clone of the generic document applets: several menus and buttons are present in the user interface but not wired up in the current build. Where that is the case this page says so.

Where it fits

DirectionApplet / processWhy
UpstreamMerchant AppletThe seller is a merchant entity. Only the merchants the current login has been linked to appear in the sidebar.
UpstreamInternal Sales OrderSales-order lines are copied into a seller allocation queue; allocated lines become seller orders that this applet lists.
UpstreamPricebookThe Product › Pricing tab links a marketplace item to a pricing scheme flagged for the marketplace; the automatic allocation uses that link to find the seller for a sales-order line.
UpstreamDoc Item MaintenanceThe tenant’s financial item that a marketplace item is meant to represent; required for allocation and for the Pages tab.
UpstreamOrganisation, CashbookCompany Knock Off Configuration for the purchase invoice’s KO For tab; cashbook settlement methods for the payment voucher’s Payment tab.
Same documentsInternal Purchase Invoice, Internal Payment VoucherThe Purchase Invoice and Payment Voucher menus open ordinary purchase invoices and payment vouchers — the same documents those applets show.
CounterpartMarketplace-owner side (a Seller Admin build)Its SO Processing Queue lists the sales-order lines waiting for a seller. It does not allocate them: the queue line’s Seller Account & Allocation tab is empty, so allocation is automatic only, and only where one seller qualifies. That build is not in the applet registry, so the Applet Store does not list it; its page is unpublished until it is registered.
DownstreamEcomSync / CP Commerce AdminThe seller stock balances entered here feed the EcomSync stock calculation in its seller-stock mode.

Screens and menus

Sidebar:

MenuWhat it shows
Seller Account › Select User toggleThe merchant entities the login is linked to; picking one scopes the Product and Seller Order menus.
Seller Account“List of Account User” — the login links of the selected seller (User Email, Rank, Status, Modified Date), with Login Create / Login Edit side panels. The Edit Seller Account button does nothing. There is no seller create form in this applet.
ProductThe seller’s marketplace items with an Edit Product panel: Information, Label, Dimension Details, Multi UOM, Pricing, Manage Image, Pages, Reviews, Attribute Set, Attribute Link, Stock Availability tabs.
Seller OrderSeller orders for the selected seller, grouped by document number, with an Edit Seller Order panel (Main Details, Account, Line Item, Export, Event).
Purchase Invoice“Internal Purchase Invoice Listing” with the standard Create / Edit generic-document panels.
Payment VoucherInternal payment vouchers with Create / Edit panels.
BranchThe tenant’s branch master, not the seller’s stores.

Settings: Field Settings, Default Selection, Printable Format Settings; the shell adds Applet Access, Role Pricing Scheme Linking, the server-side permission screens, Triggers and the developer tools. Personalization: Default Selection, Sidebar.

Product Listing with the Edit Product panel open on the Information tab
Product › Edit Product. The tabs continue to the right (Multi UOM, Pricing, Manage Image, Pages, Reviews, Attribute Set, Attribute Link, Stock Availability). Currency is required by the form but is not saved — see Fields.
Seller Order Listing with the Delivery Type selector and the line columns
Seller Order Listing. Columns: Seller Order No, Requested Delivery Date, Item Code, Item Name, Base Quantity, UOM, Order Status, Delivery Status, Remarks. The Delivery Type selector is not bound to anything in the current build.
Internal Purchase Invoice Listing
Purchase Invoice menu: the same purchase invoices the Internal Purchase Invoice applet shows.
Payment Voucher Listing
Payment Voucher menu: Doc No, Branch, Entity Name, Currency, Payment Amount, Open Amount, Creation Date.
Applet Settings page of the Seller Applet
Applet Settings. Field Settings and Default Selection are present but cannot save in this build; Printable Format Settings is the only working settings writer.

Configuration

Before you can use it

PrerequisiteWhereWhy
A merchant entity per seller, and a login link for every user who works for that sellerMerchant Applet (entity of type MERCHANT, with login links)The Select User toggle is built from the merchants the login is linked to. A login with no link sees an empty toggle and every seller-scoped screen refuses to load (“Please select account in left menu”). Further links can be added from this applet’s Seller Account menu once one exists.
Seller storesEntity branches of the merchant, created in the Merchant appletEvery Stock Availability row must name a store; the store drop-down lists the seller’s entity branches.
A marketplace pricing schemePricebook — a pricing scheme with the marketplace flag switched on, owned by the seller entityThe Pricing tab lists only such schemes, and the automatic allocation finds the seller for a sales-order line by following the item’s pricing-scheme link back to the scheme’s owner.
Financial item behind each marketplace itemDoc Item MaintenanceAllocation matches the marketplace item to the sales-order line through its financial item. No screen in this applet sets the financial item link — it must be set by the Seller Admin side or by support.
Server-side permissionsPermission Set / User Permission screens of this appletSeller-order screens need API_TNT_DM_MKP_SELLER_ORDER_READ; the Pricing tab needs API_TNT_DM_MKP_PRICING_SCHEME_LINK_*; the purchase invoice screens need TNT_API_DOC_INTERNAL_PURCHASE_INVOICE_READ/CREATE/UPDATE_TGT_GUID. The product, stock, label, attribute and event screens need no permission but require the login to be linked to the seller — otherwise the call is refused (HTTP 401).
Knock-off configuration, settlement methods, printable formatsOrganisation › Company › Knock Off Configuration; Cashbook settlement methods; a .jrxml under Settings › Printable Format SettingsPI › KO For pulls the company’s knock-off flow for purchase invoices; PV › Payment adds settlement-method lines; the Export tabs need a printable format.

Applet settings

Where settings live in the current build:

  • Settings › Field Settings is an applet-local screen, not the shared one. Its eight slide toggles (Unit Discount, SST/VAT/GST, WHT, Blanket Order, Segment, G/L Dimension, Profit Center, Project) are not bound to anything and SAVE does nothing — it saves nothing.
  • Settings › Default Selection and Personalization › Default Selection are not wired to a settings container: changing Branch or Location throws an error and SAVE saves nothing. They cannot persist DEFAULT_BRANCH / DEFAULT_LOCATION.
  • Settings › Printable Format Settings is the only screen that writes this applet’s settings: ticking Default Selection on a format stores it as PRINTABLE. The listing offers only formats of the payment-voucher type.
  • Master settings are tenant-wide; a user’s personal Default Selection (where it can be saved) overrides the master DEFAULT_BRANCH / DEFAULT_LOCATION.

Settings are tenant-wide and can be changed by anyone who can open Settings (no permission check on the settings screens).

SettingWhat it controlsDefaultEffect when changed
PRINTABLEThe printable format preselected in the Export tab of Seller Order, Purchase Invoice and Payment Voucher.None — no format preselected; the ticked row in Printable Format Settings sets it.One applet-wide value serves all three export dialogs, although the settings listing only shows payment-voucher formats. The Seller Order export prints with the purchase-order print layout.

Keys read at runtime without a control in this applet. These are declared and consumed, but no screen here can set them; they take effect only if support writes them into the applet’s settings:

  • DEFAULT_BRANCH, DEFAULT_LOCATION — seed the branch/location of a new purchase invoice, payment voucher and the Seller Order › Main Details form.
  • HIDE_COSTING_DETAILS — hides the Costing Details tab of PI / PV line items.
  • HIDE_PERMIT_NO, HIDE_TRACKING_ID — PI Main Details.
  • The 21 line-field keys of the PI and PV line-item forms (HIDE_UNIT_PRICE_STD_PRICING_SCHEME, HIDE_UNIT_PRICE_STD_EXCL_TAX, HIDE_UNIT_PRICE_STD_INCL_TAX, HIDE_UNIT_DISCOUNT, HIDE_QTY_BASE, HIDE_QTY_UOM, HIDE_UOM_TO_BASE_RATIO, HIDE_UNIT_PRICE_STD_UOM_EXCL_TAX, HIDE_UNIT_PRICE_STD_UOM_INCL_TAX, HIDE_UNIT_DISCOUNT_UOM_EXCL_TAX, HIDE_UNIT_PRICE_NET_UOM_EXCL_TAX, HIDE_UNIT_PRICE_TXN_UOM_INCL_TAX, HIDE_UNIT_PRICE_NET_EXCL_TAX, HIDE_AMOUNT_STD_EXCL_TAX, HIDE_DISCOUNT_AMOUNT_EXCL_TAX, HIDE_AMOUNT_NET_EXCL_TAX, HIDE_TAX_CONFIG_SELECTION, HIDE_WHT_CONFIG_SELECTION, HIDE_UNIT_PRICE_TXN, HIDE_LAST_PURCHASE_PRICE, HIDE_AMOUNT_TXN); a hidden field reappears for a user who holds the matching SHOW_* permission.
  • HIDE_SERVER_DOC_1..3, HIDE_CLIENT_DOC_TYPE, HIDE_CLIENT_DOC_1..5 — PV listing columns. The PV listing has one number column, Doc No (the tenant number): HIDE_SERVER_DOC_1 hides it from everybody, with no permission that brings it back, and HIDE_SERVER_DOC_2 / _3 change nothing there.
  • ENABLE_CUSTOM_STATUS_LINE_1..5, NAME_CUSTOM_STATUS_LINE_1..5 — extra columns on the Seller Order listing.
  • salesManLabels — the sales-agent label filter on the PI and Seller Order Main Details forms.
  • HIDE_FINAL_BUTTON — declared but has no effect in this build.

Document behaviour settings

No exposed control. The purchase invoice and payment voucher behave exactly as in their own applets; the seller order has no posting behaviour (see Lifecycle).

Settings in other applets that control this applet

SettingWhere it is setEffect here
Login link (rank, status) between a user and a merchant entityMerchant Applet (or this applet’s Seller Account menu, once a first link exists)Decides which sellers appear in the Select User toggle and which seller-scoped screens will load.
A pricing scheme’s marketplace flag and its owner entityPricebookOnly such schemes are offered on the Pricing tab; the seller-order auto-allocation resolves the seller through the scheme’s owner.
Company Knock Off Configuration rows for the purchase invoiceOrganisation › CompanyWhich source documents the PI › KO For tab can pull.
Settlement methodsCashbookThe choices in the PV › Payment tab. (The applet also carries a built-in settlement-type list — Bank Transfer … Membership Point Currency — in four copies; the one screen that shows it is the supplier’s Payment Config form, where it fills the Bank Identifier Code select under the wrong name.)
EcomSync item stock mode seller stock balanceEcomSync item store configurationIn that mode EcomSync reads this applet’s seller stock balances.

Feature visibility / permissions

The registry seeds no client-side permission codes for this applet, so none of the codes the screens check can be granted from the Applet Access screen:

  • SHOW_INTERCOMPANY_PI_SCREEN — renders the PI › Create › Search tab (build a PI from a FINAL intercompany sales invoice).
  • SHOW_FINAL_BUTTON, SHOW_DOCUMENT_DELETE_BUTTON — PI / PV edit buttons.
  • SHOW_DOC_NO_TENANT, SHOW_DOC_NO_COMPANY, SHOW_DOC_NO_BRANCH, SHOW_CLIENT_DOC_TYPE, SHOW_CLIENT_DOC_1..5 — Seller Order › Main Details.
  • The SHOW_* partner of every line-field HIDE_* key above.
  • INTERNAL_PAYMENT_VOUCHER_DISPLAY_PRICING — PV line listing.

Server-side gates that do apply: the login must be linked to the seller for every product, image, label, attribute, stock-balance, seller-order event and seller-order print call; API_TNT_DM_MKP_SELLER_ORDER_{READ,CREATE,UPDATE,DELETE,OWNER,ADMIN,MEMBER}, API_TNT_DM_MKP_PRICING_SCHEME_LINK_* and API_TNT_DM_MKP_ENTITY_BRANCH_STOCK_BALANCE_* on the back-office screens; TNT_API_DOC_INTERNAL_PURCHASE_INVOICE_READ/CREATE/UPDATE_TGT_GUID on the PI screens.

Fields

Seller Account › Login Create / Login Edit

FieldMeaningRequiredNotes / validation
User emailLogin principal to link to the selected sellerYesMust be a valid e-mail address, max 255. Verify Email first: an unknown address offers Send Invite, which invites the person and adds them to the tenant. Add stays disabled until the address is verified. Read-only on edit.
RankRole of the user within the sellerYesOWNER, ADMIN, MANAGER, MEMBER (default), GUEST, VISITOR, ANNONYMOUS.
StatusLink statusYesACTIVE (default) / INACTIVE. The Delete action on edit fails before saving.

Product › Information and Dimension Details

Pressing + on the listing immediately creates a TEMP item whose code is a random GUID; the Create Product form that follows (Seller Code, Seller Name, Description, Status) fails on save and its values are discarded. Rename the TEMP item on the Edit panel.

Type is free text, stored as the item’s transaction type; Sub Item Type is one of 18 fixed options and the form insists on one; Status is TEMP, ACTIVE or INACTIVE. All three are saved as chosen. The rows below are the ones where the screen and the saved item part company.

FieldSavedWhat the screen does not tell you
Seller Item CodeYesNo uniqueness check — two items can carry the same code.
Base UOMYesFree text, checked against no unit list — and it becomes the first unit offered by the Pricing tab’s UOM picker, so a typo here turns into a pricing unit.
CurrencyNoThe form will not save without one, but the save reads a form control that does not exist, so no currency is sent. Whether a currency the item already had survives the save is not established.
Abbreviation, EAN Code, Remarks, Sales Prompt, Purchase PromptNoThese boxes are not connected to the form: what you type is thrown away on SAVE, and the generate button beside EAN Code does nothing.
Height / Length / Width / Weight (Dimension Details)YesSent with the main SAVE. Read, not run: the Information tab picks the four values up only after a Dimension Details box changes, so a save that never touched that tab appears to send them empty and blank the stored dimensions. Check one dimensioned item after a save before relying on them.

There is no field for the financial item, pre-order, require-delivery or require-production flags — the product record can hold them but nothing in the applet exposes or writes them. Delete is a soft delete of the item, its lines, extensions and images.

Product › other tabs

TabWritesRequiredNotes
LabelLabel links on the itemLabelWorks; a duplicate label is refused on screen.
PricingPricing-scheme links: pricing scheme, purchase unit / min / max price incl. and excl. tax, tax and WHT codes, UOMPricing schemeWorks; needs API_TNT_DM_MKP_PRICING_SCHEME_LINK_*. Only schemes with the marketplace flag are listed.
Stock AvailabilitySeller stock balances: Store, Quantity BalanceStoreCreate works; Edit and Delete do nothing. The quantity is typed by hand and a negative value is accepted.
ReviewsItem reviews (title, default value, rating config, status) and review votesTitle, default value, rating config, statusWorks, but the review is filed against the marketplace item rather than the financial item.
Multi UOM, Manage Image, Attribute Set, Attribute Link——Read-only in practice: their create / update / delete buttons do nothing (Manage Image’s Public checkbox is never persisted).
PagesItem posts, looked up by the financial itemTitle, sort orderThrows on every item created from this applet because the financial item link is never set.

Seller Order › Edit Seller Order

Tabs: Main Details (document numbers, branch, location, date, remarks, permit no, tracking id, client key/value), Account (entity, billing and shipping address), Line Item (a grid over generic-document lines with a Delivery toggle), Export, Event. All three tabs bind to a generic-document draft, not to the seller order itself; SAVE, FINAL and Delete do nothing. Export prints the seller order. Event lists seller-order events — the filter by order is switched off, so it shows every event in the tenant.

Branch

The Create form asks for Branch Code, Branch Name, Description and Status (ACTIVE / INACTIVE), and saves code, description and status into the tenant’s branch master — not a store of the seller. The name you type is not carried through, so the branch is created without one. The listing’s “Address” column shows the company instead. The Edit panel shows only audit fields and its save blanks code, description and status. Create and maintain branches in the Organisation applet.

Purchase Invoice and Payment Voucher

The forms are the standard generic-document forms; see the field tables on Internal Purchase Invoice and Internal Payment Voucher. Differences in this build:

  • PI: Create works. On the Edit panel the FINAL, SAVE and DISCARD buttons do nothing; there is no batch FINAL / DISCARD on the listing. The listing is not filtered by the selected seller.
  • PV: Create posts nothing. Edit › SAVE and FINAL (toast “Posting Successfully”) work; there is no VOID button. Payment lines come from the cashbook settlement methods; Contra links the voucher to any open document, including a PI.

Lifecycle and effects

Seller order

The seller order is a marketplace record, not a finance document. It has no journal, no stock movement and no open (outstanding) balance.

Posting summary: document type Seller Order · amount sign positive · quantity sign positive · Dr/Cr equation: none · GL precedence: none · stock processor: none · VOID: none — the only removal is a delete.

How a seller order comes to exist (three scheduled runs; none is scheduled for you out of the box — ask support whether they are scheduled on your tenant):

  1. The sales-order queue run — every sales order (internal or storefront) that has not yet been queued is marked, and one allocation-queue entry is created per line.
  2. The allocation run — for every queued line, the seller is found by following the sales-order line’s item → the marketplace item that represents it → its marketplace pricing-scheme link → the scheme’s owner. Only when exactly one seller matches does it create a provisional seller-order line (quantity = ordered − already allocated, purchase price = the seller’s price from the link) and close the queue entry. Items with several candidate sellers stay in the queue. The backend accepts a per-seller allocation through its API (permission API_TNT_DM_MKP_SELLER_ORDER_CREATE), but no screen sends one — the Seller Admin build’s Seller Account & Allocation tab is empty — so such a line waits until somebody allocates it through the API, or until the item’s links leave one eligible seller and the next run picks it up. In both paths the line amount is set to the quantity, not price × quantity.
  3. The seller-order creation run (or the marketplace owner’s create order from provisional lines action) — each provisional line becomes one seller order with one line (seller, customer, the originating sales order, amounts carried from the provisional line), and the provisional line is marked finished. One provisional line = one seller order; nothing groups lines per seller.

Status: the record status is the generic ACTIVE / INACTIVE / DELETED. Order Status and Delivery Status are never written for seller orders by any part of the product — the fulfilment statuses in the listing stay empty. Seller-order events are audit rows (event code, date, user, device, description) that only create, edit and delete actions produce.

Marketplace item and stock balance

  • Item: created TEMP, then ACTIVE / INACTIVE from the Edit panel; delete is a soft delete. Server checks: a linked inventory item must exist; the client key + source + value combination must be unique among non-deleted items; a company, cashbook or label named on the item must exist. The financial-item link is not validated.
  • Stock balance: the quantity is whatever the seller typed. EcomSync’s seller-stock mode works out available = balance − open sales-order quantity per row and is meant to roll the totals up onto the EcomSync item, but the roll-up discards its result, so the EcomSync totals stay 0.

Purchase invoice and payment voucher

Posted by the generic-document engine exactly as documented on Internal Purchase Invoice (amount sign negative, quantity sign positive — stock in; Dr Purchase + Input Tax / Cr Creditor) and Internal Payment Voucher. Nothing links a PI or PV to a seller order — no part of the product creates a PI from a seller order.

Related applets

  • Merchant Applet — creates the seller entity and the first login links this applet depends on.
  • Marketplace-owner side — a Seller Admin build holds the sales-order line queue (SO Processing Queue) but cannot allocate a line by hand, and it is not installable; no reference page until it is registered.
  • Internal Sales Order — source of every seller order.
  • Pricebook — marketplace pricing schemes; the automatic allocation resolves the seller through them.
  • Doc Item Maintenance — the financial item behind a marketplace item.
  • Internal Purchase Invoice, Internal Payment Voucher — the settlement documents; use those applets to FINAL a PI or to create a PV.
  • Cashbook, Organisation — settlement methods and knock-off configuration.
  • CP Commerce Admin — storefront orders that enter the allocation queue alongside internal sales orders.

Troubleshooting

SymptomCauseFix
Toast “Please select account in left menu”; Product / Seller Order listings stay emptyNo seller chosen in the Select User toggle, or the toggle is empty because the login is not linked to any merchant entity.Link the user to the merchant entity in the Merchant applet (or have an existing seller user add the login under Seller Account), reload, pick the seller.
Pressing + on Product shows “Error456” and a new item with a long random code appearsThe listing’s + creates a TEMP item immediately; the Create form’s second save fails.Ignore the toast, open the TEMP item and set its code, name and status on the Edit panel.
Product › Pages tab: “Cannot read properties of null (reading ’toString’)”The tab looks up posts by the financial item, which this applet never sets.Have the financial item link set on the Seller Admin side or by support; until then use Doc Item Maintenance for item pages.
Currency, EAN code, remarks or prompts on a product are not savedThose inputs are not carried through on save.Known build defect; there is no workaround in this applet.
Seller Order › SAVE / FINAL / Delete do nothing; Delivery Type has no effect; search returns empty rowsThe buttons and the selector are not wired up; the advanced search queries the pick-pack queue instead of seller orders.Use the listing as read-only. Filter with the column filters, not the search bar.
Seller orders never appear although the sales order is FINALAllocation is automatic only when exactly one seller’s marketplace pricing scheme is linked to the item’s financial item; the three scheduled runs must be running; a line with more than one eligible seller is never allocated by them, and no screen allocates it by hand.Confirm the financial-item link and the pricing-scheme link; ask support whether the allocation runs are scheduled on your tenant and whether the line is still waiting in the queue. If the item has more than one seller, the line can only be allocated through the API.
Seller order amounts equal the quantityThe amount is set to the quantity when the provisional line is built.Known defect; the seller’s price is still on the unit-price fields.
Order Status / Delivery Status columns are always blankNothing writes those statuses for seller orders.Expected in the current build.
Event tab lists events of other ordersThe filter by order is switched off.Expected; filter by the Seller Order No column.
PI Edit › FINAL / SAVE / DISCARD do nothingThe buttons are not wired up.Finalise or edit the invoice in the Internal Purchase Invoice applet — it is the same document.
PV › Create posts nothingThe create action is not wired up.Create the voucher in the Internal Payment Voucher applet, then edit / FINAL it here if needed.
Branch created without a name; Branch edit saves blanksBranch Name is not carried through; the edit form has no editable controls.Maintain branches in the Organisation applet.
Settings › Default Selection throws when a branch is chosen; defaults never stickThe screen is not wired to a settings container.Support writes DEFAULT_BRANCH / DEFAULT_LOCATION into the applet’s settings; the personal override cannot be set either.
Stock Availability edit / delete have no effect; EcomSync seller stock totals stay 0Edit and delete are not wired up; the EcomSync roll-up discards its result.Delete and re-create the balance row; treat EcomSync seller totals as unreliable.
Backend error ending …COMPOSITE_CLIENT_KEY_AND_CLIENT_SOURCE_AND_CLIENT_VALUE_ALREADY_EXISTSAnother non-deleted item or seller order carries the same client key / source / value.Change the client value or reuse the existing record.
HTTP 401 on a product, label, stock or event callThe login is not linked to the seller the record belongs to.Add the login link for that seller.
Marketplace sales orders stop arriving, so nothing enters the allocation queueThe marketplace connection’s credentials expired, so polling stopped.Not a Seller Applet setting — ask support to check the EcomSync credential refresh job and the marketplace connection’s remarks.

Related documentation

Last updated on