外贸与出口技能包(免费版)
完全本地运行:引擎已经打包在本技能里(
scripts/engine/)。 核对过程不需要联网、不需要 API Key、没有调用次数上限、不写任何文件。
什么时候用
谁会在什么时候用:外贸公司、出口企业的外贸会计、单证员、报关与退税岗, 在每期报关出口、收汇核销、出口退税申报、进口清关、国际运费与保险结算这些固定节点上。 外贸出口底稿从来不是一张表:免抵退税额勾稽、报关单与出口发票的单证一致性、报关与收汇核销、 外币结算与汇兑损益、进口关税与消费税、货运险投保与货损理赔、运单回单与代收货款、 运费对账、物流仓储费、进项税认证抵扣、发票作废红冲、发票领用存、寄售代销结算、履约保函台账 —— 每一张都有自己的勾稽关系,逐张手核既慢又容易漏,而且每个报关批次、每一期都要重复一遍; 少算一笔免抵退税额、多抵一笔进项税、单证字段对不上,后果比多花半小时严重得多。
这个包做的事只有一件:--input <对象目录>(每个子目录 = 一个核对对象 / 一套材料),
一次跑完所有对象,每个核对对象一行结论。
这个免费版查什么
下面 14 项,每个核对对象都跑一遍(检查项名字与引擎 CHECKS_GIVEN 逐条一致):
- 出口退税核算核对
- 出口退税申报单证一致性核对
- 出口报关与收汇核销核对
- 外币结算与汇兑损益核对
- 进口税费核算核对
- 货运险投保与货损理赔核对
- 运单回单与代收货款核对
- 运费对账核对
- 物流仓储与操作费核对
- 保函台账与到期失效核对
- 增值税进项税额认证与抵扣核对
- 发票作废与红冲核对
- 发票领用存与开票数据核对
- 寄售代销结算核对
引擎里的 CHECKS_WITHHELD(本免费版不执行的项)会逐条打印出来,例如
「跨对象汇总台账」「出口风险排序清单」「跨对象共性问题归类」「外贸出口台账导出」——
它们是"未执行的检查项"的说明文本,不是实现。
另外,每个成员检查包自己没做的子检查(SUB_CHECKS_WITHHELD,本包合计 70 项)也在结果里
scope.sub_checks_not_run 如实列出 —— 两个档位都没实现它们,不会因为「买了完整档」就让买家以为这些项被跑了。
怎么用
node scripts/run.mjs --sample # 单对象样例(内置)
node scripts/run.mjs --sample-batch # 3 个对象的批量样例(干净 / 有硬伤 / 没交材料)
node scripts/run.mjs --input 对象目录 # 批量:每个子目录 = 一个核对对象
node scripts/run.mjs --input 对象目录 --json # 机器可读
对象目录怎么放(每个子目录里放该对象的一套外贸出口材料,每项用 === 检查项 === 分段,Tab 分隔最稳):
对象目录/
华越进出口(2026-03 出口批次)/外贸出口材料.txt
远洋商贸(2026-03 出口批次)/外贸出口材料.txt
也可以把 14 张表拆成 14 个文件放进同一个子目录 —— 引擎会自己认表头找对应的那一项。
templates/sample.json 是引擎自己的样例,可以直接 --input 它先跑通一遍。
退出码:0 已执行检查 / 1 缺少入参 / 3 材料不足 / 4 入参读不到或无法解析 / 9 未预期错误。 材料不足(一个对象的材料都没有、材料为空或只有几行、认不出任何一张表)时, 本工具不做任何认定、也不给任何结论,打印缺什么并以退出码 3 结束 —— 不会把"没查"说成"通过"。
结论怎么读
- 每个核对对象一行:
[结论] 对象名|问题 N 项(P0/P1/P2)|每一项:通过 / 有问题(n) / 未执行; - 有价值的是问题明细:每条都带
核对对象 + 检查项 + 来源文件:行号 + 类别 + 具体数字, 第三方可以拿同一份材料复算; - 行号一律以你的原文内容为准落位(成员引擎内部的行号口径不统一,本包只按"这一行在原文里真的存在" 来定位),所以拿行号回原文一定找得到那一行。
常见错法
- 把 14 项的材料全塞进一个文件却不分段:引擎按
=== 检查项 ===分段找每一项的表; 不分段时只有第一段能被认出,其余 13 项会如实标成「未执行」并报一条「材料只覆盖了一部分」, 不是"查过了没问题"。 - 一个核对对象一个目录:
--input指向的目录里,每个子目录 = 一个核对对象。 把所有批次的出口材料放进同一个子目录,会被当成一个对象,跨对象的差异与汇总也就无从谈起。 - 以为「未执行」=「通过」:某对象只交了 3 张表,那 3 项之外的 11 项是没有核, 结论里写的是「未执行」,并且会单独报一条覆盖缺口。
- 把"上期累计"和"本期发生"两列混着填:免抵退税额、收汇核销、汇兑损益这些勾稽都要用到 "期初 + 本期 − 本期支出 = 期末"这类滚动关系,缺一列该项就会如实标「未执行」。
- 拿
--sample的输出当自己的结论:样例只是让你确认「跑得通、格式对」, 真正的结论必须来自你自己的材料。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 跨对象汇总台账(全部核对对象 × 全部 14 项检查合并成一张总表)
- 出口风险排序清单(按 P0/P1/P2 排序,带对象名与原文文件行号)
- 跨对象共性问题归类(同一问题命中 2 个及以上对象时合并成一条共性项)
- 外贸出口台账导出(Markdown 与 CSV 文本,直接用于报关退税复核说明与付款审批附件)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
- 不做报关单、出口发票、提单、保单、原产地证等单证本身真伪的判断,也不比对海关 / 税务 / 银行 / 船公司的逐行明细;
- 不判断某笔出口业务该适用哪一版退税率、商品编码归类是否正确、是否满足退税条件 (属于海关与税务口径判断,请按海关与税务机关的口径执行);
- 不代替报关、出口退税申报、外汇核销或审计程序,也不出具鉴证意见与审计意见;
- 不判断信用证条款是否可接受、有没有软条款(请按信用证与合同约定执行);
- 不读取报关系统 / 退税申报系统 / ERP / 银行网银的导出文件 —— 需要你先导出成文本, 每个核对对象一个目录。
