QT (Quotation) Handshake
The QT (Quotation) handshake is a screen where the Seller and the Buyer place a single quotation document side by side and exchange terms. You compare the Seller quote on the left with the Buyer quote on the right line by line, going back and forth with counter-offers and acceptances — and once you reach agreement, a purchase order (PO) is created automatically.
💡 Who uses this? Trade practitioners who need to finalize a quote by adjusting price, quantity, and terms with a buyer over several rounds. Instead of sending quotation files back and forth by email, you can see what changed on a single screen and drive the negotiation all the way to agreement.
ℹ️ Permission requirement — Every action in QT (edit, save, approve, Accept, etc.) checks your license before it runs. Without a license you can still view, but pressing an action button brings up an information modal.
(Only in environments where license gating is enabled — see License)
🖼️ Screen capture View mode toggle at the top of the document viewer — Single / Split / QT (the QT button appears only on QT documents) 📍
tflowx.com/projects/:iddocument viewer · Saved atimages/app/qt-viewmode-toggle.png
1. Entry — QT Mode in the Document Viewer
- In the project's document viewer, open a Quotation document.
- Choose a mode from the view mode toggle at the top.
| Mode | Description |
|---|---|
| Single | View a single document in large size |
| Split | View two documents side by side |
| QT | A button that appears only for quotation documents. The Seller↔Buyer handshake screen |
- Press QT to switch to the quotation handshake screen.
ℹ️ The QT button appears only when the open document is a Quotation document. For other document types, only Single/Split are shown.
2. Layout — Seller ↔ Buyer Split View and diff
The QT screen is a left/right split view.

| Area | Content |
|---|---|
| Left (Seller) | The seller's quote — version selector + quote viewer |
| Center handle | The resize handle that adjusts the left/right width |
| Right (Buyer) | The buyer's quote — version selector + quote viewer |
- In each pane you can select a version to view the quote at the point in time you want.
- The Seller and Buyer values are compared, and rows that differ are highlighted (diff) for emphasis. You can see at a glance what changed.
🖼️ Screen capture QT Split View — Seller quote on the left / Buyer quote on the right + diff highlighting on mismatched rows 📍
tflowx.com/projects/:iddocument viewer (QT) · Saved atimages/app/qt-split-diff.png
3. State Machine — Only the Actions You Can Take Right Now
QT shows only the actions that are possible in the current state as buttons. Based on the canAct value returned by the server, only the actions you can take right now appear.
| Role | Available actions (shown depending on state) |
|---|---|
| Seller | Edit/save quote, request approval/approve, cancel approval, New Quote, Accept Counter, Send New Quote |
| Buyer | Counter Offer, Send Offer, Accept, Request Accept |
- Buttons for actions you cannot take in the current situation are simply not shown. If a button is missing, it is either the other party's turn to respond or the action is not allowed in the current state.
- Every action checks the license right before it runs.Permission requirement
4. Agreement — Automatic PO Generation on Accept, Edit Lock After Approval
- When the Buyer clicks Accept, a purchase order (PO) is automatically generated based on that quote.
- If the quote is finalized but the PO is missing for some reason, a Regenerate PO banner appears on the screen. You can press it to create the PO again.
- Lock after approval: Once approval is complete and the state is locked, editing the quote is blocked. This is a safeguard that prevents you from accidentally changing a quote that has already been agreed upon.
🖼️ Screen capture Notice for the PO automatically generated after Accept / the Regenerate PO banner shown when the PO is missing 📍
tflowx.com/projects/:id· Saved atimages/app/qt-po-generated.png
5. Real-Time Updates
The QT screen automatically reflects the other party's changes.
- When the other party changes the quote, a collaboration channel event auto-refreshes the screen.
- However, while you are editing, the auto-refresh is held back so your work in progress is not lost. Once you finish editing, the screen updates to the latest state.
💡 Troubleshooting (FAQ)
Q. I don't see the QT button in the document viewer. A. The QT button appears only when the open document is a Quotation document. Check that it is actually a quotation document, and check the view mode toggle at the top.
Q. I don't see any action buttons (Accept, Counter, etc.). A. QT shows only the actions that are possible in the current state. It may currently be the other party's turn to respond, or the action may not be allowed in the current state. When the other party takes an action, the button for your turn will appear.
Q. When I pressed a button, "A license is required" appeared. A. Every action in QT requires a license.Permission requirement Ask your company Master to assign you a license. → License
Q. I clicked Accept but I don't see the purchase order (PO). A. It is usually generated automatically, but if it is missing, a Regenerate PO banner appears. Press the banner to generate it again.
Q. I'm trying to edit a quote but editing isn't working. A. A quote whose state is locked after approval cannot be edited. This protects the agreed content; if a change is needed, propose again with a New Quote.