聚胜算每日账单导出(头条放心购 / 京东日账单)
把聚胜算「经营中心 → 平台原始账单[新]」的账单定时导出并导入财务系统(浏览器自动化 + 受控导入)。
平台
-Platform |
胜算页签 |
导入命令 |
财务系统落点 |
toutiao |
头条放心购 → 资金流水 |
business-mirror:import-douyin-authoritative |
账单流水数据 › 店铺收款账户账单 › 抖音账户 |
jd |
京东商城 → 京东日账单 |
business-mirror:import-jd-daily |
京东账单 + 京喜账单(一次导入按店铺名拆两边,两边合计恒等于导出行数) |
用法
# 两个平台都跑:区间「月初 → 昨日」
pwsh -File scripts\erp-daily-bills\run-erp-daily.ps1
# 只跑京东,补历史月份
pwsh -File scripts\erp-daily-bills\run-erp-daily.ps1 -Platform jd -Through 2026-07-31
# 只导出不导入(排查)
pwsh -File scripts\erp-daily-bills\run-erp-daily.ps1 -Platform toutiao -Through 2026-10-05 -SkipImport
- 归期:
--through(默认昨日)所在月份;每月 1 日自动导出上一个整月。
- 无差异跳过:该平台该月已导入且笔数/收入/支出完全一致时跳过导入(
-ForceImport 可强制重刷);状态记在 runtime/private/erp-exports/imported-state.json。
- 超过胜算同步导出上限(响应
超出同步导出允许最大数据量)时,脚本自动轮询「异步导出下载管理」取回本次任务的全部分片,逐片转 CSV 后合并成一份再导入;仍可用 -Start/-Through 分段导出。
- 导入前用页面笔数(共 N 条)与导出行数核对,不一致就跳过导入(
-ForceImport 可强制),避免只导入一部分。
- 稳定性:导出失败自动重试一次(胜算页面偶发日历面板/授权弹窗异常);上传与"导入+回验"失败自动重试 3 次(含重新上传 CSV),用于吸收服务器 SSH 偶发断连。
- 失败即失败:导出/转 CSV/笔数核对/上传/导入回验任一步失败,都会不写本地状态、不归档,并在结束时以退出码 1 结束(下次运行会重新导入),不会把失败当成功记入
imported-state.json。
组成
| 文件 |
作用 |
run-erp-daily.ps1 |
统一入口:导出 → 转 CSV → 差异判断 → 上传 → 受控导入 → 页面回验 → 归档 → 日志 |
export-daily.mjs |
浏览器自动化导出(登录、切页签、设日期、查询、导出、取下载直链) |
erp-session.mjs |
胜算登录与会话工具(凭据读 runtime/private/敏感信息.md,可用 ERP_SECRET_FILE 覆盖) |
cdp.mjs |
无依赖的 Edge DevTools Protocol 驱动 |
xlsx-to-csv.py |
导出文件(xlsx)转 UTF-8 CSV,并输出笔数/收入/支出核对数 |
说明
- 导入走财务系统既有受控导入命令(带笔数/收支核对、原子切换、保留旧版本可回滚),不改上游数据。
- 凭据、导出文件、日志都写
runtime/private/(.gitignore 忽略),不进仓库。
- 定时:Windows 计划任务每天 09:30 调
run-erp-daily.ps1(京东取昨日;头条取月初→昨日)。