Workshop Automation
All Workshops
Click to configure
Sales & Revenue
Fetch past orders from WooCommerce REST API and import them as sales records. Orders already in the system are skipped automatically.
WooCommerce API keys must be saved in API Settings first.
Revenue β Last 30 Days
By Workshop
By Payment Gateway
Top States
Orders by Day of Week
Recent Orders
Payment Reconciliation
Compares successful gateway payments against the orders recorded in this system, so you can spot money received without an order, orders with no payment, and amount mismatches.
Add the gateway's API keys first.
β In gateway β not in system (money received, no order logged)
β In system β not in gateway (order logged, no successful payment)
β Amount mismatch
β Matched (net = after gateway fees)
β Orders received but not yet settled (awaiting payout β usually settles next cycle, T+2/T+3)
π¦ Bank payouts (each settlement Razorpay deposited β click to see the orders it paid out)
Profit & Loss
Revenue is shown net of 18% GST. Gateway fees use actual settlement data where available (PhonePe is estimated). Enter Facebook ad spend excluding GST β 18% GST is added automatically. Groceries = βΉ/workshop Γ number of workshop sessions (auto-counted as distinct workshop Γ week β editable).
P/L Statement
Gateway Fees
Workshop Sessions (distinct workshop Γ week in the period)
Accounting (Double-Entry)
Profit & Loss
Balance Sheet
Trial Balance
Upload a CSV of expenses / ad spend. Columns:
Date, Account, Amount, GST%, PaidFrom, Narration.
Amount is the total incl. GST; Account & PaidFrom match by name or code (GST% defaults to 18, PaidFrom to Bank). GST is auto-claimed as ITC.
β Download template
Journal Entries
Add Account
Students Directory
Top Students by purchases
Students by State
No students found.
Order Logs
No logs yet.
API Settings
β Leave any field blank to keep its existing saved value. Only fill a field to update it.
π± Messaging & Email WhatsApp Β· XpressBot Β· Selzy
WhatsApp Cloud API
β already set
XpressBot
β already set
Selzy
β already set
Selzy Automation Trigger (global β fires for every workshop unless overridden per workshop)
Paste the URL from your Selzy omni-automation API Trigger block. In your email template use
{{ ApiTrigger1.group_link }},
{{ ApiTrigger1.schedule }},
{{ ApiTrigger1.workshop }} etc.
π Sheets & Order Import Google Β· All Sales Β· WooCommerce
Google Service Account (for Sheets)
β already set
All Sales Sheet (global duplicate check β applies to every workshop)
When a new order arrives, the Check Duplicate step will check this sheet in addition to the per-workshop sheet.
Use your master "All Sales" Google Sheet so students from previous batches can't re-enrol.
WooCommerce REST API (needed for historical order import)
β already set
β already set
π³ Payment Gateways Razorpay Β· Cashfree Β· PhonePe
Razorpay (for payment reconciliation)
Generate keys in Razorpay Dashboard β Settings β API Keys β Generate Key. Read access is enough.
β already set
Cashfree (for payment reconciliation)
Generate keys in Cashfree Dashboard β Developers β API Keys. Use your Production credentials.
β already set
PhonePe (for payment reconciliation)
From PhonePe Business β Developer Settings β API Keys. PhonePe can only verify orders one-by-one, so reconciliation confirms each recorded order was actually paid (it can't list payments that have no order).
β already set
π File Uploads Cloudinary β PDFs
Cloudinary (for uploading workshop PDFs β free)
In Cloudinary Console: copy your Cloud name (Dashboard); create an Unsigned upload preset (Settings β Upload β Upload presets β Add β Signing Mode: Unsigned) and copy its name; and turn on Settings β Security β "Allow delivery of PDF and ZIP files".
π Account signed up with: [email protected]
π Account signed up with: [email protected]
β Saved
Google Contacts Connection
Connect a Google account to automatically create contacts. You can disconnect and switch to a different account anytime.
Checkingβ¦
βοΈ One-time developer setup (OAuth credentials)
Set up once in Google Cloud Console. After this, only the "Sign in with Google" button above is needed.
β already set
β Saved