npx skills add https://github.com/kazukinagata/shinkoku --skill e-tax使用 Claude in Chrome 在浏览器上将 shinkoku 计算出的申报数据输入并提交到申报书等创建专区(https://www.keisan.nta.go.jp/)的技能。
/income-tax 技能的所得税计算/settlement 技能的决算书(PL/BS)创建/consumption-tax 技能的消费税计算(仅限适用者)shinkoku.config.yaml向申报书等创建专区输入数据有以下三种方式。
| 项目 | 内容 |
|---|---|
| 目标环境 | Windows / macOS 的原生 Chrome |
| 前提 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 已安装 Claude in Chrome 扩展 |
| 优点 | 无 OS 检测问题。无需额外设置 |
| 项目 | 内容 |
|---|---|
| 目标环境 | Windows / macOS / Linux(Antigravity IDE) |
| 前提 | 已安装 Antigravity IDE 且 browser_subagent 工具可用 |
| 优点 | 使用原生 Chrome,无需伪装 OS。在 Linux 上也可运行 |
| 项目 | 内容 |
|---|---|
| 目标环境 | WSL / Linux,或无法使用 Claude in Chrome、Antigravity 的环境 |
| 前提 | @playwright/cli + Playwright CLI 技能 + etax-stealth.js(OS 伪装脚本) |
| 限制 | 必须使用 headed 模式(QR 码认证需要物理操作) |
1. Claude in Chrome 的工具(browser_navigate 等)是否可用?
→ 是: 使用方式 A
→ 否: 进入下一步
2. Antigravity 的 browser_subagent 工具是否可用?
→ 是: 使用方式 B
→ 否: 进入下一步
3. Bash 工具中 `playwright-cli` 命令是否可用?
→ 是: 使用方式 C(以 headed 模式启动)
→ 否: 显示错误
错误信息:
「向申报书等创建专区输入需要 Claude in Chrome、
Antigravity Browser Sub-Agent 或 Playwright CLI。
设置方法请参阅 README.md 的『浏览器自动化』部分。」
Antigravity 的 browser_subagent 使用高级任务描述进行操作。 用自然语言描述每个步骤的输入操作,委托给 browser_subagent。
示例:
※ Antigravity 使用原生 Chrome,因此不需要 etax-stealth.js 进行 OS 伪装。
使用 Playwright CLI 打开浏览器时的步骤:
PLAYWRIGHT_MCP_INIT_SCRIPT=skills/e-tax/scripts/etax-stealth.jsplaywright-cli -s=etax open <url> --headed --browser=chrome-s=etax 会话指定执行shinkoku.config.yaml/setup 技能并结束.shinkoku/progress/progress-summary.md(如果存在).shinkoku/progress/06-settlement.md — 决算结果(PL/BS 数据).shinkoku/progress/07-income-tax.md — 所得税计算结果.shinkoku/progress/08-consumption-tax.md — 消费税计算结果.shinkoku/progress/02-assess.md — 课税判定结果.shinkoku/progress/10-etax.md 的 status:
status: interrupted → 按照下文"中断・恢复协议"的 恢复步骤 执行status: completed → 告知用户已完成,并确认重新执行的意图/income-tax 或 /settlement所有步骤通用的规则。当用户要求中断时(例如"想中断"、"今天到此为止"、"下次继续"等),请遵循以下步骤。
建议将创建专区的输入数据保存为 .data 文件。
请点击屏幕上方的"输入数据临时保存"按钮(或页面底部的"保存至此为止的输入数据"链接),
下载文件。
下载完成后,请选择"已下载"。
.shinkoku/progress/10-etax.md:---
step: 10
skill: e-tax
status: interrupted
last_completed_step: "{最后完成的步骤编号(例如: 3)}"
last_url: "{中断时的浏览器URL}"
data_file_saved: {true/false}
interrupted_at: "{当日日期 YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# e-Tax 电子申报(中断)
## 中断时的情况
- 最后完成的步骤: 步骤{N}
- 中断时的URL: {URL}
- .data 文件保存: {已/未}
## 下次恢复方法
1. 重新执行 `/e-tax` 技能
2. 如果有 .data 文件,从"使用保存数据创建"恢复
3. 如果没有 .data 文件,则从步骤0重新开始
4. 向用户报告中断完成 — 引导下次的恢复方法并结束
当检测到 .shinkoku/progress/10-etax.md 中 status: interrupted 时:
last_completed_step, data_file_saved)上次的 e-Tax 输入在步骤{N}处中断了。
请选择恢复方法。
data_file_saved: true 时显示)从 .data 文件恢复的情况 :
.data 文件last_completed_step 的下一个步骤恢复从头重新开始的情况 :
验证向申报书等创建专区输入所需的数据是否齐全。
[1] 税额计算完成
- .shinkoku/progress/07-income-tax.md 存在且 status: completed
[2] 档案完备
- 姓名(姓、名)是否已登记
- 住址是否已登记
- 管辖税务署名是否已登记
[3] 决算书数据
- 可获取 PL/BS 的计算结果
[4] 消费税(仅限适用者)
- .shinkoku/progress/08-consumption-tax.md 存在且 status: completed
[5] 完整性检查
- 执行 `tax_calc.py sanity-check`
- 如果 error > 0: 中止输入,引导在 `/income-tax` 技能中修正
- 如果 warning > 0: 在用户确认后继续
┌─────────────────────────────────────────────────────┐
│ CC-AA-010 向税务署提交方法的选择 │
│ 个人编号卡: 是 → 智能手机: 是 │
│ → "使用智能手机" │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-090 要创建的申报书等的选择 │
│ 选择"决算书・收支内訳书(+所得税)" │
│ → doSubmitCMW0900(2,'25') │
│ │
│ ※ 仅消费税需另行创建的情况: │
│ → doSubmitCMW0900(3,'25') │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-600 My Number Portal 联动选择 │
│ → "不使用 My Number Portal 联动" │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-024 进行 e-Tax 前的确认 │
│ → "同意使用条款并下一步" │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-440 QR码认证 │
│ ★ 需要用户的物理认证 │
│ 用智能手机读取 QR 码 │
│ → 个人编号卡认证完成后,自动跳转 │
└──────────────┬──────────────────────────────────────┘
▼
┌───────┴───────┐
▼ ▼
决算书专区 所得税专区
(有事业所得) (仅工资等)
/kessan/ac/r7/top → ac0300(种类选择)→ aa0200(P/L输入)
→ aa0100(蓝色特别扣除)→ preAoiroCalc(B/S输入)
→ aa0700(所得确认)→ ac0500(住址姓名)→ 打印/保存
→ 跳转到所得税专区
SS-AA-010a(所得选择)→ SS-AA-050(收入输入枢纽)
→ SS-CA-010(工资输入) / SS-CB-xxx(事业所得) / 杂所得
→ SS-AA-070a(扣除1/2)→ SS-AA-080(扣除2/2)
→ SS-AA-090(计算结果确认)
→ SS-AC-010a(缴纳方法)→ SS-AC-020a(居民税等)
→ SS-AC-030(基本信息)→ SS-AC-040(个人编号)
→ 步骤5.5(决策关卡)→ 步骤6(电子签名・发送协议)
所得税完成 → "创建消费税申报书请点击这里"
2成特例:
ac0100(条件判定) → ac0250(所得区分选择) → 销售额输入枢纽 → 销售额输入详情
→ 销售额输入枢纽 → 中间缴纳 → ac0300(计算结果) → 纳税地等
→ 步骤6.5(电子签名・发送协议)
简易课税:
ac0100(条件判定) → ac0250(所得区分・事业区分选择) → 销售额输入枢纽 → 销售额输入详情
→ 销售额输入枢纽 → ak2140(进项税额扣除方式选择)※ → 中间缴纳 → ac0300(计算结果)
→ 纳税地等 → 步骤6.5(电子签名・发送协议)
※ 仅限从事两种以上事业的情况
一般课税:
ac0100(条件判定) → ac0250(所得区分选择) → 销售额・进货额输入枢纽 → 销售额输入详情
→ ai3610(决算额表格)※ → 销售额・进货额输入枢纽 → 中间缴纳 → ac0300(计算结果)
→ 纳税地等 → 步骤6.5(电子签名・发送协议)
※ 仅限选择累加计算时
画面编号: CC-AA-010
doSubmitCSW0100('1','3','/ky/sm/csw0100_myno_qr')画面编号: CC-AE-090
选项(令和7年度):
doSubmitCMW0900(1,'25')doSubmitCMW0900(2,'25') ← 有事业所得的情况doSubmitCMW0900(3,'25')doSubmitCMW0900(4,'25')判断标准 :
→ 点击 「不使用 My Number Portal 联动」
→ 点击 「同意使用条款并下一步」
※ 环境检查 termnalInfomationCheckOS_myNumberLinkage() 会执行。如果是 Windows/macOS 的 Chrome/Edge 则没有问题。
★ 等待用户操作 — 暂停浏览器操作
在此画面,代理不得操作浏览器。 使用 AskUserQuestion 工具暂停,在用户报告认证完成之前绝对不要进入下一步。
使用 AskUserQuestion 显示以下内容:
已显示 QR 码认证画面。
请使用智能手机上的 My Number Portal 应用读取 QR 码,
并用个人编号卡进行认证。
认证完成后,请选择"认证完成"。
认证完成后,会自动跳转到下一个画面。
⚠️ Playwright CLI 使用时的注意事项 : 通过 PLAYWRIGHT_MCP_INIT_SCRIPT 环境变量指定 etax-stealth.js 可以自动应用服务器端烘焙函数补丁,但如果 QR 码未显示,请在控制台确认 getClientOS() 的返回值,如果不是 'Windows',则手动执行以下操作:
window.getClientOS = function() { return 'Windows'; };
displayQrcode();
⚠️ 原生对话框注意事项 : 点击"下一步"后画面未跳转时,可能是显示了原生对话框(alert/confirm)。请参考技术知识中的"原生对话框的检测与处理"。
单选按钮:
URL: https://www.keisan.nta.go.jp/kessan/ac/aa0200#bsctrl
| 字段 | name | 默认 |
|---|---|---|
| 开始月 | sonekiKeisansyoFromMonth | 1 |
| 开始日 | sonekiKeisansyoFromDay | 1 |
| 结束月 | sonekiKeisansyoToMonth | 12 |
| 结束日 | sonekiKeisansyoToDay | 31 |
点击"输入"按钮 → 跳转到 /kessan/ac/aa0201 销售额进货额月度输入子页面。
aa0201 的字段:
uriageKingaku1〜uriageKingaku12: 月度销售额siireKingaku1〜siireKingaku12: 月度进货额kajisyohi: 家庭消费等zatusyunyu: 杂收入合计: uriageKingakuGokei, siireKingakuGokei
| 行 | 科目 | name(直接输入) | 备注 |
|---|---|---|---|
| 8 | 租税公课 | sozeiKoka | |
| 9 | 包装运输费 | nidukuriUntin | |
| 10 | 水电燃气费 | suidoKonetuhi | |
| 11 | 差旅交通费 | ryohiKotuhi | |
| 12 | 通信费 | tusinhi | |
| 13 | 广告宣传费 | kokokuSendenhi | |
| 14 | 接待交际费 | settaiKosaihi | |
| 15 | 损害保险费 | songaiHokenryo | |
| 16 | 修缮费 | syuzenhi | |
| 17 | 消耗品费 | syomohinhi | |
| 18 | 折旧费 | — | "输入"→ /kessan/ac/init/aa0203 |
| 19 | 福利厚生费 | fukuriKoseihi | |
| 20 | 工资薪金 | — | "输入"→ /kessan/ac/aa0205 |
| 21 | 外包加工费 | gaichukotin | |
| 22 | 利息贴现费 | — | "输入"→ /kessan/ac/aa0206 |
| 23 | 地租房租 | — | "输入"→ /kessan/ac/aa0207 |
| 24 | 坏账损失 | kasidaorekin | |
| 25 | 税务师等报酬 | keihiNiniKingaku1 | 科目名: keihiNiniKamoku1 |
| 26 | 震灾相关经费 | keihiNiniKingaku2 | 科目名: keihiNiniKamoku2 |
| 27-30 | 任意科目 | keihiNiniKingaku3〜6 | 科目名: keihiNiniKamoku3〜6 |
| 31 | 杂费 | zappi |
汇总 hidden 字段: keihiSannyugakuGokei, kyuryoTinginTotalGokei, risiWaribikiryoGokei, tidaiYatinGokei
kurimodosiNiniKamoku1/kurimodosiNiniKingaku1kurimodosiNiniKamoku2/kurimodosiNiniKingaku2senjusyaKyuyoTotalGokei (hidden,"输入"按钮进入其他画面)kasidaoreKuriireGokei (hidden)disp_aoiroKojomaeSyotokuKingaku = 销售额 - 销售成本 - 经费 + 结转额 - 专职人员工资等以问答形式选择扣除额:
| 选项 | value | 条件 |
|---|---|---|
| 10万日元 | 2 | |
| 55万日元 | 3 | |
| 65万日元 | 1 | 必须通过 e-Tax 发送。书面提交会报错 KS-E10089 |
字段: aoiroTokubetuKojoSentakugaku
选择 65 万日元时,需要电子账簿保存或 e-Tax 发送。
⚠️ 原生对话框注意事项 : 选择 65 万日元并点击下一步时,如果是书面提交,会显示 KS-E10089 (需要 e-Tax 发送)的原生对话框。如果画面未跳转,请向用户确认是否存在对话框。
URL: /kessan/ac/preAoiroCalc
数组形式: sisannobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku
| index | 会计科目 |
|---|---|
| 0 | 现金 |
| 1 | 活期存款 |
| 2 | 定期存款 |
| 3 | 其他存款 |
| 4 | 应收票据 |
| 5 | 应收账款 |
| 6 | 有价证券 |
| 7 | 存货 |
| 8 | 预付款 |
| 9 | 贷款 |
| 10 | 建筑物 |
| 11 | 建筑物附属设备 |
| 12 | 机械设备 |
| 13 | 车辆运输工具 |
| 14 | 工具器具备品 |
| 15 | 土地 |
| 16-23 | 任意科目 |
数组形式: fusainobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku
| index | 会计科目 |
|---|---|
| 0 | 应付票据 |
| 1 | 应付账款 |
| 2 | 借款 |
| 3 | 应付款 |
| 4 | 预收款 |
| 5 | 暂收款 |
| 6 | 坏账准备金 |
| 7-15 | 任意科目 |
| 16 | 初始投入资本 |
| 17 | 业主借款 |
| 18 | 业主垫款 |
| 19 | 蓝色申报特别扣除前的所得金额(从 P/L 自动获取) |
重要 : 资产期末合计 = 负债期末合计 是必须的(KS-E40003)
⚠️ 原生对话框注意事项 : 在资产期末合计与负债期末合计不一致的状态下点击"下一步",会显示 KS-E40003 的原生对话框。如果画面未跳转,请向用户确认是否存在对话框。
| 字段 | name |
|---|---|
| 邮政编码 | jitakuZip |
| 都道府县 | jitakuPrefectureId |
| 市区町村以下 | jitakuAddress |
| 事务所地址(适用者) | jimusyoAddress |
| 提交对象税务署 | zeimusyoName |
| 姓名汉字(姓) | nameKanjiSei |
| 姓名汉字(名) | nameKanjiMei |
| 行业名称 | gyosyuName |
| 商号 | yago |
| 提交年月日 | teisyutuYear/teisyutuMonth/teisyutuDay |
在打印・数据保存画面(/kessan/ac/submit/ac0600)点击 "创建所得税申报书请点击这里" 按钮,跳转到所得税专区(住址姓名信息会传递过去)。
⚠️ 原生对话框注意事项 : 点击此按钮时,有时会显示 KS-W10035 (是否确认打印)的原生对话框。如果画面未跳转,请向用户确认是否存在对话框,并引导其点击"OK"。
⚠️ 原生对话框注意事项 : 点击"下一步"后画面未跳转时,可能是显示了原生对话框(alert/confirm)。请参考技术知识中的"原生对话框的检测与处理"。
URL: https://www.keisan.nta.go.jp/r7/syotoku/taM010a40_doInitialDisplay#bbctrl
| 字段 | name |
|---|---|
| 年 | inOutDto.shnkkBirthymdYy |
| 月 | inOutDto.shnkkBirthymdMm |
| 日 | inOutDto.shnkkBirthymdDd |
| 所得 | name | 典型选择 |
|---|---|---|
| 工资 | inOutDto.kyuy | 公司职员: checked |
| 事业(营业等) | inOutDto.jgyoEgyoTo | 个体经营者: checked |
| 事业(农业) | inOutDto.jgyoNogyo | |
| 不动产 | inOutDto.fdosn | |
| 杂(业务・其他) | inOutDto.ztsGyomSnt | 加密资产等: checked |
| 公共养老金等 | inOutDto.kotkNnknKgyoNnknEtc | |
| 退职金 | inOutDto.tasyku | |
| 股票等 | inOutDto.hatoKbshkJyotRsh | |
| 期货交易 | inOutDto.skmnTrhk | |
| 临时 | inOutDto.ichj |
shinkoku 对象的典型模式 :
kyuy + jgyoEgyoTo + ztsGyomSnt(如有加密资产)kyuy根据所选的所得种类显示输入链接。点击各链接跳转到个别输入画面。
与物理源泉征收票的对应关系 : 年末调整完成与年末调整未完成使用不同的表单・不同的标签体系。 年末调整完成 = A〜L(12项)、年末调整未完成 = A〜E(5项)。 物理源泉征收票上的"工资所得扣除后金额"、"所得扣除额合计"栏, 在年末调整完成表单中无需输入,但在年末调整未完成表单中作为 B(自动)・C(输入) 存在。
URL: https://www.keisan.nta.go.jp/r7/syotoku/taS510a10_doAdd_nncyzm#bbctrl
| 标签 | name | 备注 |
|---|---|---|
| A: 支付金额 | inOutDto.shhraKngk | 必须 |
| B: 源泉征收税额 | inOutDto.gnsnTyosyuZegk | 分两段记载时指下段 |
| E: 社会保险费等金额 | inOutDto.sykaHknryoToKngk | |
| K: 支付方住址 | inOutDto.shhrasyJysyKysyOrSyzach | 28字符以内 |
| L: 支付方姓名或名称 | inOutDto.shhrasyNameOrMesyo | 28字符以内 |
| 字段 | 标签 | name | 值 |
|---|---|---|---|
| 扣除对象配偶者记载 | C | inOutDto.kojyTashoHagsyKsaUm | 1(有)/2(无) |
| 扣除对象抚养亲属记载 | D | inOutDto.kojyTashoFyoShnzkKsaUm | 1(有)/2(无) |
| 人寿保险费扣除额记载 | F※ | inOutDto.semeHknryoKojygkKsaUm | 1(有)/2(无) |
| 地震保险费扣除额记载 | G※ | inOutDto.jshnHknryoKojygkKsaUm | 1(有)/2(无) |
| 住房贷款等特别扣除额记载 | H※ | inOutDto.jyutkKrirknToTkbtsKojyGkKsaUm | 1(有)/0(无) |
| 所得金额调整扣除额记载 | I※ | inOutDto.sytkKngkTyoseKojygkKsaUm | 1(有)/0(无) |
| 本人为残疾人・寡妇等 | J※ | inOutDto.hnninSygsyKfHtriyKnroGkseKsaUm | 1(有)/2(无) |
※ F〜J 的标签是根据表单上排列顺序的推测(未确认屏幕截图)
| 标签 | name | 显示条件 |
|---|---|---|
| B': 源泉征收税额(内记) | inOutDto.gnsnTyosyuZegkUchgk | 勾选时 |
| 社会保险费等(内记) | inOutDto.sykaHknryoToUchgk | 勾选时 |
| 人寿保险费扣除额 | inOutDto.semeHknryoKojygk | F"有记载"时 |
| 新人寿保险费金额 | inOutDto.shnSemeHknryoKngk | F"有记载"时 |
| 旧人寿保险费金额 | inOutDto.kyuSemeHknryoKngk | F"有记载"时 |
| 护理医疗保险费金额 | inOutDto.kagIryoHknryoKngk | F"有记载"时 |
| 新个人年金保险费金额 | inOutDto.shnKjnNnknHknryoKngk | F"有记载"时 |
| 旧个人年金保险费金额 | inOutDto.kyuKjnNnknHknryoKngk | F"有记载"时 |
| 地震保险费扣除额 | inOutDto.jshnHknryoKojygk | G"有记载"时 |
| 旧长期损害保险费金额 | inOutDto.kyuCyokSngaHknryoKngk | G"有记载"时 |
| H: 住房贷款等特别扣除额 | inOutDto.jyutkKrirknToTkbtsKojyGk | H"有记载"时 |
| H': 住房贷款等特别扣除可能额 | inOutDto.jyutkKrirknToTkbtsKojyknoGk | H"有记载"时 |
| H'': 住房贷款年末余额第1次 | inOutDto.jyutkKrirknToNnmtszndkIkkam | H"有记载"时 |
| H''': 住房贷款年末余额第2次 | inOutDto.jyutkKrirknToNnmtszndkNkam | 勾选时 |
| 寡妇复选框 | inOutDto.ksaArKforkf | J"有记载"时 |
| 勤工俭学学生复选框 | inOutDto.ksaArKnroGkse | J"有记载"时 |
URL: 需确认
| 标签 | name | 备注 |
|---|---|---|
| A: 支付金额 | inOutDto.shhraKngk | 必须 |
| B: 工资所得扣除后金额 | (自动计算) | 不可输入。根据 A 自动算出 |
| C: 所得扣除额合计 | 需确认 | 有输入栏。源泉征收票上有记载则输入 |
| D: 源泉征收税额 | inOutDto.gnsnTyosyuZegk | |
| E: 住房贷款等特别扣除额 | inOutDto.jyutkKrirknToTkbtsKojyGk |
输入链接的枢纽画面。点击各扣除项目跳转到个别输入画面。
对应扣除:
对应扣除:
根据输入内容计算出的所得税额的确认画面。
显示项目:
在此与 shinkoku 的计算结果进行核对 (参见下文"步骤5: 申报内容的确认")。
各节有"订正"按钮,可返回前一画面。
产生应缴金额时显示。如果是退税,则显示退税账户输入画面(SS-AB-010a)。
| 字段 | type | name | 备注 |
|---|---|---|---|
| 申请延期缴纳 | checkbox | — | 有利息税的注意事项 |
| 缴纳方法 | select | inOutDto.nofHoho | 必须 |
缴纳方法选项:
| value | 方法 |
|---|---|
| 1 | 转账纳税(限期内申报时可利用) |
| 2 | 电子纳税(直接缴纳/网上银行) |
| 3 | 信用卡缴纳 |
| 5 | 便利店缴纳 |
| 6 | 金融机构等窗口缴纳 |
退税时输入退税账户信息:
关于居民税的设置(从工资中特别征收 or 自行缴纳 等)。
| 标签 | name | 备注 |
|---|---|---|
| 姓名假名(姓) | inOutDto.nameKnSe | 11字符以内 |
| 姓名假名(名) | inOutDto.nameKnMe | |
| 姓名汉字(姓) | inOutDto.nameKnjSe | 10字符以内 |
| 姓名汉字(名) | inOutDto.nameKnjMe | |
| 电话号码(种类) | inOutDto.rnrkSkKbn | 住宅/工作单位/手机 |
| 电话号码(市外) | inOutDto.shgaKykbn | |
| 电话号码(市内) | inOutDto.shnaKykbn | |
| 电话号码(号码) | inOutDto.knyusyBngo | |
| 纳税地区分 | `inOut |
shinkoku で計算した確定申告データを、確定申告書等作成コーナー(https://www.keisan.nta.go.jp/)に Claude in Chrome を使ってブラウザ上で入力・提出するためのスキル。
/income-tax スキルで所得税の計算が完了していること/settlement スキルで決算書(PL/BS)の作成が完了していること/consumption-tax スキルで消費税の計算が完了していること(該当者のみ)shinkoku.config.yaml が設定済みであること確定申告書等作成コーナーへの入力には、以下の3つの方式がある。
| 項目 | 内容 |
|---|---|
| 対象環境 | Windows / macOS のネイティブ Chrome |
| 前提 | Claude in Chrome 拡張機能がインストール済み |
| 利点 | OS 検出の問題なし。追加設定不要 |
| 項目 | 内容 |
|---|---|
| 対象環境 | Windows / macOS / Linux(Antigravity IDE) |
| 前提 | Antigravity IDE がインストール済みで browser_subagent ツールが利用可能 |
| 利点 | ネイティブ Chrome を使用するため OS 偽装不要。Linux でも動作 |
| 項目 | 内容 |
|---|---|
| 対象環境 | WSL / Linux、または Claude in Chrome・Antigravity が利用できない環境 |
| 前提 | @playwright/cli + Playwright CLI スキル + etax-stealth.js(OS 偽装スクリプト) |
| 制限 | headed モード必須(QR コード認証に物理操作が必要) |
1. Claude in Chrome のツール(browser_navigate 等)が利用可能か?
→ はい: 方式 A を使用
→ いいえ: 次へ
2. Antigravity の browser_subagent ツールが利用可能か?
→ はい: 方式 B を使用
→ いいえ: 次へ
3. Bash ツールで `playwright-cli` コマンドが利用可能か?
→ はい: 方式 C を使用(headed モードで起動)
→ いいえ: エラー表示
エラーメッセージ:
「確定申告書等作成コーナーへの入力には、Claude in Chrome、
Antigravity Browser Sub-Agent、または Playwright CLI が必要です。
セットアップ方法は README.md の『ブラウザ自動化』セクションを参照してください。」
Antigravity の browser_subagent は高レベルなタスク記述で操作する。 各ステップの入力操作を自然言語で記述し、browser_subagent に委任する。
例:
※ Antigravity はネイティブ Chrome を使用するため、etax-stealth.js による OS 偽装は不要。
Playwright CLI でブラウザを開く際の手順:
PLAYWRIGHT_MCP_INIT_SCRIPT=skills/e-tax/scripts/etax-stealth.jsplaywright-cli -s=etax open <url> --headed --browser=chrome-s=etax セッション指定で実行shinkoku.config.yaml を Read ツールで読み込む/setup スキルの実行を案内して終了する.shinkoku/progress/progress-summary.md を Read ツールで読み込む(存在する場合).shinkoku/progress/06-settlement.md — 決算結果(PL/BS データ).shinkoku/progress/07-income-tax.md — 所得税計算結果.shinkoku/progress/08-consumption-tax.md — 消費税計算結果.shinkoku/progress/02-assess.md — 課税判定結果.shinkoku/progress/10-etax.md の status を確認する:
status: interrupted の場合 → 下記「中断・再開プロトコル」の 再開手順 に従う全ステップ共通のルール。ユーザーが中断を要求した場合(「中断したい」「今日はここまで」「また続きから」等)、以下の手順に従う。
作成コーナーの入力データを .data ファイルとして保存することを推奨します。
画面上部の「入力データの一時保存」ボタン(またはページ下部の「ここまでの入力データを保存する」リンク)
をクリックし、ファイルをダウンロードしてください。
ダウンロードが完了したら「ダウンロード済み」を選択してください。
.shinkoku/progress/10-etax.md に以下の形式で Write ツールで出力:---
step: 10
skill: e-tax
status: interrupted
last_completed_step: "{最後に完了したステップ番号(例: 3)}"
last_url: "{中断時のブラウザURL}"
data_file_saved: {true/false}
interrupted_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# e-Tax 電子申告(中断)
## 中断時点の状況
- 最後に完了したステップ: ステップ{N}
- 中断時のURL: {URL}
- .data ファイル保存: {済/未}
## 次回の再開方法
1. `/e-tax` スキルを再実行する
2. .data ファイルがある場合は「保存データを利用して作成」から再開する
3. .data ファイルがない場合はステップ0からやり直す
4. ユーザーに中断完了を報告 — 次回の再開方法を案内して終了する
.shinkoku/progress/10-etax.md で status: interrupted を検出した場合:
last_completed_step, data_file_saved)を読み取る前回の e-Tax 入力はステップ{N}で中断されています。
再開方法を選択してください。
data_file_saved: true の場合のみ表示).data ファイルから再開する場合 :
.data ファイルのアップロードを案内last_completed_step の次のステップから再開する最初からやり直す場合 :
確定申告書等作成コーナーへの入力に必要なデータが揃っているか検証する。
[1] 税額計算済み
- .shinkoku/progress/07-income-tax.md が存在し、status: completed であること
[2] プロファイル完備
- 氏名(姓・名)が登録されているか
- 住所が登録されているか
- 所轄税務署名が登録されているか
[3] 決算書データ
- PL/BS の計算結果が取得可能であること
[4] 消費税(該当者のみ)
- .shinkoku/progress/08-consumption-tax.md が存在し、status: completed であること
[5] サニティチェック
- `tax_calc.py sanity-check` を実行する
- error > 0 の場合: 入力を中止し、`/income-tax` スキルで修正を促す
- warning > 0 の場合: ユーザーに確認してから続行する
┌─────────────────────────────────────────────────────┐
│ CC-AA-010 税務署への提出方法の選択 │
│ マイナンバーカード: はい → スマホ: はい │
│ → 「スマートフォンを使用する」 │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-090 作成する申告書等の選択 │
│ 「決算書・収支内訳書(+所得税)」を選択 │
│ → doSubmitCMW0900(2,'25') │
│ │
│ ※ 消費税のみ別途作成する場合: │
│ → doSubmitCMW0900(3,'25') │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AE-600 マイナポータル連携の選択 │
│ → 「マイナポータル連携を利用しない」 │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-024 e-Taxを行う前の確認 │
│ → 「利用規約に同意して次へ」 │
└──────────────┬──────────────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ CC-AA-440 QRコード認証 │
│ ★ ユーザーの物理的認証が必要 │
│ スマートフォンでQRコード読み取り │
│ → マイナンバーカード認証完了後、自動遷移 │
└──────────────┬──────────────────────────────────────┘
▼
┌───────┴───────┐
▼ ▼
決算書コーナー 所得税コーナー
(事業所得あり) (給与のみ等)
/kessan/ac/r7/top → ac0300(種類選択)→ aa0200(P/L入力)
→ aa0100(青色特別控除)→ preAoiroCalc(B/S入力)
→ aa0700(所得確認)→ ac0500(住所氏名)→ 印刷/保存
→ 所得税コーナーへ遷移
SS-AA-010a(所得選択)→ SS-AA-050(収入入力ハブ)
→ SS-CA-010(給与入力) / SS-CB-xxx(事業所得) / 雑所得
→ SS-AA-070a(控除1/2)→ SS-AA-080(控除2/2)
→ SS-AA-090(計算結果確認)
→ SS-AC-010a(納付方法)→ SS-AC-020a(住民税等)
→ SS-AC-030(基本情報)→ SS-AC-040(マイナンバー)
→ ステップ5.5(意思決定ゲート)→ ステップ6(電子署名・送信プロトコル)
所得税完了 → 「消費税の申告書作成はこちら」
2割特例:
ac0100(条件判定) → ac0250(所得区分選択) → 売上入力hub → 売上入力detail
→ 売上入力hub → 中間納付 → ac0300(計算結果) → 納税地等
→ ステップ6.5(電子署名・送信プロトコル)
簡易課税:
ac0100(条件判定) → ac0250(所得区分・事業区分選択) → 売上入力hub → 売上入力detail
→ 売上入力hub → ak2140(仕入税額控除方式選択)※ → 中間納付 → ac0300(計算結果)
→ 納税地等 → ステップ6.5(電子署名・送信プロトコル)
※ 2種以上の事業がある場合のみ
一般課税:
ac0100(条件判定) → ac0250(所得区分選択) → 売上・仕入入力hub → 売上入力detail
→ ai3610(決算額テーブル)※ → 売上・仕入入力hub → 中間納付 → ac0300(計算結果)
→ 納税地等 → ステップ6.5(電子署名・送信プロトコル)
※ 積上げ計算選択時のみ
https://www.keisan.nta.go.jp/kyoutu/ky/sm/top_web#bsctrl
画面番号: CC-AA-010
doSubmitCSW0100('1','3','/ky/sm/csw0100_myno_qr')画面番号: CC-AE-090
選択肢(令和7年分):
doSubmitCMW0900(1,'25')doSubmitCMW0900(2,'25') ← 事業所得ありの場合doSubmitCMW0900(3,'25')doSubmitCMW0900(4,'25')判断基準 :
→ 「マイナポータル連携を利用しない」 をクリック
→ 「利用規約に同意して次へ」 をクリック
※ 環境チェック termnalInfomationCheckOS_myNumberLinkage() が実行される。 Windows/macOS の Chrome/Edge であれば問題なし。
★ ユーザー操作待ち — ブラウザ操作を一時停止
この画面ではエージェントがブラウザを操作してはならない。 AskUserQuestion ツールで一時停止 し、ユーザーが認証完了を報告するまで絶対に次のステップに進まない こと。
AskUserQuestion で以下を表示する:
QRコード認証画面が表示されました。
スマートフォンのマイナポータルアプリでQRコードを読み取り、
マイナンバーカードで認証してください。
認証が完了したら「認証完了」を選択してください。
認証完了後、自動的に次の画面に遷移する。
⚠️ Playwright CLI 使用時の注意 : PLAYWRIGHT_MCP_INIT_SCRIPT 環境変数で etax-stealth.js を指定することで サーバーベイク関数パッチが自動適用されるが、QR コードが表示されない場合はコンソールで getClientOS() の 戻り値を確認し、'Windows' でなければ以下を手動実行する:
window.getClientOS = function() { return 'Windows'; };
displayQrcode();
⚠️ ネイティブダイアログ注意 : 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。
ラジオボタン:
URL: https://www.keisan.nta.go.jp/kessan/ac/aa0200#bsctrl
| フィールド | name | デフォルト |
|---|---|---|
| 開始月 | sonekiKeisansyoFromMonth | 1 |
| 開始日 | sonekiKeisansyoFromDay | 1 |
| 終了月 | sonekiKeisansyoToMonth | 12 |
| 終了日 | sonekiKeisansyoToDay | 31 |
「入力」ボタン → /kessan/ac/aa0201 売上仕入月別入力サブページに遷移。
aa0201 のフィールド:
uriageKingaku1〜uriageKingaku12: 月別売上siireKingaku1〜siireKingaku12: 月別仕入kajisyohi: 家事消費等zatusyunyu: 雑収入合計: uriageKingakuGokei, siireKingakuGokei
| 行 | 科目 | name(直接入力) | 備考 |
|---|---|---|---|
| 8 | 租税公課 | sozeiKoka | |
| 9 | 荷造運賃 | nidukuriUntin | |
| 10 | 水道光熱費 | suidoKonetuhi | |
| 11 | 旅費交通費 | ryohiKotuhi | |
| 12 | 通信費 |
集計 hidden フィールド: keihiSannyugakuGokei, kyuryoTinginTotalGokei, risiWaribikiryoGokei, tidaiYatinGokei
kurimodosiNiniKamoku1/kurimodosiNiniKingaku1kurimodosiNiniKamoku2/kurimodosiNiniKingaku2senjusyaKyuyoTotalGokei (hidden、「入力」ボタンで別画面)kasidaoreKuriireGokei (hidden)disp_aoiroKojomaeSyotokuKingaku = 売上 - 売上原価 - 経費 + 繰戻額 - 専従者給与等Q&A形式で控除額を選択:
| 選択肢 | value | 条件 |
|---|---|---|
| 10万円 | 2 | |
| 55万円 | 3 | |
| 65万円 | 1 | e-Tax送信が必須 。書面提出ではエラー KS-E10089 |
フィールド: aoiroTokubetuKojoSentakugaku
65万円を選択する場合、電子帳簿保存または e-Tax 送信が条件。
⚠️ ネイティブダイアログ注意 : 65万円を選択して次へ進むと、書面提出の場合は KS-E10089 (e-Tax送信が必要)のネイティブダイアログが表示される。画面が遷移しない場合はダイアログの有無をユーザーに確認すること。
URL: /kessan/ac/preAoiroCalc
配列形式: sisannobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku
| index | 勘定科目 |
|---|---|
| 0 | 現金 |
| 1 | 当座預金 |
| 2 | 定期預金 |
| 3 | その他の預金 |
| 4 | 受取手形 |
| 5 | 売掛金 |
| 6 | 有価証券 |
| 7 | 棚卸資産 |
| 8 | 前払金 |
| 9 | 貸付金 |
| 10 | 建物 |
| 11 | 建物附属設備 |
| 12 | 機械装置 |
| 13 | 車両運搬具 |
| 14 | 工具器具備品 |
| 15 | 土地 |
配列形式: fusainobuTaisyohyoDetailDataList[N].kisyuKingaku / .kimatuKingaku
| index | 勘定科目 |
|---|---|
| 0 | 支払手形 |
| 1 | 買掛金 |
| 2 | 借入金 |
| 3 | 未払金 |
| 4 | 前受金 |
| 5 | 預り金 |
| 6 | 貸倒引当金 |
| 7-15 | 任意科目 |
| 16 | 元入金 |
| 17 | 事業主借 |
| 18 | 事業主貸 |
| 19 | 青色申告特別控除前の所得金額(P/Lから自動) |
重要 : 資産期末合計 = 負債期末合計 が必須(KS-E40003)
⚠️ ネイティブダイアログ注意 : 資産期末合計と負債期末合計が一致しない状態で「次へ」を押すと、KS-E40003 のネイティブダイアログが表示される。画面が遷移しない場合はダイアログの有無をユーザーに確認すること。
| フィールド | name |
|---|---|
| 郵便番号 | jitakuZip |
| 都道府県 | jitakuPrefectureId |
| 市区町村以下 | jitakuAddress |
| 事業所住所(該当者) | jimusyoAddress |
| 提出先税務署 | zeimusyoName |
| 氏名漢字(姓) | nameKanjiSei |
| 氏名漢字(名) |
印刷・データ保存画面(/kessan/ac/submit/ac0600)の 「所得税の申告書作成はこちら」ボタンで所得税コーナーに遷移(住所氏名引継ぎ)。
⚠️ ネイティブダイアログ注意 : このボタンをクリックすると KS-W10035 (印刷を確認したか)のネイティブダイアログが表示される場合がある。画面が遷移しない場合はダイアログの有無をユーザーに確認し、「OK」をクリックするよう案内すること。
⚠️ ネイティブダイアログ注意 : 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。
URL: https://www.keisan.nta.go.jp/r7/syotoku/taM010a40_doInitialDisplay#bbctrl
| フィールド | name |
|---|---|
| 年 | inOutDto.shnkkBirthymdYy |
| 月 | inOutDto.shnkkBirthymdMm |
| 日 | inOutDto.shnkkBirthymdDd |
| 所得 | name | 典型的な選択 |
|---|---|---|
| 給与 | inOutDto.kyuy | 会社員: checked |
| 事業(営業等) | inOutDto.jgyoEgyoTo | 個人事業主: checked |
| 事業(農業) | inOutDto.jgyoNogyo | |
| 不動産 | inOutDto.fdosn | |
| 雑(業務・その他) | inOutDto.ztsGyomSnt | 暗号資産等: checked |
shinkoku 対象の典型パターン :
kyuy + jgyoEgyoTo + ztsGyomSnt(暗号資産あれば)kyuy選択した所得種類ごとに入力リンクが表示される。各リンクをクリックして個別入力画面へ遷移。
物理的な源泉徴収票との対応 : 年末調整済みと年末調整未済で別フォーム・別ラベル体系 。 年末調整済み = A〜L(12項目)、年末調整未済 = A〜E(5項目)。 物理的な源泉徴収票の「給与所得控除後の金額」「所得控除の額の合計額」欄は、 年末調整済みフォームでは入力不要だが、年末調整未済フォームでは B(自動)・C(入力) として存在する。
URL: https://www.keisan.nta.go.jp/r7/syotoku/taS510a10_doAdd_nncyzm#bbctrl
| ラベル | name | 備考 |
|---|---|---|
| A: 支払金額 | inOutDto.shhraKngk | 必須 |
| B: 源泉徴収税額 | inOutDto.gnsnTyosyuZegk | 2段記載時は下段 |
| E: 社会保険料等の金額 | inOutDto.sykaHknryoToKngk | |
| K: 支払者の住所 | inOutDto.shhrasyJysyKysyOrSyzach | 28文字以内 |
| L: 支払者の氏名又は名称 | inOutDto.shhrasyNameOrMesyo |
| フィールド | ラベル | name | 値 |
|---|---|---|---|
| 控除対象配偶者の記載 | C | inOutDto.kojyTashoHagsyKsaUm | 1(あり)/2(なし) |
| 控除対象扶養親族の記載 | D | inOutDto.kojyTashoFyoShnzkKsaUm | 1(あり)/2(なし) |
| 生命保険料控除額の記載 | F※ | inOutDto.semeHknryoKojygkKsaUm | 1(あり)/2(なし) |
| 地震保険料控除額の記載 | G※ | inOutDto.jshnHknryoKojygkKsaUm | 1(あり)/2(なし) |
※ F〜J のラベルはフォーム上の並び順からの推定(スクリーンショット未確認)
| ラベル | name | 表示条件 |
|---|---|---|
| B': 源泉徴収税額(内書き) | inOutDto.gnsnTyosyuZegkUchgk | チェック時 |
| 社会保険料等(内書き) | inOutDto.sykaHknryoToUchgk | チェック時 |
| 生命保険料控除額 | inOutDto.semeHknryoKojygk | F「記載あり」時 |
| 新生命保険料金額 | inOutDto.shnSemeHknryoKngk | F「記載あり」時 |
| 旧生命保険料金額 | inOutDto.kyuSemeHknryoKngk |
URL: 要確認
| ラベル | name | 備考 |
|---|---|---|
| A: 支払金額 | inOutDto.shhraKngk | 必須 |
| B: 給与所得控除後の金額 | (自動計算) | 入力不可。A から自動算出 |
| C: 所得控除の額の合計額 | 要確認 | 入力欄あり。源泉徴収票に記載があれば入力 |
| D: 源泉徴収税額 | inOutDto.gnsnTyosyuZegk | |
| E: 住宅借入金等特別控除額 | inOutDto.jyutkKrirknToTkbtsKojyGk |
入力リンクのハブ画面。各控除をクリックして個別入力画面に遷移。
対応控除:
対応控除:
入力内容から計算された所得税額の確認画面。
表示項目:
ここで shinkoku の計算結果と照合する (後述「ステップ5: 申告内容の確認」参照)。
各セクションに「訂正する」ボタンがあり、前画面に戻れる。
納付金額が発生した場合に表示。還付の場合は還付口座入力画面(SS-AB-010a)が表示される。
| フィールド | type | name | 備考 |
|---|---|---|---|
| 延納を届け出る | checkbox | — | 利子税がかかる旨の注意あり |
| 納付方法 | select | inOutDto.nofHoho | 必須 |
納付方法の選択肢:
| value | 方法 |
|---|---|
| 1 | 振替納税(期限内申告の場合に利用可) |
| 2 | 電子納税(ダイレクト納付/インターネットバンキング) |
| 3 | クレジットカード納付 |
| 5 | コンビニ納付 |
| 6 | 金融機関等での窓口納付 |
還付の場合は還付口座情報の入力:
住民税に関する設定(給与からの特別徴収 or 自分で納付 等)。
| ラベル | name | 備考 |
|---|---|---|
| 氏名フリガナ(姓) | inOutDto.nameKnSe | 11文字以内 |
| 氏名フリガナ(名) | inOutDto.nameKnMe | |
| 氏名漢字(姓) | inOutDto.nameKnjSe | 10文字以内 |
| 氏名漢字(名) | inOutDto.nameKnjMe | |
| 電話番号(種別) | inOutDto.rnrkSkKbn | 自宅/勤務先/携帯 |
マイナンバー(12桁)を入力する画面。チェックディジットアルゴリズムによる検証あり。
⚠️ ネイティブダイアログ注意 : 「次へ」クリック後に画面が遷移しない場合、ネイティブダイアログ(alert/confirm)が表示されている可能性がある。技術的な知見の「ネイティブダイアログの検知と対処」を参照。
所得税申告書の完了後、「他の申告書等を作成する」→ doSubmitCSW0900(3,'25') で消費税コーナーに遷移。
URL: https://www.keisan.nta.go.jp/syouhi/ac0100/submit.htmj#bsctrl
| フィールド | name | 備考 |
|---|---|---|
| 基準期間の課税売上高 | kijunKazeiUriage | R5年分 |
| インボイス発行事業者 | invoice | true/false |
| 簡易課税制度選択 | kani | true/false |
| 経理方式 | zeikomi | 税込/税抜 |
| フィールド | name | 備考 |
|---|---|---|
| 新たに課税事業者か | newKazeiJigyosya | true/false |
| 2割特例を適用するか | niwariTokurei | true/false |
| フィールド | name | 備考 |
|---|---|---|
| 仕入税額の計算方法 | siireKeisanHouhou | warimodosi/tumiage |
kijunKazeiUriage(基準期間の課税売上高)の値によって表示される選択肢が変化する:
| 条件 | 新規課税事業者? | 2割特例? | 簡易課税? |
|---|---|---|---|
| 基準期間=0, invoice=はい | 表示 | 表示 | 非表示 |
| 基準期間=3,000,000, invoice=はい | 表示 | 表示 | 表示 |
| 基準期間=60,000,000, invoice=はい | 非表示 | 非表示 | 表示 |
一般課税のみ : 「税額の計算方法として積上げ計算を選択する方」ボタン(折りたたみセクション内)
| 条件 | 遷移先ルート |
|---|---|
| インボイス=はい & 2割特例=はい | 2割特例 |
| 簡易課税=はい | 簡易課税 |
| 上記以外 | 一般課税 |
URL: https://www.keisan.nta.go.jp/syouhi/ac0250/submit.htmj#bsctrl
該当する所得区分を全て選択する。ヘッダに課税方式(一般課税/簡易課税)と経理方式(税込/税抜)が表示される。
| ラベル | name | 備考 |
|---|---|---|
| 事業所得(営業等) | jigyoSyotokuEigyo | メインターゲット |
| 事業所得(農業) | jigyoSyotokuNogyo | |
| 不動産所得 | fudosanSyotoku | |
| 雑所得(原稿料等) | zatuSyotoku | |
| 業務用固定資産等の譲渡所得 | jotoSyotoku | 一般課税のみ表示 |
簡易課税の場合、各所得区分に対して事業区分(第1種〜第6種)のサブ選択がある:
| フィールド | name | 備考 |
|---|---|---|
| 事業区分(第1種) | jigyoSyotokuEigyoJigyoKubun1 | 卸売業 |
| 事業区分(第2種) | jigyoSyotokuEigyoJigyoKubun2 | 小売業 |
| 事業区分(第3種) | jigyoSyotokuEigyoJigyoKubun3 | 製造業等 |
| 事業区分(第4種) | jigyoSyotokuEigyoJigyoKubun4 | その他 |
| 事業区分(第5種) | jigyoSyotokuEigyoJigyoKubun5 |
| フィールド | name | 備考 |
|---|---|---|
| 業務用固定資産等の購入がある | gyomuyosisanKonyu | checkbox |
URL パターン:
/syouhi/at3600/inputEigyo.htmj/syouhi/ak3600/inputEigyo.htmj/syouhi/ai3600/inputEigyo.htmj| フィールド | name | 備考 |
|---|---|---|
| 売上(収入)金額 | uriageWari | 必須。税込総額 |
| 免税売上 | menzeiUriageWari | |
| 非課税売上 | hikazeiUriageWari | |
| 不課税取引 | jigyoFukazeiUriageWari | |
| 軽減税率(6.24%)適用分 | kazeiUriage624PercentWari |
| フィールド | name | 備考 |
|---|---|---|
| 非課税返還 | uriageTaikaKeigen.hikazeiHenkan | |
| 非課税資産の輸出等返還 | uriageTaikaKeigen.hikazeiSisanHenkan |
| name | 備考 |
|---|---|
chukanNofuZei | 中間納付消費税額 |
chukanNofuJotoWari | 中間納付譲渡割額 |
URL: /syouhi/ai3610/submit.htmj
積上げ計算選択時のみ表示される大規模フォーム(194項目)。 青色申告決算書の各勘定科目に対して、決算額・課税取引金額・軽減税率分・免税事業者等取引分を入力。
フィールド名パターン: {科目略称}{列略称}Wari (割戻し) / {科目略称}{列略称}Tumi (積上げ)
列略称: Kessan(決算額), KazeiIgai(課税取引にならないもの), Keigen624(軽減税率分), MenzeiKeigen(免税事業者等/軽減), Menzei(免税事業者等/標準)
| 科目 | プレフィックス |
|---|---|
| 仕入金額 | siire |
| 租税公課 | sozeiKoka |
| 荷造運賃 | nidukuri |
| 水道光熱費 | suido |
| 旅費交通費 | ryohi |
| 通信費 | tusin |
| 広告宣伝費 |
| フィールド | name | 内容 |
|---|---|---|
| 発生した貸倒金 | kasidaoreKeigen.occurredKasidaoreAns | radio |
| 回収した貸倒金 | kasidaoreKeigen.recoveredKasidaoreAns | radio |
| 保税地域からの引取貨物 | hozeiKeigenIppan.hozeiAns | radio |
| 課税仕入れに係る対価の返還等 | siireTaikaKeigenIppan.siireTaikaAns | radio |
| 課税事業者になった方の棚卸高調整 | tanaorosiKeigenIppan.oldMenzeiJigyoshaAns |
URL: /syouhi/ak2140/submit.htmj
2種以上の事業を営む場合に表示される。以下から選択:
全ルート共通の結果画面。ヘッダ部で「2割特例」「簡易課税」「一般課税」を表示。
表示項目:
URL パターン(ルートごとに異なる):
/syouhi/at1400/submit.htmj/syouhi/ak1400/submit.htmj/syouhi/ai1400/submit.htmj画面は全ルートで同一構造(pageId=ac0400)。
| フィールド | name | type | 備考 |
|---|---|---|---|
| 納付方法 | nofuHohoType | select | |
| 納税地区分 | nozeitiKubun | radio | |
| 郵便番号1 | nozeitiZipCode1 | text | |
| 郵便番号2 | nozeitiZipCode2 | text | |
| 都道府県 |
⚠️ 注意 : 住所の都道府県コード(nozeitiPrefectureCode: 13=東京都)と税務署の都道府県コード(prefectureCode: 15=東京都)で異なるコード体系 が使用されている。
| 項目 | 2割特例 (売上5M) | 簡易課税 第5種 (売上5M) | 一般課税 (売上66M, 仕入0) |
|---|---|---|---|
| 課税標準額 | 4,545,000円 | 4,545,000円 | 60,000,000円 |
| 消費税額 | 354,510円 | 354,510円 | 4,680,000円 |
| 控除税額 | 283,608円 (×80%) | 177,255円 (×50%) | 0円 |
| 差引税額 | 70,900円 | 177,200円 | 4,680,000円 |
| 地方消費税譲渡割額 | 19,900円 | 49,900円 | 1,320,000円 |
| 合計納付 | 90,800円 | 227,100円 | 6,000,000円 |
| 項目 | 2割特例 | 簡易課税 | 一般課税 |
|---|---|---|---|
| 控除税額 | 消費税額×80% | みなし仕入率 | 実額(割戻し or 積上げ) |
| 仕入入力 | 不要 | 不要 | 割戻し: 不要 / 積上げ: 決算額テーブル |
| URL prefix | /at**** | /ak**** | /ai**** |
⚠️ ネイティブダイアログ注意 : 消費税コーナー終了時は 2段階のネイティブダイアログ が表示される —
#otherTax(他の申告書等を作成しますか?)と#end(終了してもよろしいですか?)。画面が遷移しない場合はダイアログの有無をユーザーに確認し、それぞれ適切にクリックするよう案内すること。
作成コーナーの確認画面で、shinkoku の計算結果と一致しているか検証する。
□ 合計所得金額が一致するか
□ 所得控除合計が一致するか
□ 課税所得金額が一致するか
□ 算出税額が一致するか
□ 税額控除が一致するか
□ 復興特別所得税が一致するか
□ 申告納税額(または還付額)が一致するか
□ 消費税の納付税額が一致するか(該当者のみ)
不一致がある場合は、差異の原因を調査し、ユーザーに報告する。
★ ユーザー確認待ち — 明示的な指示なくステップ6(電子署名・送信)に進んではならない
2段階ゲート構造 : ステップ5.5 は「送信フェーズに進むかどうかの意思決定ゲート」。 ステップ6-3 は「送信ボタン直前の操作ゲート(AI は送信しない、ユーザーが手動で送信する)」。 両方のゲートを通過しない限り、送信は実行されない。
申告内容の確認が完了した時点で、以下の手順を実行する。
ユーザーに .data ファイルの保存を案内する:
申告内容の入力と確認が完了しました。
電子署名・送信に進む前に、入力データを .data ファイルとして保存することを強く推奨します。
画面上部の「入力データの一時保存」ボタン(またはページ下部の「ここまでの入力データを保存する」リンク)
をクリックし、ファイルをダウンロードしてください。
AskUserQuestion で以下を表示する:
次の操作を選択してください。
重要 : ユーザーが「電子署名・送信に進む」を明示的に選択するまで、絶対にステップ6に進まないこと。
前提 : ステップ5.5 でユーザーが「電子署名・送信に進む」を選択済みであること。この前提が満たされていない場合はステップ5.5 に戻る。
マイナンバーカードで電子署名する。署名用パスワード(6〜16桁の英数字)が必要。
★ ユーザー操作待ち — ブラウザ操作を一時停止
AskUserQuestion で以下を表示する:
電子署名の画面に進みます。
マイナンバーカードで電子署名を行ってください。
署名が完了したら「署名完了」を選択してください。
電子署名完了後、送信前の最終確認ページが表示される。
★★★ 絶対に AI が送信ボタンをクリックしてはならない ★★★ ★★★ ユーザーが「送信完了」を選択するまで、一切のブラウザ操作を行わない ★★★
★ ユーザー操作待ち — ブラウザ操作を一時停止
AskUserQuestion で以下を表示する:
送信前の申告内容確認ページが表示されています。
上記の内容をご確認ください。
問題がなければ、ご自身の操作で画面上の「送信を実行する」ボタンを
クリックしてください。
送信が完了したら「送信完了」を選択してください。
ユーザーが「送信完了」を選択したら:
消費税の申告が必要な場合、所得税の送信完了後に消費税コーナーで申告書を作成する(ステップ4)。 消費税の入力・確認が完了したら、以下の送信プロトコルに従う。
消費税の計算結果確認(ac0300)と納税地等の入力が完了した時点で、以下を実行する。
★ ユーザー確認待ち — 明示的な指示なく電子署名・送信に進んではならない
AskUserQuestion で以下を表示する:
消費税の申告内容の入力と確認が完了しました。
電子署名・送信に進む前に、入力データを .data ファイルとして保存することを強く推奨します。
画面上部の「入力データの一時保存」ボタンをクリックし、ファイルをダウンロードしてください。
次の操作を選択してください。
重要 : ユーザーが「電子署名・送信に進む」を明示的に選択するまで、絶対に送信フェーズに進まないこと。
マイナンバーカードで電子署名する。
★ ユーザー操作待ち — ブラウザ操作を一時停止
AskUserQuestion で以下を表示する:
消費税の電子署名の画面に進みます。
マイナンバーカードで電子署名を行ってください。
署名が完了したら「署名完了」を選択してください。
電子署名完了後、送信前の最終確認ページが表示される。
★★★ 絶対に AI が送信ボタンをクリックしてはならない ★★★ ★★★ ユーザーが「送信完了」を選択するまで、一切のブラウザ操作を行わない ★★★
★ ユーザー操作待ち — ブラウザ操作を一時停止
AskUserQuestion で以下を表示する:
消費税の送信前確認ページが表示されています。
上記の内容をご確認ください。
問題がなければ、ご自身の操作で画面上の「送信を実行する」ボタンを
クリックしてください。
送信が完了したら「送信完了」を選択してください。
ユーザーが「送信完了」を選択したら:
作成コーナーでは申告データを .data ファイルとして保存できる。
送信完了後の .data ファイルには受付番号・送信日時等の追加情報が含まれる。 ステップ5.5 で保存済みであっても、送信後に改めて .data ファイルを再保存する ことを推奨する。
AskUserQuestion で以下を表示する:
送信が完了しました。送信後の .data ファイルには受付番号等の情報が追加されています。
「入力データを保存する」で .data ファイルを再度ダウンロードすることを推奨します。
ダウンロードが完了したら「ダウンロード済み」を選択してください。
.data ファイルがあれば、次回は「保存データを利用して作成」から途中再開できる.data ファイルから入力データを復元できるdocument.forms[formName].submit())#bsctrl(決算書コーナー)/ #bbctrl(所得税コーナー)はページ管理用<input type="button"> が多用されており、id="input_xxx" で JS .click() 操作| コーナー | URL パターン |
|---|---|
| 共通(認証等) | /kyoutu/ky/sm/*** |
| 決算書 | /kessan/ac/*** |
| 所得税 | /r7/syotoku/*** |
| 消費税(共通) | /syouhi/ac**** |
| 消費税(2割特例) | /syouhi/at**** |
| 消費税(一般課税) | /syouhi/ai**** |
| 消費税(簡易課税) |
doSubmitCSW0100(qrCodeReadingFlag, reportType, url) — 認証方法選択doSubmitCMW0900(zeimokuType, year) — 申告書種類選択(1=所得税, 2=決算書, 3=消費税, 4=贈与税)| コード | 内容 | 対応 |
|---|---|---|
| KS-W90011 | 入力データが初期化される | OK で続行 |
| KS-W90006 | 入力データをクリアする | OK で続行 |
| KS-W10035 | 印刷を確認したか | OK で続行 |
| KS-E10089 | e-Tax送信が必要(65万円控除) | e-Tax ルートで再実行 |
| KS-E10001 | 必須入力チェック | 入力漏れを修正 |
| KS-E40003 | B/S 資産期末合計 ≠ 負債期末合計 | 金額を修正 |
消費税コーナー終了時は2段階のダイアログが表示される:
#otherTax — 「他の申告書等を作成しますか?」#end — 「終了してもよろしいですか?」※ 書面提出選択時はサーベイダイアログが毎回表示される(セッション間で記憶されない)
Claude in Chrome は alert() / confirm() / prompt() によるネイティブダイアログを検知できない 。 ダイアログが表示されている間、ブラウザの DOM 操作はブロックされるため、エージェントの操作が無応答になる。
ボタンクリック後に以下の状態が続く場合、ネイティブダイアログが表示されている可能性がある:
ボタンをクリックしましたが、画面が遷移しません。
ブラウザにポップアップ(確認ダイアログ)が表示されていませんか?
表示されている場合は、ダイアログの内容(コード番号がある場合はそれも)を教えてください。
ダイアログが表示されている場合:
ダイアログが表示されていない場合:
| 操作 | 想定ダイアログ | ステップ |
|---|---|---|
| 「次へ進む」クリック全般 | KS-E10001(必須入力チェック) | 2, 3, 4 |
| 65万円控除の選択 | KS-E10089(e-Tax送信必須) | 2 |
| B/S 入力後の「次へ」 | KS-E40003(資産≠負債) | 2 |
| 決算書完了→所得税遷移 | KS-W10035(印刷確認) | 2→3 |
| 消費税コーナー終了 | #otherTax + #end(2段階) | 4 |
| データクリア・初期化操作 | KS-W90011, KS-W90006 | 全般 |
確定申告書等作成コーナーの推奨環境:
Linux は公式非対応。OS 検出は 2層 で行われるため、回避にも2層の偽装が必要:
クライアントサイド検出 : CC-AA-024 の画面遷移時に termnalInfomationCheckOS_myNumberLinkage() が navigator.platform / navigator.userAgent を検査し、Linux 環境では isTransition=false となり QR コード認証画面(CC-AA-440)への遷移がブロックされる。
サーバーサイド OS ベイク : サーバーが HTTP リクエストの User-Agent / sec-ch-ua-platform ヘッダ から OS を判定し、レスポンス内の getClientOS() 関数に const os = "Linux" のようにハードコードする (サーバーサイドレンダリング)。addInitScript による navigator プロパティ偽装ではこのベイク値は変わらない。 CC-AA-440 の でも が呼ばれ、 を決定する (Win=, Mac=)。Linux だと になり QR コードが描画されない。
etax-stealth.js の2層偽装PLAYWRIGHT_MCP_INIT_SCRIPT 環境変数で etax-stealth.js を指定して回避可能:
PLAYWRIGHT_MCP_INIT_SCRIPT=skills/e-tax/scripts/etax-stealth.js \
playwright-cli -s=etax open https://www.keisan.nta.go.jp/ --headed --browser=chrome
層 1: navigator プロパティ偽装 (addInitScript で実行、ページ読み込み前)
| プロパティ | 偽装値 |
|---|---|
navigator.platform | 'Win32' |
navigator.userAgent | Windows Chrome 131 UA |
navigator.userAgentData | Windows Chrome Client Hints |
navigator.webdriver | false |
navigator.plugins |
層 2: サーバーベイク関数のパッチ (DOMContentLoaded で実行、ページスクリプト後)
| パッチ対象 | 偽装値 | 目的 |
|---|---|---|
getClientOS() | 'Windows' | サーバーベイク値の上書き |
getClientOSVersionAsync() | 'Windows 11' | OS バージョン判定の回避 |
isRecommendedOsAsEtaxAsync() | true | 推奨 OS 判定の回避 |
isRecommendedBrowserAsEtaxAsync() |
CC-AA-440 で QR コードが表示されない場合、displayQrcode() 内で getClientOS() が 'Linux' 等を返し、 oStUseType が undefined になっている可能性がある。
確認方法 : ブラウザコンソールで getClientOS() の戻り値を確認。'Windows' でなければパッチが適用されていない。
手動対処 (Playwright CLI の場合):
playwright-cli -s=etax run-code 'window.getClientOS = function() { return "Windows"; }; displayQrcode();'
CC-AA-010 → CC-AE-090 → CC-AE-600 → CC-AA-024 → CC-AA-440(QR 表示確認済み)
詳細は docs/wsl-os-detection-workaround.md を参照。
全ステップ完了後、以下のファイルを Write ツールで出力する。
.shinkoku/progress/10-etax.md に以下の形式で出力する:
---
step: 10
skill: e-tax
status: completed
completed_at: "{当日日付 YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# e-Tax 電子申告の結果
## 提出方法
- 確定申告書等作成コーナー(Claude in Chrome 入力代行)
## 税額サマリー
- 事業所得: {金額}円
- 課税所得: {金額}円
- 所得税額: {金額}円
- 申告納税額: {金額}円({納付/還付})
- 消費税納付額: {金額}円(該当者のみ)
## 送信結果
- 受付番号: {受付番号}
- 送信日時: {日時}
## 次のステップ
/submit で提出後のチェックリストを確認する
.shinkoku/progress/progress-summary.md を更新する(存在しない場合は新規作成):
詳細なセレクタ情報・スクリーンショットは skills/e-tax/research/ ディレクトリを参照:
00-screen-flow-summary.md — 画面遷移マップ01〜05 — 認証フロー画面06〜14 — 決算書コーナー画面30〜41 — 所得税コーナー画面50〜55 — 消費税コーナー画面(初期調査)84〜87 — 消費税 2割特例(条件判定、売上入力、計算結果)Azure RBAC 权限管理工具:查找最小角色、创建自定义角色与自动化分配
104,600 周安装
Avalonia UI布局优化指南:使用Zafiro.Avalonia实现现代简洁布局
244 周安装
Schema结构化数据完整指南:实现富媒体结果与AI搜索优化(2025)
244 周安装
实用程序员框架:DRY、正交性等七大元原则提升软件质量与架构设计
244 周安装
Python PDF处理指南:合并拆分、提取文本表格、创建PDF文件教程
244 周安装
Ruby on Rails 应用开发指南:构建功能全面的Rails应用,包含模型、控制器、身份验证与最佳实践
245 周安装
代码规范库技能 - 多语言编码标准库,支持Python/Go/Rust/TypeScript等自动加载
245 周安装
status: completed の場合 → ユーザーに完了済みである旨を伝え、再実行の意図を確認する/income-tax や /settlement の実行を案内するtusinhi |
| 13 | 広告宣伝費 | kokokuSendenhi |
| 14 | 接待交際費 | settaiKosaihi |
| 15 | 損害保険料 | songaiHokenryo |
| 16 | 修繕費 | syuzenhi |
| 17 | 消耗品費 | syomohinhi |
| 18 | 減価償却費 | — | 「入力」→ /kessan/ac/init/aa0203 |
| 19 | 福利厚生費 | fukuriKoseihi |
| 20 | 給料賃金 | — | 「入力」→ /kessan/ac/aa0205 |
| 21 | 外注工賃 | gaichukotin |
| 22 | 利子割引料 | — | 「入力」→ /kessan/ac/aa0206 |
| 23 | 地代家賃 | — | 「入力」→ /kessan/ac/aa0207 |
| 24 | 貸倒金 | kasidaorekin |
| 25 | 税理士等の報酬 | keihiNiniKingaku1 | 科目名: keihiNiniKamoku1 |
| 26 | 震災関連経費 | keihiNiniKingaku2 | 科目名: keihiNiniKamoku2 |
| 27-30 | 任意科目 | keihiNiniKingaku3〜6 | 科目名: keihiNiniKamoku3〜6 |
| 31 | 雑費 | zappi |
| 16-23 | 任意科目 |
nameKanjiMei |
| 業種名 | gyosyuName |
| 屋号 | yago |
| 提出年月日 | teisyutuYear/teisyutuMonth/teisyutuDay |
| 公的年金等 | inOutDto.kotkNnknKgyoNnknEtc |
| 退職金 | inOutDto.tasyku |
| 株式等 | inOutDto.hatoKbshkJyotRsh |
| 先物取引 | inOutDto.skmnTrhk |
| 一時 | inOutDto.ichj |
| 28文字以内 |
| 住宅借入金等特別控除額の記載 | H※ | inOutDto.jyutkKrirknToTkbtsKojyGkKsaUm | 1(あり)/0(なし) |
| 所得金額調整控除額の記載 | I※ | inOutDto.sytkKngkTyoseKojygkKsaUm | 1(あり)/0(なし) |
| 本人が障害者・寡婦等 | J※ | inOutDto.hnninSygsyKfHtriyKnroGkseKsaUm | 1(あり)/2(なし) |
| F「記載あり」時 |
| 介護医療保険料金額 | inOutDto.kagIryoHknryoKngk | F「記載あり」時 |
| 新個人年金保険料金額 | inOutDto.shnKjnNnknHknryoKngk | F「記載あり」時 |
| 旧個人年金保険料金額 | inOutDto.kyuKjnNnknHknryoKngk | F「記載あり」時 |
| 地震保険料控除額 | inOutDto.jshnHknryoKojygk | G「記載あり」時 |
| 旧長期損害保険料金額 | inOutDto.kyuCyokSngaHknryoKngk | G「記載あり」時 |
| H: 住宅借入金等特別控除額 | inOutDto.jyutkKrirknToTkbtsKojyGk | H「記載あり」時 |
| H': 住宅借入金等特別控除可能額 | inOutDto.jyutkKrirknToTkbtsKojyknoGk | H「記載あり」時 |
| H'': 住宅借入金年末残高1回目 | inOutDto.jyutkKrirknToNnmtszndkIkkam | H「記載あり」時 |
| H''': 住宅借入金年末残高2回目 | inOutDto.jyutkKrirknToNnmtszndkNkam | チェック時 |
| 寡婦チェック | inOutDto.ksaArKforkf | J「記載あり」時 |
| 勤労学生チェック | inOutDto.ksaArKnroGkse | J「記載あり」時 |
| 電話番号(市外) | inOutDto.shgaKykbn |
| 電話番号(市内) | inOutDto.shnaKykbn |
| 電話番号(番号) | inOutDto.knyusyBngo |
| 納税地区分 | inOutDto.nozeCh | 1=住所地, 2=事業所等 |
| 郵便番号 | inOutDto.yubnBngoGnzaAddress | 7桁 |
| 都道府県 | inOutDto.tdofknGnzaAddress | select |
| 市区町村 | inOutDto.shkcyosnGnzaAddress | 都道府県連動 select |
| 丁目番地等 | inOutDto.cyomBnchToGnzaAddress | 28文字以内 |
| 建物名 | inOutDto.ttmnMeGoshtsGnzaAddress | 28文字以内 |
| 提出先税務署(県) | inOutDto.tesytSkZemsyTdofkn | select |
| 提出先税務署 | inOutDto.tesytSkZemsyZemsy | 県連動 select |
| 職業 | inOutDto.job | 11文字以内 |
| 屋号・雅号 | inOutDto.ygoGgo | 30文字以内 |
| 世帯主の氏名 | inOutDto.stanshNameKnj |
| 続柄 | inOutDto.stanshKrTsdkgr | select |
| 提出年月日 | inOutDto.tesytYmdYy/Mm/Dd |
| サービス業等 |
| 事業区分(第6種) | jigyoSyotokuEigyoJigyoKubun6 | 不動産業 |
| 返還等対価(軽減) | uriageTaikaKeigen.uriageTaika624Percent |
| 返還等対価(標準) | uriageTaikaKeigen.uriageTaika78Percent |
| 貸倒れ発生(軽減) | kasidaoreKeigen.occurredKasidaore624Percent | 2割特例・簡易課税のみ |
| 貸倒れ発生(標準) | kasidaoreKeigen.occurredKasidaore78Percent | 2割特例・簡易課税のみ |
| 貸倒れ回収(軽減) | kasidaoreKeigen.recoveredKasidaore624Percent | 2割特例・簡易課税のみ |
| 貸倒れ回収(標準) | kasidaoreKeigen.recoveredKasidaore78Percent | 2割特例・簡易課税のみ |
| 貸倒れ発生有無 | kasidaore.occurredKasidaoreAns | 2割特例・簡易課税のみ (radio) |
kokoku| 接待交際費 | settai |
| 損害保険料 | songai |
| 修繕費 | syuzen |
| 消耗品費 | syomohin |
| 減価償却費 | genkasyokyaku |
| 福利厚生費 | fukurikosei |
| 給料賃金 | kyuryo |
| 外注工賃 | gaichu |
| 利子割引料 | risiWaribiki |
| 地代家賃 | jidai |
| 貸倒金 | kasidaore |
| 任意科目 | niniKamoku25〜30 |
| 雑費 | zappi |
| radio |
| 免税事業者になる方の棚卸高調整 | tanaorosiKeigenIppan.newMenzeiJigyoshaAns | radio |
nozeitiPrefectureCode| select |
| 住所用コード: 13=東京都 |
| 市区町村 | municipalityCode | select |
| 丁目番地等 | nozeiti1ElaseMunicipal | text |
| 税務署都道府県 | prefectureCode | select | 税務署用コード: 15=東京都 ← 住所と異なるコード体系! |
| 税務署 | sinkokuZeimusyoCode | select |
| 氏名カナ(姓) | simeiKanaSei | text |
| 氏名カナ(名) | simeiKanaMei | text |
| 氏名漢字(姓) | simeiKanjiSei | text |
| 氏名漢字(名) | simeiKanjiMei | text |
| マイナンバー1 | myNumber1 | password |
| マイナンバー2 | myNumber2 | password |
| マイナンバー3 | myNumber3 | password |
| 電話番号1 | telNumber1 | text |
| 電話番号2 | telNumber2 | text |
| 電話番号3 | telNumber3 | text |
/syouhi/ak**** |
displayQrcode()getClientOS()oStUseType'3''4'undefined| Chrome 標準プラグイン |
navigator.languages | ['ja', 'en-US', 'en'] |
'OK' |
| 推奨ブラウザ判定の回避 |
89〜93 — 消費税 簡易課税(条