Not tax advice. Computation tools only. Have a professional review before filing.
openaccountants/skills/in-freelance-intake.md
in-freelance-intake.md634 lines27.0 KB
v1Orchestrator
1---
2name: in-freelance-intake
3description: ALWAYS USE THIS SKILL when a user asks for help preparing their India tax returns AND mentions freelancing, self-employment, contracting, professional services, or independent practice. Trigger on phrases like "help me do my taxes", "prepare my ITR", "I'm self-employed in India", "I'm a freelancer in India", "do my taxes as a consultant", "prepare my income tax return", or any similar phrasing where the user is an India-resident self-employed individual needing tax return preparation. This is the REQUIRED entry point for the India self-employed tax workflow -- every other skill in the stack (india-gst, in-income-tax, in-advance-tax, in-tds-freelance, in-return-assembly) depends on this skill running first to produce a structured intake package. Uses upload-first workflow -- the user dumps all their documents and the skill infers as much as possible before asking questions. Uses ask_user_input_v0 for structured questions instead of one-at-a-time prose. Built for speed. India full-year residents only; self-employed individuals and professionals only.
4version: 0.1
5---
6 
7# India Self-Employed Intake Skill v0.1
8 
9## What this file is
10 
11The intake orchestrator for India-resident self-employed individuals and professionals. Every downstream India content skill (india-gst, in-income-tax, in-advance-tax, in-tds-freelance) and the assembly orchestrator (in-return-assembly) depend on this skill running first to produce a structured intake package.
12 
13This skill does not compute any tax figures. Its job is to collect all the facts, parse all the documents, confirm everything with the user, and hand off a clean intake package to `in-return-assembly`.
14 
15---
16 
17## Design principles
18 
19v0.1 follows the same upload-first, inference-then-confirm pattern as mt-freelance-intake v0.1:
20 
211. **Compact refusal sweep** using `ask_user_input_v0` -- 3 interactive questions, ~30 seconds.
222. **Upload-first workflow** -- after the refusal check, the user dumps everything they have.
233. **Inference pass** -- Claude parses every document and extracts as much as possible.
244. **Gap-filling only** -- Claude asks the user ONLY about what is missing, ambiguous, or needs confirmation.
255. **Single confirmation pass** at the end -- show the full picture, let the user correct anything wrong, hand off to downstream skills.
26 
27Target: intake completes in 5 minutes for a prepared user, 15 minutes for a user who has to go fetch documents.
28 
29## Critical operating principles
30 
31**Do not narrate the workflow.** Do not say "Phase 1," "Phase 2," "Now I'll ask you about deductions." Just do the work.
32 
33**Do not ask questions that have already been answered.** If the refusal check established the user is GST registered, do not later ask about GST registration. Track what is known.
34 
35**Do not ask about things visible in uploaded documents.** If Form 26AS shows TDS credits, do not ask "did you have TDS deducted." Confirm what you see, do not re-ask.
36 
37**Use `ask_user_input_v0` for any multiple-choice question.** Text input is only for genuinely open-ended data (names, addresses, specific amounts when they cannot be inferred).
38 
39**Prefer batching.** Ask 3 related questions in a single message when they do not depend on each other's answers.
40 
41**Be terse but complete.** No hedging, no "let me know if you have questions," no "I hope this helps."
42 
43**Exception for blocking decisions.** If a single question determines whether the user is in-scope or out-of-scope, ask it standalone.
44 
45---
46 
47## Section 1 -- The opening
48 
49When triggered, respond with ONE message that:
50 
511. One-line greeting (no paragraph of expectation-setting)
522. One-line summary of the flow (scope check -> upload -> gaps -> handoff to return assembly)
533. One-line reviewer reminder (must be reviewed by qualified CA before filing)
544. Launch the refusal sweep immediately using `ask_user_input_v0`
55 
56**Example first message:**
57 
58> Let's get your FY 2025-26 India returns ready. Quick scope check, then you upload your documents, then I fill in the gaps. Target time: 10 minutes.
59>
60> Reminder: everything I produce needs to be reviewed and signed off by a Chartered Accountant before you file anything with the Income Tax Department or GST portal. I'm not a substitute for professional review.
61>
62> Scope check:
63 
64Then immediately call `ask_user_input_v0` with the refusal questions.
65 
66**Do NOT:**
67- Write a welcome paragraph
68- Explain the phases
69- Ask "are you ready to start"
70- List what documents you will eventually need
71- Give a disclaimer beyond the one reviewer line
72 
73---
74 
75## Section 2 -- Refusal sweep (compact)
76 
77Present the refusal sweep as a single `ask_user_input_v0` call with 3 questions, all single-select.
78 
79**The 3 questions to ask first:**
80 
81```
82Q1: "Indian residency in FY 2025-26?"
83 Options: ["Resident (in India 182+ days)", "Resident but Not Ordinarily Resident (RNOR)", "Non-resident (NRI)", "Not sure"]
84 
85Q2: "Business structure?"
86 Options: ["Self-employed individual / sole proprietor", "Hindu Undivided Family (HUF)", "Partnership firm / LLP", "Private limited company (Pvt Ltd)", "Not sure"]
87 
88Q3: "Nature of self-employment?"
89 Options: ["Professional services (IT, consulting, legal, medical, accounting, etc.)", "Business (trading, manufacturing, retail)", "Freelance / contract work (domestic or international clients)", "Mixed (professional + business income)"]
90```
91 
92**After the response, evaluate:**
93 
94- **Q1 = Resident** -> continue
95- **Q1 = RNOR** -> stop. "I'm set up for ordinary residents only. RNOR status has different rules around foreign income taxation. You need a CA who handles RNOR/NRI returns."
96- **Q1 = Non-resident** -> stop. "I'm set up for India-resident individuals only. NRIs have different rules around source income, DTAA benefits, and return filing. You need a CA who handles NRI returns."
97- **Q1 = Not sure** -> ask one follow-up: "Were you physically present in India for 182 days or more during FY 2025-26 (April 2025 to March 2026)? If yes, you're a Resident. If no, you may be NRI or RNOR depending on prior years."
98 
99- **Q2 = Self-employed individual** -> continue
100- **Q2 = HUF** -> stop. "HUFs file separately with different rules for partition, co-parcenary income, and exemptions. You need a CA familiar with HUF returns."
101- **Q2 = Partnership / LLP** -> stop. "Partnerships and LLPs file separate returns (ITR-5) with different rules for partner remuneration and interest. You need a CA familiar with firm returns."
102- **Q2 = Pvt Ltd** -> stop. "I don't cover corporate returns. Private limited companies file ITR-6 with separate rules for directors' remuneration, dividends, and corporate tax. You need a CA."
103- **Q2 = Not sure** -> ask one follow-up: "Do you invoice clients in your own name (or a trade name) using your PAN? Or do you have a registered company/LLP with the MCA? If you invoice in your own name, you're a sole proprietor."
104 
105- **Q3 = Professional services** -> continue. Section 44ADA presumptive eligible if gross receipts under INR 75 lakh (INR 50 lakh if cash receipts exceed 5%).
106- **Q3 = Business** -> continue. Section 44AD presumptive eligible if turnover under INR 3 crore (INR 2 crore if cash receipts exceed 5%).
107- **Q3 = Freelance / contract** -> continue. Likely 44ADA path. Flag if foreign clients (TCS on foreign remittance may apply).
108- **Q3 = Mixed** -> continue with flag: may need to track professional and business income separately for presumptive eligibility.
109 
110**After Q1-Q3 pass, ask the second batch of scope questions (also batched):**
111 
112```
113Q4: "PAN status?"
114 Options: ["Have PAN and it's linked to Aadhaar", "Have PAN but not linked to Aadhaar", "Don't have PAN"]
115 
116Q5: "GST registration?"
117 Options: ["GST registered (regular)", "GST registered (composition scheme)", "Not GST registered", "Not sure"]
118 
119Q6: "Age as of 31 March 2026?"
120 Options: ["Below 60", "60-79 (senior citizen)", "80+ (super senior citizen)"]
121```
122 
123**Evaluate Q4:**
124- **PAN linked to Aadhaar** -> continue.
125- **PAN not linked** -> continue with flag: PAN may be inoperative under s.139AA. TDS at higher rate (20%) may apply. Urgent: link before filing.
126- **No PAN** -> stop. "You need a PAN to file income tax returns. Apply for PAN first, then come back."
127 
128**Evaluate Q5:**
129- **GST registered (regular)** -> continue. GSTR-3B and GSTR-1 filing required.
130- **GST registered (composition)** -> continue with flag: composition scheme limits and flat rate apply.
131- **Not GST registered** -> continue with flag: if aggregate turnover exceeds INR 20 lakh (INR 10 lakh for special category states), registration is mandatory. Will check after inference.
132- **Not sure** -> ask one follow-up: "Do you have a 15-digit GSTIN? Do you charge GST on your invoices? If yes, you're registered."
133 
134**Evaluate Q6:**
135- **Below 60** -> standard exemption limit INR 3,00,000 (new regime) or INR 2,50,000 (old regime).
136- **60-79** -> senior citizen: INR 3,00,000 old regime exemption. New regime same INR 3,00,000.
137- **80+** -> super senior: INR 5,00,000 old regime exemption. New regime same INR 3,00,000. Cannot file online (ITR must be paper-filed or through authorised representative).
138 
139**Total time:** ~45 seconds if the user taps through.
140 
141---
142 
143## Section 3 -- The dump
144 
145Once the refusal sweep passes, immediately ask for the document dump. Single message. No preamble.
146 
147**Example:**
148 
149> Scope is good. Now upload everything you have for FY 2025-26 -- drop it all in at once:
150>
151> - Business bank statement(s) for April 2025 to March 2026 (PDF or CSV)
152> - Sales invoices issued in FY 2025-26
153> - Purchase invoices / receipts for business expenses
154> - Form 26AS (Annual Information Statement from TRACES)
155> - AIS (Annual Information Statement from income tax portal)
156> - Prior year ITR (ITR-3 or ITR-4 as filed)
157> - GST returns filed (GSTR-3B summaries, GSTR-1)
158> - TDS certificates (Form 16A from clients)
159> - Advance tax challans (Form 26QB / self-assessment challans)
160> - Professional tax receipts
161> - Insurance premium receipts (LIC, health insurance)
162> - PPF / ELSS / NPS statements (if claiming 80C/80D/80CCD)
163> - Any IT notices or correspondence
164> - Anything else tax-related you have
165>
166> Don't worry about labeling or organizing -- I'll figure out what each file is. Drag and drop when ready.
167 
168Then wait. Do not ask any other questions while waiting.
169 
170**If the user uploads a partial dump and says "that's what I have":** move to inference. Do not demand more. Request specific missing items during gap-filling.
171 
172**If the user says "I don't know what I have":** Switch to guided mode:
173> Check these places:
174> - Business bank: download FY 2025-26 statements as PDF or CSV
175> - Income tax portal (incometax.gov.in): download Form 26AS and AIS
176> - TRACES portal: download TDS certificates
177> - GST portal (gst.gov.in): download GSTR-3B and GSTR-1 filed returns
178> - Email: search for "invoice", "TDS", "ITR", "GST", "advance tax"
179> - Your CA from last year, if you had one
180> - Google Drive / local folders for saved invoices
181>
182> Come back when you have something to upload. I'll work with whatever you bring.
183 
184---
185 
186## Section 4 -- The inference pass
187 
188When documents arrive, parse each one. For each document, extract:
189 
190**Bank statement:**
191- Total deposits (candidate gross receipts)
192- Recurring inflows (client payments with names, domestic vs international)
193- Digital receipts vs cash deposits (critical for 44ADA/44AD threshold -- INR 75L/50L or INR 3Cr/2Cr)
194- Outflows to Income Tax Department (advance tax payments with dates and challan numbers)
195- Outflows labelled GST / CGST / SGST / IGST (GST payments)
196- Outflows to professional bodies
197- Equipment purchases (potential capital items)
198- Transfers to personal account (owner draws)
199- Rent payments (office or co-working space)
200- SaaS / software subscriptions
201- Insurance payments (PI, health, LIC)
202- RETA / professional tax payments
203 
204**Form 26AS / AIS:**
205- TDS credits by deductor (client name, TAN, amount deducted, section)
206- Advance tax and self-assessment tax payments (dates and amounts)
207- High-value transactions flagged by AIS (SFT information)
208- Tax collected at source (TCS) entries
209- Refund issued (if any from prior year)
210 
211**Sales invoices:**
212- Client names and amounts
213- Whether GST was charged (CGST+SGST or IGST)
214- Whether invoices show "under reverse charge"
215- SAC/HSN codes used
216- Total turnover reconciliation against bank deposits and Form 26AS
217- Foreign clients (export of services -- zero-rated under GST, FIRC/foreign remittance)
218 
219**Purchase invoices / receipts:**
220- Expense category (revenue vs capital)
221- GST input tax credit (ITC) amounts
222- Supplier GSTIN (for ITC eligibility verification)
223- Any items that are blocked ITC under s.17(5) CGST Act
224 
225**Prior year ITR:**
226- Which form was filed (ITR-3 or ITR-4)
227- Prior year total income and tax liability
228- Old regime vs new regime elected
229- Carry-forward losses (if any)
230- Depreciation schedule (WDV of asset blocks)
231- Whether 44ADA/44AD was opted in prior year (lock-in implications)
232 
233**GST returns (GSTR-3B / GSTR-1):**
234- Monthly/quarterly turnover reported
235- Output GST collected
236- ITC claimed
237- GST paid (cash + ITC utilisation)
238- Any reverse charge liability
239 
240**TDS certificates (Form 16A):**
241- Deductor details and TAN
242- Amount paid and TDS deducted
243- Section under which TDS deducted (194J, 194C, 194H, etc.)
244- Reconciliation against Form 26AS
245 
246**After parsing everything, build an internal inference object.** Do not show the raw inference yet -- transform it into a compact summary for the user in Section 5.
247 
248---
249 
250## Section 5 -- The confirmation
251 
252After inference, present a single compact summary message. Use a structured format that is fast to scan. Invite the user to correct anything wrong.
253 
254**Example summary message:**
255 
256> Here's what I pulled from your documents. Skim and tell me what's wrong.
257>
258> **Identity**
259> - Rajesh Kumar, age 35
260> - Full-year Indian resident (Bangalore)
261> - Self-employed professional, sole proprietor
262> - PAN: ABCPK1234F (linked to Aadhaar)
263> - GSTIN: 29ABCPK1234F1Z5 (regular registration, Karnataka)
264>
265> **Income (from bank statement + invoices + 26AS)**
266> - Gross receipts: ~INR 38,00,000
267> - Digital receipts: INR 36,50,000 (96%)
268> - Cash receipts: INR 1,50,000 (4%)
269> - Since digital > 95%, 44ADA threshold is INR 75,00,000 -- eligible
270> - TechCorp India Pvt Ltd: INR 18,00,000 (retainer)
271> - GlobalSoft Inc (USA): INR 12,00,000 (export of services, zero-rated GST)
272> - Various domestic clients: INR 8,00,000
273> - GST collected (18%): ~INR 4,68,000 (on domestic taxable supplies)
274>
275> **Expenses (from bank statement + purchase invoices)**
276> - Co-working space rent: INR 1,80,000
277> - Software / SaaS subscriptions: INR 90,000
278> - Professional insurance: INR 25,000
279> - CA fees: INR 30,000
280> - Internet: INR 36,000 (TBD -- need business use %)
281> - Mobile phone: INR 24,000 (TBD -- need business use %)
282> - Laptop: INR 1,20,000 (Oct 2025) -- capital item, 40% depreciation
283> - ITC claimed on purchases: ~INR 85,000
284>
285> **TDS credits (from Form 26AS)**
286> - TechCorp: INR 1,80,000 (s.194J, 10%)
287> - Other clients: INR 62,000 (s.194J)
288> - Total TDS: INR 2,42,000
289>
290> **Advance tax paid (from 26AS / challans)**
291> - 15 Jun 2025: INR 50,000
292> - 15 Sep 2025: INR 50,000
293> - 15 Dec 2025: INR 50,000
294> - 15 Mar 2026: INR 50,000
295> - Total advance tax: INR 2,00,000
296>
297> **GST (from GSTR-3B)**
298> - Monthly GSTR-3B filed, GSTR-1 filed
299> - Total output GST: INR 4,68,000
300> - Total ITC utilised: INR 85,000
301> - Cash GST paid: INR 3,83,000
302>
303> **Prior year (from FY 2024-25 ITR)**
304> - Filed ITR-4 (presumptive 44ADA)
305> - Total income: INR 14,50,000
306> - Tax paid: INR 1,85,000
307> - New tax regime elected
308> - No carry-forward losses
309>
310> **Flags I already see:**
311> 1. Phone / internet -- need business use percentage
312> 2. If choosing 44ADA presumptive: 50% deemed profit, no further expense deductions allowed -- net tax may be higher than actual-profit ITR-3
313> 3. Prior year was 44ADA; if switching to ITR-3 (actual profit), cannot go back to presumptive for 5 years under s.44ADA(4)
314> 4. Export of services to GlobalSoft -- verify FIRC received for zero-rating
315> 5. Advance tax + TDS = INR 4,42,000 -- need to check if sufficient to avoid s.234B/234C interest
316>
317> **Is any of this wrong? Reply "looks good" or tell me what to fix.**
318 
319---
320 
321## Section 6 -- Gap filling
322 
323After the user confirms the summary (or corrects it), ask about things that cannot be inferred from documents. Use `ask_user_input_v0` where possible.
324 
325**Things that usually cannot be inferred:**
326 
3271. **Old regime vs new regime** -- Critical decision point for FY 2025-26.
3282. **Presumptive taxation (44ADA/44AD) vs actual profit** -- If eligible, user must choose.
3293. **80C/80D deductions (old regime only)** -- PPF, ELSS, LIC, health insurance, NPS.
3304. **Home office** -- Cannot tell from documents whether a dedicated workspace exists.
3315. **Private use percentage** -- Phone, internet business-use split.
3326. **Other income** -- Savings interest, FD interest, rental income, capital gains.
3337. **Professional tax paid** -- Deductible under s.16(iii) / business expense.
334 
335**Tax regime gap-filling example:**
336 
337Call `ask_user_input_v0` with:
338 
339```
340Q: "Tax regime for FY 2025-26?"
341 Options: [
342 "New tax regime (default -- lower rates, no deductions except standard)",
343 "Old tax regime (higher rates, but 80C/80D/80CCD/HRA deductions available)",
344 "Not sure -- help me decide"
345 ]
346```
347 
348If option 1 -> continue with new regime. No 80C/80D questions needed.
349If option 2 -> continue with old regime. Ask about 80C/80D/80CCD deductions.
350If option 3 -> flag for comparison computation: "I'll compute under both regimes and show you which is lower. For now, I need to know your potential deductions." Then ask about 80C/80D.
351 
352**Presumptive vs actual profit example:**
353 
354Call `ask_user_input_v0` with:
355 
356```
357Q: "Presumptive taxation (44ADA) or actual profit (ITR-3)?"
358 Options: [
359 "Presumptive 44ADA -- declare 50% of gross receipts as profit, no expense deductions, no audit",
360 "Actual profit (ITR-3) -- claim actual expenses, maintain books, possible audit if profit < 50%",
361 "Not sure -- help me decide"
362 ]
363```
364 
365If option 1 -> presumptive path. Skip detailed expense categorisation.
366If option 2 -> actual profit path. Full expense schedule needed.
367If option 3 -> compute both and compare.
368 
369**80C deductions example (old regime only):**
370 
371Call `ask_user_input_v0` with:
372 
373```
374Q: "Section 80C investments in FY 2025-26? (max INR 1,50,000)"
375 Options: [
376 "PPF contribution",
377 "ELSS mutual funds",
378 "Life insurance premium (LIC)",
379 "5-year FD",
380 "NPS (80CCD(1) within 80C limit)",
381 "Multiple of the above",
382 "None / don't want to claim"
383 ]
384```
385 
386If "Multiple" -> ask for amounts as text input.
387 
388**Home office gap-filling example:**
389 
390Call `ask_user_input_v0` with:
391 
392```
393Q: "Home office?"
394 Options: [
395 "Dedicated room, used ONLY for work",
396 "Dedicated corner/desk, used ONLY for work",
397 "Shared space (kitchen table, living room)",
398 "Separate business premises (co-working / rented office)",
399 "No fixed workspace"
400 ]
401```
402 
403If option 1 -> ask for room count or area percentage. Deductible as business expense (rent proportion, electricity, internet).
404If option 2 -> flag for reviewer: partial home office may qualify but documentation is key.
405If option 3 -> "A shared space is difficult to defend as a business deduction. I'll skip this."
406If option 4 -> rent is already captured in expenses. No home office calculation needed.
407If option 5 -> skip home office entirely.
408 
409Flag all private-use percentages for reviewer confirmation.
410 
411---
412 
413## Section 7 -- The final handoff
414 
415Once gap-filling is done, produce a final handoff message and hand off to `in-return-assembly`.
416 
417**Example handoff message:**
418 
419> Intake complete. Here's what's going to the return assembly:
420>
421> Self-employed professional, resident individual, age 35, GST registered (regular). Gross receipts INR 38,00,000, choosing 44ADA presumptive -- deemed profit INR 19,00,000.
422>
423> I'm now going to run the full India return preparation. This covers:
424> 1. GST returns reconciliation (GSTR-3B + GSTR-1)
425> 2. Income tax return (ITR-4 if presumptive, ITR-3 if actual profit)
426> 3. Advance tax reconciliation and s.234B/234C interest computation
427> 4. TDS credit reconciliation
428>
429> You'll get back:
430> 1. An Excel working paper with all computations and live formulas
431> 2. A reviewer brief with positions, citations, and flags for your CA
432> 3. A filing calendar with all upcoming deadlines
433>
434> Starting now.
435 
436Then internally invoke `in-return-assembly` with the structured intake package.
437 
438---
439 
440## Section 8 -- Structured intake package (internal format)
441 
442The downstream skill (`in-return-assembly`) consumes a JSON structure. It is internal and not shown to the user unless they ask. Key fields:
443 
444```json
445{
446 "jurisdiction": "IN",
447 "financial_year": "2025-26",
448 "assessment_year": "2026-27",
449 "taxpayer": {
450 "name": "",
451 "age": 0,
452 "age_category": "below_60 | senior_60_79 | super_senior_80_plus",
453 "residency": "resident",
454 "pan": "",
455 "aadhaar_linked": true,
456 "gstin": "",
457 "gst_registration_type": "regular | composition | unregistered",
458 "nature_of_profession": "",
459 "entity_type": "sole_proprietor"
460 },
461 "regime": {
462 "tax_regime": "new | old",
463 "presumptive": true,
464 "presumptive_section": "44ADA | 44AD | none",
465 "itr_form": "ITR-3 | ITR-4"
466 },
467 "income": {
468 "gross_receipts": 0,
469 "digital_receipts": 0,
470 "cash_receipts": 0,
471 "digital_percentage": 0,
472 "deemed_profit_percentage": 50,
473 "deemed_profit": 0,
474 "other_income": 0,
475 "client_breakdown": []
476 },
477 "expenses": {
478 "fully_deductible": [],
479 "mixed_use": [],
480 "blocked": [],
481 "capital_items": [],
482 "total_actual_expenses": 0
483 },
484 "gst": {
485 "gstr3b_filed": [],
486 "gstr1_filed": [],
487 "output_gst_collected": 0,
488 "itc_claimed": 0,
489 "gst_cash_paid": 0,
490 "reverse_charge_liability": 0,
491 "export_services": 0
492 },
493 "tds": {
494 "tds_credits": [],
495 "total_tds": 0,
496 "tds_by_section": {}
497 },
498 "advance_tax": {
499 "payments": [],
500 "total_advance_tax_paid": 0
501 },
502 "deductions_old_regime": {
503 "section_80c": 0,
504 "section_80d": 0,
505 "section_80ccd_1b": 0,
506 "section_80ccd_2": 0,
507 "professional_tax": 0,
508 "other_deductions": []
509 },
510 "prior_year": {
511 "itr_form_filed": "",
512 "total_income": 0,
513 "tax_liability": 0,
514 "regime_used": "",
515 "presumptive_used": false,
516 "carry_forward_losses": [],
517 "depreciation_schedule": []
518 },
519 "home_office": {
520 "qualifies": false,
521 "percentage": 0,
522 "method": "rooms | floor_area"
523 },
524 "private_use": {
525 "phone_business_pct": 0,
526 "internet_business_pct": 0
527 },
528 "open_flags": [],
529 "refusals_triggered": [],
530 "documents_received": []
531}
532```
533 
534---
535 
536## Section 9 -- Refusal handling
537 
538Refusals fire from either the refusal sweep (Section 2) or during inference (e.g., company structure discovered in documents).
539 
540When a refusal fires:
5411. Stop the workflow
5422. State the specific reason in one sentence
5433. Recommend the path forward (specific practitioner type)
5444. Offer to continue with partial help ONLY if the out-of-scope item is cleanly separable (rare)
545 
546**Do not:**
547- Apologise profusely
548- Try to work around the refusal
549- Suggest the user "might be able to" fit into scope if they answer differently
550- Continue silently
551 
552**Sample refusal:**
553 
554> Stop -- you operate through a Private Limited Company. I'm set up for self-employed individuals and sole proprietors only. Pvt Ltd companies file ITR-6 with separate rules for directors' salary, dividend distribution tax, and corporate tax rates. You need a CA familiar with corporate returns.
555>
556> I can't help with this one.
557 
558---
559 
560## Section 10 -- Self-checks
561 
562**Check IN1 -- No one-question-at-a-time prose in the refusal sweep.** If the skill asked "Question 1 of 10" or walked through questions as separate messages, check fails.
563 
564**Check IN2 -- Refusal sweep used ask_user_input_v0.** The first substantive interaction used the interactive tool, not prose questions.
565 
566**Check IN3 -- Upload-first flow honoured.** After refusal sweep, the skill asked for a document dump before asking any content questions.
567 
568**Check IN4 -- Documents were parsed and inferred before asking questions.** The inference summary (Section 5) was shown before gap-filling questions (Section 6).
569 
570**Check IN5 -- Gap-filling only asked about things NOT visible in documents.** If the skill asked "did you pay advance tax" after Form 26AS showed challan entries, check fails.
571 
572**Check IN6 -- Open flags captured.** Anything ambiguous, risky, or attention-worthy during inference is in the `open_flags` list in the handoff package.
573 
574**Check IN7 -- Handoff to `in-return-assembly` is explicit.** The user was told "I'm now going to run the return preparation," and the downstream orchestrator was explicitly invoked with the intake package.
575 
576**Check IN8 -- Reviewer step was stated upfront and reiterated before handoff.** The opening message mentioned CA signoff.
577 
578**Check IN9 -- Refusals were clean.** No hedging. Stop means stop.
579 
580**Check IN10 -- No meta-commentary about workflow phases.** The skill did not say "Phase 1," "Phase 2," etc.
581 
582**Check IN11 -- Total user-facing turn count is low.** Target: 8 turns or fewer from start to handoff for a prepared user (1 refusal batch + 1 upload + 1 confirmation + 1-3 gap fills + 1 handoff). More than 12 turns for a normal intake is a check failure.
583 
584**Check IN12 -- Tax regime and presumptive status established.** Old vs new regime and 44ADA/44AD decision confirmed before handoff, as it changes the entire computation.
585 
586---
587 
588## Section 11 -- Performance targets
589 
590For a prepared user (documents in a folder, ready to upload):
591- **Refusal sweep**: 45 seconds (1-2 interactive turns)
592- **Document upload**: 2 minutes (1 upload turn)
593- **Inference and confirmation display**: 1 minute Claude processing + 1 turn for user confirmation
594- **Gap filling**: 2 minutes (2-3 interactive turns)
595- **Handoff**: immediate
596- **Total**: ~6 minutes
597 
598For an unprepared user (has to go fetch documents):
599- Refusal sweep: same
600- Document discovery: 10-20 minutes offline
601- Rest: same
602- **Total**: 15-25 minutes
603 
604---
605 
606## Section 12 -- Cross-skill references
607 
608**Inputs:** User-provided documents and answers.
609 
610**Outputs:** Structured intake package consumed by `in-return-assembly`.
611 
612**Downstream skills triggered (via in-return-assembly):**
613- `india-gst` -- GSTR-3B + GSTR-1 reconciliation
614- `in-income-tax` -- ITR-3 or ITR-4 return
615- `in-advance-tax` -- Quarterly advance tax reconciliation and interest computation
616- `in-tds-freelance` -- TDS credit reconciliation and reporting
617 
618---
619 
620### Change log
621 
622- **v0.1 (April 2026):** Initial draft. Upload-first, inference-then-confirm pattern modelled on mt-freelance-intake v0.1.
623 
624## End of Intake Skill v0.1
625 
626 
627---
628 
629## Disclaimer
630 
631This skill and its outputs are provided for informational and computational purposes only and do not constitute tax, legal, or financial advice. Open Accountants and its contributors accept no liability for any errors, omissions, or outcomes arising from the use of this skill. All outputs must be reviewed and signed off by a qualified professional (such as a Chartered Accountant, tax practitioner, or equivalent licensed practitioner in your jurisdiction) before filing or acting upon.
632 
633The most up-to-date, verified version of this skill is maintained at [openaccountants.com](https://openaccountants.com). Log in to access the latest version, request a professional review from a licensed accountant, and track updates as tax law changes.
634 

Run this skill, then get an accountant to check it

After running the full skill pack in Claude, sign up and upload your worksheet. We'll connect you with a trusted accountant in our network who can review your numbers before you file.

Quality

Q2: Research-verified

Deep research against tax authority sources. Not yet tested on real data.

Needs real client data + practitioner sign-off to reach Q1.

Accountant Review

Unverified
0/19

About

ALWAYS USE THIS SKILL when a user asks for help preparing their India tax returns AND mentions freelancing, self-employment, contracting, professional services, or independent practice. Trigger on phrases like "help me do my taxes", "prepare my ITR", "I'm self-employed in India", "I'm a freelancer in India", "do my taxes as a consultant", "prepare my income tax return", or any similar phrasing where the user is an India-resident self-employed individual needing tax return preparation. This is the REQUIRED entry point for the India self-employed tax workflow -- every other skill in the stack (india-gst, in-income-tax, in-advance-tax, in-tds-freelance, in-return-assembly) depends on this skill running first to produce a structured intake package. Uses upload-first workflow -- the user dumps all their documents and the skill infers as much as possible before asking questions. Uses ask_user_input_v0 for structured questions instead of one-at-a-time prose. Built for speed. India full-year residents only; self-employed individuals and professionals only.

INty-2025

5 of 5 in the IN workflow: