Master Data Administration

Business perspective: Master Data Administration

1. Business Summary

Maintains the reference data that downstream operations depend on: brands, offices, departments, currencies, taxes, languages, subject matters, content/job types, statuses, calendar templates, holidays, custom fields, payment methods, taxes, etc.

2. Business Value

Standardizes operational vocabulary, drives validation, enables consistent reporting, supports multi-brand and multi-currency operations.

3. Users / Stakeholders

Administrators, finance, operations leads.

4. Workflows

  • CRUD via scaffolded admin controllers (AdminAppController).
  • Calendar definition: CalendarTemplate (per Country) → CalendarDay/CalendarHoliday/CalendarTime.
  • Tax: Tax, BrandJobTax (per brand × job-type override), OverProductionRule.
  • Languages: LanguageInfo joins SourceLanguage / TargetLanguage / LanguageType / LanguageInfoSource / LanguageStatus.
  • Custom fields: Admin defines and binds to entities.
  • Statuses & types: Many enumerations: AccountStatus, OpportunityStatus, ProjectStatus, TaskStatus, CaseStatus, PoStatus, PaymentStatus, etc.

5. Sub-Features (representative)

  • Brands / Offices / Departments / Roles / JobTitles.
  • Currencies / Taxes / BrandJobTaxes / OverProductionRules.
  • Languages: SourceLanguage / TargetLanguage / LanguageInfo / LanguageGroup / LanguagesRegion / SubjectMatters.
  • Calendars: CalendarTemplate / Day / Holiday / Time.
  • Statuses & lifecycles for every operational module.
  • Custom fields and entity bindings.
  • Engineering/DTP/Graphics/Programming applications, layout applications.
  • Checklists, ChecklistGroups, ChecklistsGroupsChecklists.
  • ResourceTypes, EmployeeTypes, VendorTypes.

6. Business Rules

  • Most transactional records reference master data via FKs; deletion is unsafe and typically blocked by relations.
  • BrandJobTax allows brand-specific tax overrides.
  • CalendarTemplate per Country; resource availability and scheduling honor template + holidays.

7. Data Entities

Each admin model under app/Plugin/admin/Model/* (≈ 200 reference tables observed).

8. Entry Points

Admin scaffolded CRUD controllers under app/Plugin/admin/Controller/.

9. Inputs & Outputs

  • Inputs: admin form posts.
  • Outputs: dropdown values, validation lookups, reporting dimensions.

10. Integrations

  • SAP: certain master entities synchronized (Tax / Currency / Branch SAP IDs, BrandJobTax used in vendor-invoice line items).

11. Calculations / Logic

  • BrandJobTax drives tax group selection in invoice generation.
  • Calendar drives availability windows and deadline calculations.

12. Status Lifecycle

N/A (reference). However, many master tables themselves embed enumerations consumed elsewhere.

13. Permissions

Restricted to administrative roles.

14. Reports & KPIs

Counts and integrity reports against master tables (e.g., orphan FKs).

15. Risks & Observations

  • Scaffolded CRUD provides minimal validation — broad change radius.
  • Soft delete is rare; cascading deletes may orphan transactional records.
  • Multi-brand parameters scattered across master tables (e.g., BrandJobTax, BrandsTemplates) require coordinated maintenance.

16. Source Code Evidence

  • app/Plugin/admin/Controller/* (≈ 200 controllers).
  • app/Plugin/admin/Model/*.
  • app/Plugin/admin/Controller/CalendarTemplatesController.php, CalendarDaysController.php, CalendarHolidaysController.php, CalendarTimesController.php.
  • app/Plugin/admin/Controller/BrandJobTaxesController.php, OverProductionRulesController.php.
  • app/Plugin/admin/Controller/CustomFieldsController.php, CustomFieldsEntitiesController.php.

← Deep dives index