From 8126d56135527ec772ffa47f3a32275ed1310f8c Mon Sep 17 00:00:00 2001 From: Michael Ivertowski Date: Sat, 9 May 2026 08:55:58 +0200 Subject: [PATCH 1/2] chore(hf): bake audit-p2p + supply-chain-ocel regen recipes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VynFi HF dataset fleet refresh, v5.9.0: - configs/examples/hf/audit_p2p.yaml (NEW) — reproducible recipe for the 234-document P2P/O2C corpus published as `VynFi/vynfi-audit-p2p`. 10 entities × 6 months × manufacturing, 3 % document-level fraud, predecessor_line_id chain context, and the v5.9.0 master-pool linkages on cost-centre / profit-centre / employees so document references join the JE-side master tables. - configs/examples/hf/supply_chain_ocel.yaml (NEW) — reproducible recipe for the 30 k-event / 7.4 k-object native OCEL 2.0 dataset published as `VynFi/vynfi-supply-chain-ocel`. ~50 % bigger than the v0.x release (was 20 k events) for serious process-mining usability, while keeping per-company JE volume at `ten_k` to bound the in-memory orchestrator footprint. - scripts/hf_audit_p2p_to_parquet.py (NEW) — converts the document-flow JSON files to the HF subdir-per-config layout (purchase_orders/, goods_receipts/, vendor_invoices/, payments/). - scripts/hf_supply_chain_ocel_to_parquet.py (NEW) — converts the process-mining JSON outputs to the HF subdir-per-config layout (events/, objects/, anomaly_labels/, document_events/). The existing `journal_entries_1m.yaml` + `hf_to_parquet.py` remain the canonical recipe for the 1 M-line JE dataset. Companion to the README alignment pushed to all seven VynFi datasets in this same refresh: every dataset card now shares a common structure (frontmatter → TL;DR → "What's included" → Schema highlights → Quick start → Generation → What changed in v5.9.0 / Provenance note → License → Citation → Related), so a consumer browsing the org sees a uniform UX across the fleet. Cleanup: the six duplicate datasets without the `vynfi-` prefix (`audit-p2p`, `supply-chain-ocel`, `sar-narratives`, `aml-100k`, `journal-entries-1m`, `ocel-manufacturing`) were deleted from the hub as part of this refresh. Co-Authored-By: Claude Opus 4.7 (1M context) --- configs/examples/hf/audit_p2p.yaml | 144 +++++++++++++++++ configs/examples/hf/supply_chain_ocel.yaml | 159 +++++++++++++++++++ scripts/hf_audit_p2p_to_parquet.py | 127 +++++++++++++++ scripts/hf_supply_chain_ocel_to_parquet.py | 170 +++++++++++++++++++++ 4 files changed, 600 insertions(+) create mode 100644 configs/examples/hf/audit_p2p.yaml create mode 100644 configs/examples/hf/supply_chain_ocel.yaml create mode 100755 scripts/hf_audit_p2p_to_parquet.py create mode 100755 scripts/hf_supply_chain_ocel_to_parquet.py diff --git a/configs/examples/hf/audit_p2p.yaml b/configs/examples/hf/audit_p2p.yaml new file mode 100644 index 00000000..81fcc19b --- /dev/null +++ b/configs/examples/hf/audit_p2p.yaml @@ -0,0 +1,144 @@ +# VynFi Audit P2P (vynfi-audit-p2p) — HF dataset regeneration recipe +# +# Document Flow with Fraud Labels. Showcases the P2P (purchase +# order → goods receipt → vendor invoice → payment) and O2C +# (sales order → delivery → customer invoice → customer receipt) +# document chains, with line-level fraud labels and the v5.8.0+ +# `predecessor_line_id` chain context surfaced both on JE lines +# and via the `je_network.csv` flat edge list. +# +# Volumes target ≈230 documents across the four core P2P document +# types — small enough for quick prototyping, large enough to +# show realistic fraud-injection patterns at the document level. +# Manufacturing industry, 10 entities, 6 fiscal periods. +# +# Reproducibility: +# - global.seed pinned for byte-stable regeneration on the +# v5.9.0 release binary; +# - graph_export.je_network.method: a (Method A from +# Ivertowski 2024 — exactly one edge per 2-line journal entry, +# no Cartesian-product blow-up on multi-line consolidations); +# - cost-centers / profit-centers / employees masters generated so +# `cost_center` / `profit_center` / `created_by` join cleanly to +# their respective master tables (closes the v5.9.0 linkage gap). + +global: + industry: manufacturing + start_date: "2024-01-01" + period_months: 6 + seed: 20260509 + group_currency: USD + parallel: true + worker_threads: 4 + memory_limit_mb: 4096 + +companies: + - { code: "1000", name: "VynFi Mfg HQ", currency: USD, country: US, annual_transaction_volume: ten_k, volume_weight: 0.18, fiscal_year_variant: K4 } + - { code: "1100", name: "VynFi Mfg Plant 1", currency: USD, country: US, annual_transaction_volume: ten_k, volume_weight: 0.14, fiscal_year_variant: K4 } + - { code: "1200", name: "VynFi Mfg Plant 2", currency: USD, country: US, annual_transaction_volume: ten_k, volume_weight: 0.12, fiscal_year_variant: K4 } + - { code: "1300", name: "VynFi Mfg Plant 3", currency: USD, country: US, annual_transaction_volume: ten_k, volume_weight: 0.10, fiscal_year_variant: K4 } + - { code: "2000", name: "VynFi Mfg EU GmbH", currency: EUR, country: DE, annual_transaction_volume: ten_k, volume_weight: 0.10, fiscal_year_variant: K4 } + - { code: "2100", name: "VynFi Mfg UK Ltd", currency: GBP, country: GB, annual_transaction_volume: ten_k, volume_weight: 0.08, fiscal_year_variant: K4 } + - { code: "2200", name: "VynFi Mfg FR SAS", currency: EUR, country: FR, annual_transaction_volume: ten_k, volume_weight: 0.08, fiscal_year_variant: K4 } + - { code: "3000", name: "VynFi Mfg APAC SG", currency: SGD, country: SG, annual_transaction_volume: ten_k, volume_weight: 0.08, fiscal_year_variant: K4 } + - { code: "3100", name: "VynFi Mfg AU Pty", currency: AUD, country: AU, annual_transaction_volume: ten_k, volume_weight: 0.06, fiscal_year_variant: K4 } + - { code: "4000", name: "VynFi Mfg CA Inc", currency: CAD, country: CA, annual_transaction_volume: ten_k, volume_weight: 0.06, fiscal_year_variant: K4 } + +chart_of_accounts: + complexity: small + industry_specific: true + +master_data: + vendors: { count: 50, intercompany_percent: 0.10 } + customers: { count: 60, intercompany_percent: 0.05 } + materials: { count: 100, bom_enabled: true, average_bom_depth: 2 } + fixed_assets: { count: 30 } + employees: { count: 50 } + +# Document flows are the headline content for this dataset. +# Volumes tuned so each of PO / GR / Invoice / Payment lands in the +# 50-80 range across the 6-month / 10-company horizon (≈ 1 chain +# per company per month for both P2P and O2C). +document_flows: + p2p: + enabled: true + chains_per_month: 1 + three_way_match_rate: 0.92 + partial_delivery_rate: 0.12 + gr_ir_clearing_enabled: true + o2c: + enabled: true + chains_per_month: 1 + credit_check_failure_rate: 0.04 + partial_shipment_rate: 0.10 + return_rate: 0.025 + +balance: + generate_opening_balances: true + generate_trial_balances: true + reconcile_subledgers: true + validate_balance_equation: true + target_gross_margin: 0.32 + target_dso_days: 45 + target_dpo_days: 30 + +period_close: + enabled: true + +financial_reporting: + enabled: true + +# 3 % document-level fraud (matches the published 3 % rate). +fraud: + enabled: true + fraud_rate: 0.02 + document_fraud_rate: 0.03 + propagate_to_lines: true + +internal_controls: + enabled: true + coso_enabled: true + include_entity_level_controls: true + target_maturity_level: managed + exception_rate: 0.02 + sod_violation_rate: 0.01 + +distributions: + enabled: true + industry_profile: manufacturing + amounts: + enabled: true + distribution_type: log_normal + components: + - { weight: 0.65, mu: 5.5, sigma: 1.3, label: "routine" } + - { weight: 0.28, mu: 7.8, sigma: 0.9, label: "significant" } + - { weight: 0.07, mu: 9.5, sigma: 0.6, label: "major" } + benford_compliance: true + +temporal_patterns: + enabled: true + business_days: + enabled: true + half_day_policy: half_day + month_end_convention: modified_following + calendars: + regions: [US, DE, GB, SG] + period_end: + model: exponential + month_end: { start_day: -10, base_multiplier: 1.0, peak_multiplier: 3.5, decay_rate: 0.3 } + quarter_end: { inherit_from: month_end, additional_multiplier: 1.5 } + +audit: + enabled: false # Audit data has its own dataset + +# Method A flat edge-list for the accounting network. Provides a +# bonus artefact alongside the document-flow tables — every +# 2-line JE in this dataset gets one edge, joinable back to the +# row-level JE table via from_line_id / to_line_id. +graph_export: + je_network: + method: a + +output: + output_directory: "./output" + formats: [csv, json] diff --git a/configs/examples/hf/supply_chain_ocel.yaml b/configs/examples/hf/supply_chain_ocel.yaml new file mode 100644 index 00000000..2674d404 --- /dev/null +++ b/configs/examples/hf/supply_chain_ocel.yaml @@ -0,0 +1,159 @@ +# VynFi Supply Chain OCEL (vynfi-supply-chain-ocel) — HF dataset +# regeneration recipe. +# +# Native OCEL 2.0 event log from a manufacturing supply chain. +# Process types covered: P2P, O2C, manufacturing operations. Event +# log is the primary artefact, with object-level data +# (orders / invoices / shipments / receipts) and anomaly labels +# alongside. +# +# Volumes (post-v5.9.0 refresh): targeting ~100k events for +# usability — the v0.x dataset shipped 20 010 events which was +# quick to prototype against but tight for any serious process +# mining. Scaling: 5 companies × 12 months × ~120 chains for +# each of P2P and O2C (≈14 k chains × ~7 events per chain) puts +# the event log in the 90 k–110 k range, with proportional +# growth in objects and anomaly labels. Per-company JE volume +# kept at `ten_k` to bound the in-memory orchestrator footprint +# during OCPM event-log construction (`hundred_k` × 5 × 12 +# producing ~700 k JEs alongside ~14 k chains pushed peak heap +# past 8 GB during native-OCEL graph assembly). +# +# Reproducibility: +# - global.seed pinned; +# - 3 % document-level fraud injection (matches the published +# 3 % rate); +# - ChaCha8 PRNG output is platform-stable. + +global: + industry: manufacturing + start_date: "2024-01-01" + period_months: 12 + seed: 20260509 + group_currency: USD + parallel: true + worker_threads: 4 + memory_limit_mb: 8192 + +# Five subsidiaries: one HQ, three plants, one international +# entity. Big enough to exercise multi-company joins on objects; +# small enough to keep event counts focused on supply-chain +# behaviour rather than entity proliferation. +companies: + - { code: "1000", name: "VynFi Mfg HQ", currency: USD, country: US, annual_transaction_volume: ten_k, volume_weight: 0.30, fiscal_year_variant: K4 } + - { code: "1100", name: "VynFi Mfg Plant 1", currency: USD, country: US, annual_transaction_volume: ten_k, volume_weight: 0.22, fiscal_year_variant: K4 } + - { code: "1200", name: "VynFi Mfg Plant 2", currency: USD, country: US, annual_transaction_volume: ten_k, volume_weight: 0.18, fiscal_year_variant: K4 } + - { code: "2000", name: "VynFi Mfg EU GmbH", currency: EUR, country: DE, annual_transaction_volume: ten_k, volume_weight: 0.18, fiscal_year_variant: K4 } + - { code: "3000", name: "VynFi Mfg APAC SG", currency: SGD, country: SG, annual_transaction_volume: ten_k, volume_weight: 0.12, fiscal_year_variant: K4 } + +chart_of_accounts: + complexity: medium + industry_specific: true + +master_data: + vendors: { count: 100, intercompany_percent: 0.10 } + customers: { count: 120, intercompany_percent: 0.05 } + materials: { count: 400, bom_enabled: true, average_bom_depth: 3 } + fixed_assets: { count: 50 } + employees: { count: 100 } + +# Chain volume is the primary driver of event count — each +# P2P / O2C chain produces ~6-8 OCEL events (PO created → +# released → GR posted → invoice received → invoice posted → +# payment posted → payment cleared). 14 k chains × ~7 events +# ≈ 100 k events. +document_flows: + p2p: + enabled: true + chains_per_month: 360 + three_way_match_rate: 0.92 + partial_delivery_rate: 0.12 + gr_ir_clearing_enabled: true + o2c: + enabled: true + chains_per_month: 360 + credit_check_failure_rate: 0.04 + partial_shipment_rate: 0.10 + return_rate: 0.025 + +balance: + generate_opening_balances: true + generate_trial_balances: true + reconcile_subledgers: true + validate_balance_equation: true + +period_close: + enabled: true + +# 3 % document-level fraud (matches the published rate of the +# previous dataset version). Anomaly labels are produced for +# every fraudulent + selected non-fraudulent events in the +# OCEL log, joinable to events via `event_id`. +fraud: + enabled: true + fraud_rate: 0.02 + document_fraud_rate: 0.03 + propagate_to_lines: true + +internal_controls: + enabled: true + coso_enabled: true + include_entity_level_controls: true + target_maturity_level: managed + exception_rate: 0.02 + sod_violation_rate: 0.01 + +distributions: + enabled: true + industry_profile: manufacturing + amounts: + enabled: true + distribution_type: log_normal + components: + - { weight: 0.65, mu: 5.5, sigma: 1.3, label: "routine" } + - { weight: 0.28, mu: 7.8, sigma: 0.9, label: "significant" } + - { weight: 0.07, mu: 9.5, sigma: 0.6, label: "major" } + benford_compliance: true + +temporal_patterns: + enabled: true + business_days: + enabled: true + half_day_policy: half_day + month_end_convention: modified_following + calendars: + regions: [US, DE, SG] + period_end: + model: exponential + month_end: { start_day: -10, base_multiplier: 1.0, peak_multiplier: 3.5, decay_rate: 0.3 } + quarter_end: { inherit_from: month_end, additional_multiplier: 1.5 } + +# OCPM event log: native OCEL 2.0 generation with all relevant +# output formats. `compute_variants: true` plus +# `include_object_relationships: true` mirror the v0.x dataset's +# `events`, `objects`, `anomaly_labels`, `document_events` tables. +ocpm: + enabled: true + generate_lifecycle_events: true + include_object_relationships: true + compute_variants: true + max_variants: 0 # unlimited + output: + ocel_json: true + flattened_csv: true + event_object_csv: true + object_relationship_csv: true + variants_csv: true + +audit: + enabled: false # Audit data has its own dataset + +# Method-A flat edge-list provided for completeness — joinable to +# the OCEL events via shared document_id + entry_date. +graph_export: + je_network: + method: a + +output: + output_directory: "./output" + formats: [csv, json] diff --git a/scripts/hf_audit_p2p_to_parquet.py b/scripts/hf_audit_p2p_to_parquet.py new file mode 100755 index 00000000..fb719f66 --- /dev/null +++ b/scripts/hf_audit_p2p_to_parquet.py @@ -0,0 +1,127 @@ +#!/usr/bin/env python3 +"""Convert generation outputs into the HF-ready layout for the +`vynfi-audit-p2p` dataset. + +Each document-flow JSON file is flattened — header fields are +hoisted to the top level — and written as a single-shard parquet +under its own subdirectory so HF Datasets surfaces each document +type as a separate `config`: + + purchase_orders/train-00000-of-00001.parquet + goods_receipts/train-00000-of-00001.parquet + vendor_invoices/train-00000-of-00001.parquet + payments/train-00000-of-00001.parquet + +Items / line-level arrays are dropped from the top-level table — +they are available in the row-level `journal_entries.csv` (joinable +via `document_id`) and on the corresponding `je_network.csv` flat +edge-list (v5.8.0+). +""" + +from __future__ import annotations + +import argparse +import json +import sys +from pathlib import Path + +import pandas as pd +import pyarrow as pa +import pyarrow.parquet as pq + + +def flatten_document(doc: dict) -> dict: + """Hoist `header.*` and discard nested arrays so the row is flat.""" + out: dict = {} + for k, v in doc.items(): + if k == "header" and isinstance(v, dict): + for hk, hv in v.items(): + out[hk] = hv + elif k == "items": + out["item_count"] = len(v) if isinstance(v, list) else 0 + elif k == "lines": + out["line_count"] = len(v) if isinstance(v, list) else 0 + elif isinstance(v, (dict, list)): + # Skip remaining nested structures — they don't fit cleanly + # into a flat schema. The corresponding JSON file remains + # the source of truth. + continue + else: + out[k] = v + return out + + +def doc_flow_json_to_parquet(json_path: Path, out_path: Path, label: str) -> int: + with open(json_path) as f: + data = json.load(f) + if isinstance(data, dict): + for key in ( + "purchase_orders", + "goods_receipts", + "vendor_invoices", + "payments", + "sales_orders", + "deliveries", + "customer_invoices", + "customer_receipts", + "records", + "items", + ): + if key in data and isinstance(data[key], list): + data = data[key] + break + if not isinstance(data, list) or not data: + print(f" {label}: empty, skipping") + return 0 + + rows = [flatten_document(doc) for doc in data] + df = pd.json_normalize(rows, max_level=0) + + out_path.parent.mkdir(parents=True, exist_ok=True) + table = pa.Table.from_pandas(df, preserve_index=False) + pq.write_table(table, out_path, compression="zstd", compression_level=9) + size_kb = out_path.stat().st_size / 1024 + print( + f" wrote {out_path.parent.name}/{out_path.name}: " + f"{len(df):,} rows x {len(df.columns)} cols, {size_kb:.1f} KB ({label})" + ) + return len(df) + + +def main() -> int: + ap = argparse.ArgumentParser() + ap.add_argument("--output-dir", required=True) + ap.add_argument("--hf-dir", required=True) + args = ap.parse_args() + + out = Path(args.output_dir) / "document_flows" + hf = Path(args.hf_dir) + hf.mkdir(parents=True, exist_ok=True) + + if not out.exists(): + print( + f"ERROR: {out} not found (regen with document_flows enabled)", + file=sys.stderr, + ) + return 1 + + targets = [ + ("purchase_orders.json", "purchase_orders", "Purchase Orders"), + ("goods_receipts.json", "goods_receipts", "Goods Receipts"), + ("vendor_invoices.json", "vendor_invoices", "Vendor Invoices"), + ("payments.json", "payments", "Payments"), + ] + for fname, subdir, label in targets: + src = out / fname + if not src.exists(): + print(f" {label}: source {src} missing, skipping") + continue + dst = hf / subdir / "train-00000-of-00001.parquet" + doc_flow_json_to_parquet(src, dst, label) + + print(f"\nAll artefacts written to {hf}/") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/hf_supply_chain_ocel_to_parquet.py b/scripts/hf_supply_chain_ocel_to_parquet.py new file mode 100755 index 00000000..2930bb73 --- /dev/null +++ b/scripts/hf_supply_chain_ocel_to_parquet.py @@ -0,0 +1,170 @@ +#!/usr/bin/env python3 +"""Convert generation outputs into the HF-ready layout for the +`vynfi-supply-chain-ocel` dataset. + +Each table goes under its own subdirectory so HF Datasets surfaces +it as a separate `config`: + + events/train-00000-of-00001.parquet + objects/train-00000-of-00001.parquet + anomaly_labels/train-00000-of-00001.parquet + document_events/train-00000-of-00001.parquet + +`events.json` and `objects.json` come from `process_mining/`; +`anomaly_labels.json` from `labels/`; `document_events` is +synthesised from the document-flow headers (one row per +P2P/O2C document with the OCEL-style fields needed for joins). +""" + +from __future__ import annotations + +import argparse +import json +import sys +from pathlib import Path + +import pandas as pd +import pyarrow as pa +import pyarrow.parquet as pq + + +def unwrap_list(data, *keys): + if isinstance(data, dict): + for k in keys: + if k in data and isinstance(data[k], list): + return data[k] + if isinstance(data, list): + return data + return [] + + +def write_parquet(rows: list[dict], out_path: Path, label: str) -> int: + if not rows: + print(f" {label}: empty, skipping") + return 0 + df = pd.json_normalize(rows, max_level=1) + out_path.parent.mkdir(parents=True, exist_ok=True) + table = pa.Table.from_pandas(df, preserve_index=False) + pq.write_table(table, out_path, compression="zstd", compression_level=9) + size_kb = out_path.stat().st_size / 1024 + print( + f" wrote {out_path.parent.name}/{out_path.name}: " + f"{len(df):,} rows x {len(df.columns)} cols, " + f"{size_kb:.1f} KB ({label})" + ) + return len(df) + + +def synthesize_document_events(out_root: Path) -> list[dict]: + """Build a per-document summary table from the four P2P/O2C flows. + + Mirrors the v0.x `document_events` config: one row per (P2P or + O2C) document with the OCEL-style fields needed to join events + back to source documents. + """ + rows: list[dict] = [] + flows = [ + ("purchase_orders", "PO", "P2P"), + ("goods_receipts", "GR", "P2P"), + ("vendor_invoices", "VI", "P2P"), + ("payments", "PAY", "P2P"), + ("sales_orders", "SO", "O2C"), + ("deliveries", "DLV", "O2C"), + ("customer_invoices", "CI", "O2C"), + ("customer_receipts", "CR", "O2C"), + ] + df_dir = out_root / "document_flows" + if not df_dir.exists(): + return rows + for fname, doc_kind, process in flows: + fp = df_dir / f"{fname}.json" + if not fp.exists(): + continue + with open(fp) as f: + data = json.load(f) + for doc in unwrap_list( + data, + "purchase_orders", + "goods_receipts", + "vendor_invoices", + "payments", + "sales_orders", + "deliveries", + "customer_invoices", + "customer_receipts", + "records", + ): + header = doc.get("header", {}) + rows.append( + { + "document_id": header.get("document_id"), + "document_kind": doc_kind, + "process": process, + "company_code": header.get("company_code"), + "posting_date": header.get("posting_date"), + } + ) + return rows + + +def main() -> int: + ap = argparse.ArgumentParser() + ap.add_argument("--output-dir", required=True) + ap.add_argument("--hf-dir", required=True) + args = ap.parse_args() + + out = Path(args.output_dir) + hf = Path(args.hf_dir) + hf.mkdir(parents=True, exist_ok=True) + + if not (out / "process_mining").exists(): + print( + f"ERROR: {out / 'process_mining'} not found " + "(regen with ocpm.enabled: true)", + file=sys.stderr, + ) + return 1 + + # 1. events + with open(out / "process_mining" / "events.json") as f: + events = unwrap_list(json.load(f), "events", "records") + write_parquet( + events, + hf / "events" / "train-00000-of-00001.parquet", + "OCEL Events", + ) + + # 2. objects + with open(out / "process_mining" / "objects.json") as f: + objects = unwrap_list(json.load(f), "objects", "records") + write_parquet( + objects, + hf / "objects" / "train-00000-of-00001.parquet", + "OCEL Objects", + ) + + # 3. anomaly_labels (from labels/anomaly_labels.json) + al_path = out / "labels" / "anomaly_labels.json" + if al_path.exists(): + with open(al_path) as f: + labels = unwrap_list(json.load(f), "labels", "anomaly_labels", "records") + write_parquet( + labels, + hf / "anomaly_labels" / "train-00000-of-00001.parquet", + "Anomaly Labels", + ) + + # 4. document_events (synthesised from the four flow headers) + doc_events = synthesize_document_events(out) + write_parquet( + doc_events, + hf / "document_events" / "train-00000-of-00001.parquet", + "Document Events", + ) + + print(f"\nAll artefacts written to {hf}/") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) From 7ac8c48f17e4443a09126d00c12a6eae9173bb48 Mon Sep 17 00:00:00 2001 From: Michael Ivertowski Date: Sat, 9 May 2026 09:18:14 +0200 Subject: [PATCH 2/2] spaces: add accounting-network-explorer Streamlit space MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Interactive ISO 21378 Level-2 account-class graph from VynFi/vynfi-journal-entries-1m je_network.parquet — Method-A edge list aggregated to ~30 class nodes with click-to-drill-down, business-process / fraud / anomaly filters, and force-directed or hierarchical layout. Live: https://huggingface.co/spaces/VynFi/accounting-network-explorer --- spaces/accounting-network-explorer/.gitignore | 4 + spaces/accounting-network-explorer/README.md | 61 +++ spaces/accounting-network-explorer/app.py | 446 ++++++++++++++++++ .../accounting-network-explorer/preview.png | Bin 0 -> 152470 bytes .../requirements.txt | 5 + 5 files changed, 516 insertions(+) create mode 100644 spaces/accounting-network-explorer/.gitignore create mode 100644 spaces/accounting-network-explorer/README.md create mode 100644 spaces/accounting-network-explorer/app.py create mode 100644 spaces/accounting-network-explorer/preview.png create mode 100644 spaces/accounting-network-explorer/requirements.txt diff --git a/spaces/accounting-network-explorer/.gitignore b/spaces/accounting-network-explorer/.gitignore new file mode 100644 index 00000000..f395a16e --- /dev/null +++ b/spaces/accounting-network-explorer/.gitignore @@ -0,0 +1,4 @@ +__pycache__/ +*.pyc +.streamlit/secrets.toml +.venv/ diff --git a/spaces/accounting-network-explorer/README.md b/spaces/accounting-network-explorer/README.md new file mode 100644 index 00000000..aa4be46a --- /dev/null +++ b/spaces/accounting-network-explorer/README.md @@ -0,0 +1,61 @@ +--- +title: VynFi Accounting Network Explorer +emoji: 🔗 +colorFrom: blue +colorTo: indigo +sdk: streamlit +sdk_version: 1.39.0 +python_version: '3.11' +app_file: app.py +pinned: true +license: apache-2.0 +short_description: Interactive ISO 21378 account-class flow graph (v5.9.0) +tags: + - vynfi + - accounting + - graph + - iso-21378 + - synthetic-data + - financial-network +--- + +# 🔗 VynFi Accounting Network Explorer + +Interactive view of the v5.9.0 Method-A accounting network published in +[`VynFi/vynfi-journal-entries-1m`](https://huggingface.co/datasets/VynFi/vynfi-journal-entries-1m), +aggregated to **ISO 21378 Level-2** account classes (~30 nodes). + +## What you can do + +* **Filter** the underlying 61 656 line-level edges by business process + (P2P / O2C / R2R / H2R / A2R), `is_fraud`, `is_anomaly`, + minimum edge amount, and top-N. +* **Inspect** any class node to see total flow, fraud %, and the top + in/out class pairs. +* **Drill in** to the Level-3 sub-class breakdown + (`A.A.A — Operating Cash`, `A.A.B — Petty Cash`, …). +* **Toggle** force-directed vs hierarchical layout. + +## Method A vs Cartesian + +In v5.9.0 the JE-network defaults to *Method A* from Ivertowski 2024: +exactly **one edge per 2-line journal entry**, confidence = 1.0. +This avoids the Cartesian explosion (225 M edges on 1 M JEs) that the +legacy `cartesian` method produces, and gives a clean topology for +graph-ML training. + +## Tech + +Streamlit + `streamlit-agraph` (vis-network) · pandas/pyarrow · +loads parquet directly from the HF dataset on cold-start, then +caches in-memory. + +## Source + +* App code: [github.com/mivertowski/SyntheticData/tree/main/spaces/accounting-network-explorer](https://github.com/mivertowski/SyntheticData/tree/main/spaces/accounting-network-explorer) +* Generation engine: [github.com/mivertowski/SyntheticData](https://github.com/mivertowski/SyntheticData) +* Companion paper: [SSRN abstract 6538639](https://ssrn.com/abstract=6538639) + +## License + +Apache-2.0. diff --git a/spaces/accounting-network-explorer/app.py b/spaces/accounting-network-explorer/app.py new file mode 100644 index 00000000..6062ced0 --- /dev/null +++ b/spaces/accounting-network-explorer/app.py @@ -0,0 +1,446 @@ +"""VynFi Accounting Network Explorer. + +Interactive ISO 21378 Level-2 account-class network from +`VynFi/vynfi-journal-entries-1m`. One node per account class, +one edge per (from_class, to_class) pair aggregated from the +v5.9.0 Method-A `je_network.parquet` (2-line JEs only, +confidence = 1.0). +""" +from __future__ import annotations + +import math +from typing import Tuple + +import pandas as pd +import streamlit as st +from huggingface_hub import snapshot_download +from streamlit_agraph import Config, Edge, Node, agraph + +DATASET_REPO = "VynFi/vynfi-journal-entries-1m" + +ACCOUNT_TYPE_COLORS = { + "asset": "#2563eb", # blue + "liability": "#ea580c", # orange + "equity": "#16a34a", # green + "revenue": "#9333ea", # purple + "expense": "#dc2626", # red + "other": "#6b7280", # grey +} + +st.set_page_config( + page_title="VynFi Accounting Network Explorer", + page_icon="🔗", + layout="wide", + initial_sidebar_state="expanded", +) + + +# ─── Data loading ──────────────────────────────────────────────────────────── + + +@st.cache_resource(show_spinner="Downloading je_network + chart_of_accounts from HF Hub…") +def load_data() -> Tuple[pd.DataFrame, pd.DataFrame]: + base = snapshot_download( + repo_id=DATASET_REPO, + repo_type="dataset", + allow_patterns=["je_network.parquet", "chart_of_accounts.parquet"], + ) + edges = pd.read_parquet(f"{base}/je_network.parquet") + coa = pd.read_parquet(f"{base}/chart_of_accounts.parquet") + + # Normalise dtypes + edges["from_account"] = edges["from_account"].astype(str) + edges["to_account"] = edges["to_account"].astype(str) + coa["account_number"] = coa["account_number"].astype(str) + coa["account_type"] = coa["account_type"].astype(str).str.lower() + + # 4 account numbers in the published COA (1510, 1600, 4900, 7100) appear + # in two rows with conflicting class mappings — keep the first deterministically + # so the join doesn't inflate the edge count. + coa = coa.drop_duplicates(subset=["account_number"], keep="first").reset_index(drop=True) + + return edges, coa + + +# ─── Aggregation ───────────────────────────────────────────────────────────── + + +def aggregate_to_class(edges: pd.DataFrame, coa: pd.DataFrame): + """Join edges with COA on gl_account and aggregate by (from_class, to_class).""" + coa_slim = coa[ + ["account_number", "account_class", "account_class_name", "account_type"] + ].copy() + + e = ( + edges.merge( + coa_slim.rename( + columns={ + "account_number": "from_account", + "account_class": "from_class", + "account_class_name": "from_class_name", + "account_type": "from_type", + } + ), + on="from_account", + how="left", + ) + .merge( + coa_slim.rename( + columns={ + "account_number": "to_account", + "account_class": "to_class", + "account_class_name": "to_class_name", + "account_type": "to_type", + } + ), + on="to_account", + how="left", + ) + .dropna(subset=["from_class", "to_class"]) + ) + + class_edges = ( + e.groupby(["from_class", "to_class"], as_index=False) + .agg( + total_amount=("amount", "sum"), + edge_count=("edge_id", "count"), + fraud_count=("is_fraud", "sum"), + anomaly_count=("is_anomaly", "sum"), + ) + ) + + out = ( + e.groupby("from_class", as_index=False) + .agg(out_amount=("amount", "sum"), out_count=("edge_id", "count")) + .rename(columns={"from_class": "account_class"}) + ) + inn = ( + e.groupby("to_class", as_index=False) + .agg(in_amount=("amount", "sum"), in_count=("edge_id", "count")) + .rename(columns={"to_class": "account_class"}) + ) + nodes = pd.merge(out, inn, on="account_class", how="outer").fillna(0) + + meta = ( + coa.groupby("account_class", as_index=False) + .agg( + account_class_name=("account_class_name", "first"), + account_type=("account_type", "first"), + ) + ) + nodes = nodes.merge(meta, on="account_class", how="left") + nodes["account_class_name"] = nodes["account_class_name"].fillna(nodes["account_class"]) + nodes["account_type"] = nodes["account_type"].fillna("other") + nodes["total_flow"] = nodes["in_amount"] + nodes["out_amount"] + nodes["total_count"] = nodes["in_count"] + nodes["out_count"] + + return nodes, class_edges + + +# ─── Formatters ────────────────────────────────────────────────────────────── + + +def fmt_money(x: float) -> str: + sign = "-" if x < 0 else "" + x = abs(float(x)) + if x >= 1e12: + return f"{sign}${x / 1e12:.2f}T" + if x >= 1e9: + return f"{sign}${x / 1e9:.2f}B" + if x >= 1e6: + return f"{sign}${x / 1e6:.2f}M" + if x >= 1e3: + return f"{sign}${x / 1e3:.1f}K" + return f"{sign}${x:.0f}" + + +def node_size(amount: float, max_amount: float) -> int: + if amount <= 0 or max_amount <= 0: + return 18 + ratio = math.log10(amount + 1.0) / max(math.log10(max_amount + 1.0), 1.0) + return int(18 + ratio * 42) + + +def edge_width(amount: float, max_amount: float) -> int: + if amount <= 0 or max_amount <= 0: + return 1 + ratio = math.log10(amount + 1.0) / max(math.log10(max_amount + 1.0), 1.0) + return max(1, int(ratio * 8)) + + +# ─── Sidebar — filters ─────────────────────────────────────────────────────── + + +edges_raw, coa_raw = load_data() + +st.title("🔗 VynFi Accounting Network Explorer") +st.caption( + "ISO 21378 Level-2 account-class flows from " + "[`VynFi/vynfi-journal-entries-1m`](https://huggingface.co/datasets/VynFi/vynfi-journal-entries-1m) · " + "Method-A edge list (one edge per 2-line JE) · v5.9.0" +) + +with st.sidebar: + st.header("Filters") + + processes = sorted(edges_raw["business_process"].dropna().unique().tolist()) + selected_processes = st.multiselect( + "Business process", + processes, + default=processes, + help="P2P = procure-to-pay · O2C = order-to-cash · R2R = record-to-report · " + "H2R = hire-to-retire · A2R = adjust-to-report", + ) + + col_a, col_b = st.columns(2) + with col_a: + fraud_only = st.checkbox("Fraud only", value=False) + with col_b: + anomaly_only = st.checkbox("Anomaly only", value=False) + + st.divider() + + min_amount_log = st.slider( + "Min edge total (10ⁿ)", + min_value=0, + max_value=12, + value=0, + step=1, + help="Hide class-pairs whose summed flow is below 10ⁿ.", + ) + top_n = st.slider("Top N edges", min_value=20, max_value=400, value=120, step=20) + + st.divider() + + layout_mode = st.radio( + "Layout", + ["force-directed", "hierarchical"], + horizontal=True, + ) + + st.divider() + st.caption( + f"**Source rows:** {len(edges_raw):,} edges · {len(coa_raw):,} accounts \n" + f"_v5.9.0 · ChaCha8 seed `20260509`_" + ) + + +# ─── Filter the raw edges ──────────────────────────────────────────────────── + + +filt = edges_raw[edges_raw["business_process"].isin(selected_processes)] +if fraud_only: + filt = filt[filt["is_fraud"]] +if anomaly_only: + filt = filt[filt["is_anomaly"]] + +if filt.empty: + st.warning("No edges match the current filter combination — relax the filters.") + st.stop() + +nodes_df, class_edges_df = aggregate_to_class(filt, coa_raw) + +class_edges_df = class_edges_df[class_edges_df["total_amount"] >= 10**min_amount_log] +class_edges_df = class_edges_df.nlargest(top_n, "total_amount") + +keep_classes = set(class_edges_df["from_class"]) | set(class_edges_df["to_class"]) +nodes_df = nodes_df[nodes_df["account_class"].isin(keep_classes)].copy() + +if class_edges_df.empty or nodes_df.empty: + st.warning("Filters produced an empty graph — relax the min-amount cutoff.") + st.stop() + + +# ─── Build agraph nodes/edges ──────────────────────────────────────────────── + + +max_node = nodes_df["total_flow"].max() +max_edge = class_edges_df["total_amount"].max() + +agraph_nodes = [] +for _, n in nodes_df.iterrows(): + color = ACCOUNT_TYPE_COLORS.get(str(n["account_type"]).lower(), ACCOUNT_TYPE_COLORS["other"]) + label = f"{n['account_class']}\n{str(n['account_class_name'])[:24]}" + title = ( + f"Class {n['account_class']} ({n['account_type']})\n" + f"{n['account_class_name']}\n" + f"Total flow: {fmt_money(n['total_flow'])}\n" + f"Edges: {int(n['total_count'])}\n" + f"In: {fmt_money(n['in_amount'])} ({int(n['in_count'])})\n" + f"Out: {fmt_money(n['out_amount'])} ({int(n['out_count'])})" + ) + agraph_nodes.append( + Node( + id=str(n["account_class"]), + label=label, + title=title, + size=node_size(n["total_flow"], max_node), + color=color, + font={"color": "#ffffff", "size": 11, "face": "monospace"}, + shape="dot", + ) + ) + +agraph_edges = [] +for _, e in class_edges_df.iterrows(): + fraud_pct = (e["fraud_count"] / e["edge_count"] * 100) if e["edge_count"] else 0.0 + title = ( + f"{e['from_class']} → {e['to_class']}\n" + f"Total: {fmt_money(e['total_amount'])}\n" + f"Edges: {int(e['edge_count'])}\n" + f"Fraud: {int(e['fraud_count'])} ({fraud_pct:.1f}%)\n" + f"Anomaly: {int(e['anomaly_count'])}" + ) + color = "#dc2626" if e["fraud_count"] > 0 else "#94a3b8" + agraph_edges.append( + Edge( + source=str(e["from_class"]), + target=str(e["to_class"]), + title=title, + color=color, + type="CURVE_SMOOTH", + width=edge_width(e["total_amount"], max_edge), + ) + ) + + +# ─── Layout ────────────────────────────────────────────────────────────────── + + +config = Config( + width=900, + height=650, + directed=True, + physics=(layout_mode == "force-directed"), + hierarchical=(layout_mode == "hierarchical"), +) + +graph_col, side_col = st.columns([3, 1]) +with graph_col: + selected = agraph(nodes=agraph_nodes, edges=agraph_edges, config=config) + +with side_col: + st.subheader("Summary") + sm1, sm2 = st.columns(2) + sm1.metric("Classes", len(nodes_df)) + sm2.metric("Edges", len(class_edges_df)) + st.metric("Total flow", fmt_money(class_edges_df["total_amount"].sum())) + st.metric("Fraud edges", int(class_edges_df["fraud_count"].sum())) + st.metric("Anomaly edges", int(class_edges_df["anomaly_count"].sum())) + + st.divider() + + if selected: + n_match = nodes_df[nodes_df["account_class"] == selected] + if not n_match.empty: + n = n_match.iloc[0] + color = ACCOUNT_TYPE_COLORS.get( + str(n["account_type"]).lower(), ACCOUNT_TYPE_COLORS["other"] + ) + st.markdown( + f"

" + f" " + f"{n['account_class']}

", + unsafe_allow_html=True, + ) + st.markdown(f"**{n['account_class_name']}** \n_{n['account_type']}_") + st.markdown( + f"- Total flow: **{fmt_money(n['total_flow'])}** \n" + f"- Out: {fmt_money(n['out_amount'])} ({int(n['out_count'])}) \n" + f"- In: {fmt_money(n['in_amount'])} ({int(n['in_count'])})" + ) + + outs = class_edges_df[class_edges_df["from_class"] == selected].nlargest( + 5, "total_amount" + ) + if not outs.empty: + st.markdown("**Top outgoing**") + for _, oe in outs.iterrows(): + st.markdown( + f"→ `{oe['to_class']}` · {fmt_money(oe['total_amount'])} " + f"({int(oe['edge_count'])} edges)" + ) + + ins = class_edges_df[class_edges_df["to_class"] == selected].nlargest( + 5, "total_amount" + ) + if not ins.empty: + st.markdown("**Top incoming**") + for _, ie in ins.iterrows(): + st.markdown( + f"← `{ie['from_class']}` · {fmt_money(ie['total_amount'])} " + f"({int(ie['edge_count'])} edges)" + ) + + subs = ( + coa_raw[coa_raw["account_class"] == selected] + .groupby(["account_sub_class", "account_sub_class_name"], as_index=False) + .size() + ) + if not subs.empty: + with st.expander(f"Level-3 sub-classes ({len(subs)})"): + for _, s in subs.iterrows(): + st.markdown( + f"`{s['account_sub_class']}` — {s['account_sub_class_name']}" + ) + else: + st.info("Selected class is not currently visible — relax filters.") + else: + st.info("Click a node in the graph to drill in.") + +st.divider() + +with st.expander("Top edges (table view)", expanded=False): + table = class_edges_df.assign( + total=class_edges_df["total_amount"].apply(fmt_money), + fraud_pct=(class_edges_df["fraud_count"] / class_edges_df["edge_count"] * 100).round(2), + )[ + [ + "from_class", + "to_class", + "total", + "edge_count", + "fraud_count", + "anomaly_count", + "fraud_pct", + ] + ].rename( + columns={ + "from_class": "From", + "to_class": "To", + "total": "Total $", + "edge_count": "Edges", + "fraud_count": "Fraud", + "anomaly_count": "Anomaly", + "fraud_pct": "Fraud %", + } + ) + st.dataframe(table, use_container_width=True, hide_index=True) + +with st.expander("About this Space", expanded=False): + st.markdown( + """ +**What this is.** An interactive view of the v5.9.0 Method-A +accounting network published in +[`VynFi/vynfi-journal-entries-1m`](https://huggingface.co/datasets/VynFi/vynfi-journal-entries-1m). +The 61 656 line-level edges are aggregated to ISO 21378 Level-2 +account classes (~30 nodes), so you can see the macro money-flow +structure at a glance. + +**Method-A.** In v5.9.0 the JE network defaults to "Method A" +from Ivertowski 2024: exactly **one edge per 2-line journal entry**, +confidence = 1.0. This avoids the Cartesian explosion (225 M edges +on 1 M JEs) that the legacy `cartesian` method produced, and gives +a clean topology for graph-ML training. + +**Edge attributes.** `business_process` (P2P / O2C / R2R / H2R / A2R), +`is_fraud`, `is_anomaly`, `posting_date`, `amount`, `confidence`, +`predecessor_edge_id` (chains 2-line JEs into longer document flows). + +**Drill-down.** Click any class node to see the underlying Level-3 +sub-classes (`A.A.A` / `A.A.B` / …) and the top in/out flows. + +**Source.** [GitHub: mivertowski/SyntheticData](https://github.com/mivertowski/SyntheticData) · +[Companion paper (SSRN)](https://ssrn.com/abstract=6538639) + """ + ) diff --git a/spaces/accounting-network-explorer/preview.png b/spaces/accounting-network-explorer/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..0643055512ce72699a00cf9b7f3de2eefe3d5fd0 GIT binary patch literal 152470 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 z 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 literal 0 HcmV?d00001 diff --git a/spaces/accounting-network-explorer/requirements.txt b/spaces/accounting-network-explorer/requirements.txt new file mode 100644 index 00000000..f75ee7bf --- /dev/null +++ b/spaces/accounting-network-explorer/requirements.txt @@ -0,0 +1,5 @@ +streamlit==1.39.0 +streamlit-agraph==0.0.45 +pandas==2.2.3 +pyarrow==17.0.0 +huggingface_hub==0.26.2