Tiktok Sales Order Applet
A marketplace-oriented build of Sales Order (Internal), for a desk that pulls and packs marketplace orders: the same orders, listing and form, trimmed to the order listing, the line items, the SO Detailed Report and the Ecomsync dashboards. Nothing in it is TikTok-specific — the dashboards, statuses and jobs it knows are Lazada’s and Shopee’s — and it has no settings screen of its own, so settings saved in Sales Order (Internal) are not read here and the same order can show different columns and defaults in the two applets.
Your job, and the screen for it
| The job | Screen or tab | Read |
|---|---|---|
| Work marketplace orders — they arrive from the Lazada / Shopee jobs already numbered and FINAL; nothing here is TikTok-specific | Sales Order listing | Overview; Lifecycle and effects |
| Push a marketplace status back — on a FINAL order; for Shopee choose a shipping method, and for pick-up an address and time slot | Order › Ecomsync tab › Marketplace Status | The create / edit form; Troubleshooting |
| Check marketplace orders and sales on the dashboards | Ecomsync › Dashboard (Lazada Dashboard, Shopee Dashboard) | The Ecomsync dashboard |
| List orders over a period — Generate resets End Date to today; drafts and voids are included, it stops at 500, and Outstanding shows what is already invoiced | SO Detailed Report; for what is still to invoice, SO Line with SI KO in Sales Order (Internal) (needs the SO → SI knock-off pair) | Screens and menus |
| Reach pick-pack, delivery, batch printing or the scheduler — not in this sidebar | Type the route after the route root, or use Sales Order (Internal) | Troubleshooting |
| Set up a marketplace branch and the order jobs — this applet has no settings screen, and settings saved in Sales Order (Internal) are not read here | Organisation (Branch › Marketplace); the EcomSync index for the jobs | Before you can use it; Applet settings |
Overview
The Tiktok Sales Order Applet is a marketplace-oriented build of
Sales Order (Internal). It opens the same
INTERNAL_SALES_ORDER documents, in the same listing and the same create / edit form, and it is meant
for the person who works marketplace orders rather than the whole sales desk: the sidebar keeps the
order listing, the line-item listing, the SO Detailed Report and the Ecomsync dashboards, and drops
everything else.
The name needs saying plainly. It is listed as Tiktok Sales Order Applet (previously Shopee Sales Order), but nothing in it is TikTok-specific: the dashboards it ships are the Lazada and Shopee dashboards, the marketplace-status tab knows Shopee’s shipping statuses, and the scheduler offers only the Lazada and Shopee order jobs. Treat it as the Lazada / Shopee order desk with a newer label.
Where it fits
| Direction | Applet / document | How it connects |
|---|---|---|
| Same records | Sales Order (Internal) | An order created or edited in either applet is visible in both; there is one document table |
| Upstream | Organisation — Branch → Marketplace | The marketplace branch whose orders the ingestion jobs create; its stock rule and settlement method |
| Upstream | Doc Item Maintenance — Marketplace tab | The listings the marketplace order lines resolve to |
| Downstream | Receipt Voucher (Internal) | The Receipt Voucher tab on an order. TikTok’s settlement job is not registered, so TikTok payouts are booked by hand (Reconciling Marketplace Payouts) |
| Index | EcomSync related applets | Which applet owns each marketplace step and which background jobs run |
Modules: E-Commerce (primary), Sales.
Screens and menus
Some screens are in the applet but no menu leads to them; they open only if their address is typed. The table shows which.
| Screen | In this applet’s sidebar | In Sales Order (Internal)’s sidebar |
|---|---|---|
| Sales Order listing | Yes | Yes |
| Line Items | Yes | Yes |
| SO Detailed Report | Yes | Yes |
| Ecomsync › Dashboard | Yes | Yes |
| Ecomsync › Reply To Review, Replied Review | Yes | Yes |
| Ecomsync › Scheduler | No — address only | Yes |
| Pick Pack Queue | No — address only | Yes |
| Delivery Items | No — address only | Yes |
| Batch Printing | No — address only | Yes |
| Delivery Plan, Calendar | No — address only | Yes |
| File Export | No — address only | Yes |
| SO Line with SI KO | Not present | Yes |
| File Import | Not present | Yes |
| Approval | Not present | Yes |
| Intercompany | Not present | Yes |
| Audit Trail | Not present | Yes |
| Settings, Personalization | Not present | Yes |
Read SO Detailed Report for the orders, not for what is still open. It is the same report as Sales Order (Internal)’s, and four things about it surprise people. It lists orders of every posting status in the range — drafts and voids beside FINAL orders. It stops at 500 orders without saying so. Whatever you type as End Date, pressing Generate replaces it with today. And its Outstanding Qty and Outstanding Amount columns show the quantity and amount already invoiced — the same figures as PO Qty and PO Amount — so a line not yet invoiced is blank and a fully invoiced one looks fully outstanding.
For what is still to invoice, use SO Line with SI KO in Sales Order (Internal) (this build does not have it), which has rows only where the company’s Knock Off Configuration has the Sales Order → Sales Invoice pair; without that pair it is empty for every order, and each seller centre’s open-order list is the count (E-Commerce reports, Where each figure comes from).
The addresses to type are under Troubleshooting. Nothing in the applet leads to a settings screen either — see Configuration.
The create / edit form
The create form has ten tabs — Search, Main Details, Account, Line Items, Delivery Details, Settlement, Department Hdr, KO For, Contra, Attachments — and the view form twenty-one: Main, Account, Line Items, ARAP, Delivery Details, Delivery Trips, Delivery Plans, Settlement, KO For, Receipt Voucher, Department Hdr, Trace Document, Contra, Doc Link, Attachments, Export, Convert, Ecomsync, Status, Events, Email. The tab order is fixed; there is no Details tab ordering setting because there is no Default Selection screen.
The Ecomsync tab on a FINAL order is the marketplace desk: sub-tabs Marketplace Status (set the order to Pending, To Pack or Ready To Ship; for Shopee, Ready To Ship or Processed, with the shipping method dropoff, pickup or non-integrated and a pick-up address and time slot fetched from Shopee), Detail, Printables and Line Item ToPack Batch Update.
Inside a line the tabs are Item Details, Grouped Item, Serial Number, Batches, Bin, Stock Availability, Costing Details, Pricing Details, Issue Link, Attachment, the four KO By / KO For Jobsheet and Job Order tabs, KO By / KO For Sales Quotation Item, Doc Link, Ecom Sync and MRP — the Sales Order (Internal) set minus Reserved Stock, Sales History and Membership Points.
The Ecomsync dashboard
Two tabs, Lazada Dashboard and Shopee Dashboard, each with Dashboard Main, Dashboard Total Orders and Dashboard Total Sales, plus an order listing whose detail view has Detail, Item, Customer Details, Processing Flow and Shipping Carrier. These are the same components as in Sales Order (Internal); the index page describes what feeds them.
Configuration
Before you can use it
The same prerequisites as Sales Order (Internal):
company, branch and location; customers with credit terms; items; a pricing scheme and pricebook;
and the API permissions TNT_API_DOC_INTERNAL_SALES_ORDER_{CREATE,READ,UPDATE}_TGT_GUID,
TNT_API_DOC_INTERNAL_RECEIPT_VOUCHER_{CREATE,READ}_TGT_GUID and
TNT_API_DOC_INTERNAL_SALES_ORDER_DELIVERY_BRANCH_READ, which are the eight permission definitions the
applet enquires about at start-up. For marketplace orders, a marketplace branch
set up in Organisation and the Lazada / Shopee order jobs
scheduled — see the EcomSync index.
Applet settings
There is no settings screen in this applet. No settings or personalization screen is reachable, and nothing in the applet leads to one.
What this means in practice:
- The applet reads its settings exactly as Sales Order (Internal) does: every screen that reads settings (the line editor, the customer editor, pick-pack queue, delivery details, contra and receipt-voucher forms) applies whatever is stored against this applet’s code.
- Nothing in this applet writes them. A tenant that has never saved settings for
this applet runs on the empty set — every
HIDE_*toggle off, no default branch, no default pricebook, no custom statuses, no printable formats. - Settings saved in Sales Order (Internal) are stored against that applet and are not read here. The two applets can therefore show the same order with different columns and defaults.
The settings that take effect, if a value has been stored for this applet by some other means:
| Setting (key) | Where it acts | Effect when a stored value is true |
|---|---|---|
HIDE_BATCHES, HIDE_BIN | the line editor | Hide the Batches / Bin tab of a line. Sales Order (Internal) uses the four finer keys HIDE_BATCH_NUMBER, HIDE_BATCH_ISSUE_DATE, HIDE_BATCH_EXPIRY_DATE, HIDE_BIN_NUMBER instead |
HIDE_PAYMENT_CONFIG, HIDE_TAX, HIDE_CONTACT, HIDE_BRANCH, HIDE_ITEM_PRICING, HIDE_REMARK, HIDE_CREDIT_TERM_AND_LIMIT | the customer editor opened from the Account tab | Hide the matching tab when a customer is created or edited from inside the order |
Everything else Sales Order (Internal) reads (DEFAULT_BRANCH / DEFAULT_LOCATION / DEFAULT_COMPANY, the default pricebook, DEFAULT_CURRENCY, the HIDE_* column and tab toggles, ENABLE_SERIAL_NUMBER_VALIDATION_FINAL, DISALLOW_SELL_BELOW_*, SHOW_DRAFT_BUTTON, FINAL_STATUS_GUID, the custom statuses, the credit-card HIDE_* / MANDATORY_* pairs) | the same screens as in Sales Order (Internal) | As documented on that page’s Applet settings |
Several settings of Sales Order (Internal) do not exist here at all — among them the menu-hiding
family, the default packing location and PRICING_RETAIL_GUID. So the sidebar cannot be trimmed per
tenant (it is already trimmed), and there is no default pricing scheme: unit prices come from the
pricebook rules alone.
Document behaviour settings
No workflow, custom-status, sales-order-status, printable or email-template screen is reachable (see above). Status flow is the backend’s: DRAFT → FINAL → VOID, with Discard on a draft, and the per-line Close. The marketplace status pushed back to Lazada / Shopee is set from the order’s Ecomsync › Marketplace Status tab, not from a setting.
Feature visibility / permissions
The applet checks fifteen client-side permission codes: SHOW_GENDOC_FINAL_BUTTON,
SHOW_GENDOC_VOID_BUTTON, SHOW_GENDOC_DISCARD_BUTTON, SHOW_DOC_NO_TENANT, SHOW_DOC_NO_COMPANY,
SHOW_DOC_NO_BRANCH, SHOW_CLIENT_DOC_TYPE, SHOW_TRANSACTION_DATE, SHOW_LISTING_BRANCH,
SHOW_ARAP_PNS, SHOW_ARAP_SETTLEMENT, SHOW_ARAP_DOC_OPEN, SHOW_ARAP_CONTRA, SHOW_ARAP_BAL and
SHOW_MARKETPLACE_STATUS_UPDATE_PAGE. There is no Feature Visibility or permission-listing screen
inside this applet, so they are assigned from the shared permission tooling; one you cannot find there
is not registered for this applet and cannot be granted.
Fields
Identical to Sales Order (Internal) › Fields for Main Details, Account, Lines, Settlement, Contra and Delivery Plan. Differences:
| Area | Sales Order (Internal) | This applet |
|---|---|---|
| Line tabs | includes Reserved Stock, Sales History, Membership Points | not present |
| Line tabs | Batches and Bin hidden by four keys | hidden by HIDE_BATCHES / HIDE_BIN |
| Unit price default | pricing scheme from PRICING_RETAIL_GUID | pricebook rules only; no scheme default |
| Customer editor (Account tab) | Payment Config and Entity Category hideable from its own settings | Payment Config, Tax, Contact, Branch, Item Pricing, Remark, Credit Term and Limit each hideable, if a value is stored |
| Ecomsync tab | Marketplace Status, Detail, Printables, Line Item ToPack Batch Update | identical |
Lifecycle and effects
A sales order posts nothing: it carries no amount and no quantity that post, so no journal is built and no inventory transaction is written. It only reduces the available quantity of its items. VOID has nothing posted to reverse; it releases document links and reservations, as in Sales Order (Internal).
Statuses TEMP → DRAFT → FINAL → VOID, FINAL validation (exchange rate, blacklist, serial / batch
quantities when ENABLE_SERIAL_NUMBER_VALIDATION_FINAL is stored, locked period) and knock-off into
a Sales Invoice are as on Sales Order (Internal) › Lifecycle and effects
— the same checks apply.
Marketplace orders arrive from the Lazada / Shopee order-ingestion jobs ACTIVE, numbered and
FINAL — each is created, numbered and finalised in one pass, so nobody opens them and none of them is a TEMP document. The
status pushed back to the marketplace from the
Ecomsync tab is recorded per order as a fulfilment record, as described on the
EcomSync index.
Related applets
- Sales Order (Internal) — the full applet this one is cut from; read it for fields, settings and posting.
- EcomSync related applets — the index of which applet holds each marketplace step, and the background jobs that do the syncing.
- Organisation — the marketplace branch.
- Doc Item Maintenance — the marketplace listings and the Scheduler that creates the Lazada / Shopee jobs.
- Receipt Voucher (Internal) — where a TikTok payout lands once the accounts clerk books it; no job records it.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Columns, defaults or hidden tabs differ from Sales Order (Internal) for the same order | Settings are stored per applet code and this applet has no screen to set its own | Expected; there is nothing to configure here. Use Sales Order (Internal) when a configured view is needed |
Typing …/settings after the route root shows the applet’s 404 page | The applet has no settings screen | Not a fault; see Configuration |
| Pick Pack Queue, Delivery Items, Batch Printing, Delivery Plan, File Export or the Ecomsync Scheduler are missing from the sidebar | In the applet but absent from the sidebar | Type the route (pick-pack-queue, delivery-items, batch-printing, delivery-plan, file-export, ecomsync-scheduler) after the route root, or use Sales Order (Internal) |
| Error updating the marketplace status | The marketplace rejected the status push from the Ecomsync tab; the toast carries the marketplace’s message | Read the message; for Shopee, make sure a shipping method and, for pick-up, an address and time slot are chosen |
| Please Select a Mode or Select at least One Data from Listing / Error mode being selected for lazada (or shopee) | Bulk marketplace update run with no mode, no rows, or a mode that does not match the order’s marketplace | Filter to one marketplace, tick rows, pick its mode |
| Customer not linked to branch | The customer chosen on the Account tab has no link to the order’s branch | Link the customer to the branch in Customer |
| There is no GL Code linked to this item | Item has no GL code and the line editor requires one | Set it in Doc Item Maintenance |
| Only maximum quantity of N is allowed for this component | Grouped-item component quantity exceeds its ratio | Reduce the quantity |
| Delivery Branch And Location Do Not Match / Delivery Types Do Not Match | Delivery Details disagree with the Main Details branch or with the delivery type of other lines | Align the branch, location and delivery type |
| Please refine your search as only 10 records … are being showed | Customer search returned more than ten matches | Narrow the search |
| A marketplace order has no running number | Not expected: ingestion numbers and finalises the order in one pass | Treat it as a failed run: check the branch’s connection record. Re-running the order job will not repair it, because the Lazada order jobs and the newer Shopee order job skip any order whose marketplace order number is already on the branch (the older Shopee job was not checked). Report the order to support with its marketplace order number, and keep it on your exception list until the listing shows it numbered and FINAL |
Related documentation
- E-Commerce module · Sales module
- EcomSync related applets
- Sales Order (Internal)
- E-Commerce applets
- E-Commerce best practices §10 — which build to install for the sales desk, and which for a pick-and-pack desk
- Running an Online Channel and Reconciling Marketplace Payouts — the guides for the channel manager’s and the accounts clerk’s jobs on these orders