Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Project Accounting

New in v0.7.0

DataSynth generates end-to-end project accounting data including WBS hierarchies, cost tracking, revenue recognition, earned value management, and change order workflows.

Overview

The project accounting module simulates construction, engineering, and internal project cost management:

  1. Project Master Data — Projects with WBS (Work Breakdown Structure) hierarchies
  2. Cost Tracking — Cost lines by category (labor, material, subcontractor, overhead, equipment, travel)
  3. Revenue Recognition — Percentage-of-completion (PoC) and ASC 606 revenue recognition with unbilled tracking
  4. Earned Value Management — BCWS, BCWP, ACWP, SPI, CPI, EAC, ETC, TCPI metrics
  5. Change Orders — Scope, cost, and schedule change management
  6. Retainage — Payment hold and release tracking

Data Models

ModelDescription
ProjectCostLineIndividual cost postings (Labor/Material/Subcontractor/Overhead/Equipment/Travel)
ProjectRevenuePoC / ASC 606 revenue recognition with unbilled tracking
ProjectMilestoneProject milestones with payment amounts & status
ChangeOrderScope/cost/schedule changes (Submitted → Approved → Rejected)
RetainagePayment holds and releases
EarnedValueMetricsBCWS/BCWP/ACWP/SPI/CPI/EAC/ETC/TCPI

Configuration

project_accounting:
  enabled: true
  project_count: 10
  project_types:
    capital: 0.25
    internal: 0.20
    customer: 0.30
    r_and_d: 0.10
    maintenance: 0.10
    technology: 0.05
  wbs:
    max_depth: 3
    elements_per_level_min: 2
    elements_per_level_max: 6
  cost_allocation:
    time_entry_percentage: 0.60
    expense_percentage: 0.30
    po_percentage: 0.40
    vi_percentage: 0.35
  revenue_recognition:
    method: percentage_of_completion  # percentage_of_completion, completed_contract
    measure: cost_to_cost
  milestones:
    avg_per_project: 4
    payment_milestone_rate: 0.50
  change_orders:
    enabled: true
    approval_rate: 0.75
  retainage:
    enabled: true
    hold_percentage: 0.10
  earned_value:
    enabled: true
  anomaly_rate: 0.03

Output Files

FileDescription
projects.csvProject master data
wbs_elements.csvWBS hierarchies
project_cost_lines.csvCost postings by category
project_revenue.csvRevenue recognition records
project_milestones.csvMilestones with status
change_orders.csvChange order tracking
retainage.csvPayment hold records
earned_value_metrics.csvEVM calculations
project_accounting_anomaly_labels.csvData quality labels

Earned Value Management

The EVM metrics provide project performance indicators:

MetricFormulaDescription
SPIBCWP / BCWSSchedule Performance Index (>1 = ahead)
CPIBCWP / ACWPCost Performance Index (>1 = under budget)
EACBAC / CPIEstimate at Completion
ETCEAC - ACWPEstimate to Complete
TCPI(BAC - BCWP) / (BAC - ACWP)To-Complete Performance Index

Process Mining (OCPM)

The project accounting module contributes 4 object types and 5 activities:

  • Object Types: project, project_cost_line, project_milestone, change_order
  • Activities: Project creation, activation, completion, cost posting, milestone completion, change order approval
  • Lifecycle: Projects follow created → active → on_hold → completed → closed