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

Master Data

Master data settings control generation of business entities.

Configuration

master_data:
  vendors:
    count: 200
    intercompany_ratio: 0.05

  customers:
    count: 500
    intercompany_ratio: 0.05

  materials:
    count: 1000

  fixed_assets:
    count: 100

  employees:
    count: 50
    hierarchy_depth: 4

Vendors

Supplier master data configuration.

master_data:
  vendors:
    count: 200                    # Number of vendors
    intercompany_ratio: 0.05      # IC vendor percentage

    payment_terms:
      - code: "NET30"
        days: 30
        weight: 0.5
      - code: "NET60"
        days: 60
        weight: 0.3
      - code: "NET10"
        days: 10
        weight: 0.2

    behavior:
      late_payment_rate: 0.1      # % with late payment tendency
      discount_usage_rate: 0.3    # % that take early pay discounts

Generated Fields

FieldDescription
vendor_idUnique identifier
vendor_nameCompany name
tax_idTax identification number
payment_termsDefault payment terms
currencyTransaction currency
bank_accountBank details
is_intercompanyIC vendor flag
valid_fromTemporal validity start

Customers

Customer master data configuration.

master_data:
  customers:
    count: 500                    # Number of customers
    intercompany_ratio: 0.05      # IC customer percentage

    credit_rating:
      - code: "AAA"
        limit_multiplier: 10.0
        weight: 0.1
      - code: "AA"
        limit_multiplier: 5.0
        weight: 0.2
      - code: "A"
        limit_multiplier: 2.0
        weight: 0.4
      - code: "B"
        limit_multiplier: 1.0
        weight: 0.3

    payment_behavior:
      on_time_rate: 0.7           # % that pay on time
      early_payment_rate: 0.1     # % that pay early
      late_payment_rate: 0.2      # % that pay late

Generated Fields

FieldDescription
customer_idUnique identifier
customer_nameCompany/person name
credit_limitMaximum credit
credit_ratingRating code
payment_behaviorPayment tendency
currencyTransaction currency
is_intercompanyIC customer flag

Materials

Product/material master data.

master_data:
  materials:
    count: 1000                   # Number of materials

    types:
      raw_material: 0.3
      work_in_progress: 0.1
      finished_goods: 0.4
      services: 0.2

    valuation:
      - method: fifo
        weight: 0.3
      - method: weighted_average
        weight: 0.5
      - method: standard_cost
        weight: 0.2

Generated Fields

FieldDescription
material_idUnique identifier
descriptionMaterial name
material_typeClassification
unit_of_measureUOM
valuation_methodCosting method
standard_costUnit cost
gl_accountInventory account

Fixed Assets

Capital asset master data.

master_data:
  fixed_assets:
    count: 100                    # Number of assets

    categories:
      buildings: 0.1
      machinery: 0.3
      vehicles: 0.2
      furniture: 0.2
      it_equipment: 0.2

    depreciation:
      - method: straight_line
        weight: 0.7
      - method: declining_balance
        weight: 0.2
      - method: units_of_production
        weight: 0.1

Generated Fields

FieldDescription
asset_idUnique identifier
descriptionAsset name
asset_classCategory
acquisition_datePurchase date
acquisition_costOriginal cost
useful_lifeYears
depreciation_methodMethod
salvage_valueResidual value

Employees

User/employee master data.

master_data:
  employees:
    count: 50                     # Number of employees
    hierarchy_depth: 4            # Org chart depth

    roles:
      - name: "AP Clerk"
        approval_limit: 5000
        weight: 0.3
      - name: "AP Manager"
        approval_limit: 50000
        weight: 0.1
      - name: "AR Clerk"
        approval_limit: 5000
        weight: 0.3
      - name: "Controller"
        approval_limit: 500000
        weight: 0.1
      - name: "CFO"
        approval_limit: 999999999
        weight: 0.05

    transaction_codes:
      - "FB01"     # Post document
      - "FB50"     # Enter GL
      - "F-28"     # Post incoming payment
      - "F-53"     # Post outgoing payment

Generated Fields

FieldDescription
employee_idUnique identifier
nameFull name
departmentDepartment code
roleJob role
manager_idSupervisor reference
approval_limitMax approval amount
transaction_codesAuthorized T-codes

HR and Payroll Integration (v0.6.0)

Employee master data serves as the foundation for the hr configuration section introduced in v0.6.0. When the HR module is enabled, each employee record drives downstream generation:

  • Payroll: Salary, tax withholdings, benefits deductions, and retirement contributions are computed per employee based on their role and the salary ranges defined in hr.payroll.salary_ranges. The pay_frequency setting (monthly, biweekly, or weekly) determines how many payroll runs are generated per period.
  • Time and Attendance: Time entries are generated for each employee according to working days in the period. The overtime_rate controls how many employees have overtime hours in a given period.
  • Expense Reports: A subset of employees (controlled by hr.expenses.submission_rate) generate expense reports each month. Policy violations are injected at the configured policy_violation_rate.

The employees.count and employees.hierarchy_depth settings in master_data directly determine the population size for all HR outputs. Increasing the employee count will proportionally increase payroll journal entries, time records, and expense reports.

master_data:
  employees:
    count: 200                     # Drives payroll and HR volume
    hierarchy_depth: 5

hr:
  enabled: true                    # Activates payroll, time, and expenses
  payroll:
    pay_frequency: "biweekly"      # 26 pay periods per year
  expenses:
    submission_rate: 0.40          # 40% of employees submit per month

Examples

Small Company

master_data:
  vendors:
    count: 50
  customers:
    count: 100
  materials:
    count: 200
  fixed_assets:
    count: 20
  employees:
    count: 10
    hierarchy_depth: 2

Large Enterprise

master_data:
  vendors:
    count: 2000
    intercompany_ratio: 0.1
  customers:
    count: 10000
    intercompany_ratio: 0.1
  materials:
    count: 50000
  fixed_assets:
    count: 5000
  employees:
    count: 500
    hierarchy_depth: 8

Validation

CheckRule
count> 0
intercompany_ratio0.0 - 1.0
hierarchy_depth≥ 1
Distribution weightsSum = 1.0

See Also