Skip to content

Integration DAG: Recurring cycles

Why this page is structured this way: Cycles aren’t really call-chains; they’re temporal dependencies. The daily reconciliation feeds the weekly CFR which informs the monthly client-funding submission which contributes to quarterly running-account settlement which rolls up to the half-yearly compliance certificate which is audited annually. One DAG shows the cadence dependencies; per-cycle tables capture the operational detail.

  • 1 cadence-dependency DAG showing how shorter-cycle outputs feed longer-cycle reports.
  • 18 unique recurring nodes across 5 cadence layers.
  • Quarterly running-account settlement is the strict-cutoff item — calendar quarter-end (Apr / Jul / Oct / Jan); penalty-attracting in inspections.
  • Annual statutory audit is the longest-arm dependency: it consumes every prior cycle’s output for the year.

Cycles repeat. Weekly CFRs go out every Friday; monthly returns by mid-month; quarterly running-account settlement on calendar quarter-ends; half-yearly compliance certificates; annual audits. Each cycle has its own owner (Compliance Officer for SCORES MIS; Funds Ops for running-account; Internal Auditor for half-yearly report; CA firm for statutory). The cadence DAG below shows how shorter cycles feed longer ones — a yearly statutory audit consumes 12 monthly MIS, 4 quarterly settlement artefacts, 2 half-yearly certificates, and the underlying daily ledger. Building the compliance calendar from this view is the single highest-leverage exercise a new compliance officer can do.

DAILY OUTPUTS (from EOD: ledger, DMF, CN dispatch, KRA/CKYC uploads)
├──► CYC-WK-CFR (Weekly CFR, Friday cut-off)
│ │
│ ├──► CYC-MO-CLIENT_FUNDING (Monthly client funding to exchange)
│ ├──► CYC-MO-NETWORTH (Monthly networth check)
│ │
│ ▼
├──► CYC-MO-GST (Monthly GST returns; GSTR-1 by 11th, GSTR-3B by 20th)
├──► CYC-MO-TDS (Monthly TDS deposit by 7th of next month)
├──► CYC-MO-STT (Monthly STT remittance)
├──► CYC-MO-COMPLAINT_MIS (Monthly grievance MIS to SCORES + exchange)
CYC-QT-RUNNING_ACCT (Quarterly running-account settlement; Apr/Jul/Oct/Jan)
├──► CYC-QT-FATCA_REFRESH (Quarterly FATCA refresh for foreign-tax-residency)
├──► CYC-QT-BCP_DRILL (Quarterly BCP / DR drill)
├──► CYC-QT-STATEMENT (Quarterly statement of accounts to clients)
CYC-HY-COMPLIANCE_CERT (Half-yearly compliance certificate to SEBI)
├──► CYC-HY-INTERNAL_AUDIT (Half-yearly internal audit report)
CYC-AN-STATUTORY_AUDIT (Annual statutory audit by CA firm)
├──► CYC-AN-KRA_AUDIT (Annual KRA process audit)
├──► CYC-AN-DP_AUDIT (Annual DP audit — CDSL or NSDL or both)
├──► CYC-AN-SYSTEM_AUDIT (Every 2 years per SEBI; alternate annual cycle)
├──► CYC-AN-CYBER_AUDIT (Annual / biennial per CSCRF category)
├──► CYC-AN-FIT_PROPER (Annual fit-and-proper refresh for directors/KMP)
├──► CYC-AN-NISM_RECERT (NISM re-certification cycles for compliance/AP/dealer)
├──► CYC-AN-FORM_16A (Annual TDS Form 16A dispatch)
└──► CYC-AN-MEMBERSHIP (Annual exchange membership renewal)
node_idoperationdepends_onblocksparallel_eligibleidempotentretry_policyrollbackslafailure_surfacespec_source
CYC-WK-CFRWeekly Client Funding Report submissionEOD daily outputs (×5)CYC-MO-CLIENT_FUNDINGparallel-with monthly tracksyes (week-keyed)3× then manualre-submit on revisionby Friday cut-offexchange portalReporting domain
CYC-MO-CLIENT_FUNDINGMonthly aggregated client funding to exchangeCYC-WK-CFR (×4)CYC-QT-RUNNING_ACCTparallel-with other monthlyyes (month-keyed)3× then manual[none]by mid-monthexchange portalReporting domain
CYC-MO-NETWORTHMonthly networth check (>Rs.3 cr threshold)daily ledgerCYC-QT-RUNNING_ACCTparallelyes1× then critical alertn/aby month-endcompliance consoleMember compliance domain
CYC-MO-GSTMonthly GST returns (GSTR-1 + GSTR-3B)daily ledgerCYC-AN-STATUTORY_AUDITparallelyes (month-keyed)3× then accountant manualre-file revisionGSTR-1 by 11th, GSTR-3B by 20thGST portalGST Act / GSTN
CYC-MO-TDSMonthly TDS deposit + quarterly returnsdaily ledgerCYC-AN-FORM_16Aparallelyes (month-keyed)3× then accountant manualre-deposit on revisionby 7th of next monthIT portalIT Act
CYC-MO-STTMonthly STT remittancedaily ledgerCYC-AN-STATUTORY_AUDITparallelyes3× then manualn/aby 7th of next monthIT portalSTT framework
CYC-MO-COMPLAINT_MISMonthly complaint summary to SCORES + exchangegrievance systemCYC-HY-COMPLIANCE_CERTparallelyes3× then manualre-submit revisionby month-endSCORES portalGrievance domain
CYC-QT-RUNNING_ACCTQuarterly running-account settlementCYC-MO-CLIENT_FUNDING (×3)CYC-HY-COMPLIANCE_CERTparallel-with other quarterlyyes (client+quarter keyed)strict — calendar quarter-endn/a (sweep is the rollback)by quarter-endops console + client banksSEBI running-account circular
CYC-QT-FATCA_REFRESHQuarterly FATCA refreshdaily KRA + CKYCCYC-HY-COMPLIANCE_CERTparallelyes3× then manual[none]by quarter-endKRA portalSEBI FATCA centralization Feb 2024
CYC-QT-BCP_DRILLQuarterly BCP / DR drillBOD health-checksCYC-HY-COMPLIANCE_CERTparallelyes (drill-id keyed)1× then escalationn/aby quarter-endops + CISOBCP/DR domain
CYC-QT-STATEMENTQuarterly statement of accounts to clientsCYC-QT-RUNNING_ACCTCYC-HY-COMPLIANCE_CERTparallelyes (client-keyed)3× then manualre-dispatch on revisionwithin 30d of quarter-endDLT commsInvestor servicing domain
CYC-HY-COMPLIANCE_CERTHalf-yearly compliance certificate to SEBICYC-QT-* (×2)CYC-AN-STATUTORY_AUDITparallel-with internal audityes1× then escalationre-submit revisionhalf-yearly cycleSEBI portalReporting domain
CYC-HY-INTERNAL_AUDITHalf-yearly internal audit by appointed CACYC-MO-* / CYC-QT-* outputsCYC-AN-STATUTORY_AUDITparallelyesn/a (human)re-issue audit observationhalf-yearly cycleaudit reportAudit domain
CYC-AN-STATUTORY_AUDITAnnual audit by independent CACYC-HY-* (×2), CYC-MO-* (×12), CYC-QT-* (×4)[exit]parallelyesn/a (human)n/aannual cycleaudit reportAudit domain
CYC-AN-KRA_AUDITAnnual KRA process auditKRA-DAILY (×365)[exit]parallelyesn/an/aannualaudit reportSEBI KYC master circular
CYC-AN-DP_AUDITAnnual DP audit (CDSL / NSDL)EOD-* / BOD-* depository ops[exit]parallelyesn/an/aannualaudit reportCDSL / NSDL circulars
CYC-AN-SYSTEM_AUDITSystem audit (every 2 years per SEBI)year’s system ops[exit]parallelyes (alt-year)n/an/abiennialaudit reportSEBI system audit circulars
CYC-AN-CYBER_AUDITCyber audit per CSCRFCSCRF logs (full year)[exit]parallelyesn/an/aannual / biennial per categoryCSCRF reportCyber domain
CYC-AN-FIT_PROPERAnnual fit-and-proper self-certdirectors / KMP / senior mgmt[exit]parallelyes (person-keyed)1× then escalationn/aannualcompliance consoleMember compliance domain
CYC-AN-NISM_RECERTNISM re-certification cyclesNISM cert expiry tracking[exit]parallelyes (cert-keyed)renewal window 3yaccount-disable if lapsedrollingHR + complianceNISM regulations
CYC-AN-FORM_16AAnnual TDS Form 16A dispatchCYC-MO-TDS (×12)[exit]parallelyes (client-keyed)3× then manualre-dispatch on revisionannualDLT comms + emailIT Act
CYC-AN-MEMBERSHIPAnnual exchange membership renewalnetworth + fit-and-proper[exit]parallelyes (member-keyed)renewal windowsuspension if lapsedannualexchange portalMember compliance domain
  • [gotcha] CYC-QT-RUNNING_ACCT is strictly enforced by calendar quarter-end (April / July / October / January), not by quarter-since-account-opened. New ops engineers sometimes misread this as a 90-day client-anniversary cycle; it isn’t. Sweep happens on the same day for every client.
  • [industry practice] The cadence DAG implicitly tells you the escalation calendar — if a CYC-WK-CFR misses Friday, the failure cascades into CYC-MO-CLIENT_FUNDING (next mid-month) which cascades into CYC-QT-RUNNING_ACCT (next quarter-end). Compliance teams run this analysis weekly to predict month-end churn.
  • [risk trade-off] Most cycles allow 3× retry then manual queue; CYC-QT-RUNNING_ACCT, CYC-HY-COMPLIANCE_CERT, and the annual audits don’t — they’re human-driven with hard deadlines. Tighter monitoring on these (alerts at T-3 days, T-1 day, T-0) prevents most last-minute panics.
  • [cost optimization] CYC-AN-NISM_RECERT lapses are the single most common reason for individual ops-staff being briefly account-disabled. Most large brokers maintain a 90-day-before-expiry alert in HRMS to avoid this; smaller brokers track manually and miss occasionally.

2026-05-14


AI-generated and not legal, financial, or compliance advice. See the project README for full disclaimer.