TLX User Flow Diagram
เอกสารนี้สรุปขั้นตอนใช้งานหลักสำหรับผู้เกี่ยวข้องทุกบทบาท โดยแปลงจาก requirement เป็น workflow ที่ทีม vendor ใช้ประเมินงานได้
1) Actors
- Seller
- Buyer
- Admin (System Administrator)
- Support Staff
- TLX System/API Gateway/Orchestration
- External ERP (ของ Seller/Buyer)
2) Onboarding + KYC/KYB + Activation
flowchart TD
sellerOrg["Seller/Buyer Organization"] --> registerPortal["Register on Web Portal"]
registerPortal --> submitDocs["Submit KYC/KYB documents"]
submitDocs --> adminReview["Admin/Support Review"]
adminReview -->|approve| createParticipant["Create Participant ID + Endpoint + Key"]
adminReview -->|reject| rejectReason["Notify Rejection Reason"]
createParticipant --> accountSetup["Create User Account + Assign Role"]
accountSetup --> activeReady["Participant Active and Ready"]
3) Partner Matching Flow
flowchart TD
requester["Requester Participant"] --> requestMatch["Send Match Request"]
requestMatch --> target["Target Participant Receives Request"]
target -->|accept| matchActive["Partner Relationship Active"]
target -->|reject| matchRejected["Request Rejected with Reason"]
4) Core Transaction Lifecycle (E2E)
flowchart TD
seller["Seller"] --> quotation["Send Quotation"]
quotation --> buyer["Buyer"]
buyer --> po["Create and Send Purchase Order"]
po --> sellerConfirm["Seller Confirm Order (qty/date adjustment allowed)"]
sellerConfirm --> invoiceIssued["Seller Issue Invoice/Tax Invoice"]
invoiceIssued --> deliveryNote["Seller Send Delivery Note + Shipment Info"]
deliveryNote --> goodsReceipt["Buyer Confirm Goods Receipt"]
goodsReceipt --> invoiceAck["Buyer Confirm Invoice Completeness"]
invoiceAck --> setPaymentDate["Buyer Set Payment Schedule"]
setPaymentDate --> paymentConfirm["Buyer Send Payment Confirmation"]
paymentConfirm --> sellerPaidNotice["Seller Receives Payment Notice"]
5) API-based Document Exchange Flow (ERP Integration)
flowchart TD
erpSender["Sender ERP"] --> apiGateway["Secured API Gateway"]
apiGateway --> authCheck["AuthN/AuthZ Check"]
authCheck --> validation["Structural + Semantic Validation"]
validation --> registryCheck["Check Participant + Document Registry"]
registryCheck --> routing["Data Orchestration Routing"]
routing --> receiverEndpoint["Receiver Endpoint"]
receiverEndpoint --> callbackResult["Delivery Success/Failure Callback"]
callbackResult --> senderERPResult["Sender ERP Receives Status"]
6) Exception Flows
6.1 Validation Failed
flowchart TD
receiveMsg["Receive Message"] --> validateMsg["Validate Structure/Semantics"]
validateMsg -->|failed| rejectMsg["Reject Message"]
rejectMsg --> errorReason["Return Error Code + Message"]
errorReason --> auditTrail["Write Audit + Transaction Event"]
6.2 Routing Failed
flowchart TD
routeStart["Start Routing"] --> endpointLookup["Lookup Endpoint in Directory"]
endpointLookup -->|notFound or inactive| routeFail["Routing Failed"]
routeFail --> senderNotify["Notify Sender with Failure Reason"]
senderNotify --> supportQueue["Visible in Support Transaction Viewer"]
6.3 Goods Incomplete / Claim Flow
flowchart TD
deliveryArrive["Shipment Arrives"] --> buyerInspect["Buyer Inspect Quantity/Quality"]
buyerInspect -->|complete| receiptComplete["Goods Receipt Complete"]
buyerInspect -->|incomplete or damaged| createClaim["Create Claim via System"]
createClaim --> sellerReviewClaim["Seller Reviews Claim"]
sellerReviewClaim --> claimResolution["Resolve with replace/credit/adjustment"]
7) Back-office Operational Flow
flowchart TD
admin["Admin"] --> userAccess["Manage Users/Roles/Permissions"]
admin --> configSchema["Manage Message Schema + Code Lists"]
support["Support"] --> transactionViewer["Search and Inspect Transactions"]
support --> auditViewer["Review Who/What/When Logs"]
dashboard["System Dashboard"] --> admin
dashboard --> support
8) Mapping Flow to Pricing Buckets
เพื่อให้ vendor ประเมินราคาได้เร็ว ควรให้แตก effort ตาม flow กลุ่มนี้: - Onboarding & KYC/KYB - Partner Matching - Document Lifecycle Engine - Validation + Routing + Callback - Billing & Payment - Back-office + Monitoring + Audit
9) Assumptions / Out of Scope
Assumptions: - เอกสารธุรกรรมทุกชนิดสามารถแลกเปลี่ยนได้ทั้งผ่าน portal และ API - กรณี ERP integration จะมี endpoint ที่ตกลงมาตรฐานร่วมกันก่อนเริ่มพัฒนา
Out of Scope: - กระบวนการทางกฎหมายภายนอกระบบ (เช่น การพิสูจน์ข้อพิพาทเชิงสัญญา) - รายละเอียด internal process ของบริษัทคู่ค้าแต่ละราย