TaxCorp Practice — help
From the first enquiry to the receipt: clients, recurring compliance work, the client upload link, GST invoices and collections, and the AI that drafts and answers over your own records.
TaxCorp Practice — detailed guide
This guide walks through every screen of Practice in the order you meet them, then the rules behind billing, the client portal, roles, the AI, and answers to the questions pilot firms asked. The quick guide tab is the ten-minute version.
Dashboard
The dashboard is the morning page. Eight tiles: active clients, tasks overdue, due this week, documents awaited, outstanding, overdue receivables, draft invoices, lead follow-ups due. Each tile opens the matching filtered list.
Quick actions: New client, New enquiry, Ad-hoc task (a one-off job not tied to an engagement), Import clients, Firm settings. Recent activity shows the last things anyone in the firm did.
Clients
The client list
Code, name, type, PAN, partner, open engagements, open tasks, outstanding, status. Filter by status (Prospect / Active / Inactive / Lost), partner, or search. Archived clients are hidden unless you tick archived.
A client's page
- Overview — contact, address, tags, KPIs (engagements, open tasks, documents awaited, outstanding, overdue) and recent activity. Brief me writes a one-paragraph AI brief from the records. Edit changes master data; Archive hides the client (its history stays).
- Registrations & contacts — several GSTINs are normal; TAN, CIN, LLPIN, IEC, PF, ESI, professional tax, Shop Act, UDYAM, FSSAI, DIN. Each registration can carry its own engagements. Contacts hold who receives reminders, invoices and portal links; mark one primary.
- Engagements — see below.
- Work — this client's tasks.
- Documents — everything uploaded by the client or the firm, plus generated documents (engagement letters, invoice PDFs). KYC papers live here.
- Billing — this client's invoices, receipts, statement.
- Activity — the timeline: calls, e-mails, WhatsApp, meetings, notes, system events.
Import
One Excel template covers every master; fill only the sheets you need. Any single sheet can also be uploaded as a .csv exported from your old software — the type is read from the headers (or pick it from the drop-down). Headers are matched loosely (Client Name, client_name and ClientName all work).
| Sheet | Columns | Matched on |
|---|---|---|
| Clients | Code (optional), Name, EntityType, PAN, GSTIN (several separated by ;), TAN, Email, Phone, WhatsApp, State (code or name), City, Address, Pincode, Partner (initials), Group, Tags, OpeningOutstanding, ContactName/Phone/Email | PAN → GSTIN → code → name; matched rows fill blank fields only |
| Contacts | Code or PAN of the client, Name, Designation, Phone, Email | added when the client has no contact of that name |
| Engagements | Code / PAN / Name of the client, ServiceCode, Fee, FeeBasis, BillingCycle, StartPeriod (2026-04, 2026-Q1, FY2026-27; blank = current), GSTIN (picks the registration), Assigned, Reviewer (initials), GST (Y/N) | skipped when an active engagement for that client + service already exists |
| Staff | Name, Email, Phone, Role (Partner / Manager / Staff / Accounts), Designation, Initials | e-mail — a colleague with a TaxCorp login is linked; one without gets an account and a set-password e-mail. Existing staff keep their role; only blanks are filled |
| Services | Code, Name, Category, Frequency, FeeBasis, DefaultFee, SAC, DueDays, DueDateMaster (statutory calendar code), Checklist, Documents (items separated by the bar character), Active | code — the file overwrites the catalogue entry, so download the template from your firm (it holds your current catalogue), edit fees in Excel, re-import |
| Leads | Name, Organisation, EntityType, Email, Phone, City, Source, Services, EstimatedAnnualFee, Owner (initials), FollowUp (dd-MM-yyyy), Stage (New / Contacted / Qualified / ProposalSent), Notes | rows whose e-mail or phone already belongs to a client or an enquiry are skipped |
The preview shows every row's verdict (new / existing / skipped / error) per sheet before you press Import, and the import runs in dependency order — services, staff, clients, engagements, enquiries — so an engagement can point at a client and a service code from the same file. OpeningOutstanding becomes an opening-balance invoice dated the day you choose, so ageing and statements are right from the first day. Rows that fail on commit are listed with the reason; the rest go through.
Tally: Display → List of Accounts → Export as XML (or the Tally Bridge masters file). Ledgers under Sundry Debtors become clients with GSTIN, PAN and mailing address; tick take debit closing balances as opening outstanding to carry the receivables.
Engagements
An engagement is the promise: a service, the registration it applies to (which GSTIN), a start period, an optional end, a fee, a basis (per period / per year / per task / hourly) and a billing cycle (per task / monthly / quarterly / half-yearly / annual / manual). Assign a staff member and a reviewer.
Periods are written the way you speak: 2026-04 (Apr 2026), 2026-Q1 (Apr–Jun 2026), FY2026-27. The recurrence engine creates one task per period for the next 60 days — immediately when you save, and every night. Due dates come from the compliance calendar: the statutory date (holiday-shifted to the next working day) and your internal date (statutory minus the firm's buffer, default 3 days — Settings → Firm profile).
Pause stops new tasks; End sets the last period and cancels tasks not yet started. Fees on an engagement are what the auto-drafts bill.
Work
The board
Filters: Open / Overdue / This week / Docs awaited / Review / Filed / All; by staff and by service. Columns: task, client, period, internal due, statutory due, status, documents pending, checklist progress, who. Generate runs the recurrence engine and the draft-invoice pass now; Ad-hoc task creates a one-off job.
A task
- Move to — the status flow is Not started → Docs awaited ⇄ In progress → Review → Client approval → Filed. On hold from anywhere; Cancelled needs a reason. Only a Manager or Partner can reopen a filed task. Filing a per-task engagement's task creates its draft invoice line.
- Documents from the client — the service's standard list plus anything you add. Mark received by hand or n/a. Upload link for the client mints a portal link (30 days, this task) and shows it once — copy the message and send it. Remind prepares the e-mail and WhatsApp text (and mints a link if this session has none). The count of reminders per document is kept.
- Checklist — the service's steps; add your own.
- Files on this task — uploads from the client (portal) and from the firm (filing proof, client document, other).
- Details — title, priority, internal due, hours, billable, notes.
- Activity — notes, calls, e-mails, WhatsApp, meetings, plus every system event (portal opens, uploads, status changes).
The client upload portal
/p/{token} opens without a login. The client sees the firm's name and contact, the task, the documents requested, and a file chooser per document (PDF, image, Excel, Word, ZIP, up to 25 MB each) plus any other document and a message box. English and Hindi. The token is random, stored hashed, expires (30 days by default) and can be revoked from the task. Nothing else about the firm or other clients is reachable from it. When every requested document is in, the task moves to In progress on its own.
Leads and proposals
Leads is a kanban: New → Contacted → Qualified → Proposal sent → Won / Lost, with the estimated annual fee per card.
- Paste enquiry — paste an e-mail, WhatsApp message or call note; the AI extracts name, organisation, entity type, phone, e-mail, city and the services wanted into the form. Check and save. Nothing is invented; unknown fields stay blank.
- New lead — the form by hand.
- On a lead: follow-ups (call / WhatsApp / e-mail / meeting / note with a follow-up date), stage moves, Lost with a reason.
- Proposal — lines of service, frequency, fee and basis. Pick a service from the catalogue list so that the line is linked (the badge under the line tells you); a linked line becomes an engagement when the proposal is accepted, a free-text line does not. Draft text with AI writes the introduction, scope and terms in your firm's voice (never the fees). PDF, mark sent, then accepted → create client: the client (or the existing one), one engagement per linked line, the first tasks and an engagement letter in the client's documents — one click. Declined keeps the history.
Billing
Tabs
Outstanding (ageing 0–30 / 31–60 / 61–90 / 90+ by client, statement PDF), Invoices, Drafts, Proformas, Credit notes, Receipts, TDS receivable (by financial year — reconcile with the firm's 26AS / AIS).
Where drafts come from
- Cycle engagements (monthly / quarterly / half-yearly / annual): one line per completed cycle not yet billed. A quarterly engagement from April is billed for Apr–Jun once July begins.
- Per-task engagements: one line when the task is Filed.
- Generate drafts on the Drafts tab (or Generate on Work) runs both passes now; the nightly job runs them at 02:30 IST.
- New invoice for anything else — pick the client, add lines (unbilled filed tasks are offered), Save draft or Save and issue.
One open draft per client collects the lines; edit it freely until it is issued.
Issuing
Issue allocates the next number in the financial-year series (INV/2026-27/0001; prefixes and the FY restart are in Settings → Numbering), freezes the document and snapshots both parties' names, addresses and GSTINs as they were. GST: CGST + SGST when the place of supply matches the firm's state, IGST otherwise; a firm that is not GST-registered issues plain invoices. Rounding to the rupee is shown as Round off. The PDF carries the amount in words, bank details, a UPI QR for the balance and, when TDS applies, the net-of-TDS amount to pay. A Proforma has its own series and converts to a tax invoice when issued for real.
Issued documents are never edited. Credit note (against the invoice, full or partial) corrects them. Cancel keeps the number, stamps CANCELLED and is refused once money has been received. Write off is a Partner action with a reason and clears the balance without touching tax.
Receipts
Record receipt: client, date, amount received, TDS deducted, mode (cash / cheque / NEFT / RTGS / IMPS / UPI / card / Razorpay / adjustment / TDS-only), reference. Amount + TDS settle the client's open invoices oldest due first unless you allocate. Money beyond the open balance sits as an advance. Reverse (Accounts / Partner) undoes a receipt with a reason — a bounced cheque, a wrong client. Receipt PDFs are one click.
Client link on an invoice
Client link mints a portal link that shows the invoice and its PDF to the client without a login — send it with the reminder.
E-mailing the invoice
E-mail to client sends the invoice or proforma to the client's contacts marked receives invoices (falling back to the client's own e-mail), with the PDF attached and a fresh 90-day view-and-pay link; whoever issued it gets a copy. The wording is the Invoice issued template under Settings → Message templates. Switch the InvoiceIssued rule on under Settings → Reminders and this happens by itself the moment an invoice is issued. The page shows e-mailed dd MMM HH:mm once it has gone; the timeline records every send, and a failed send (no address on file, mail server down) is logged there too — the invoice is issued either way.
Pay online (your own Razorpay account)
Enter your Razorpay key id, key secret and webhook secret under Settings → Numbering & bank (they are stored encrypted). From then on every issued invoice and proforma gets a payment link on your account — printed on the PDF, shown on the client link, and used as the pay button in the invoice e-mail. When the client pays, Razorpay calls the webhook and a receipt (mode Razorpay, reference = the payment id) is recorded against that invoice automatically; anything over the balance settles the client's other open invoices oldest-first, and the rest sits as an advance. Pay-online link on an invoice creates the link on demand; Refresh pay link re-issues it for the current balance after a part-payment by cheque or transfer. Money never touches TaxCorp.
Reports
Eight reports, each with an Excel export, plus All reports as one workbook per financial year:
| Report | What it answers |
|---|---|
| Revenue by service | which services earn, from issued invoices |
| Billed vs received by month | billing, taxable value, cash and TDS per month of the FY |
| Client-wise fees YTD | billed and outstanding per client |
| Staff workload | open, overdue, due this week, docs awaited, in review per person |
| Filing on time % by service | filed tasks against the statutory date |
| Lead funnel | enquiries by stage and estimated fee, win rate |
| Documents awaited — ageing | every pending document, days waiting, reminders sent |
| Engagements ending in 60 days | renewals to discuss |
Ask
Ask is a question box over your practice. It looks things up (clients, tasks, documents, invoices, receipts, leads) and answers from those records only — it does not remember, browse or guess, and it cannot change anything. Staff can ask about work; fee questions need a fee-seeing role. Good questions:
- Which clients have documents pending for more than a week?
- What is due next week for Sharma Traders?
- Who owes us more than 50,000 for over 60 days?
- Billed vs received this year?
- Draft a WhatsApp reminder for the GSTR-3B documents of Priya Nair.
Settings
- Firm profile — what prints on invoices; the internal due-date buffer; default SAC and GST rate; tone samples (paste two or three messages you would send a client — the AI copies your voice).
- Staff & roles — members of your TaxCorp firm and their Practice role.
- Services — the catalogue: code, name, category, frequency, due rule, default fee, checklist, documents to ask for. Re-add missing standard services restores any you deleted.
- Numbering & bank — prefixes for invoice / proforma / receipt / credit note, FY restart, bank and UPI. Pay online: your own Razorpay key id, key secret and webhook secret (stored encrypted) plus the webhook URL to paste into the Razorpay dashboard (events
payment.capturedandpayment_link.paid). - Reminders — the daily rules: documents awaited every N days, task due, invoice due / overdue, quiet hours; e-mails go out from the daily job (08:30 IST, at most once per subject per day). InvoiceIssued is the exception: when On, the invoice is e-mailed with its PDF the moment it is issued. WhatsApp is copy-and-send text.
- Message templates — the wording of every reminder per channel with placeholders
{ClientName}{DocList}{PortalLink}{DueDate}{InvoiceNumber}{Amount}{FirmName}{StaffName}. - Audit log — who changed what, when.
Roles
| Partner | Manager | Staff | Accounts | |
|---|---|---|---|---|
| Clients, leads, work | all | all | create, own tasks | read |
| Portal links, reminders | yes | yes | yes | yes |
| Invoices, receipts | all | draft, issue | — | draft, issue, reverse |
| Cancel invoice, write-off | yes | — | — | — |
| Firm settings, staff, import | yes | services only | — | — |
| Sees fees | yes | yes | no | yes |
What the AI does — and does not
- Does: read an enquiry into a lead form; draft proposal text and engagement letters in your voice; write reminder and message drafts; brief you on a client; answer questions over your records.
- Does not: issue or change invoices, record money, move task status, send anything, or use any data outside your firm. Every AI output is a draft you read before it leaves the office.
Questions pilot firms asked
Two GSTINs, one client? Add both under Registrations and create one engagement per GSTIN.
QRMP clients? Use the GSTR-1 (QRMP quarterly) and GSTR-3B (QRMP quarterly) services with a quarterly start period.
A client pays a lump sum for several invoices. Record one receipt; it settles oldest-first. To allocate differently, record separate receipts.
TDS certificate arrives later than the payment. Record the cash receipt with the TDS amount at the time of payment (the client deducted it then); the TDS receivable tab lists what to match against 26AS.
We issued the wrong amount. Issue a credit note for the difference (or the full amount and a fresh invoice). Issued numbers never change.
Can the client see other clients from the upload link? No. A link is one task or one invoice, expires, and can be revoked from the task.
Staff must not see fees. Give them the Staff role — fees, billing and fee reports are hidden everywhere, including Ask.
Where do uploaded files live? On the TaxCorp server under your firm's own folder, with the original file name kept and every download logged.
Something looks wrong. The audit log (Settings) shows the last changes; write to us from the Contact page — Practice grows with pilot firms' months.