TradePlus
Guided tour · live data

Walk through TradePlus end-to-end

Start with the orientation block below if the names CRC and Osotspa haven't fully clicked yet — it shows who's who and how the money moves. After that, eight numbered steps walk through one real agreement end-to-end. Each Open this button switches the sidebar role for you, then deep-links into the live page.

Synthetic data 32 suppliers 126 agreements 632 executions 93 claims
Orientation · who's who

The two parties in every trade-promotion deal

TradePlus sits between two players: a giant retailer and the brands that fill its shelves. Everything below is about money flowing between these two, and the tool that keeps the books on it.

Name in the story What they actually are Role in the deal
CRC Central Retail Corporation. Owns Tops, Central Food Hall, Thai Watsadu. Retailer · your client
Osotspa, Unilever, Coca-Cola, P&G… The brand makers. Osotspa makes M-150. Unilever makes Sunsilk. Supplier · the brand
Shopper You and me, walking into Tops. End customer
TradePlus The product Inline One is building for CRC. The tool
Orientation · the two money flows

Why the word "buy" gets confusing

Money moves between CRC and a supplier in two completely separate streams. The wholesale stream is handled by other systems. TradePlus only tracks the second one.

Flow 1 Wholesale purchase · handled by CRC's ERP, NOT TradePlus
Supplier
Osotspa
Makes M-150 cases
Retailer
CRC
Stocks Tops shelves
End customer
Shopper
Buys M-150 off the shelf
Flow 2 Trade promotion · this is what TradePlus tracks
Supplier · payer
Osotspa
Owes display fees, volume rebates, slotting, co-op ad
Retailer · collector
CRC
Bills, collects, settles disputes

Estimated leakage at large Asian retailers: 5–15% of Flow-2 money goes uncollected every year because no one filed the claim. For CRC that's hundreds of millions of baht — and the dashboard's leakage panel is built to surface exactly that.

Orientation · the role labels in the sidebar

Five people inside CRC, plus the supplier on the other side

The role switcher in the sidebar lets one demo user "play" any of these. In real CRC, each is a different team.

Buyerat CRC
A category buyer. Procurement officer at CRC who negotiates the deal with the supplier. Signs the agreement on CRC's side. Not a shopper. Not the supplier.
Store Opsat CRC
A CRC field auditor or store associate. Walks Tops stores, photographs the display, uploads the proof.
Financeat CRC
CRC's accounts-receivable team. Calculates the claim, generates the debit note, chases settlement.
Commercial Directorat CRC
Senior CRC executive. Watches the dashboard. Cares about totals, leakage, and disputes open.
Supplierat the brand
Someone at Osotspa, Unilever, or P&G — the supplier's own sales or finance team. Sees the same evidence CRC sees, can dispute a claim inline.
Hero scenario

Thai Union Frozen Products pays CRC ฿355 per store per day to keep Sealect End-Cap Display — Songkran in 7 stores from 01 May to 31 Aug 2026.

Total committed ฿305,655. CRC's deal: prove the display existed, claim the money, issue a debit note, settle. Thai Union Frozen Products can dispute. Below, you'll trace this one agreement from creation to dispute through five role lenses.

AGR-TUF-001-0055 Display Allowance active claim Disputed
01
Commercial Director · /

The leakage hook

Dashboard lands with KPIs and a live leakage report — volume rebates already earned but not yet claimed. This is the "money on the table" moment that opens every demo.

SupplierAgreementVolume snapshotTierPotential claim
Boon Rawd Brewery AGR-BOO-001-0048 ฿56,400,000 2.25% ฿1,269,000
Nestlé Thailand AGR-NES-TH-0013 ฿56,256,000 2.25% ฿1,265,760
Thai Beverage Public Co. AGR-THB-001-0018 ฿51,312,000 2.25% ฿1,154,520
Charoen Pokphand Foods AGR-CPF-001-0026 ฿46,656,000 2.25% ฿1,049,760
02
Buyer · /agreements/4147ff89…

Inspect the agreement

Status, period, committed THB, claim window, fee structure, brands covered, and the full store list — each store carrying a verified/pending chip from its execution row.

Fee structure
Daily rate per store
฿355
Stores in scope
7
Duration
123 days
Display spec
End-cap gondola with branded header card
Claim window
30 days
VAT
7% applicable
Stores covered (first 8 of 7)
  • Tops Bang Kapi Bangkok
  • Tops Bangna Bangkok
  • Tops Chiang Mai Airport Chiang Mai
  • Tops Chiang Mai Festival Chiang Mai
  • Tops Lat Phrao Bangkok
  • Tops Onnut Bangkok
  • Tops Phrom Phong Bangkok
03
Store Ops · /executions?agreement=4147ff89…

Proof-of-execution photos

Each photo is geo-matched against the store and assessed by Claude Vision in plain English. One row below scored low — the kind of partial-stocking finding that excludes a store from the claim.

DateStoreGPSAI assessmentStatus
11 May 2026 Tops Phrom Phong match
98%
Verified — photo shows a Sealect end-cap display at Tops Phrom Phong. Branded header card visible, product facings match agreement spec. Confidence 0.98.
verified
13 May 2026 Tops Onnut match
97%
Verified — photo shows a Sealect end-cap display at Tops Onnut. Branded header card visible, product facings match agreement spec. Confidence 0.97.
verified
18 Jun 2026 Tops Bangna match
89%
Verified — photo shows a Sealect end-cap display at Tops Bangna. Branded header card visible, product facings match agreement spec. Confidence 0.89.
verified
24 Jun 2026 Tops Bang Kapi match
93%
Verified — photo shows a Sealect end-cap display at Tops Bang Kapi. Branded header card visible, product facings match agreement spec. Confidence 0.93.
verified
11 Jul 2026 Tops Chiang Mai Airport match
85%
Verified — photo shows a Sealect end-cap display at Tops Chiang Mai Airport. Branded header card visible, product facings match agreement spec. Confidence 0.85.
verified
Want to upload one yourself? The drop zone runs Claude Vision inline in under 5 seconds.
04
Finance · /claims/019f6764…

The auto-calculated claim

Every input is frozen on the claim row, the formula is in plain English, and the breakdown table shows every store that contributed (or didn't).

Claim
CLM-2605-00042
01 May → 31 Aug 2026
Disputed
Money
Amount
฿261,990
VAT 7%
฿18,339
Total
฿280,329
Formula · plain English

verified stores (6 of 7) × days (123) × daily rate (THB 355) = THB 261,990

Or generate a fresh one from scratch — the engine runs inline in under 2 seconds.
05
Finance · /claims/019f6764…/debit-note.pdf

Thai-compliant debit note PDF

Sequential note number. CRC + supplier tax IDs. 7% VAT separated. Amount in Thai words. Bilingual layout. Ready to file.

Open PDF in new tab →
Note number
DN-2026-000025
Issue date
06 Sep 2026
Total
฿280,329
Linked claim
CLM-2605-00042
Reason
Trade promotion claim: Display Allowance — May 2026
06
Supplier · /supplier · acting as Thai Union Frozen Products

The other side of the table

Same database. Filtered to this supplier. They see every agreement CRC has on them, every claim filed, and every debit note issued.

CodeTypeStatusPeriodCommitted
AGR-TUF-001-0057 Slotting Fee active 01 Aug → 30 Nov 2026 ฿1,579,168
AGR-TUF-001-0055 Display Allowance active 01 May → 31 Aug 2026 ฿305,655
AGR-TUF-001-0056 Volume Rebate active 01 May → 30 Sep 2026 ฿1,994,077
AGR-TUF-001-0058 Co-op Advertising expired 01 Dec → 31 Jan 2026 ฿4,237,827
07
Supplier · /supplier/claims/019f6764…

The supplier disputes inline

Same proof photos. Same formula. Same breakdown. The dispute is a note attached to the claim — no email tennis.

Incorrect quantity / volume raised by Supplier · 2 months ago

Our records show 14 compliant stores, not 15. The Chiang Rai store was closed for renovation during week 2 of the period.

08
Open API · /api/v0 · no auth header

Curl from the terminal

CRC's dev team can hit any endpoint from their desk during the meeting. No credentials, no SSO, no provisioning. Production hardening is the next milestone.

Generate this exact claim
curl -sS -X POST http://127.0.0.1:8088/api/v0/claims/generate \
    -H 'Content-Type: application/json' \
    -d '{"agreement_id":"4147ff89-62ad-43e2-aede-333fd1081f0e",
         "period_start":"2026-05-01",
         "period_end":"2026-08-31"}' | jq
Leakage report
curl -sS http://127.0.0.1:8088/api/v0/analytics/leakage | jq
Reset everything
curl -sS -X POST http://127.0.0.1:8088/api/v0/session/reset
What to watch for

Seven moments the demo is built around

  1. 01 Leakage hook lands on first paint — real THB-denominated unclaimed rebates before you say anything.
  2. 02 Role switch re-renders the same data four ways. Same DB, no logins; the UX is the demo signature.
  3. 03 AI photo validation reads as plain English — not just a confidence number.
  4. 04 Formula is plain English; inputs are frozen; breakdown is per-store. Every baht is auditable.
  5. 05 Debit note PDF in <3s with Thai script and Thai-words amount, ready to file under Thai Revenue Code.
  6. 06 Supplier sees the same evidence. Disputes are inline and instant.
  7. 07 Open API. curl from a terminal returns identical structured data — your dev team can poke it during the meeting.