/** * 财税行业历法 —— 全年关键节点 + 可作为话术 hook 的事件。 * 数据偏中国大陆代账/审计/筹划业务的实务节奏。每月一组。 */ export interface MonthEntry { month: number; events: string[]; /** 适合作为外呼话术 hook 的"近期事件" —— 直接拼到话术里。 */ pitch_hooks: string[]; } export const CALENDAR: MonthEntry[] = [ { month: 1, events: ['12 月增值税申报(1 月 15 日截止)', '上年第四季度所得税预缴', '社保基数核定准备'], pitch_hooks: [ '上一年的账还没关好的,这周再不收口,汇算清缴会被动', '这个月做财务"收尾盘点",比 4 月再冲刺轻松一半', ], }, { month: 2, events: ['年终账务整理', '研发费用归集准备', '审计现场进点(多数大企业 1-2 月开始)'], pitch_hooks: [ '研发归集这个月不动手,加计扣除就跟不上汇算清缴', '审计师进场前先做一轮预审,能省一大半返工', ], }, { month: 3, events: ['汇算清缴正式开启(3 月 1 日 - 5 月 31 日)', '年度财务报表披露准备', '股改/审计旺季'], pitch_hooks: [ '汇算清缴的高风险 7 个点,趁早体检比赶在 5 月底改账好十倍', '上年的研发加计、捐赠、亏损弥补,这个月不规划清楚 4 月就来不及', ], }, { month: 4, events: ['汇算清缴高峰', '一季度增值税申报', '高新申报材料启动准备', '一季度所得税预缴'], pitch_hooks: [ '汇算清缴这个月没体检完,剩下 30 天会很被动', '高新认定材料 6 月底前要交,4 月不动手就晚了', ], }, { month: 5, events: ['汇算清缴截止(5 月 31 日)', '高新认定准备深化', '股改/IPO 辅导期方案敲定'], pitch_hooks: [ '5 月 31 日前不补的所得税,6 月就是滞纳金', '股改的审计师选定、研发归集、关联交易 ——5 月不定,6 月没法跑', ], }, { month: 6, events: ['高新认定材料申报截止(部分地区)', '半年度报表准备', '二季度增值税申报'], pitch_hooks: [ '半年报这个月不预审,下个月一定会卡', '高新认定的研发占比、销售占比、人员结构,6 月不调整就出不了认定', ], }, { month: 7, events: ['二季度所得税预缴', '半年度报表正式出', '一些地区高新认定二批申报', '研发加计中期复核'], pitch_hooks: [ '二季度所得税预缴别用上半年的口径预,年中重新算一遍能省一笔', '半年报对外披露的口径,决定了 Q3-Q4 的财务故事', ], }, { month: 8, events: ['年度税务稽查重点行业(按地区批次)', 'IPO 申报材料更新(拟上市企业)', '年中财税策略调整窗口'], pitch_hooks: [ '稽查批次这个月正在排,提前做一轮自查,发现问题主动整改 vs 被动应付', '下半年还有 4 个月,年度税负目标偏离的,现在不调就来不及', ], }, { month: 9, events: ['研发加计扣除自查', '三季度增值税申报', '高新认定结果陆续公布', '年度税务筹划方案启动'], pitch_hooks: [ '研发加计这个月做"年度自查",比汇算清缴时被打回轻松十倍', 'Q4 是税务筹划的窗口期,11 月才动手就只能小修小补', ], }, { month: 10, events: ['三季度所得税预缴', '年终奖发放方案确定(个税筹划)', '股权激励行权窗口'], pitch_hooks: [ '年终奖单独计税还是合并计税,10 月不算清楚 12 月发的时候多缴个税', '股权激励的行权时点和价格,决定个税成本 —— 这个月不规划就锁死', ], }, { month: 11, events: ['年度财税体检', '次年预算与税务筹划', '关联交易档案归集启动'], pitch_hooks: [ '年度财税体检 11 月做最划算 ——12 月发现问题还来得及调', '关联交易同期资料 11 月不归集,明年 5 月底前一定来不及', ], }, { month: 12, events: ['年终账务收口', '年终奖发放', '次年财务团队架构与代账方案敲定', '股改/IPO 推进的关键节点'], pitch_hooks: [ '12 月最后两周决定下一年的财税地图 —— 现在不规划,1 月手忙脚乱', '股改路径敲定要赶在年底前 —— 跨年再做,整套方案要重做一遍', ], }, ]; export function thisMonth(date = new Date()): MonthEntry { const m = date.getMonth() + 1; return CALENDAR[m - 1]; } export function nextMonths(n: number, date = new Date()): MonthEntry[] { const m = date.getMonth(); return Array.from({ length: n }, (_, i) => CALENDAR[(m + i) % 12]); }