Skip to main content

Phase 10(1)

Run each user acceptance test (UAT) under the role in the first column. Compare what you see with the expected result and record the document number. All cases start as Not run.

Before the run​

  • Prepare test accounts for sales, storefront, transport, warehouse, QC and an administrator. Use a main branch, a second branch, a deposit warehouse, customers A/B and stock with known on-hand and reserved quantities.
  • Use separate documents for mutually exclusive outcomes, such as canceling before and after picking. For shared sales rules, repeat the case on Mobile and POS Terminal/Storefront wherever the menu exists. Compare amounts, permissions and validation messages.
  • Arrange access to the transport Checklist, Incoming payment records, SAP and the warehouse's test MS Teams channel. Cases that check a downstream result need a tester who can look up the record there.
  • Ask the process owner for booking rules for each transfer type, Order bill options, fee rates, vehicle readiness criteria, and the approved Teams form and channel. Mark affected cases Pending clarification if the reference data or rule is missing.

Transport and shift closing​

Transport payment collection​

Use a trip that has started. For each run, choose a different unpaid stop with 1,000 baht due and no fee. Open the customer and tap Confirm delivery (ยืนยันการส่ง). To submit, tap OK (ตกลง) on Mobile or Save (บันทึก) on Terminal. Check the note on the same customer's card after saving. Leave the // System : portion for the app to fill in.

Case / roleActionsExpected result
TR-01 · Transport · Other paymentSelect Other (อื่นๆ). Run each option in the table below. Enter a brief reason, check the fee, attach the requested proof and submit.After reloading the trip, the customer card retains the typed reason followed by // System :, the cash and transfer amounts, and the selected outcome.
TR-02 · Transport · Transfer now or pay sales laterSelect Transfer / QR Code and try submitting without choosing a transfer status. Then select Customer will transfer to sales later, attach proof and submit. At a different stop select Customer has already paid the driver by transfer and record the actual amount.The first attempt prompts for a transfer status. For deferred payment the system note shows zero cash, 1,000 baht transfer and “ลูกค้าจะโอนชำระกับฝ่ายขายเองภายหลัง”. The stop that paid the driver has no sales-later note.

Options for TR-01 — use the same starting amount for all three runs.

Option under OtherWhat to tryWhat to check
Partial acceptance (รับสินค้าบางรายการ)Enter 600 baht actually received in cash and zero transfer.The system note shows 600 cash, zero transfer and “รับสินค้าบางรายการ”.
Refusal (ไม่รับสินค้า)First select partial acceptance and split payment, then switch to refusal.Before saving, partial acceptance clears and the split option disappears. After saving, both amounts are zero and only “ไม่รับสินค้า” is recorded as the outcome.
Split payment (แบ่งชำระ)Select only split payment. Enter 400 baht cash and check the transfer field.The app fills in 600 baht transfer. The system note shows 400 cash, 600 transfer and “แบ่งชำระ”.

Route assignment, delivery and shift close​

Case / roleSetup and actionsExpected result
TR-03 · SalesUse a 1,000 kg truck with existing route sheets of 400 and 350 kg. Add a customer with a 260 kg sheet and inspect the screen before Confirm. Repeat with a 250 kg sheet.Sales sees a warning before confirming 1,010 kg. At exactly 1,000 kg there is no overload warning.
TR-04 · TransportOn a route carrying 750 kg, confirm an additional 260 kg sheet. On another route with the same starting load, confirm a 240 kg sheet.Transport sees the warning at confirmation for 1,010 kg. The 990 kg route has no warning. The current sheet is counted once.
TR-05 · Route plannerPrepare three ready vehicles. A is free, B has a route, and C has accepted a job. Open the plate selector. Have a second user assign A and reload the selector.Initially only A is available. After assignment A also disappears from the available list.
TR-06 · TransportPrepare four sheets. One North sheet is already included, two North sheets are outstanding, and one South sheet is outstanding. Press Start delivery for North.The two outstanding North sheets are identified before departure. The driver can account for them. The assigned sheet is not duplicated and the South sheet is excluded.
TR-07 · TransportUse separate bills for cash, transfer, QR and other. Save each flag, reopen the bill and have accounting look up Incoming by bill number before shift close.Each bill retains its selected method. None has an Incoming record yet.
TR-08 · TransportOn three bills respectively record partial acceptance (6 of 10 units), refusal of all goods, and acceptance with a known discount. Open each result in the Checklist.Each bill shows its own outcome and the matching accepted quantity or discount. The amounts can be reconciled before shift close.
TR-09 · TransportFor an unreachable customer, select delivery unsuccessful and enter the reason. Reopen the route list and the delivery detail.Both show unsuccessful delivery. The reason persists and the status change creates no Incoming payment.
TR-10 · Transport/shift closerComplete POS delivery results for a shift with cash and transfer bills. In the Checklist, change one bill from cash to transfer. Reconcile totals before closing.POS requires no transport Deposit step. The Checklist reflects the revised method and totals. No Incoming exists before successful shift close.
TR-11 · Shift closer/accountingOn the shift from TR-10, simulate a failed close in the test system, check Incoming, fix the cause and close successfully. Reload the result.A failed close creates no Incoming. After success the references and amounts match the corrected Checklist. Reloading does not duplicate payment.
TR-12 · AdminRecord the incorrect odometer on an existing trip. Correct it against the driver's evidence and reopen the trip as transport. Attempt the admin correction with an unauthorized account.Both roles see the corrected mileage on the same trip. The unauthorized account cannot perform the admin correction.
TR-13 · AdminAfter the driver starts a trip with the wrong plate, change it to the correct one as Admin. Reopen as the driver and try the admin action as a regular user.The active trip shows the new plate and retains its sheets and customers. A regular user cannot apply the admin correction.

Sales, billing and collection​

Case / roleSetup and actionsExpected result
SA-01 · SalesOn an Order, select a bill option from the agreed list. Save, reopen and issue the downstream document. Repeat with a different option.Each Order preserves its selection and produces the corresponding bill.
SA-02 · SalesGive customer A two addresses. Make the second primary, leave the customer screen, then open a new bill for A and another for B.A has one primary address and the new bill defaults to it. B's bill still uses B's address.
SA-03 · SalesFrom A's open bill with existing items, add a delivery address and pin its coordinates. Select it, save and reopen the bill, then check A's customer record.The user stays in billing. The bill number and items are retained. The saved address and coordinates match the pin and belong to A.
SA-04 · Sales/storefrontIn each channel open a bill with a net due of 1,000 baht. Select split payment, enter cash of 400.25, check the transfer remainder, attach the required evidence and save.Transfer is 599.75. The saved cash and transfer amounts total the net due of 1,000.
SA-05 · Sales/storefrontOn a 1,000 baht bill try entering cash above the total. Clear the cash field and try confirming. Enter 400 cash and check the remainder before confirming again.Excess input cannot record a wrong amount. An empty split cannot be confirmed. With 400 cash the transfer is 600 and one payment is saved.
SA-06 · SalesUse a SKU/lot reserved for 6 units, 2 on document A and 4 on B. Open its reservation detail, then open a SKU with no reservations.Sales can identify the two source documents and their quantities, totaling 6. The second SKU shows no entries from the first.
SA-07 · SalesRequest cancellation of an invoice with no picking started and no route assigned. Complete the permitted cancellation steps and reopen the list and detail.The request references the selected bill. After cancellation both views show it canceled.
SA-08 · SalesTry canceling an invoice already being picked but not routed, then another already routed but not picked.Both attempts are refused. The user can identify the blocking step and the existing status is preserved.
SA-09 · Sales/accountsPrepare an eligible and an ineligible fee bill. Record the agreed fee and expected total separately from goods and freight. Inspect both bills and reload.The eligible bill matches the calculated fee and total with the fee counted once. The ineligible bill has no fee.
SA-10 · Sales/storefrontOpen customer A's QR payment form, then switch to B's bill for the same amount. Inspect the form and the payment QR image prepared for sharing.Each form and shareable QR image shows the current bill's customer. B's QR does not show A's name.

Fish inspection borrows and Order conversion​

Case / roleSetup and actionsExpected result
BR-01 · SalesNote the lot's reserved quantity. As sales, issue an inspection borrow and return all goods without conversion. Recheck the lot.Sales can issue and return the borrow. Its reservation is released after return and other reservations are preserved.
BR-02 · Sales/warehouseTry processing a destruction borrow as sales, then perform the same action as an authorized warehouse user.Sales cannot process a destruction borrow. The authorized warehouse user can.
BR-03 · Main branch salesOpen an accepted inspection borrow before return or stock deduction. Select all items and convert to Order. Edit the sale quantity and reopen the Order.An Order is created directly for the selected items. The revised sale quantity and total persist. No prior return or duplicate stock deduction occurs.
BR-04 · Sales → warehouseBorrow A/B/C at the main branch. Record their lots and reservations. Convert only A. Check the Order and have warehouse inspect B/C before and after confirming their return.The Order contains only A. B/C wait for warehouse action. Confirming their return releases their reservations without returning A.
BR-05 · Sales/warehouseTry converting with no selection. Then select one line and convert successfully. Reopen the borrow and try the same conversion again.No empty or duplicate Order is created. The borrow distinguishes converted items from pending returns.

Warehouse, transfers and SAP​

Case / roleSetup and actionsExpected result
WH-01 · WarehouseFor Transfer-out to a branch, use a lot with available and booked units. Record the booking, source, destination and expected balances under the agreed rule. Transfer and reconcile both warehouses.Available and booked quantities match the expected figures on each side. The booking remains traceable without reserving the same units twice.
WH-02 · WarehouseFor Transfer-branch between storage locations, use a booked lot as in WH-01. Move a permitted quantity, then try exceeding the allowed quantity on a new document.The first transfer handles the booking according to the Transfer-branch rule. The rejected attempt does not change stock or reservations.
WH-03 · WarehouseIn Transfer-branch history, look up the WH-02 document. Compare source, destination, items, lots, quantities and status to the original. Reopen the search.The correct transfer can be retrieved. History matches the transaction and reloading does not duplicate it.
WH-04 · Warehouse/SAP observerComplete one Stock-in, one Transfer-in and one Transfer-out successfully. Look up each document in the SAP log and compare it with the result observed in SAP.All three have a log entry linked to the correct document, operation and outcome. The SAP reference matches the downstream record.
WH-05 · Warehouse/SAP observerSimulate a failed SAP response for each type in WH-04. Note the document and actual message, correct the cause and retry the original document.The failure and subsequent result are traceable by the original number. The message matches SAP and a retry does not duplicate successful stock movements.
WH-06 · Storefront warehouseFor one 10-unit Order, issue invoice I1 for 4 and I2 for 6. Open storefront picking by Order and compare the required items and quantities.Both invoices are visible against the same Order. The required pick totals 10 units, with neither missing nor duplicated lines.
WH-07 · Warehouse/form recipientFill out the approved new form using a test reference. Submit to the warehouse test MS Teams channel. Have a recipient find that reference and check every field.One copy arrives in the designated channel. Its contents match the form and identify the warehouse task.

Branch, warehouse and vehicle master data​

Case / roleSetup and actionsExpected result
MD-01 · Warehouse administratorPrepare two warehouse master records for different branches. Cross-check codes, names and branches with the master, then inspect warehouse choices on each branch's transfer document.The records match the master. Each document offers warehouses within its branch and access scope, including when names are similar.
MD-02 · Fleet administrator/plannerUnder the agreed criteria prepare one ready vehicle and one unavailable vehicle. Check the fleet record and assignment screen. Change readiness and reload.The latest status matches each plate. Assignment follows the agreed readiness criteria and the availability check in TR-05.
MD-03 · Branch administratorSave different Tax ID and Company values for branches A and B. Include a Tax ID with a leading zero. Reopen each branch and compare.The full Tax ID including the zero is retained. Each Company belongs to its branch. Editing A does not change B.

Storefront POS – Plus Sales (Teminal)​

Case / roleSetup and actionsExpected result
PS-01 · StorefrontUse an item with its next price step at 100 units. Change Order quantity to 89, 90, 91 and 100, allowing recalculation each time.At 89 and 90 there is no nudge for 100. At 91 the nudge shows 9 more units. At 100 that step price applies and the nudge for 100 clears.
PS-02 · StorefrontSeed frequent cross-group pairs in branch history and ensure the SKUs are in stock. Open separate Orders for fish, ground pork and grilled pork. Inspect suggestions.For the seeded pairs, fish suggests foam, salt or film. Ground pork suggests curry-cut pork or ground duck. Grilled pork suggests red chicken. A user can add a suggested SKU.
PS-03 · StorefrontSeed two often-paired fish brands in the same item group. Add the first brand, then add an eligible cross-group suggestion. Reopen the Order.The second fish brand is excluded. The added suggestion stays in the Order and is no longer offered for addition.
PS-04 · Storefront/data ownerSeed sufficient Orders to meet the real mining thresholds. In the last seven days A often bought fish with salt, B with foam. A's fish/film pair occurs only eight days ago. Run the production rule-generation process on test data and open a fish Order in each branch.Each branch's suggestions follow its own pairs. The stale pair is excluded. The data owner can reconcile suggestions against association rules mined from Order history using frequent itemsets.

Deposit warehouse credit notes and QC​

Use a separate credit note for each condition to verify that any single trigger is sufficient.

Case / roleSetup and actionsExpected result
CN-01 · Deposit warehouse/QCTake goods out of controlled storage and bring them back. Open a CN with no complaint and attempt to receive them before QC.QC is required. Goods cannot return to sellable stock until inspection passes.
CN-02 · Deposit warehouse/QCKeep goods in controlled storage. Open separate CNs for complaints about quality, specification, weight and product condition.Each complaint triggers QC even when the goods never left controlled storage.
CN-03 · Deposit warehouse/QCFor a CN requiring a resale decision, pass QC and proceed to receipt. On a separate CN fail QC with a reason.A passed CN can proceed to authorized receipt. A failed CN shows the decision and reason and does not add sellable stock.
CN-04 · Deposit warehouseGoods remained in controlled storage with no complaint or condition concern. Make separate CN corrections for documentation, sale, payment and allocation.Each correction can proceed without QC. Data correction alone does not receive the stock a second time.

Devices and access​

Case / roleSetup and actionsExpected result
AD-01In the Mobile App, open the sales screen showing a bill, try the device screenshot buttons and check the gallery. Then use the sales screen's Share action and inspect its preview.The screenshot does not expose readable sales data. The Share action previews the current bill without capturing the screen.
AD-02 · POS userOn the POS terminal, sign in with a regular account other than user 999999. Open a bill, wait 4 minutes and tap to continue. Restart the timer from that tap, wait 5 minutes and 1 second without interacting, then try reopening the bill.After 4 idle minutes the user can continue. At 5 idle minutes from the last tap, the terminal signs the user out. Reopening the bill requires a new login.
AD-03 · Admin/userSign into A and B from known locations with the same account. Attempt login on C. Have Admin inspect the usable sessions.At most two devices can use the account at once. Admin sees the user, devices and their actual test locations.
AD-04 · AdminSign in and out on A/B at different times. Find the user and test time range in the usage history report.Events can be distinguished by user, device, time and location. A signed-out device's history remains retrievable.

Record the run​

Copy the table into the UAT run log. Use one row per case and channel. Mark Pass when every expected result is observed, Fail when an observed result differs and Pending clarification when data, access or a downstream system is missing.

CaseTester / dateBranch / channel / versionDocument or evidenceActual result / statusIssue / retest
TR-03———Not run—