Onboard your practice onto RA OS step-by-step — when, where, what, how, and why.
Take the Interactive Admin Tour Every page in your dashboard, explained one slide at a time — self-paced, or hit play and let it run.A first-time look at your whole practice, at a glance: exactly what to do, in order, and exactly which document gets uploaded at each step. Steps marked Upload involve uploading a real file.
आपकी पूरी प्रैक्टिस का पहली बार में एक नज़र में ओवरव्यू: बिल्कुल क्या करना है, किस क्रम में, और हर स्टेप पर बिल्कुल कौन-सा डॉक्यूमेंट अपलोड होता है। Upload मार्क वाले स्टेप्स में असली फ़ाइल अपलोड होती है।
@valid) and upload your QR code image.@valid ज़रूरी) सेट करें और QR कोड इमेज अपलोड करें।Go to the B2B signup page. Verify your email with a one-time code, set a password, then fill in your organization profile: name, SEBI registration number, BSE enlistment number, desired subdomain, and support contact.
You'll be asked to upload:
You can add or remove any of these documents later too, from Settings → Verification Documents — you're not locked to what you submit at signup.
A platform reviewer checks your submitted documents and either approves or rejects your organization. You'll be able to log in once approved.
In Settings → Organization Profile, fill in your name, SEBI reg no, BSE enlistment no, logo, tagline, and brand color — this is what your own clients see on your public landing page and in emails.
Investor Charter (Welcome Kit): Settings → Investor Charter (Welcome Kit) — upload your own signed SEBI Investor Charter PDF once, and it's attached automatically to every new client's Welcome Kit email and dashboard from then on.
Compliance rule for B2B tenants: client KYC/e-sign must run on your own vendor accounts — the platform's shared account is for the default org only.
Every integration below lives in Settings. Leave a field blank to keep using the platform shared default (only until you configure your own — B2B tenants should plan to use their own accounts).
| What to configure | Where (Admin page) | What to fill in / Why |
|---|---|---|
| Digio (Aadhaar OTP e-sign) | Settings → Your Own Digio Credentials | Client ID, Client Secret, Webhook Secret — so clients sign under your own Digio account, not the platform's shared account. |
| CVL KRA (automated KYC lookup) | Settings → Your Own CVL KRA Credentials | All 6 required together: Username, Password, POS Code, Base URL, API Key, AES Key — partially filled = shared default fallback. |
| Razorpay (client payments) | Settings → Your Own Razorpay Account | Key ID, Key Secret, Webhook Secret + register webhook URL in Razorpay Dashboard (payment_link.paid, payment.captured, payment.failed). |
| PaRRVA (trade submission + public performance) | Settings → Your Own PaRRVA Credentials | 4 fields: Enrolment ID, Password, Auth URL, Trade Base URL — so Trade Dispatch submissions are filed under your own enrolment. |
| Digio webhook | Settings → Your Own Digio Credentials | Client ID, Client Secret, Webhook Secret, optional Base URL override. |
| Resend (transactional email) | Settings → Email (Resend) (API: /api/settings/email-config) | Your own Resend API key + verified email_from sender — so Welcome Kit, OTP, and alert emails go out under your own name. |
| Agreement PDF | Settings → Agreement / MITC PDF Template | Your own reviewed client agreement — both Digio and consent-click signing use this same file. |
| Broker (Live Performance Tracker, optional) | Settings → Broker Connection (Performance Tracker) | Connect Zerodha, Upstox, Angel One, Fyers, or Dhan for a live, view-only P&L on Trade Dispatch. Turn on Daily Auto-Login right below it and the server refreshes your token every morning — no manual reconnect. |
Settings → Channel Configuration — trade calls, the Welcome Kit, and your inbox all connect from here.
In Settings, choose which payment method(s) your clients see:
@valid, per SEBI's Valid UPI requirement) and upload your QR code. Clients pay directly and submit a UTR for you to verify manually.Valid UPI is part of the exact same fully-automated onboarding as any other payment method — the one difference is a single manual check, since UPI has no bank API to auto-confirm the money landed. A Google Apps Script watches your Gmail for Canara Bank credit-alert emails and auto-verifies most Valid UPI payments on its own; when that alert doesn't fire, you verify it yourself — confirm the payment landed in your own bank account, then click "✓ Verify Payment," either from the dedicated Verify Valid UPI page (sidebar, directly below Client Master (Logs) — every pending UPI payment listed newest-first, so you never have to search for a name) or from the same client's row in Reports → Prospects, where an unverified UPI payment shows up immediately. Once verified, activation, the Welcome Kit email, and the Telegram invite all fire automatically — exactly like a Razorpay/gateway payment.
On the Legal & Compliance Documents page, upload your own reviewed Disclosures, Terms & Conditions, MITC, Refund Policy, Grievance Redressal, Privacy Policy, AML Policy, and Internal Policy. These are attached automatically to your clients' Welcome Kit emails once uploaded.
The Domain & Microsite and Website Content pages — your public site's URL, footer links, and text blocks.
Every organization gets a free subdomain by default (yourname.os.profitxresearch.com style). For a custom domain (whitelabel), enable the add-on in Settings → Add-ons, then follow Domain & Microsite — connecting a real domain needs DNS steps with your registrar and a manual Vercel step with the platform owner.
Website Content page lets you edit footer links and editable text blocks on your public site without code. Content Hub (platform owner org only) manages profitxresearch.com marketing CMS — B2B tenants use Website Content for their own microsite.
Create your subscription plans in Plans, then either add clients manually in Client Master (Logs), or bring in an existing roster from prior software using Data Migration (clients, plans, and historical payments can all be imported).
When a client joins, they go through a sequential Sign Agreement → KYC → Payment flow. You control which method is used for each of the first two steps — this is entirely your own choice as the registered RA, not something RA OS imposes on you:
On the KYC step, a client also selects their own Client Category — Individual (Resident), NRI, FPI, or Institutional/Company. NRI/FPI clients upload a Passport + overseas address proof alongside their normal PAN/DOB check; Institutional clients (Company/Trust/HUF/Partnership/etc) upload entity registration documents instead of a personal PAN/DOB and are routed to manual review, since a company has no date of birth. This also fixes your H1/H2 periodic report's "Clients And Fees" schedule, which now correctly splits client counts and fees across these categories instead of assuming every client is a Resident Individual.
Add clients from Client Master (Logs), share the signup link, and track every step — why: SEBI's audit trail requires every stage to be recorded.
yoursubdomain.../client/signup or your custom domain).Your day-to-day work — sending trades, updating compliance, and client communication.
Invite staff from the Team & Access page; secure your own account under Settings → Security (MFA).
Send recommendations from Trade Dispatch — targeting all clients, a category, or specific individuals. Use the Schedule panel to queue a dispatch for a future date/time (cron sends automatically). Use Compliance Tracker, Complaints, and Public Appearance Master for regulatory record-keeping.
Once you submit trade calls to PaRRVA (Trade Dispatch's Intraday/Single Stock/Derivative segments — see the earlier step), you can show your SEBI PaRRVA-verified performance directly on your own public site. Enter your own PaRRVA Enrolment ID/Password under Settings → Your Own PaRRVA Credentials, then turn on Settings → PaRRVA Verified Performance — Public Display.
Blog (Communication Center → Write a New Blog Post) — publish posts on your own domain/subdomain. Naming a security, or using market price data from within the last 30 days, anywhere counts as a research recommendation under SEBI rules — check the "count as a Public Appearance" box when it applies and it's logged automatically, no separate step.
Communication Center → Social Media Auto-Posting lets you connect unlimited accounts per platform (Facebook, Instagram, LinkedIn, Twitter/X, YouTube, Telegram) and post manually, on a schedule, or from an AI-drafted suggestion you approve. Every published post is automatically logged as a Public Appearance record, ready-made for your Reports exports (H1/H2 periodic and Annual Compliance Audit).
pages_manage_posts and pages_read_engagement permissions.GET /{page-id}?fields=instagram_business_account.urn:li:organization:XXXXXXX, visible in your Company Page's admin URL./newbot → follow the prompts to get a Bot Token.getUpdates API response after posting once manually.A separate, lighter offering from your regular trade-recommendation client roster: build and sell educational Courses (video, PDF, image, and link lessons, organized into modules) to your own students. Enable it from Settings → Add-ons (₹299/month — free for the default org).
/admin/educational-cms.html — create courses, modules, and lessons; video lessons embed via privacy-enhanced YouTube, PDFs/images upload directly./edu-signup.html, /edu-login.html: name/email/mobile/password + email-OTP verification), deliberately kept apart from your ra_os.clients roster, since course enrollment is not the RA advisory relationship./admin/educational-cms.html page's own Payment Settings tab, under "Dedicated UPI," set your UPI ID and upload a QR code image (PNG/JPEG/GIF/WEBP). This is a completely separate QR code from the one you upload for your regular client payments (Section 7) — it's stored and served only for student course-fee checkout, never mixed with your RA-service Valid UPI QR.
/admin/educational-cms.html पेज के अपने Payment Settings टैब पर, "Dedicated UPI" के नीचे, अपना UPI ID सेट करें और एक QR कोड इमेज (PNG/JPEG/GIF/WEBP) अपलोड करें। यह आपके नियमित क्लाइंट पेमेंट्स (Section 7) के लिए अपलोड किए गए QR कोड से पूरी तरह अलग है — यह सिर्फ़ student course-fee checkout के लिए store और serve होता है, कभी भी आपके RA-service Valid UPI QR से मिक्स नहीं होता।/edu-catalog.html) and enroll with one click; lessons play through /edu-course.html.RA OS does not charge a flat monthly SaaS fee. Instead, the platform fee is a small percentage of your own advisory revenue — you only pay RA OS when you are actually earning from your own clients. The percentage and the minimum monthly floor both depend on which plan you pick (Basic/Professional/Growth/Scale/Enterprise); each month you pay whichever is higher — the percentage or the floor, never both added together. Each plan is also capped by your active (paid) client count — once you reach your plan's cap, you'll need to upgrade to add more clients. Fully customizable at every level, at no extra charge.
| Plan | Active clients | Platform fee | Minimum monthly fee |
|---|---|---|---|
| Basic | Up to 20 | 1.5% of your advisory revenue | ₹499 / month |
| Professional | 21–100 | 1.9% of your advisory revenue | ₹1,499 / month |
| Growth | 101–300 | 2.30% of your advisory revenue | ₹4,999 / month |
| Scale | 301–500 | 2.6% of your advisory revenue | ₹5,999 / month |
| Enterprise | 500+ (no cap) | 2.9% of your advisory revenue | ₹11,999 / month |
Included at every tier, no extra cost: the full admin dashboard (Client Master, Trade Dispatch, Compliance Tracker, Complaints, Reports, Settings, Team & Access), your own client portal on your own subdomain, PaRRVA trade submission + verified public performance display, Social Media Auto-Posting (unlimited connected accounts, manual/scheduled/AI-drafted posts, automatic Public Appearance compliance logging), unlimited plans/clients/trade dispatches, and the free self-service Data Migration importer.
This is the tool the platform's own Research Analyst practice uses to prepare recommendations, and it is available to your organization as a one-time purchase. There is no subscription and no renewal — you pay once and it stays yours, with lifetime support.
What it unlocks:
Without this add-on, Trade Dispatch keeps working in full — you enter the contract, the lot and the prices yourself, and dispatch and PaRRVA submission behave exactly as before. Only the automatic filling and the live analysis boards are switched off.
You bring your own broker. The add-on is the software; the market data comes from a broker account in your own name — Fyers or Zerodha (Kite Connect). That is deliberate and is what keeps it lawful: each RA sees data from their own broker account, and no exchange feed is redistributed from here to anyone. Your broker may charge its own API fee (Zerodha's Kite Connect is billed monthly by Zerodha, not by us). Connect it under Settings → Broker Connection.
Enable it from Settings → Add-ons. Payment is collected once through the platform's own billing account; the feature switches on as soon as the payment is confirmed and never lapses after that.
Optional paid add-ons (Settings → Add-ons, toggle on only what you need): Whitelabel custom domain (free to enable, you bring your own domain), Scheduled automatic backups (₹299/month), Trade Reports → Google Drive sync (₹299/month), NISM-XV + CPE Exam Prep for your team (₹499/year — note: the RA-XV main exam mock test and its CPE renewal mock test are now free and public for anyone at /nism-prep.html, unlimited retakes, no login needed; this paid add-on additionally gives your team full study-module access and the complete question bank), Automatic/Scheduled Trade Dispatch (₹299/month), Market Analysis Software — Market Watch Live Signal Analysis + Trade Dispatch auto-fill (one-time ₹99,999 with lifetime support — pay once, it never expires and never renews; see Section 18A below), Client Auto-Pay (₹299/month), Educational CMS — Courses & Mentorship (₹299/month, see Section 17 above), Hosting + Domain + Email (₹6,035 for the 1st year* — renewal from Year 2 onward is priced as per actual GoDaddy renewal rates, typically higher). Exact current pricing for each is always shown live on the Add-ons page in your dashboard.
The Platform Billing page shows your current client-count tier, your computed revenue-share fee for the period, and your full invoice/payment history — there is no separate plan to "subscribe" to, since your fee is calculated automatically from your own paid-client count each period (see Section 18 above). On the Data Migration page, import clients/plans/payments as a CSV from your prior software — a column-mapping step is included; migrated payments are excluded from the revenue-share calculation. This self-service import is free and always available.
GST & Company Details (optional). Settings → GSTIN for invoices; company name/CIN for Pvt Ltd/LLP.
A plan's segment is not a label — it is the routing decision. Every segment files under one of PaRRVA's own five advice categories, and the same segment decides which Telegram group the advice goes to and which clients see it on the portal and in the app. One value, three consequences.
| PaRRVA category | Plan segments that file under it |
|---|---|
| Intraday | Equities (Intraday) |
| Single Stock | Equities (Delivery / Positional) |
| Derivative | Index Options · Stock Options · Futures Combo · Options Combo |
| Portfolio | Model Portfolio |
| Strategy | Strategy (multi-leg) |
| Outside PaRRVA | Commodities Combo · High Conviction — real, sellable plans that PaRRVA has no category for, so they are delivered to clients but never submitted |
Strategy advice routes by what it is written on. A strategy or option on an index (NIFTY, BANKNIFTY, FINNIFTY, SENSEX and the rest) goes to the index group; one on a single stock goes to the stock group; a strategy with an index leg and a stock leg goes to both, because it genuinely belongs in both.
This is per tenant, not shared. Your plans, your clients, your Telegram groups and your own PaRRVA credentials — a recommendation you dispatch reaches only your own clients and is filed under your own PaRRVA enrolment. Another tenant on the same platform can name and price their segments completely differently; the PaRRVA category underneath each one stays fixed, which is what keeps the regulatory classification correct no matter how the plans are packaged.
Sidebar → Bug Report (Platform B2B section) — upload a screenshot, add a description, and track your ticket.
From Bug Report in your admin sidebar (/admin/support-tickets.html): describe the issue, attach up to 5 screenshots (PNG/JPEG/GIF/WEBP), submit. Your org only sees its own tickets; the platform owner sees all.
fix_approved_at timestamp — work begins in a Cursor/Claude agent session using the ticket ID; code is never deployed automatically.The sidebar tabs you'll see — a B2B tenant gets the same practice tabs as a B2C admin, plus a Platform (B2B) section (User Guide, Bug Report, Billing, etc.).
| Sidebar tab | What it does |
|---|---|
| Dashboard | Overview — pending actions, stats, quick links |
| Trade Dispatch | Send/schedule trade calls; PaRRVA submit |
| Settings | Profile, credentials, channels, payments, MFA, notifications |
| Client Master (Logs) | Add/edit clients, track onboarding, UPI verify |
| Sales CRM (Leads) | The prospect side — cold-call lists, call logging, follow-up queue, team assignment, Excel import/export, cross-sell against existing clients (Section 22) |
| Plans | Subscription plans & categories |
| Compliance Tracker | Filing calendar, audit kit, vault, periodic report |
| Complaints | Investor complaint register |
| Legal & Compliance Documents | Upload T&C, disclosures, policies |
| SEBI/BSE Circulars | Review incoming circulars |
| Communication Center | Bulk messages to clients |
| WhatsApp / Telegram Inbox | Two-way messaging |
| Public Appearance Master | Media appearance log |
| Client Activity Log | Cross-client event feed — signups, e-sign, KYC, payments, Welcome Kit/Telegram, portal logins |
| Educational CMS | Course/module/lesson builder, student enrollments, dedicated payment gateway |
| Reports | Exports, bulk agreements, backups |
| Website/App Enquiries | Leads captured from your public site/app contact forms, tracked New/Contacted/Closed |
| Website Content | Footer links, CMS text blocks |
| Team & Access | Invite admin/moderator |
| Bug Report | Screenshot bug tickets |
| Add-ons | Whitelabel, scheduled backups, etc. |
| Platform Billing | Your revenue-share tier, computed fee & invoices |
| Data Migration | Import from prior software |
| Domain & Microsite | Subdomain/custom domain setup |
| User Guide / FAQ | This guide + full FAQ (external links) |
Interactive tour: b2b-admin-tour.html — har page slide-by-slide.
Sidebar → 📞 Sales CRM (Leads). This is the prospect side of your practice: the people your team is calling who have not paid you yet. Client Master (Logs) is the other side — your existing paying clients. A lead becomes a client only through the normal Sign → KYC → Payment flow; the CRM never creates a client behind that flow's back.
The Dashboard tab is a row of counters. Read them in this order, not left to right:
| Look at | What it tells you | What a bad number looks like |
|---|---|---|
| Overdue (red) | Follow-ups whose promised date has already passed. Every name here is a person you told "I'll call you back" and did not. | Anything above zero at the end of the day — and worse, a number that grows week on week. This is the one you try to finish every day at zero. |
| Follow-ups Due (amber) | Due today. This is today's call list. Open the Follow-ups tab: Overdue on top, Due Today below — work straight down. | More due today than the team can physically call. Follow-ups are being scheduled faster than they are being worked. |
| Calls Today / Connected Today | How much work happened, and how much of it reached a real human. | Calls high but Connected near zero — the list or the calling time is wrong, not the effort. Look at the numbers, not the caller. |
| New | Leads nobody has touched even once. | Growing while Calls Today stays flat — you are importing faster than you are calling. Stop importing, start calling. |
| Interested (Interested + Callback) | Your live pipeline — the people a conversion could actually come from. | Near zero. It means no conversions are coming next month, whatever this month's revenue says. |
| Conversions (Month), Revenue (Month) | The outcome. | Read these last. They are the result of the five rows above, not something you can work on directly. |
Below the counters, the Conversion Funnel by Source shows total → contacted → interested → converted → lost, and a conversion % per source. A source with plenty of leads and a 0% conversion rate is calling time being spent for nothing.
| Status | What it means | When to set it |
|---|---|---|
| New | In the CRM, never called. | Set automatically when a lead is added or imported. Never set by hand. |
| Contacted | You have tried at least once. It means "attempted", not "spoke to". | Set automatically the first time any call is logged on a New lead — even a no-answer. |
| Interested | You actually spoke, and they want to know more. | Only after a real conversation. Your pipeline health is read from this number, so don't use it for "sounded polite". |
| Callback | They asked you to call at a specific time. | When you use it, always set a Next follow-up date in the same save — otherwise the lead never appears in anyone's queue again. |
| Not Interested | They said no. A clear refusal. | After a real refusal. Stop calling. |
| Lost | Went cold, bought elsewhere, or unreachable after repeated attempts. | Kept separate from Not Interested on purpose: one says you are being refused, the other says you are failing to reach people. Very different problems, very different fixes. Record the "Lost / Not-interested reason" — that field is where next quarter's pitch corrections come from. |
| Converted | They became a real paying client. | You cannot type this. It is only ever set by the Convert to Client action (below), which requires a real client record. That is deliberate — it means "conversions this month" is a number nobody can inflate. |
Converted, Not Interested and Lost drop out of the follow-up queue automatically — a closed lead never keeps resurfacing in a calling list.
The Sales CRM reuses your existing Admin/Moderator roles — there is no separate permission system to learn. It is the same page, filtered:
| Admin — the sales manager | Moderator — the telecaller | |
|---|---|---|
| Leads visible | Every lead in your organisation | Only the leads assigned to them |
| Assign / reassign | Yes, single or in bulk | No — cannot push their own leads onto a colleague, or take a colleague's |
| Import / Export tab | Yes, plus Import History and the Duplicate Check | Not shown |
| Delete a lead | Yes | No |
| Revenue & Team Leaderboard | Yes — the whole floor's numbers | No — their own call and conversion counts only |
Why they differ: a telecaller should be able to work their own book fully — log calls, move statuses, clear their queue, convert a lead — without being able to move work around or see everyone's money. Nothing breaks for them; the revenue section simply is not there.
Open any lead to get its drawer, then Log a Call: Outcome (Connected / No Answer / Busy / Wrong Number / Switched Off), duration, "Move status to", "Next follow-up", and what happened on the call. One save does all of it — the call is recorded, the status moves, the follow-up is scheduled, and the counters update.
Call duration is self-reported. RA OS has no telephony integration and deliberately isn't getting one, so treat it as an honest manual note, not a measured figure.
Every lead also has an Activity Timeline — an append-only record of every call, note, status change, reassignment, import and conversion, with who did it and when. For a SEBI-registered firm this matters: "who moved this lead to Converted, and when" must always be answerable.
There are two kinds of sale, and they convert differently.
Convert to Client (a subscription sale) creates the client through your normal Client Master flow — the same Add Client that page uses, including your plan and client-cap checks — then links this lead to it so the sale is attributed to the right telecaller. Sign, KYC and payment still happen afterwards exactly as usual; nothing is skipped.
Convert to Course Sale (an Educational CMS sale) works differently, and the difference is deliberate. A course buyer becomes an Educational CMS student — a separate, lighter record with no PAN and no KYC. They are not an advisory client and are never counted as one. The student must sign up themselves: the sign-up needs a password only they choose, an email code only they can read, and a mentorship agreement only they can sign, so nobody can create that record on their behalf. The panel gives you a course sign-up link with their details pre-filled — send it, and once they have signed up and paid, come back and Link Course Sale to attribute it. Linking never creates a student, an enrolment or a payment; it only connects two records that already exist.
A single sale can only be attributed once — if another lead is already linked to that client or that course student, the link is refused rather than crediting the same money to two telecallers.
Import / Export tab (admin only). Download the Sample Template first: a blank sheet with exactly the headers the importer understands, plus a "How to use" sheet.
.xlsx or .csv, up to 10 MB and 5,000 rows per file.How a duplicate is decided: by mobile number, within your own organisation only. The number is reduced to its digits first, so +91 98765 43210, 098765-43210 and 9876543210 are all treated as the same person. A number already in your CRM is skipped — nothing is created and nothing is overwritten — so re-uploading the same sheet is safe rather than destructive. The rule is enforced by the database itself, not just checked in code, so two people uploading the same sheet at the same moment still cannot create two copies. One RA's leads are never compared against another RA's: every organisation's CRM is entirely its own.
This is not just tidiness — two telecallers ringing the same person from two rows is a real DND and annoyance problem, not a cosmetic one.
Reading the import result:
| Number | What it means | What to do |
|---|---|---|
| Inserted | New leads created. | Assign them and start calling. |
| Skipped | A real duplicate — that number is already in your CRM, or appears twice in the same sheet. | Nothing. Your sheet simply overlaps what you already have. Harmless. |
| Failed | An unusable row — no name and no phone, or a phone number that isn't a real number. | Fix the sheet and re-upload. A high Failed count means the file itself is broken. |
The result panel also lists the first rejected rows with the reason for each, so you can see exactly which row dropped and why.
Undo: Import History lists every upload, and you can delete a whole batch — but only while none of its leads have been called. Once even one call is logged against a lead from that batch, the bulk delete is refused, because deleting the lead would destroy a real call record. Remove those individually if genuinely needed.
Duplicate Check (same tab) shows two things: leads sharing an email address, and — the one to act on immediately — leads whose mobile number already belongs to one of your existing clients. That means your team is about to cold-call somebody who already pays you. Clear those before the calls go out.
Adding a lead by hand behaves the same way: if the number already exists, you get a message naming the existing lead instead of a silent second copy.
The Cross-Sell tab lists your active and expired clients as candidates for a higher plan, straight from Client Master — the CRM never copies a client into its own tables, so there is never a second, worse copy of a real client record. Opening an opportunity creates a thin record pointing at that client; calls against it are logged in exactly the same way as a lead call, so one leaderboard covers all of your team's calling work.
The Revenue Breakdown (admin only) is read live from two ledgers, and the Sales CRM stores no money figure of its own — there is deliberately no "deal value" field anywhere in it, so nobody can type a number that reaches a revenue view.
What it counts:
paid and source app, from your Payments ledger.paid, from your Course Enrollments ledger. That money is collected into your own dedicated educational payment account, kept separate from your client-payment account — the CRM only reads it, never moves it.Every breakdown — by payment mode, by month, by lead source — splits Subscription and Course side by side with a combined total, so you can always see which of the two businesses a number came from. There is also a "Course" table showing revenue per course, alongside the "Plan" table for subscriptions.
What it does NOT count — just as important:
Refunds — and one honest gap. "Net (matches invoice basis)" is the figure directly comparable to your invoice; "Gross (before refunds)" and "Refunded" sit next to it, and per-telecaller figures on the leaderboard are net of refunds, so nobody is credited for money the business gave back. The gap: subscription refunds are netted out, course refunds are not — course enrolments have no refund field at all, so a refunded course sale still counts in full here and on your platform revenue-share invoice. Both numbers are wrong in the same direction, which is why the page states it plainly instead of quietly absorbing it.
Two more numbers worth reading together: Payments / Enrolments matched against your conversion count (conversions climbing while matched payments and enrolments don't means sales are being marked converted without money actually arriving through RA OS), and Revenue by Lead Source — which answers the question a lead count never can: which source actually turns into money, and therefore whether cold calling is worth it next to referrals.
Finally, on the Team Leaderboard: a telecaller with plenty of calls but no conversions is a coaching or script problem, not an effort problem. Read their call notes before you read the leaderboard.
Recommended for compliance — the shared platform account is only meant for getting started; a B2B tenant should configure their own.
Strongly recommended for B2B tenants — client e-sign and KYC must run under your own SEBI registration, not another RA's shared account. Settings has dedicated sections for each.
No. The platform owner approves the ticket first; only then does an agent session implement the fix. This is a zero-downtime discipline — sacred flows (onboarding, payments, trade dispatch) are never touched without approval.
Yes — it's a paid add-on (whitelabel). Enable it in Settings → Add-ons, then follow the steps on the Domain & Microsite page.
No — Valid UPI is a free alternative, and you can enable one or both. Custom/other payment modes may be added in future.
You'll be notified and can re-upload corrected documents for another review.
Yes — the Data Migration page accepts a CSV/Excel export from any prior software (clients, plans, and historical payments), with a column-mapping step so it works regardless of the source system's format.
Enter your own PaRRVA credentials in Settings, then switch on the "PaRRVA Verified Performance — Public Display" toggle. It's off by default, and only shows real data once PaRRVA has enough trade history.
Yes — the RA-XV main exam mock test and its CPE renewal mock test at /nism-prep.html are fully public and unlimited: no signup, no login, no payment, and no cap on retakes. Each attempt draws a fresh random set of questions from the full bank. The paid NISM-XV + CPE Exam Prep add-on (Section 18) is only needed for full study-module access and the complete question bank for your team.
More questions? See the Full B2B FAQ (English/Hindi + PDF), the User Guide PDF, or contact the platform team.