Language · 语言 🇨🇳 中文 · 🇬🇧 English
IT Audit · Data Analytics · ERP Data Matching
专注于四大IT审计需求的自动化工具构建的机车佬:从 SAP ECC & S/4HANA/ 用友U8 / OMS / DMS / 金蝶 等多源系统提取数据,构建采购、销售三单匹配、业财核对、经营数据分析、JETesting 等对账流程,输出可复核、可追溯的差异分析结果。
A motorcycle rider building automation tools for Big-4 IT audit: extracting data from SAP ECC & S/4HANA, Yonyou U8, OMS / DMS, Kingdee and more, and building reconciliation pipelines for purchase & sales three-way matching, business-finance reconciliation, operating-data analysis and JE testing — delivering reviewable, traceable variance analysis.
[关于我](#zh-about) · [个人笔记](#zh-notebook) · [项目矩阵](#zh-projects) · [核心方法论](#zh-methodology) · [参考文档](#zh-references)
- 四大IT审计背景(DTT2year、KPMG2year),现专注审计数据分析与自动化工具建设 Big-4 IT audit background (2 yrs DTT, 2 yrs KPMG), now focused on audit data analytics and automation tooling.
- 把审计逻辑沉淀为可复用的数据工具,覆盖采购 / 销售三单匹配、SAP 取数、多源对账 Turning audit logic into reusable data tools — purchase / sales three-way matching, SAP data extraction, multi-source reconciliation.
收录于 gvmeakiss-notebook 仓库内的四个独立项目。
| 项目 | 位置 | 说明 |
|---|---|---|
| ✂️ screenshot-text-edit(AI Skill) | skills/screenshot-text-edit | 截图文字/数字高保真修改(字形克隆法,保真度远高于字体重绘),含 CLI 脚本与 macOS Vision OCR |
| 📡 shadowrocket(配置 · Config) | shadowrocket | Shadowrocket 通用分流配置:国内外分流 / 去广告 / 长连接优化 |
| 📊 audit-kanban(演示应用 · Demo) | audit-kanban | 离线「稽核工作进度看板」演示应用:同事填报 → 专人汇总 → 经理看板(纯前端,脱敏,含虚构演示数据) |
| 📐 mini-app-spec(技术规范 · Spec) | mini-app-spec | 企业级「AI Agent 驱动轻应用平台」技术规范(脱敏方法论版):静态导出 + BFF 中介 + SQL 预定义 + 原子替换部署,含 Agent 开发约定 |
本主页仅用于技术交流,分享**无收益分成(no-revenue-sharing)**的通用代码处理逻辑。所有公开内容已依据下列法律法规进行脱敏处理:
- 《中华人民共和国个人信息保护法》第五十一条、第七十三条 — 对涉及的个人信息采取 去标识化(de-identification) 处理(删除直接标识符,使信息在不借助额外信息时无法识别特定自然人),并尽量达到 匿名化 标准;
- 《中华人民共和国数据安全法》第二十一条、第二十七条 — 对数据实行 分类分级保护,并针对公开内容采取相应的技术保护措施,保障数据安全;
- 《中华人民共和国反不正当竞争法》第九条 — 对原项目中的 商业秘密(客户名称、法律实体、内部标识、经营数据等)予以剔除与脱敏,避免不当披露。
脱敏范围:客户名称、法律实体、内部标识/代号、真实地址、支付与账户信息、订单/商品编码、财务数据及任何客户底稿(xlsx / sql / zip 等)。任何财务数据与客户工作底稿均不在本主页及其仓库中存储或上传。
All content shared here is for technical exchange only, on a no-revenue-sharing basis, and has been desensitized in accordance with the PIPL (de-identification / anonymization), the Data Security Law (classification, graded protection & technical safeguards), and the Anti-Unfair-Competition Law (trade-secret protection). No financial data or client working papers are stored or uploaded.
29 个公开仓库,按能力域分组;★ 为核心可复用工具(建议先看),「类型」标注其适用边界(通用底座 / 具体客户项目)。 29 public repos grouped by capability; ★ marks core reusable tools (start here). The 类型 column marks the scope: generic foundation vs. client-specific project.
| 仓库 | 说明 | 类型 | 技术 |
|---|---|---|---|
| ★ sap-abap-data-extraction | SAP ABAP 取数 KAAP 配置与操作手册(FI / MM / SD),分模块取数范围与审计场景映射(三单匹配 / 序时账-余额核对) | 通用 | ABAP · XML · PDF |
| kpmg-da-skills | 8 个可移植 Codex 审计数据分析技能(含 workbench 路由、DA routine 底稿生成、配套模板与参考底稿) | 通用 | Skills · Codex |
| purchase-three-match-configurable | 可配置通用数据匹配工具包(SQL 解析 / 缓存 / 匹配键 / 分类驱动) | 通用 | Python · Pandas |
| ★ sales-oms-dms-match | OMS / DMS 双源销售三单匹配(5 类差异,多销售组织分组导出) | 通用 | Python |
| u8-inventory-valuation | U8 存货发出计价审计复核(CAATS / ITA 职责分离双工作簿) | 通用 | Excel · U8 |
sap-abap-data-extraction 是执行三单匹配与序时账核对的基础。按 FI / MM / SD 三个模块配置 KAAP 取数脚本,分别支撑财务核算、采购与销售三单匹配。
| 仓库 | 说明 | 类型 | 技术 |
|---|---|---|---|
| 📒 FI — 财务取数 | 抽序时账(BKPF + BSEG)与余额表(FAGLFLEXT / GLT0)、次要索引、科目主数据,支撑序时账-课余表勾稽(含 SAP 标准表参考) | 通用 | ABAP · XML |
| 📦 MM — 采购取数 | 抽订单 / 采购历史(EKBE 枢纽)/ 收货 / 发票,支撑采购三单匹配(含 SAP 标准表参考) | 通用 | ABAP · XML |
| 🚚 SD — 销售取数 | 抽订单 / 交货 / 开票 / 凭证流(VBFA),支撑销售三单匹配(含 SAP 标准表参考) | 通用 | ABAP · XML |
通用三单匹配逻辑:采购订单(PO)× 收货(GR)× 发票(IR)三方核对,按
(EBELN, EBELP)关联,输出四大类十三子类差异分析与可复核审计底稿。下列为核心可复用工具包;客户专属落地版见折叠。
| 仓库 | 说明 | 类型 | 技术 |
|---|---|---|---|
| ★ purchase-three-match-configurable | 可配置通用数据匹配引擎(SQL 解析 / 缓存 / 匹配键 / 差异分类 / Excel 导出,配置驱动) | 通用 | Python · Pandas |
| purchase-three-match-toolkit | SAP MM 采购三单匹配(四大类十三子类差异分析,KPMG 格式 TXT) | 通用 | Python · Pandas |
| purchase-three-match-final | 采购三单匹配整合版(四大类13子类,SAP ECC/S4) | 通用 | Python |
客户落地实现(客户N / 客户Q / 客户M 专属,逻辑同核心工具包)
- purchase-three-match-newhope — 客户N 采购三单匹配落地版(含 SAP 取数配套文档)
- purchase-three-match-aqpp — 客户Q 2026 三单匹配归档索引(订单 / 发运 / 发票,客户Q-01~24)
- miaoke-purchase-2026 — 客户M 2026H1 采购三单匹配(订单行粒度全外连接 + 客户Q 24 组)
通用三单匹配逻辑:销售订单 × 交货单 × 发票三方核对,覆盖 SAP SD(
(VKORG, VBELN, POSNR)/AUBEL,AUPOS)与 OMS / DMS 双源,输出 13 场景 / 5 类差异。下列为核心可复用工具包;客户专属落地版见折叠。
| 仓库 | 说明 | 类型 | 技术 |
|---|---|---|---|
| ★ sap-sd-three-match | SAP SD 销售三单匹配(13 场景,按公司批量并行,关联键回退 + 借贷正负) | 通用 | Python · SAP |
| sales-three-match-toolkit | SAP SD 销售三单匹配(大表 30GB+ 优化 / 负开票冲账 / Untested 四表) | 通用 | Python · Pandas |
| ★ sales-oms-dms-match | OMS / DMS 双源销售三单匹配(5 类差异,多销售组织分组导出) | 通用 | Python |
客户落地实现(客户N / 客户M 专属,逻辑同核心工具包)
- sales-three-match-newhope — 客户N 销售三单匹配实施版(含使用示例与排错)
- sales-three-match-newhope-2026 — 客户N 2026 销售三单匹配(客户Q 无交货金额 24 子组)
- sales-three-match-miaoke-2026 — 客户M 2026H1 销售三单匹配(OMS / DMS 双渠道 客户Q-01~24)
- miaoke-sales-to-b-2025 — 客户M 2025 全年 ToB 销售三单匹配(FY25 五分类)
- miaoke-sales-to-b-2026 — 客户M 2026H1 ToB 销售三单匹配(冲销前置 / PBC 拆分 / 单测)
- miaoke-sales-to-c — 客户M ToC 四段 pairwise 对账(某电商平台 → 某订单中台 → OMS → SAP)
| 仓库 | 说明 | 类型 | 技术 |
|---|---|---|---|
| sap-fi-2026h1 | SAP FI 2026H1 序时账 JE 测试(Journal Entry Testing):ACDOCA / BKPF / FAGLFLEXT 抽取、过账勾稽与异常凭证筛查 | 通用 | Python · SAP |
| CRRC_DT | CRRC 多公司 JE 会计分录测试:序时账合并 + 期初/发生额/期末余额勾稽(基于 ACDOCA / BKPF / BSEG) | 通用 | Python · SAP |
| CRRC_XC | CRRC 材料板块多公司 JE 测试:序时账合并 + 余额交叉验证(基于 BKPF / BSEG) | 通用 | Python · SAP |
| je-high-risk-screening | SAP JE 高风险分类筛查(HRC1/HRC2/HRC3 通用规则,序时账异常凭证识别) | 通用 | SQL · Python |
| sap-je-toolkit | SAP 多公司 JE 测试工具箱:序时账合并 + 期初/发生额/期末余额勾稽 + 交叉验证 | 通用 | Python · SAP |
工具类仓库按「一个仓库 = 一组相关工具」组织;下表按子工具 / SQL 模板逐条拆分,并链接至具体文件,便于检索与复用。
| 工具 | 说明 | 类型 | 技术 |
|---|---|---|---|
| data_merge · 数据合并 | MM 多源数据自动合并(订单 / 收货 / 发票) | 通用 | Python |
| data_quality · 列校验 | 列结构一致性校验(缺失 / 错位 / 类型) | 通用 | Python |
| data_quality · 质量检查 | 空值 / 重复 / 范围等数据质量规则检查 | 通用 | Python |
| diagnostics · 匹配诊断 | 三单匹配为零归因诊断(定位断点) | 通用 | Python |
| 工具 | 说明 | 类型 | 技术 |
|---|---|---|---|
| Excel 合并(脚本) | 多工作簿 / 工作表批量合并 | 通用 | Python |
| Excel 合并(Notebook) | 交互式 Excel 合并示例 | 通用 | Jupyter |
| 模拟数据生成 | 生成脱敏模拟数据集,用于工具自测 | 通用 | Jupyter |
| 项目编码提取 | 从文本 / 文档提取结构化项目编码 | 通用 | Jupyter |
| 网页爬虫 | 通用网页数据采集模板 | 通用 | Jupyter |
| 工具 | 说明 | 类型 | 技术 |
|---|---|---|---|
| 销售订单匹配 | 销售订单 ↔ 收入勾稽、退货冲红、外币折算 | 通用 | SQL |
| 物料追溯 | BOM 产出 ↔ 组件消耗勾稽、重复值检测 | 通用 | SQL |
| 出库单分析 | 交付 / 退货 / 刷单 / 渠道集中度分析 | 通用 | SQL |
| 佣金 CAATS | 成交金额 × 佣金率 vs 账面重算 | 通用 | SQL |
| 利息预提 JAT | 应付利息应计重算(JAT) | 通用 | SQL |
| 会员对账 | 多支付渠道流水合并对账 | 通用 | SQL |
| 会员权责 | 会员递延收益按天摊销(Hive) | 通用 | SQL |
| 工具 | 说明 | 类型 | 技术 |
|---|---|---|---|
| 余额交叉验证 | 期初 + 凭证净额 − 期末 = 0 的批量勾稽 | 通用 | Python |
| 工具 | 说明 | 类型 | 技术 |
|---|---|---|---|
| 凭证模拟生成 | 生成脱敏模拟序时账(journal entries)用于自测 | 通用 | Python |
| 余额模拟生成 | 生成脱敏模拟科目余额表 | 通用 | Python |
| 数据完整性校验 | 勾稽规则校验(期初+发生额−期末=0 等) | 通用 | Python |
| Excel 合并 | 多工作簿批量合并 | 通用 | Python |
| 预处理 | 通用数据清洗与标准化 | 通用 | Python |
| SQL→表 | SQL 查询结果转结构化表 | 通用 | Python |
| 工具 | 说明 | 类型 | 技术 |
|---|---|---|---|
| 订单分析 | 某电商平台订单多维分析(GMV / 复购 / 客单价) | 通用 | Python · Pandas |
- 三单匹配(Three-Way Matching):采购订单 / 收货单 / 发票 三方核对,定位差异并分类 Three-way matching: cross-check purchase order / goods receipt / invoice; locate and classify variances.
- 多源数据对账:OMS / DMS / SAP 系统间数据一致性校验 Multi-source reconciliation: consistency checks across OMS / DMS / SAP.
- 可复核输出:每个结论附带口径说明、源数据逻辑与运行记录,支撑审计留痕 Reviewable output: every result ships with its basis, source-data logic and run records for audit trail.
项目逻辑(三单匹配 / 序时账-余额核对 / 多源对账)依赖各 ERP 系统的标准数据结构与接口规范,以下为各厂商官方说明文档,作为数据口径与字段映射的权威依据。 The reconciliation logic relies on each ERP's standard data structures and interfaces. Official vendor docs below serve as the authoritative basis for data scoping and field mapping.
- SAP Help Portal — SAP 官方帮助门户,覆盖 ECC / S/4HANA 全模块文档
- SAP ERP (ECC) 文档 — MM / SD / FI 模块标准配置与底表结构
- SAP S/4HANA 文档 — S/4HANA 总账(ACDOCA)与凭证架构
- ABAP 关键字文档 / 数据字典 — 标准底表(BKPF / BSEG / EKPO / VBAK …)字段与域定义
- 用友开发者中心 — U8 / U9 / NC 开放接口与开发文档
- 用友 U8 产品与文档 — U8 存货 / 供应链 / 财务模块说明
[About](#en-about) · [Notebook](#en-notebook) · [Projects](#en-projects) · [Methodology](#en-methodology) · [References](#en-references)
- Big-4 IT audit background (2 yrs DTT, 2 yrs KPMG); now focused on audit data analytics and automation tooling
- Turning audit logic into reusable data tools — purchase / sales three-way matching, SAP data extraction, multi-source reconciliation
Four standalone projects under one repo: gvmeakiss-notebook.
| Project | Location | Description |
|---|---|---|
| ✂️ screenshot-text-edit (AI Skill) | skills/screenshot-text-edit | High-fidelity text/digit editing inside screenshots (glyph-cloning, far more faithful than font redraw); CLI scripts + macOS Vision OCR |
| 📡 shadowrocket (Config) | shadowrocket | Shadowrocket general-purpose routing rules (CN/global split, ad-block, long-connection tuning) |
| 📊 audit-kanban (Demo app) | audit-kanban | Offline audit work-progress kanban demo: member updates → consolidator merge → manager board (pure front-end, desensitized, fabricated demo data) |
| 📐 mini-app-spec (Tech spec) | mini-app-spec | Enterprise "AI-Agent-driven light-app platform" technical spec (desensitized methodology edition): static export + BFF mediation + predefined SQL + atomic-swap deployment, with Agent dev conventions |
Content shared here is for technical exchange only, on a no-revenue-sharing basis, and has been desensitized in accordance with:
- PIPL (Art. 51, 73) — personal information is de-identified (direct identifiers removed so individuals cannot be identified without additional info) and, where possible, anonymized;
- Data Security Law (Art. 21, 27) — data is subject to classification & graded protection, with technical safeguards applied to public content;
- Anti-Unfair-Competition Law (Art. 9) — trade secrets from original engagements (client names, legal entities, internal identifiers, operating data, etc.) are removed or desensitized.
Desensitization scope: client names, legal entities, internal codes, real addresses, payment/account info, order/product codes, financial data and any client workpapers (xlsx / sql / zip, etc.). No financial data or client working papers are stored or uploaded on this profile or in its repos.
29 public repos grouped by capability; ★ marks core reusable tools (start here). The scope column marks generic foundation vs. client-specific projects.
| Repo | Description | Scope | Tech |
|---|---|---|---|
| ★ sap-abap-data-extraction | SAP ABAP data-extraction (KAAP) config & runbook for FI / MM / SD — scoping and audit-scenario mapping (three-way match / journal-ledger reconciliation) | Generic | ABAP · XML · PDF |
| kpmg-da-skills | 8 portable Codex audit-data-analytics skills (incl. workbench router, DA-routine workpaper generation, bundled template & reference) | Generic | Skills · Codex |
| purchase-three-match-configurable | Configurable generic matching toolkit (SQL parsing / caching / match keys / classification-driven) | Generic | Python · Pandas |
| ★ sales-oms-dms-match | OMS / DMS dual-source sales three-way match (5 variance classes, grouped export by sales org) | Generic | Python |
| u8-inventory-valuation | U8 inventory issue-valuation audit review (CAATS / ITA segregated dual workbooks) | Generic | Excel · U8 |
sap-abap-data-extractionis the foundation for three-way matching and journal-ledger checks. KAAP extraction scripts are configured per module — FI / MM / SD — to support financial accounting, purchase and sales matching.
| Repo | Description | Scope | Tech |
|---|---|---|---|
| 📒 FI — Financial | Journals (BKPF + BSEG) and balances (FAGLFLEXT / GLT0), secondary indexes, account masters — supports journal-ledger reconciliation | Generic | ABAP · XML |
| 📦 MM — Procurement | Orders / purchase history (EKBE hub) / goods receipts / invoices — supports purchase three-way match | Generic | ABAP · XML |
| 🚚 SD — Sales | Orders / deliveries / billing / document flow (VBFA) — supports sales three-way match | Generic | ABAP · XML |
Purchase order (PO) × goods receipt (GR) × invoice (IR), joined on
(EBELN, EBELP), producing 4 major / 13 sub variance classes with reviewable audit workpapers. Core reusable toolkits below; client-specific deployments are folded.
| Repo | Description | Scope | Tech |
|---|---|---|---|
| ★ purchase-three-match-configurable | Configurable generic matching engine (SQL parsing / caching / match keys / classification / Excel export) | Generic | Python · Pandas |
| purchase-three-match-toolkit | SAP MM purchase three-way match (4/13 variance classes, KPMG-format TXT) | Generic | Python · Pandas |
| purchase-three-match-final | Integrated purchase three-way match (4/13 classes, SAP ECC/S4) | Generic | Python |
Client deployments (Client N / Q / M specific; same logic as core toolkit)
- purchase-three-match-newhope — Client N purchase three-way match (with SAP extraction docs)
- purchase-three-match-aqpp — Client Q 2026 matching archive index (order / delivery / invoice, AQPP-01~24)
- miaoke-purchase-2026 — Client M 2026H1 purchase three-way match (line-level full outer join + AQPP 24 groups)
Sales order × delivery × invoice, covering SAP SD (
(VKORG, VBELN, POSNR)/AUBEL, AUPOS) and OMS / DMS dual sources — 13 scenarios / 5 variance classes. Core reusable toolkits below; client-specific deployments are folded.
| Repo | Description | Scope | Tech |
|---|---|---|---|
| ★ sap-sd-three-match | SAP SD sales three-way match (13 scenarios, parallel by company, key fallback + debit/credit signs) | Generic | Python · SAP |
| sales-three-match-toolkit | SAP SD sales three-way match (30GB+ big-table optimization / credit-memo offset / Untested 4-table) | Generic | Python · Pandas |
| ★ sales-oms-dms-match | OMS / DMS dual-source sales three-way match (5 variance classes, grouped export by sales org) | Generic | Python |
Client deployments (Client N / M specific; same logic as core toolkit)
- sales-three-match-newhope — Client N sales three-way match (with examples & troubleshooting)
- sales-three-match-newhope-2026 — Client N 2026 sales three-way match (AQPP 24 sub-groups)
- sales-three-match-miaoke-2026 — Client M 2026H1 sales three-way match (OMS / DMS dual channel, AQPP-01~24)
- miaoke-sales-to-b-2025 — Client M FY2025 full-year ToB sales three-way match (5 classes)
- miaoke-sales-to-b-2026 — Client M 2026H1 ToB sales three-way match (cancellation pre-processing / PBC split / unit tests)
- miaoke-sales-to-c — Client M ToC 4-segment pairwise reconciliation (e-commerce platform → order hub → OMS → SAP)
| Repo | Description | Scope | Tech |
|---|---|---|---|
| sap-fi-2026h1 | SAP FI 2026H1 journal entry testing: ACDOCA / BKPF / FAGLFLEXT extraction, posting reconciliation & anomaly screening | Generic | Python · SAP |
| CRRC_DT | CRRC multi-company JE test: journal consolidation + opening/activity/closing balance check (ACDOCA / BKPF / BSEG) | Generic | Python · SAP |
| CRRC_XC | CRRC materials segment multi-company JE test: journal consolidation + balance cross-validation (BKPF / BSEG) | Generic | Python · SAP |
| je-high-risk-screening | SAP JE high-risk classification screening (HRC1/2/3 generic rules, anomalous-journal detection) | Generic | SQL · Python |
| sap-je-toolkit | SAP multi-company JE toolkit: journal consolidation + opening/activity/closing balance check + cross-validation | Generic | Python · SAP |
Utility repos are organized as "one repo = one family of tools". The Chinese section above breaks these into per-tool / per-SQL-template tables with direct links; the table below lists each repo with its highlights.
| Repo | Highlights | Scope | Tech |
|---|---|---|---|
| test-tools | SAP MM matching diagnostics & data quality — multi-source merge, column checks, quality rules, why-match-was-zero diagnosis | Generic | Python |
| dtt-python-tools | Generic Python utilities — Excel merge, mock-data generation, project-code extraction, web crawler | Generic | Python · Jupyter |
| dtt-caats-sql | Generic CAATS / reconciliation SQL templates — sales-order match, material trace, outbound analysis, commission CAATS, interest JAT, member recon/rights | Generic | SQL |
| dylan-tool | Generic closing-balance cross-validation (opening + net postings − closing = 0) | Generic | Python |
| audit-data-utilities | Generic audit data utilities — mock journal/balance generators, integrity validator, Excel merge, preprocess, SQL→table | Generic | Python |
| ecommerce-order-analytics | E-commerce order multi-dimensional analytics (GMV / repurchase / AOV) | Generic | Python · Pandas |
- Three-Way Matching: cross-check purchase order / goods receipt / invoice; locate and classify variances
- Multi-source Reconciliation: consistency checks across OMS / DMS / SAP
- Reviewable Output: every result ships with its basis, source-data logic and run records for audit trail
The reconciliation logic relies on each ERP's standard data structures and interfaces. Official vendor docs below serve as the authoritative basis for data scoping and field mapping.
- SAP Help Portal — official help portal covering all ECC / S/4HANA modules
- SAP ERP (ECC) Docs — standard configuration and table structures for MM / SD / FI
- SAP S/4HANA Docs — S/4HANA general ledger (ACDOCA) and document architecture
- ABAP Keyword / Data Dictionary — fields & domains of standard tables (BKPF / BSEG / EKPO / VBAK …)
- Yonyou Developer Center — open APIs & dev docs for U8 / U9 / NC
- Yonyou U8 Product & Docs — U8 inventory / supply chain / finance module guides
- Kingdee Open Platform — Kingdee Cloud·Cosmic / K/3 open APIs & integration specs
- Kingdee Developer Community — Cosmic PaaS development docs & data models
- Kingdee Official Site — product & module overview
⬆ Top · 顶部 | 🇨🇳 中文 · 🇬🇧 English
Disclaimer: Personal projects and personal views. Not affiliated with or endorsed by any former employer (DTT / KPMG) or client.
本页内容为个人项目与个人观点,与任何前雇主(DTT / KPMG)及客户无关。