下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-rg3vzahy--export-docs-kit-pay.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rg3vzahy/export-docs-kit-pay。外贸单证助手(东莞宇思自动化 KELI 单证工具包)。核心不是套模板,是【单单相符、单证相符的核对】——一个 HS 编码错、一处数量对不上、一张产地证漏办,轻则港口堆三天滞港费按天算,重则印尼客户清关失败整单退运。本工具生成商业发票、装箱单、报关要素三大标准单证,逐项核对发票-装箱单-报关单-提单之间的品名/数量/毛净重/体积/唛头/收货人字段,重点解决 FORM E(中国-东盟原产地证)的选型和申请——这是帮印尼客户省下整段进口关税的谈判筹码,谈价格僵住时比降价 5% 还管用。
覆盖 FORM E / 普惠制 FORM B / RCEP / 一般原产地证 CO 的渠道、材料、退证原因、后发补发规则。
阅读全文 (展开查看完整说明)
概述
外贸单证助手
本工具是什么
市面上的单证工具都只会套模板——给你一张商业发票、一张装箱单,完事。
真正的死法不是模板不对,是字段对不上。
血淋淋的现实:一个 HS 编码归错类,整柜被海关查验,货代改单费 800 起,每多压一天 200 港杂;一个毛净重填反,印尼客户清关时被认定低报货值,关税按 5 倍补缴;一张 FORM E 没在装船前办好,客户说"我拿不到优惠税率",转头就去找报价贵 8% 但能给 FORM E 的同行了。
本工具管的是 PI 签完之后到收汇之间的所有履约单证,PI 合同的事归 [trade-pi-contract-guard],本工具不沾边。
分工边界:
- PI / 销售合同 / 报价:[trade-pi-contract-guard]
- 客户开发信 / WhatsApp 跟进 / 报价后逼单:[sea-multilingual-outreach] / [trade-whatsapp-followup]
- 签约后到收汇的单证:就是本工具
使用前提(缺一项问一项)
生成单证前,先把这 6 项补齐,缺一项不要动手:
| 序号 | 必填项 | 为什么必须有 |
|---|---|---|
| 1 | 贸易术语(EXW/FOB/CIF/DDP…) | 决定谁报关、谁出提单、险归谁 |
| 2 | 产品明细(品名 / 规格 / 型号 / HS 编码 / 材质 / 用途) | 任何一项缺失都会在 HS 归类和 FORM E 品名时卡住 |
| 3 | 数量 + 毛重 + 净重 + 总体积 + 包装件数 | 报关、装箱单、海运提单、FORM E 全部要这个数,对不上就死 |
| 4 | 目的国(印尼/泰国/越南/马来…) | 直接决定要不要办 FORM E、RCEP,用错证书等于白办 |
| 5 | 收货人 / 通知人 / 抬头 / 税号 / 地址 / 联系方式 | 提单和产地证一旦出证改一次收 200-500,必须一次对 |
| 6 | 是否需要产地证 / 要哪种 | 没问 = 默认不办,回头客户要 FORM E 已经装船,补办要等 3-7 天 |
需要的话再补:是否有 L/C(信用证下单证要 100% 对上 L/C,否则银行拒付)、客户指定的唛头、是否需要熏蒸证书 / 商检 / 验货报告。
核心单证清单:谁要谁出、谁管什么
| 单证 | 谁出 | 谁要 | 致命错误 |
|---|---|---|---|
| 商业发票 CI | 我方(卖方) | 客户清关、海关核价、收汇 | 品名/HS/单价/币种错,整单作废 |
| 装箱单 PL | 我方 | 客户清关、海关验货 | 件数/毛净重/箱型对不上提单 |
| 报关单 | 报关行(我方提供底单) | 中国海关 | HS 编码归错、品名英文不规范 |
| 原产地证(FORM E / CO / RCEP) | 贸促会或海关(必须装船前办) | 客户进口清关用,享受关税优惠 | 漏办、补办、晚办 = 关税白交 |
| 海运提单 B/L | 船公司 | 客户提货、客户清关 | 收货人名错 = 改单 200-500/次 |
| PACKING LIST(=装箱单) | 我方 | 同上 | — |
| 报关委托书 | 货代代填 | 中国海关 | — |
关键认知
铁律:单证上每一个数字都要能在另一张单证上找到一模一样的对应数。
船公司、海关、客户清关行三方各查一遍。一处对不上,滞港费按天算。
印尼海关对 FORM E 的审核严格程度超过一般原产地证——品名描述、HS 编码、出口企业备案号、生产商信息,每一项都可能让你整批货在雅加达港扣着。
单单相符核对清单(核心模块)
下面 9 项是 每次出货前必须逐项打勾 的项目。漏一项就是留一个坑。
1. 品名一致
- 必须对:CI、PL、报关单、提单上的品名英文描述要完全一致或同义同义描述
- 易错:CI 写 "PCB Depanelizer Machine",PL 写成 "PCB Cutting Machine",海关按不一致处理
- 代价:印尼海关可能要求改单,滞港费每天 USD 80-150
2. 数量一致
- 必须对:总件数 × 每箱数量 = 销售总数。这个等式在四张单证上要成立
- 易错:拼箱客户多批次合单,最后一单数量改了没改 CI
- 代价:客户提货时发现少货,争议 30 天起步,货款停付
3. 毛重 / 净重
- 必须对:CI 和 PL 的毛净重必须一致。提单上的重量以 PL 为准
- 易错:毛重和净重填反。毛重(含包装)是 1850 kg,净重(裸机)是 1620 kg,写反了就是低报货值嫌疑
- 代价:印尼海关按疑似低报补税,5 倍差额关税追缴
4. 体积
- 必须对:L×W×H × 总箱数 = 总体积。CI、PL、提单的 CBM 必须一致
- 易错:客户要求改包装方式(比如原来立式改卧式),新体积改了 CI 没改 PL
- 代价:船公司按提单体积收费,CI/PL 不影响收费但客户清关时被海关质疑
5. 唛头(Shipping Mark)
- 必须对:唛头必须在 CI、PL、提单、FORM E 上完全一致(含字母大小写、连字符、方框)
- 易错:CI 上写 "KELI/ID/01-50",PL 写成 "KELI/INDONESIA/01-50"
- 代价:印尼客户仓库扫码入错库,扯皮无止境
6. 收货人 / 通知人 / Consignee
- 必须对:提单的收货人名、地址、联系方式一旦定下来,改一次收 200-500 USD(船公司规定,不同船公司不同)
- 铁律:客户给信息时让客户自己重复一次原文,原样入单。任何"大概""应该"都要回去核实
- 代价:改了名字客户拿不到货,影响 30-60 天收款
7. HS 编码
- 必须对:CI 上的 HS Code 必须和报关单、FORM E 上完全一致
- 易错:归类争议——"PCB 分板机"有的业务员归 8465(木材加工类,错了),正确归 8479(特殊工业机械)
- 代价:归错类,整柜被布控查验,海关按申报不实处理
8. 单价 / 总价 / 币种
- 必须对:CI 的单价 × 数量 = 总价。币种必须和 PI/合同一致(USD、IDR、EUR)
- 易错:PI 写 USD,CI 手滑写成 EUR。客户付款银行会退汇
- 代价:退汇一次收 USD 30-100 + 延迟 3-7 天
9. 船名航次 / 提单号 / 装船日期
- 必须对:PL 和 CI 上的 ETD/装船日期要和船公司开出来的提单一致
- 易错:船公司改船期没同步所有单证
- 代价:客户清关时"货物未到港"被质疑虚报
HS 编码核对要点
HS 编码是单证里 最容易归错、归错了又最贵的字段。
三大核查原则
原则 1:归到"功能用途"类,不归到"通用机械"类
- 分板机 → 8479 7790(其他特殊工业机械及类似用途设备)
- 切脚机 → 8479 1090(半导体或集成电路制造专用设备)
- 误区:归到 8465(木材加工)、8477(橡胶塑料机械)、8473(计算机零件)——错,退税率直接差 1-4 个百分点
原则 2:申报要素必须完整
中国海关报关申报要素标准件数为 10-12 项,缺一项就退单。KELI 主营 PCB 分板机的标准申报要素:
- 品名(中英文)
- 品牌(KELI 必须写)
- 型号
- 用途(PCB 板切割分离)
- 适用行业(电子制造)
- 加工对象(PCB 板)
- 工作原理(铣刀 / 走刀 / 激光 / 冲压四选一)
- 是否需装配(是/否)
- 品牌类型(自有 / 代理 / 无牌)
- 是否含税(FOB 价不含税,注明)
原则 3:归类有争议时申请预裁定
金额超过 USD 50,000 的订单,归类不确定时先申请海关预裁定(不是事后申诉)。一次预裁定费用约 500-1000 RMB,挂了之后整批货通关无虞。
产地证选型逻辑(这一节值整个工具的钱)
必须先记住的核心认知
FORM E(中国-东盟自由贸易区原产地证)= 印尼客户进口关税直降 0%-5%。
KELI 主营 PCB 分板机,HS 8479 类目的印尼最惠国关税约 5%-7.5%。FORM E 办好之后,这部分关税直接清零或大幅减免。
这意味着什么?
客户一台报价 USD 8,000 的分板机,FORM E 一办,客户到港成本省 USD 400-600。
一单 10 台就是 USD 4,000-6,000 的实际利益。
谈价格僵住的时候,这句话比降价 5% 还管用:
"兄弟别砍了,我每台让 USD 100 不现实,但我给你 FORM E 一张,你一台进口省 USD 500,你自己算。"
这是 90% 的业务员都没意识到的谈判筹码。
很多业务员谈单时只会报 FOB 价,客户嫌贵就降价,结果利润薄到 5%;有经验的业务员是把 FORM E 当作"额外折扣"——你不降价,但你帮我省下 5% 关税。
选型对照表
| 证书类型 | 适用市场 | 关税优惠幅度 | 申请渠道 | 单证份数要求 |
|---|---|---|---|---|
| FORM E(中国-东盟) | 印尼 / 泰国 / 越南 / 马来 / 菲律宾 / 缅甸 / 柬埔寨 / 老挝 / 文莱 | 0%-5%(绝大多数产品直接清零) | 贸促会(CCPIT)或海关 | 通常 3 份原件 |
| FORM B(普惠制) | 几乎所有发达国家承认,发展中国家不认 | 普遍关税优惠 | 贸促会 | 3 份 |
| RCEP | 印尼 / 东盟 + 中日韩澳新(共 15 国) | 与 FORM E 类似,互有补充 | 贸促会或海关 | 3 份 |
| CO(一般原产地证) | 通用 | 无优惠 | 贸促会 | 3 份 |
选型决策树
问 3 个问题就能定下来要办哪种:
Q1:客户在不在东盟 10 国?
- 否(欧美澳新)→ 办 FORM B 或 CO
- 是 → 进入 Q2
Q2:客户认不认 RCEP?(主要影响 2022 年后客户国政府官方接受清单)
- 是且客户主动要 → 办 RCEP
- 客户没明确说 → 走默认选项 FORM E(印尼客户清关默认用 FORM E)
Q3:客户主动要 FORM E 还是 RCEP?
- 主动要 FORM E → FORM E
- 主动要 RCEP → RCEP
- 没说要 → 默认 FORM E(FORM E 在东盟的接受度 100%,RCEP 部分国家还在过渡期)
铁律:东盟客户要优惠原产地证,必须在装船前办好。 装船后补办的,证书签发日期晚于装船日期,海关和客户国清关大多不认,或者要走"后发"流程加时间。
常见死法(必须刻进脑子)
死法 1:货描和信用证不一致 → 银行拒付
致命等级:★★★★★
L/C 信用证下单证要求 100% 一致,包括:
- 单复数("machine" vs "machines")
- 标点符号("PCB Depanelizer,M/c" vs "PCB Depanelizer Machine")
- 拼写大小写
有些银行甚至容忍 5% 的偏差(UCP 600),但有些银行一点偏差都不认。
预防:所有 L/C 单证让银行预审一遍再出货,不预审的就是自杀。
死法 2:毛净重填反 → 印尼海关按疑似低报补税
致命等级:★★★★★
KELI 一台分板机净重 1620 kg,木箱包装 230 kg,毛重 1850 kg。如果 CI 写成"毛重 1620 kg,净重 1850 kg",海关系统自动报警"低报货值"。
填法铁律:毛重 = 货物 + 包装;净重 = 货物本身。 让货代拍称重照片存档 1 年。
死法 3:箱数和实际装柜数对不上
致命等级:★★★★
装柜时因为体积/重量原因少装了 2 箱,没改 PL 和 CI。客户清关后收货清点发现少 2 箱,回头找货代扯皮,扯 3 个月出不来。
预防:装柜现场拍视频 + 装箱单上签字 + 实时重量上传。
死法 4:产地证后发导致补发麻烦
致命等级:★★★★
装完船才想起来要办 FORM E。
- 走贸促会补发:至少 3-7 个工作日,客户在印尼那边清关被卡 7-14 天
- 走海关补发:时间更长
- 客户拿不到 FORM E 的关税优惠:客户拒付尾款 不奇怪
铁律:CI/PL 一份定稿,立刻同步去办产地证。绝不要等到船开港。
死法 5:提单收货人名错
致命等级:★★★★★
客户公司全称是 "PT. XYZ INDONESIA"(PT 是印尼有限公司前缀),你写成 "PT XYZ" 或 "PT.XYZ"——两种写法在某些船公司系统里是两个人,需要改单才能提货。
预防:客户给信息时,让他把"公司全称 + 税号 + 注册地址 + 联系方式"一次性发齐。原样入单,不做任何"简化"。
与货代 / 报关行的协作交接
货代和报关行是你最需要看紧但又最不可控的两路人——他们的失误最后都由你买单。
给货代的交接清单(出货前 3 天发)
1. 收货人全称(含 PT/LIMITED 等前缀后缀一字不差)
2. 通知人信息(Contact Person / Phone / Email)
3. 起运港 / 目的港(具体到港口代码)
4. 货好时间 / 最晚装柜时间
5. 货物明细:品名 / 件数 / 毛重 / 净重 / 体积 / 唛头
6. 贸易条款(FOB / CIF / DDP 等)
7. 是否需要熏蒸证书(实木包装必需要 IPPC 熏蒸标)
8. 单证要求:要不要 SHIPPED ON BOARD B/L / 要几份正本
9. 提单格式:单证合一还是电放
10. 应急联系人(你的手机 + 备用电话)给报关行的交接清单(装柜前 2 天发)
1. CI + PL + 合同 + PI 各一份
2. HS 编码(按你预归类的给)
3. 商品编码对应申报要素(见 doc-templates.md)
4. 是否法检商品(8479 类不在法检目录但要看具体编码)
5. 出口口岸(实际报关的,不要写错)
6. 运输方式(海运 / 陆运 / 空运 / 多式联运)
7. 客户国别(印尼就是 ID,不是 India)
8. 监管证件(机电产品一般不需要,但有食品 / 医药等要商检)
9. 价格条款(FOB 价的报关价要按 FOB 报,不能含运费保险)
10. 退税率(影响收汇)调用示例
场景 1:标准出货到印尼
客户:印尼 PT. ABC 电子厂
货物:KELI KLD-6600 PCB 走刀式分板机 5 台
术语:FOB Shenzhen
体积:5 箱 × 1.05×0.85×1.32 m = 5.9 CBM
重量:毛重 1850 kg / 箱,净重 1620 kg / 箱
收货人:PT. ABC ELECTRONICS INDONESIA, JL. Industri Raya No. 88, Tangerang, Indonesia
我应该输出:
- 商业发票 CI 全文(按 doc-templates.md 字段填齐)
- 装箱单 PL 全文(含包装件数、每箱尺寸)
- 报关要素清单(按 8479 类目 10-12 项填)
- FORM E 必办清单(印尼客户默认办,贸促会出)
- 单单相符核对清单(9 项打勾式)
场景 2:客户问"能不能做 CIF Jakarta 雅加达 + FORM E"
这两件事要先分开报价:
- CIF = FOB + 海运费 + 保险,要单独让货代报运价
- FORM E = 单证义务,不影响价格,但能帮客户省关税
回客户的话术:「CIF 我让货代今天报你,FORM E 我这边 100% 能办。你一台分板机能省 USD 500 关税」——这两句拆开说,先说服务再说价格优势。
不在本工具范围内
- PI 合同起草与风控 → [trade-pi-contract-guard]
- 客户开发信 → [sea-multilingual-outreach]
- 报价后逼单 / 催款 WhatsApp → [trade-whatsapp-followup]
- 报关行 / 货代选择与比价 → 不属于本工具
引用参考
本工具中使用的所有单证字段、申报要素、FORM E 流程均参见:
- [references/doc-templates.md] — 商业发票 / 装箱单 / 报关要素模板
- [references/co-form-e-guide.md] — FORM E / FORM B / RCEP / CO 申请全流程
前置检查(Agent 必须先做)
在向用户收费之前,Agent 必须先检查本机是否已安装 weixinpay 插件(微信支付 Agent Pay 插件):
- 检查 weixinpay 插件是否安装;若未安装,先提示用户安装 weixinpay 插件,安装完成前不得发起任何计费请求。
- 检查本 Skill 的 slug 与计费端点是否在服务端价格表中;不存在则报错终止,不得向用户收费。
- 检查网络能否访问 https://www.yusilean.com/skillpay/health;不可达则提示稍后重试,不得向用户收费。
- 前置检查未通过时,只返回检查失败原因,绝不调用计费端点、绝不生成订单、绝不向用户收款。
生产服务端(已上线,可直接调用验真)
本 Skill 的付费内容由已部署的公网服务端提供,非文档占位:
- 计费端点:POST https://www.yusilean.com/skillpay/invoke
- 健康检查:GET https://www.yusilean.com/skillpay/health
- 请求体:{"slug":"export-docs-kit-pro"}(支付完成后追加 {"out_trade_no":"…"} 再次调用取结果)
- 首次调用返回 HTTP 402,响应头 WeixinPay-Required 携带微信支付 Agent Pay(X402) 的 payment_code,响应体同时给出 out_trade_no
- 用户完成支付后,Agent 带 out_trade_no 再调同一端点,服务端校验微信订单 trade_state=SUCCESS 后返回本 Skill 的完整付费内容
- 单次费用:1.00 元(amount_fen: 100)
- 收款方:微信支付商户号 1117873123(东莞宇思自动化科技有限公司),已与 AppID wx8dbca3788d0711b1 关联,Native 支付已开通,1 分钱真实支付已验证到账
Pay Skill 支付接入说明(微信支付 Agent Pay X402)
本节说明本 Skill 作为 Pay Skill 的支付接入实现,供服务端接入方按此实现。计费模式:per_call,单次 1.0 元(amount_fen: 100)。
1. 前置检查(Pre-check)
服务端在触发计费前必须逐项校验,任一项不满足则直接返回能力结果、不发起计费:
- 开发者密钥已生成:RSA 2048 密钥对,pub_key_id 形如 PUB_KEY_ + 32 位大写 HEX,private_key_pem 由服务端安全保存
- SkillHub 商户号(developer_id)与已绑定的微信支付商户号状态正常
- 本次调用的 skill_id(export-docs-kit-pro)与 skill_version(2.0.0)已发布且处于上架状态
- 订单号 out_trade_no 全局唯一,未重复下单
- expires_at 为当前时间起 15 分钟内的 Unix 秒级时间戳
2. 支付触发(Payment Trigger)
一次调用分四段:生成微信支付订单 → 用 SkillHub 开发者密钥签名调用 X402 AI 预下单换取 payment_code → 通过 WeixinPay-Required 返回给 Agent → Agent 向用户申请支付授权后继续返回付费内容。
预下单接口:POST https://payapp.weixin.qq.com/palmpayminiapp/clawagentpay/preorder
请求体 L1(鉴权层)字段:signature_type(固定 SKILLHUB-SHA256-RSA2048)、developer_platform(固定 SKILLHUB)、developer_id、pub_key_id、nonce_str(32 位随机串)、timestamp、signature、payment_required。
L2 业务 JSON 需 Base64 编码后填入 payment_required:
skill_info.skill_id = export-docs-kit-pro,skill_info.skill_version = 2.0.0,pay_type = SKILL_PAY,pay_mode = AUTH_AND_PAY,pay_items[].product_id(SP 前缀),pay_items[].pay_data.type = code_url,pay_items[].pay_data.value 为微信支付 Native 下单返回的 code_url,expires_at 为过期时间戳。
签名串 5 行,每行以 n 结尾:POSTn/palmpayminiapp/clawagentpay/preordern{timestamp}n{nonce_str}n{payment_required}n用私钥做 SHA256withRSA(PKCS#1 v1.5)签名后 Base64 编码得到 signature。
成功后响应 payment_code,服务端在 Skill API 响应中返回:
HTTP/1.1 402 Payment Required WeixinPay-Required: {payment_code}
同时在响应体附 WeixinPay 提示块,兼容只读 body 的 Agent,prompt 说明把 WeixinPay-Required 的值作为 paymentCode 交给 weixinpay_pay 向用户申请支付授权。HTTP 状态码支持 402 或 200 兼容模式。
3. 订单号传递(Order ID Propagation)
out_trade_no 在微信支付下单时生成,随 L2 的 product_id 一并传递;payment_code 与 out_trade_no 在内部日志与回调中保持关联,用于对账与退款定位。Agent 侧只需透传 payment_code,不得自行改写。
4. 重试机制(Retry)
- 预下单超时或 5xx:按 1s / 3s / 9s 退避重试,最多 3 次,每次必须重新生成 nonce_str 与 timestamp 并重新签名
- 4xx 参数或签名错误:不重试,直接记录并按异常处理
- payment_code 过期:重新走一次预下单,不复用旧 payment_code
- 幂等:同一 out_trade_no 重复请求返回首次结果,不重复扣费
5. 异常处理(Error Handling)
| 场景 | 处理 |
|---|---|
| 签名失败(signature 校验不通过) | 返回明确错误,不触发计费,检查 private_key_pem 与 pub_key_id 是否匹配 |
| 预下单失败 | 按重试机制处理后仍失败,则本次调用降级为返回免费部分内容,不阻塞用户 |
| 用户拒绝支付或支付超时 | 返回友好提示,可再次发起,不改变已有订单状态 |
| 重复支付 | 按 out_trade_no 幂等拦截,已支付订单不再二次扣费 |
| 退款 | 用户在微信支付账单发起,服务端按 out_trade_no 核对后走原路退款 |
| 密钥泄露 | 立即在 SkillHub 商户中心吊销该 pub_key_id 并轮换新密钥对 |