M1 应收核算
任务目标
把本次对话上传的平台附件整理为可追溯的标准应收底表,并固定区分:
gross_sales:销售总额;platform_fees:平台扣费的正数绝对额;refunds:退款的正数绝对额;net_revenue:净收入(销售额扣减退款后,未扣平台费)。
执行并验证:net_revenue = gross_sales - refunds
保留来源签名金额和费用明细。不得把平台费和退款合并为“其他扣减”。退款已在 net_revenue 中扣减,M6 不得再次扣减退款;平台费不计入 net_revenue,而是作为独立字段 platform_fees 交给 M6 在利润链中单列扣减一次,M5 不得再把平台费列为运营费用。
数据安全门禁
- 只可先查看附件 basename、格式和表头候选行,不得先读取、展示或统计任何样例业务值。
- 开始读取业务正文前,要求用户确认附件已经企业批准的方式脱敏,或明确说明附件是课程模拟数据。
- 提醒用户 Amazon 文件可能含订单号、SKU、商品描述和订单地区等可识别业务信息。
- 用户未确认时,不读取业务行、不计算金额,只返回脱敏提醒和
DATA_SECURITY_GATE = NOT_RUN。 - 用户确认后,只读取本次对话上传的附件;不要扫描本地目录、项目目录或历史会话。
- 不在输出中记录附件临时路径;来源只写 basename、Sheet 或 CSV 源行。
场景路由
- 展示附件角色表,列出 basename、Sheet/CSV、候选平台、期间、币种和数据角色。
- 按表头、字段语义、元信息和样例行判断交易明细、结算明细、退款明细、付款明细或参考汇总;文件名只作辅助。
- 多个附件角色无法唯一判断时,展示候选映射并询问用户,不自动选择第一个文件。
- Amazon Unified Transaction CSV 使用本 Skill 的新版规则;详细字段契约见 references/amazon_csv_schema.md。
- TikTok、沃尔玛、BOL 等平台继续按各自表头、Sheet 和方向契约处理;不要强制要求 Amazon 专属字段。
- 含
period、entity、platform、store、交易币种、报告币种、汇率、方向、生效期和确认状态等字段的附件识别为“口径/汇率候选证据”;m1_context_202601.csv仅是建议 basename,仍按字段语义判断角色。 - 多平台混合前先确认币种、期间、时区和汇率来源;缺汇率不得默认使用 1。
- XLSX 目标单元格含公式时,同时读取公式表达式、可用的已计算值和当前引用输入;有计算值时按计算值核算并独立复算引用关系,不得把
=...公式文本当作金额。没有可用计算值且平台不能重算时记录FORMULA_VALUE_UNAVAILABLE并将受影响控制标记NOT_RUN;计算值与当前引用输入重算不一致时记录FORMULA_VALUE_STALE并标记FAIL。两种情况都保留附件 basename、Sheet 和单元格/源行定位,不得补 0 或把公式解析失败直接误报为业务差异。
正式核算前确认
向用户展示并确认:
- 实际采用的附件角色、Sheet/表头行和来源行范围;
- 平台、店铺、币种、时区、核算期间和期间口径;
- 汇率采用交易日、释放日、月均、期末、固定课程汇率或其他企业口径,以及该口径的来源、生效期和适用平台;
- 标准字段与来源字段映射;
- 金额的原始正负方向以及费用、退款的标准化方向;
- 口径/汇率候选附件中的实体、店铺、交易币种、报告币种、汇率、生效期、状态范围、收入确认依据和
confirmation_status; - Amazon 使用“posted 视图”还是“released 结算视图”;
- 重复行候选、未知交易类型和缺失的条件必需字段。
确认前只输出预检查,不生成正式金额结果。
口径与汇率候选附件
- 候选附件只提供待确认口径,不因位于课程
input/或文件名匹配而自动生效;先把每行与实际平台附件建立唯一映射并展示给用户。 - 最小字段为
period, entity, platform, store, transaction_currency, report_currency, rate_to_report, direction_contract, effective_start, effective_end, released_deferred_scope, recognition_basis, confirmation_status;可保留rate_source说明课程汇率或外部汇率来源。 confirmation_status=REVIEW表示必须在当前会话取得用户确认。除候选数值外,还必须询问用户本次采用交易日、释放日、月均、期末、固定课程汇率或其他企业汇率口径,并在报告中记录exchange_rate_basis、来源、生效期和适用范围。确认前可以验证源币逐行守恒,但折算、跨平台合并和 M6 交接均为NOT_RUN。- 按用户确认的汇率口径选择业务日期和有效汇率,再执行
report_amount = source_amount × rate_to_report;先在源币验证 Amazon 15 分项与total,不得用折算后的相等替代源币行级守恒。 - 只有
transaction_currency = report_currency且该恒等换算口径已确认时,rate_to_report=1才可使用;不得把缺失汇率补成 1。 - 未上传或未确认候选附件时,各平台按其可确认的源币分别输出;不得生成跨币种总额,也不得生成单一报告币种的 M6
TOTAL。
统一状态
机器可读状态只允许 PASS、FAIL、NOT_RUN、REVIEW。页面可显示“通过(PASS)”等中文文案,CSV 中仍保留上述原始状态字符串。未执行不是通过:任一必做控制为 FAIL 或 NOT_RUN 时,受影响的正式结果不得标记 PASS;尚待人工口径决策时用 REVIEW。
Amazon Unified Transaction 处理
识别文件
- 识别新版导出的 9 行元信息,包括报告范围、币种、字段定义和 2025 年后同时包含 Released/Deferred 的提示。
- 通过字段名定位真实表头,不把元信息当数据,也不固定按第几行或第几列读取。
- 新版表头应识别 32 个命名字段、15 个金额分项、来源
total、Transaction Status和Transaction Release Date。 - 字段名匹配可忽略大小写及合理的空格、连字符、下划线差异,但保留原始表头用于审计。
- 标准化后出现重名字段时标记
AMBIGUOUS_COLUMN = FAIL,不得自动覆盖。
解析和保留来源
- 仅在本次运行内部保留每行 32 个来源字段、
source_file、source_row和来源币种;写入 HTML 前必须先按输出白名单投影,原附件全行不得进入报告数据。 - 金额允许符合币种的符号和千分位;先保留原值,再确定性清洗为十进制数。
- 空金额不是 0;空值、非法字符或币种冲突均标记该行
AMOUNT_PARSE = FAIL。 - 先保留 15 个分项的原始签名,不得先取绝对值后猜测业务方向。
- 对每一行验证
total = 15 个签名金额分项之和;Deferred 行也必须验证。 total缺失时,不得用部分金额列伪造来源总额;该行和正式 Amazon 结果标记NOT_RUN。
交易类型和方向
- 先按
type分桶,再结合description和签名金额分类销售、退款、平台费用、调整、清算和资金划转。 Order的销售金额通常为正;Refund的销售冲减通常为负,费用返还通常为正。符号不符时进入SIGN_CONFLICT,不得重复取反。Service Fee、FBA Inventory Fee、Amazon Fees和FBA Transaction fees按描述保留费用子类。Adjustment、Liquidations和 retrocharge 类型单独展示,不得只凭正负号并入销售或退款。Transfer是资金划转,保留用于结算勾稽,不计入经营销售、退款或平台费用。- 未在已确认映射中的
type进入UNMAPPED_TYPE;来源total仍参与来源守恒,但正式业务分类和受影响汇总标记NOT_RUN。
Amazon 15 分项到四项标准金额桥接
- 不得只凭金额列名称直接得出
gross_sales、platform_fees、refunds和net_revenue;必须同时使用来源type、description、签名金额和用户确认口径。 m1_amazon_amount_bridge.csv按“来源行 × 15 分项”保留source_component、source_signed_amount、standard_amount、direction_transform、mapping_target、mapping_basis、confirmation_status和来源定位;来源业务字符串保持原值。mapping_target只允许gross_sales、platform_fees、refunds、excluded_non_operating。排除项必须有经用户确认的业务理由;net_revenue只由四项公式计算,不作为来源分项的直接归类目标。- 每个类型与分项组合均须得到口径确认;未确认的组合为
REVIEW,不得用示例映射代替。 - 必做桥接:
source_total = net_revenue - platform_fees + excluded_non_operating_signed + transfer_signed + bridge_residual(net_revenue已不含平台费,故桥接须单独减去platform_fees)。只有所有行都已确认、转换前后金额守恒且bridge_residual在已确认容差内为 0,才可生成正式四项金额和 M6TOTAL行;否则为FAIL、NOT_RUN或REVIEW。
Released 与 Deferred
Released行进入 released 结算视图,并以可解析的Transaction Release Date归属释放期间。Deferred行进入待释放池,不得计入 released 结算金额;保留其date/time、金额、订单和账龄证据。- posted 视图可按
date/time展示 Released 与 Deferred,但必须分列状态,不得称为已结算结果。 Released缺释放日期、Deferred却带释放日期、状态为空或状态未知时,标记STATUS_DATE_CONFLICT = FAIL,相关期间汇总NOT_RUN。- 不得把空释放日期自动补成
date/time,也不得把 Deferred 自动改成 Released。
重复行
- 不以
order id单独判重;同一订单可能有销售、退款、费用或税费多行。 - 以完整来源字段指纹识别完全重复,以交易时间、结算批次、类型、订单、SKU、描述、金额、状态等识别近似重复。
- 重复候选全部进入异常池并保留来源行,不静默删除,也不自动选择第一行。
- 用户或平台证据确认前,正式汇总标记
NOT_RUN;确认后记录保留行、排除行和理由。 - 跨期附件中 Deferred 后续变为 Released 属于状态迁移候选,不得与完全重复行混为一类;先确认报告快照关系再决定取值。
其他平台处理
- 对 TikTok 等“销售/退款/付款”多 Sheet 结算,先验证 Sheet 角色、关联键、数量×单价、佣金、退款和结算批次付款。
- 对沃尔玛、BOL 或其他平台,按语义映射销售、费用、退款、付款、店铺、SKU、期间和币种。
- 来源采用“费用为正数绝对额”时,展示方向契约并经用户确认后再转为标准字段;不得与 Amazon 签名金额直接混算。
- 平台汇总表或历史结果默认作为参考,不得与原始交易重复入账。
- BOL 等字段示例缺主链期间或汇率时,只完成字段识别,跨平台金额汇总标记
NOT_RUN。
异常与停机边界
- 脱敏未确认:全部业务处理
NOT_RUN。 - 必需字段缺失、字段冲突、金额解析失败或逐行 total 不守恒:该行
FAIL,正式 Amazon 汇总NOT_RUN。 - 条件必需字段缺失:保留可完成的来源检查,受影响的 SKU、批次、期间或税务输出
NOT_RUN。 - 未知类型、方向不清或重复候选未确认:进入异常池,受影响的正式分类和汇总
NOT_RUN。 - 多币种缺少已确认的汇率、生效期、实体或店铺映射:各源币可独立输出,折算、跨币种汇总和 M6 单一币种交接
NOT_RUN,不得默认汇率为 1。 - 数量或单价缺失:乘法校验
NOT_RUN;字段齐全但乘积不等于来源金额时FAIL。 - 付款表没有结算关联键:付款勾稽
NOT_RUN;有关联键但金额不相等时FAIL。 - 汇总表与明细表角色冲突:停止合并并询问用户,不重复入账。
运行能力分级
- 开始时记录平台是否具备附件读取、确定性计算、文件产物返回、代码执行和最终产物可读本地路径;不得把某项能力默认为存在。
- 逐行金额清洗、Amazon 15 分项求和、桥接、分类与汇总必须使用可重复的确定性工具,不得由 Agent 心算多行金额。优先使用平台原生表格、公式或分析能力;若平台提供代码执行,可使用仅限本次附件、运行期、通用且参数显式的轻量计算步骤。它与报告测试入口分属两层,不得扫描目录、依赖固定路径、写入 Skill/项目目录、猜字段、补 0 或硬编码课程答案。
- 平台无确定性计算能力时,仍完成附件角色、字段映射、口径确认、材料缺口和异常定位;所有受影响金额、比率、守恒和交接项记录
DETERMINISTIC_COMPUTE_UNAVAILABLE并标记NOT_RUN,不生成正式金额结果。 - 平台只能读取公式文本或只能读取缓存值时,
FORMULA_VALUE_STALE检测标记NOT_RUN,但不阻断不依赖该单元格的独立检查。
统一交付文件与 CSV 导出
文件产物能力完整时,每次运行只在当前会话中生成并返回 m1_revenue_settlement_report.html,不指定保存目录。CSV 只能作为该 HTML 页内按钮生成的下载,不单独返回 CSV 附件;禁止生成或附加 .xlsx、.xls 或其他 Excel 工作簿。平台的“产物区”可以是附件句柄或返回 API,不要求它必须是可定址文件系统路径。
可生成文件时,即使业务状态为 FAIL 或 NOT_RUN,也生成 HTML 并列明缺口。若平台无文件产物能力,则在对话中返回同等结构的运行摘要、附件映射、异常池、验证状态和能力缺口,记录 FILE_OUTPUT_NOT_SUPPORTED;输出层为 NOT_RUN,但不把已独立执行的业务控制统一改成 FAIL。
- 复制 assets/report-shell.html 作为唯一页面壳,不得临场重写导出脚本。页面壳使用内联 CSS 和内联 JavaScript,HTML 必须使用 UTF-8 并能离线打开;不得依赖 CDN、外部脚本、网络资源、绝对路径或临时路径。
- 先按每个 CSV 的输出白名单投影数据,再将该对象序列化为 UTF-8 JSON 并 Base64 编码,替换页面壳的
__REPORT_DATA_BASE64__。“完整数据”仅指白名单允许输出的数据,不是原附件全字段副本。 - 为减少 WorkBuddy 生成和渲染负担,表格只声明一次
columns;大表使用row_format=array,rows按表头顺序存行数组。兼容旧的对象行,但同一张表不得混用两种行格式。 - 页面标题、按钮、摘要、表头显示名、校验和异常说明尽量使用中文;业务字段键、CSV 稳定表头以及附件中的原始字符串保持原值。
- 业务值只能通过
textContent类安全 DOM 方式渲染,不得用innerHTML。Base64 内嵌数据不得夹带地址、邮编、未脱敏订单标识、绝对路径或不在输出契约内的原始列。 - HTML 中每张结果表都必须提供“导出 CSV(完整数据)”和“预览 CSV(完整文本)”按钮;两者必须调用同一 CSV 构建函数。页面只展示摘要时,该表的白名单完整行级数据仍须内嵌,并可从对应按钮导出或预览。
- CSV 必须从同一份内嵌原始数据生成,不能从带币种符号、千分位或截断文字的页面显示值反向拼接,也不能重新核算。
- CSV 使用 UTF-8 BOM 和稳定表头;逗号、双引号、换行必须正确转义。金额输出为不带币种符号和千分位的十进制数,日期使用
YYYY-MM-DD,空值保持为空,不得补 0。 - 仅对可能被表格软件解释为公式的文本字段做安全转义;真实负数金额仍保持数值。所有明细保留附件 basename、来源 Sheet/CSV、来源行和来源字段。
- 必须提供:
m1_attachment_mapping.csv、m1_receivable_detail.csv、m1_platform_fee_bridge.csv、m1_amazon_amount_bridge.csv、m1_deferred_pool.csv、m1_exception_pool.csv、m1_validation_results.csv、m1_source_lineage_bridge.csv、m1_m6_standard_result.csv。 - HTML 摘要与可导出 CSV 的期间、实体、币种、关键金额、异常数量及
PASS/FAIL/NOT_RUN/REVIEW状态必须来自同一数据对象。任一不一致时记录OUTPUT_CROSSCHECK_FAILED,不得宣称整体PASS。 运行摘要必须记录交付模式、HTML basename、可导出 CSV 清单、输入附件 basename、期间、币种、业务状态和技术验收状态。
运行与报告结构防呆门禁
- 只使用本次会话附件和本 Skill 已有模板。允许按“运行能力分级”调用平台原生计算或运行期轻量代码;不得创建或扩展大型核算工程,也不得在 Skill 包或项目目录写入临时脚本、配置、中间数据或产物。运行期中间状态优先保持在内存或平台隔离区,不持久化附件临时路径。
- 正式 HTML 可通过平台附件 API 直接返回,也可写入平台显式授权的单一产物位置;不要自行推断“工作区根”。严禁写入 Skill 根目录或子目录,否则记录
SKILL_DIRECTORY_POLLUTION。 - 完整模式的正式报告必须从本 Skill 的
assets/report-shell.html复制,并且只替换report-data节点中的唯一占位符;禁止全局替换、临场重写模板、改写导出器或以新脚本替代本门禁。注入后将该节点内容还原为占位符,最终 HTML 必须与原模板逐字一致;存在任何其他差异时记录REPORT_TEMPLATE_INTEGRITY_FAILED,技术报告验收为FAIL。 - 注入前和交付前都须校验数据对象:
title、summary、tables存在;每张表的 CSV 文件名唯一且为无目录、仅含 ASCII 字母/数字/下划线/连字符/句点的.csvbasename,columns非空且 key 唯一,rows为数组。 row_format=array时,每一行必须是数组且值数量严格等于columns数量;row_format=object时,每一行必须是对象,并且必须使用且仅使用全部已声明列 key,不得缺失或新增。空值也必须显式以""或null保留对应位置或 key;同一表不得混用两种格式。- 已生成 HTML 的任一结构校验失败时,记录
REPORT_SCHEMA_INVALID,技术报告状态为FAIL;修正本次内存对象后从模板重新注入并复验,不得把部分页面标为正式交付。本条不禁止在平台根本无文件能力时返回明确标记的沙箱兼容结构化结果。
技术测试与验收
- 若同时具备代码执行、Python 解释器和最终 HTML 的可读本地路径,先在
python3、python、py -3中选择已存在且可运行的命令,不得要求学员安装。用选定命令的-B模式在候选件生成前运行scripts/test_generated_report.py --self-test,生成后运行scripts/test_generated_report.py --report <最终HTML>;例如python3 -B ...、python -B ...或py -3 -B ...。自检使用内存合成报告,不要求可写系统临时目录,也不启动浏览器。 - 代码执行或 Python 不可用时,记录
TEST_NOT_RUN;产物只有附件句柄而无可读路径时,后置测试另记录REPORT_PATH_NOT_ADDRESSABLE。这两种情况的technical_acceptance=NOT_RUN,不得宣称“脚本验收通过”,但不把业务控制改判为FAIL,也不阻断返回明确标记delivery_mode=SANDBOX_COMPATIBLE的附件或结构化结果。 - 命令已能执行但退出非零、结果非
PASS或证据不对应最终文件时记录TEST_FAILED,技术验收为FAIL,不得把候选 HTML 标为正式已验收产物。只有前后测试都通过才可标记delivery_mode=FULL和technical_acceptance=PASS。课程包发布前再用同一解释器的-B模式运行tools/test_skill_reports.py --all,它不替代单 Skill 前后测试。 - 仅在完整验收模式中,将
final_html_readback、report_schema、csv_build、output_crosscheck、privacy_scan、required_controls_recorded六项写入顶层acceptance_tests;六项必须全部为PASS,且必须与共用测试入口的独立结果一致,禁止仅凭载荷内自报字段判定通过。业务控制可因真实材料问题保留FAIL/NOT_RUN/REVIEW,测试代码不得将其改判为PASS。
生成 HTML 时,交付该 HTML 前必须通过报告注入门槛:正式报告不得由模板直接改名交付;report-data 节点必须非空且不再是 __REPORT_DATA_BASE64__。读取最终 HTML 后先执行模板完整性对比,再执行“Base64 解码 → UTF-8 解码 → JSON 解析”,确认 title、summary、tables 存在,且每张表都有 columns、rows 和约定 CSV 文件名;随后逐表执行上述 row_format、列 key、文件名、行列数量和 CSV 构建预检。任一步失败必须停止 HTML 交付并重新生成,禁止仅凭自报的 acceptance_tests 判定通过;无文件能力时按沙箱兼容结构化结果规则处理。
输出内容
以下内容在 HTML 中给出可读结论,并通过对应按钮导出完整 CSV:
- 数据安全门禁与附件角色表。
- 字段映射与口径确认表。
- 标准应收明细:期间、实体、币种、平台、店铺、SKU、四项金额、状态、审计状态和来源定位。
- Amazon 15 分项与
total守恒表、Released 明细和 Deferred 待释放池。 - Amazon 平台费桥接表:SKU 费用、无 SKU 费用、其他已确认费用调整、完整平台费和差异;每项保留来源类型与源行。
- 平台×店铺×SKU×月份汇总;posted 与 released 视图分开。存在无 SKU 费用时,SKU 表必须标明“非完整平台费视图”。
- 异常池:异常类型、来源行、原值、影响、处理状态和证据。
- 验证表固定 6 列:
control(控制项)、status(状态)、left(左值)、right(右值)、diff(差异)、evidence(证据)。六列缺一不可;无内容也必须显式以空值占位。
M1 到 M6 标准交接
m1_m6_standard_result.csv 是 M6 可接收的唯一 M1 结果数据集,固定字段为:
record_type, handoff_key, period, entity, currency, gross_sales, platform_fees, refunds, net_revenue, audit_status, result_dataset, result_row, source_bridge_dataset, lineage_status, dimension_grain, dimension_key, privacy_status, released_deferred_scope, recognition_basis
- 每个
period + entity + currency必须且只能有一行record_type=TOTAL,handoff_key必须恰为规范化的period|entity|currency,不得追加TOTAL或任何维度。四项金额和所有必做门禁都通过后该行才可为PASS。 - 可选
DIMENSION行用于平台、店铺、SKU 拆解,并保留其所属TOTAL完全相同的handoff_key;另以dimension_grain + dimension_key在该handoff_key下唯一定位,禁止把维度值拼入handoff_key。完整维度字段仍在m1_receivable_detail.csv中;不得用维度行代替或重复累加TOTAL,M6 默认只消费TOTAL。 result_dataset固定为m1_m6_standard_result.csv;result_row是不含表头、从 1 开始的稳定数据行号。source_bridge_dataset固定为m1_source_lineage_bridge.csv,最小字段为bridge_line_key, handoff_key, standard_amount_field, standard_amount, source_file, source_sheet, source_row, source_field, source_signed_amount, source_currency, rate_to_report, report_currency, rate_source_file, rate_source_sheet, rate_source_row, rate_source_field, effective_start, effective_end, direction_transform, mapping_basis, source_status, scope_inclusion, lineage_status;bridge_line_key在文件内唯一,CSV 来源的source_sheet固定写CSV。standard_amount_field只允许四项标准字段;source_signed_amount保留来源正负号,standard_amount是按该标准字段口径折算后的可求和金额,转换规则写入direction_transform。- 每条桥接行都必须披露源币、报告币、实际采用汇率及其附件级来源定位和生效期。
source_status记录 Released、Deferred、结算状态或等价来源状态;scope_inclusion明确INCLUDED或EXCLUDED_CONTROL。同币种恒等换算也必须引用已确认的口径证据,不得把缺失汇率静默补为 1。 - 来源桥接行一律使用所属
TOTAL的handoff_key。按handoff_key + standard_amount_field汇总standard_amount,必须分别等于该TOTAL的gross_sales、platform_fees、refunds、net_revenue;其中前三项按标准披露方向为正,net_revenue贡献按“销售为正、退款为负”生成(平台费不进入net_revenue贡献),并注明公式转换,不得把它作为 Amazon 分项的直接mapping_target。排除或勾稽证据仅以standard_amount=0且scope_inclusion=EXCLUDED_CONTROL出现。任一项不可反向求和、桥接键重复、汇率来源不完整或状态范围不明时lineage_status不得为PASS。 privacy_status只允许OUTPUT_WHITELIST_ONLY。白名单允许 basename、Sheet/CSV、来源行、来源字段名、平台、店铺、SKU、期间、实体、币种、标准金额、状态和必要的脱敏异常说明;不允许地址、邮编、订单号、绝对路径和原附件全行。released_deferred_scope必须明示本行为RELEASED_ONLY、POSTED_CONFIRMED或其他已确认口径;recognition_basis用中文记录确认的收入确认依据,不得把 Deferred 默认当作已结算。- 多平台存在不同交易币种时,只有全部纳入平台都已按有效且确认的
rate_to_report折算到同一report_currency,才可为该period + entity + report_currency生成一行TOTAL;不得同时把源币行和折算行累加到该TOTAL。 TOTAL唯一性、四项公式、来源桥接和 Amazon 残差任一为FAIL、NOT_RUN或REVIEW时,M6 交接状态不得为PASS。
必做验证
- 行级守恒:来源业务行 = 已处理行 + 异常行;不得把 Deferred、Transfer 或未知类型记作丢失。
- Amazon 逐行守恒:15 个签名金额分项之和 = 来源
total。 - 状态守恒:来源行 = Released 行 + Deferred 行 + 状态异常行。
- M1 金额守恒:
net_revenue = gross_sales - refunds;platform_fees单独披露、不进入net_revenue,由 M6 在利润链中单列扣减。 - 来源桥接:Amazon 非 Transfer 的来源
total与已分类经营项目、调整项目及未分类项目逐项对账。 - 平台费桥接:
完整 platform_fees = SKU 费用净额 + 无 SKU 费用净额 + 其他已确认费用调整。三部分都按来源签名先求净额,再转换为正数披露;差异不为 0 时记录INTERNAL_CROSSCHECK_FAILED,正式扣费率与platform_fees结论NOT_RUN,受影响的 M6 交接NOT_RUN。 - SKU 完整性:无 SKU 的
Service Fee、FBA Inventory Fee、Amazon Fees、FBA Transaction fees等已确认费用必须进入完整平台费,但不得伪造 SKU;不得用 SKU 汇总代替完整平台费。 - 乘法校验:来源具备数量和单价时,验证销售与退款金额。
- 付款勾稽:同一结算批次付款金额与可释放结算金额核对。
- 退款率=
refunds/gross_sales,扣费率=platform_fees/gross_sales;分母为 0 时NOT_RUN。 - 汇率验证:平台源币金额 × 已确认且在生效期内的汇率 = 报告币种金额;保留源币金额、汇率和报告币种金额三者。
- 多平台汇总等于各平台折算结果之和,且实体、报告币种、期间及确认口径一致;源币明细不与折算结果重复累加。
- 所有数字可追溯到附件 basename、Sheet/CSV 源行和来源字段。
只有控制项已经实际运行、证据完整且差异在确认容差内时才标记 PASS。已运行但不满足规则标记 FAIL;因缺字段、缺口径、缺关联键或安全门禁未执行而无法运行时标记 NOT_RUN。