Live · Revo Books 🛒 PRODUCT PORTAL ↗
KK
Ken Kennedy
Mission Control
Revo Sportswear Group · Staff Sign-In
Single sign-on — your session works across Catalog, Resources, Campaigns & the entire staff portal.

+ New Customer

Creates a new contact in Zoho Books. The new contact_id is returned and the contact appears in Mission Control immediately. Required fields are marked *.

All required fields needed before submit.

+ Add Person to Customer

Adds a new person under an existing customer record in Zoho Books (e.g. an AP contact, buyer, or coach). Persons live under a customer — they share the same billing/shipping address but each has their own email/phone/role.

Required fields: customer, first name, email.
QOPI Chain · click any record to jump to it
Overview
Line items 0
Documents & Attachments 0
Communications 0
Notes 0
Audit trail 0
Customer / Shipping

Quick summary

Recent activity

Line items per-line vendor shown · click vendor to change

All documents in this chain

Communications on this order

Internal notes visible to staff only — never sent to customer or vendor

Full audit trail · everything that's ever happened on this chain

Customer & shipping

Order line items

Line items live in the Zoho Books invoice — not in the local cache.
Click ↻ Load from Zoho when on the live server.

Artwork & attachments

Lifecycle

Customer & shipping

Qty:

Good morning, Ken

Mission Control · everything you need to run the day, one click away
Triggers
Approvals
Open Orders
A/R Past Due
New Order / Quote
Comprehensive order entry — customer, ship-to, contacts, sales rep, dates, methods, payment terms, internal + vendor notes. Drives the whole downstream chain.
👥
Contacts
490 active 3-year customers. Activity feed, invoices, payments, AI brief.
Approvals
Customer art approvals + vendor PO acknowledgements waiting on you.
Smart Triggers
Customers flagged today — miss-you, congratulate, reactivation, declining, 1st-order thanks.
Tasks & Things To Do
Your personal task list — follow-ups, callbacks, anything not tied to a customer record.
📧
Email Inbox
All sent & received emails. Auto-classified to known customers, auto-attached to orders by Q-/R-/P-/INV- number in subject or body.
Email Campaigns
Build & send campaigns. Trigger-driven outreach for dormant, growing, congrats lists.
Orders & Invoices
All orders / invoices across both Zoho books. Status, balance, production stage.
🚚
Vendors & POs
Purchase orders out to factories. Acknowledgements, ship dates, three-way match.
Production
Live floor view — what's in art, sample, sew, ship.
Product Maintenance
Edit product data, images, design templates, options. Lives in Product Portal — opens in same tab.
💲
Price Lists
Generate customer-facing pricelists. Multi-dept, discount, USD/CDN.
📞
Phone / Dialer
Click-to-dial through Zoho Voice. Post-call classification + auto-transcribe to the right record.

Today's to-do list everything that needs an action today · across every customer · grouped by job

Recent QOPI chains Quote → Order → PO → Bill → Invoice · click to drill into full chain history

Today's priority queue

Loading…
Pulling smart triggers + approval queue

At a glance

Today's date
Last invoice issued
Next order number
View
Cliq channel activity
Open →
Bills awaiting match
View

📧 Email

All sent & received · auto-classified by sender + auto-attached to orders
Loading inbox…
Select an email on the left to preview, classify, and attach.

📎 Files & Attachments

Every file uploaded across every chain — artwork, customer POs, vendor docs, approvals, shipping. Filter + sort to find anything in seconds.
Type Customer Uploaded since Sort

Loading…

+ New Order / Quote

Comprehensive order entry — capture everything upfront so all downstream automation (PO, customer ack, invoice, follow-ups) just works.
1Header & people
2Items & options
3Review & save

Type

Choose whether this is a quote (no commitment yet) or an order (commits to production + vendor POs).
Quotes can be converted to orders later with one click.

Customer

The company being billed. Selecting a customer auto-fills addresses, currency, contacts, sales rep, and payment terms.

Project

Identifies this order across emails, POs, and the customer-facing tracking page.
Appears as the headline on emails + tracking page (e.g. "Re: Kahuna Sharks 2026 — order confirmed").
Their internal reference number — included on our invoice so they can match it on their side.

Shipping

Where, when, and how this order ships. Each PO sent to a vendor shows these so they know what to fulfill against.
When this needs to leave our floor. Drives the PO required-ship-date sent to every vendor.
When the customer needs it (game day, season opener, etc.). Used by AI to flag at-risk orders.
Only needed if shipping on customer's account. Passed to vendor on the PO.

People on this order

Different stages of the order go to different people. Picking them now avoids "who do I email about this?" later.
Who internally owns this order. Their name appears on customer emails ("— Ken Kennedy").
Receives the order confirmation email + tracking link. Updates when art is ready, when shipped.
Often the team manager / coach. Gets the art proof emails.
Receives the invoice + payment reminders. Different from above for larger orgs.
Person you need isn't listed? + Add person to this customer

Terms

Currency + payment terms appear on customer emails and the invoice. Default to the customer's standing terms but can be overridden per order.
Determines which Zoho Books org (Revo USD / Billboard CAD) the invoice posts to.
Drives the due date on the invoice.

Files & attachments

Attach the customer's PO, sample art, spec sheets, anything to keep with this order. Files get tagged by type so they're sortable later in the Files browser.
Common at this stage: Customer PO · Sample art / mockup · Spec sheet

Notes & instructions

Two separate fields — one for internal eyes only, one that goes to vendors on the PO.
Fill the required fields to continue.

💡 Context help

Click any field on the left and tips will appear here — what it does, what it auto-fills downstream, and best practices.

💬 Cliq

Live channel feed from Zoho Cliq · post messages directly
Loading channels…

#

Pick a channel on the left
💬

Pick a channel from the list to see live messages.

Smart Triggers

Loading customer signals…
Active 3yr
Triggers
Growing
Dormant
1st-order
Suppressed

Smart Triggers — customers flagged for outreach today

Loading…
Contacts  › 

📋 Activity
▣ Orders & Quotes
💬 Communications
💳 Payments
📝 Notes
📎 Files

Recent activity

Orders & Quotes unified — every quote, order, invoice and PO for this customer, with status + next action

Loading…

Communications log every email, call, text related to this customer

Loading…

Payments

Payment history loads from Zoho Books — wired in next pass.

Internal notes placeholder

Notes pane — staff annotations land here. CRM-side notes wire in when Mail/Notes integration is built.

Files & attachments placeholder

Pulls from Zoho Books invoice attachments + manually uploaded files.

Account snapshot

Status
Last order
Typical interval
Avg DSO(needs payments)

Account contact info

📧 Email
📞 Phone
Primary

People at this customer

Loading…

Suggested templates based on segment

Intro
Reorder

Pipeline

Live view of orders/invoices by lifecycle stage · click any card to drill in

Contacts

Live · 490 active 3-year customers
Active 3yr
Dealers
Corporate
Growing
Miss-you
Dormant
Suppressed
Segment Trigger Status Sort
Company Segment Last order TTM Revenue YoY Lifetime orders Triggers Actions
Loading customers…

Companies

Account-level roll-up across active customers. Click a row to open the contact detail.
Companies
VIP (>$100k TTM)
Mid ($10k–$100k)
Small (<$10k)
Sort
CompanySegmentLifetime $TTM $OrdersLast activityStatus

Legacy Quote Builder use Workspace instead

This older view is preserved while we transition. Use Workspace for new orders.
Department Sort
Loading products…

Cart

0
Customer
Next order #:
Cart is empty. Click any product to add.

Orders & Invoices

Loading…
Total (3yr)
Paid
Sent · unpaid
Overdue
Draft
Open balance

QOPI chains Quote → Order → PO → Bill → Invoice — full audit trail per chain

Zoho Books invoices (legacy)

Status Salesperson Range Sort
Invoice # Customer / Logo Date Status Total Balance Salesperson Days Action
Loading invoices…

Approvals

Customer order + artwork approval workflow. Pending approvals at top; overdue flagged red.
Pending
Overdue >3d
Approved (30d)
Changes requested

Pending customer approvals

Invoices in draft or sent + unviewed — staff needs to send proof or nudge customer
Invoice #CustomerLogo / TeamTotalSentDays waitingActions

Approval workflow

The combined approval flow (full build when proof_manager.php is wired):

  1. Staff finalizes the order in Mission Control — quote becomes order, gets a number from the sequence
  2. Artwork attached (front + back proof) via reorder_attachments or upload
  3. Customer receives a single email with order summary, artwork, costs, ship date — single magic link, no login
  4. Customer clicks one button: Approve (locks order to vendor) or Request Changes (returns to staff)
  5. If approved → auto-generates PO with the same order number, kicks off Vendor PO acknowledgment workflow
  6. If changes → message comes back into Mission Control's customer thread, staff iterates art

Reminder cadence after send: 24h / 72h / 5d if no open. Auto-escalates to staff after 5d.

Vendors & Purchase Orders

Vendor list pulled from products.json · PO data is illustrative until books_purchase_orders proxy action is wired
Vendors
3Active POs
1Overdue ack
12Shipped (30d)

Vendors

Active Purchase Orders illustrative

PO #VendorCustomer OrderValueStatusSentEst shipActions
R26-200001-POHEALONG · VietnamLakeside HS Football$1,890Acked2d agoJun 1
R26-200002-POIMPRESOS VELAZQUEZ · MexicoSpecial Olympics SC$4,882In production5d agoMay 28
R26-200003-POFANCY TERRY · USAQuality Sports Ltd.$3,420Sent · awaiting ack4d ago
R26-199998-POHEALONG · VietnamFUJI & Hatashita$986Shipped2 wks agodelivered

Bills & Freight

Three-way matching: PO ↔ Supplier Bill ↔ Received Goods · plus freight estimate vs actual
5Bills to match
2With variance
8Freight to recv
1Possible dup

Three-way match example illustrative · workflow preview

PO R26-199998-PO · HEALONG Vietnam · for FUJI & Hatashita Order DB2014802

① PO sent to vendor

22 × jerseys$9.50 each
Setup charges$110.00
Freight (est)$85.00
Total$404.00

② Supplier bill

22 × jerseys$9.50
Setup charges$110.00
Freight(billed separately)
Total$319.00
✓ Matches PO line items

③ Freight invoice (XPO)

BOL #88142$92.50
Estimated$85.00
+$7.50 variance. Within 10% tolerance — auto-approve? Or flag for review?

Duplicate freight detection illustrative

⚠ Possible duplicate detected. XPO BOL #88142 ($92.50) was received Apr 30. A new bill from XPO arrived May 16 for the same PRO number ($92.50). System flagged for review — same carrier + PRO + amount + within 30 days.

Production

What's in production right now, grouped by vendor. Ship-date forecasting from vendor lead times.
In production
Ships this week
Ships next week
Past est ship

In production by vendor illustrative

Order Numbering

Mission Control assigns the order number at quote → order conversion. The same number flows through PO and invoice. Format: R26-XXXXXX (R=Revo, 26=year, 6-digit sequence).
Next number
Current prefix
Source

How numbering works

Sequence: One counter per prefix, incremented atomically when a number is reserved. Starting buffer: R26-200000 (above any Zoho-issued numbers to prevent collision while running both systems in parallel).

When a number is assigned: at the "Send quote" or "Convert to order" step. Before that, the order is just a draft.

Lifecycle: Quote → Order → PO to vendor → Invoice (when pushed to Zoho with this pre-assigned number, overriding Zoho's auto-numbering).

Year rollover: automatic on Jan 1 — prefix advances (R26 → R27) and counter resets to 200001. Old-year numbers remain valid forever.

Reserved-but-unused numbers: normal. If a quote is abandoned, the number is "spent." Gaps in the sequence are expected.

Reservation log

Loading…

Server-side state file

On the live server, the state lives at data/order_sequence.json. The PHP endpoint misctl_next_number.php handles atomic file-locked reads/writes.

To bootstrap on the live server: upload misctl_next_number.php; the state file will auto-create on first call. To override the starting number, manually create data/order_sequence.json with {"R26":{"next":200001,"issued":0}}.

📣 Campaign Manager

Build, send, and track marketing campaigns. AI-assisted drafting · stock templates · open tracking · engagement ranking · unsubscribe management.

All campaigns

Loading…
📦 Module

📨 Email Templates

Live preview of the three customer/vendor emails — pick a chain on the left, see exactly what the recipient will get.
Sample chain

Order Acknowledgement preview

🔧 Zoho Diagnostics

Probe every Zoho API misctl uses · identify missing OAuth scopes · get the exact regeneration steps
⚡ Just regenerated your refresh token? Click 🗑 Clear token cache first — otherwise the next ~50 min of API calls will keep using the cached access token (with the OLD scopes) until it expires naturally. Probes will look like the new scopes never took effect.

Results

Click "Run probes" to start.

If anything failed: regenerate the refresh token

  1. Open api-console.zoho.com in a new tab (sign in as Revo).
  2. Click into your existing Self Client (or Add Client → Self Client).
  3. Click the Generate Code tab.
  4. Paste the full scope string from below into the "Scope" field.
  5. Set Time Duration: 10 min and Scope Description: "Mission Control".
  6. Click Create. Copy the 10-char Code.
  7. Open a terminal in the Claude Code project root and run:
    python zoho_setup.py
    Paste the three values (Client ID, Client Secret, Code) when prompted. It rewrites config/zoho_config.php with the new refresh_token.
  8. FTP the updated config/zoho_config.php to revosg.com.
  9. Come back here and click Run probes again — everything should be green.
Full scope string
📞 Dialer · Zoho Voice
Recent
No recent calls yet

📎 Attach file

📤
Click to choose or drop a file here
PDF, JPG, PNG, AI, EPS, SVG, ZIP, DOC, XLS — up to 25 MB
Pick a type so this file gets the right tag.
Quote / Order / POs / Invoice = include in those record types when listing or sending
Customer-visible = appears on the public tracking page · Vendor-visible = sent with vendor PO emails

📤 Send Order + Vendor POs

Review the recipients below — uncheck anything you don't want to send. Click Send all and we'll fire them off one by one and log everything to the chain's audit trail.

✨ Compose Email

(sends as you so customer replies route back)
+ Cc + Bcc
— write yourself, pick a template, or describe what AI should write
— PDFs, images, line-item sheets, proofs

✨ AI Assist

Pick a template, write a prompt, or just start typing.
Draft saved locally as you type · Ctrl+Enter to send

✨ Compose Cliq Message

AI polishes your rough idea and tags it with the order ref so replies route back
Tip: you can skip the AI polish entirely and write directly in this box.

Wrap up call

Number:
Customer
Lead
Vendor
Internal
Personal
Other
AI will transcribe the recording (if available) and append a summary to the customer/lead/vendor record after you save.