T1 Electrical SolutionsT1 Platform Docs

T1 Platform Documentation

A Fumadocs-compatible documentation set for the T1 workforce, timesheet, payroll, allowance, invoice, and mobile API platform.

T1 Platform Documentation

This documentation describes how the T1 Platform works as a complete system. It is written as Fumadocs content under content/docs, with each folder carrying its own meta.json for page ordering.

What this platform does

T1 Platform is a Symfony 7 workforce platform for electrical timesheets, expenses, client/project configuration, supervisor review, payroll approval, finance review, invoice generation, Xero submission, mobile APIs, and award/allowance calculation previews.

The core loop is:

  1. Admin creates users, clients, projects, project configuration, rates, allowances, materials, cost codes, work conditions, and matrix rules.
  2. Electricians submit weekly timesheets and expenses against assigned projects.
  3. Supervisors review submissions and accept or reject them.
  4. Payroll or Client Admin approves accepted work.
  5. Finance and Payroll workflows produce invoice/payroll outputs and submit eligible records to Xero.
  6. Calculation subscribers keep allowance lines, award snapshots, and risk signals in sync when the underlying timesheet data changes.

Primary code areas

AreaMain files
Web portalsapp/src/Controller/Portal/*Controller.php
Mobile/API v2app/src/Controller/Api/V2/*Controller.php
Entities and matricesapp/src/Entity/*.php, especially ClientAllowance, Timesheet, TimeEntry, TimesheetAllowanceLine, TimesheetCalculation
Allowance engineapp/src/Service/Payroll/AllowanceMatrixCalculator.php
Award engineapp/src/Service/Payroll/AwardTimesheetCalculator.php, AwardTimesheetCalculationManager.php
Auto recalculationTimesheetAllowanceCalculationSubscriber.php, TimesheetAwardCalculationSubscriber.php
Workflow and auditTimesheetEditPolicy.php, TimesheetChangeLogger.php, TimesheetSnapshotBuilder.php
Xero and invoicesXeroIntegrationService.php, XeroBillSubmissionService.php, PayrollInvoiceService.php, InvoicePdfViewBuilder.php

Generated graph context

A graphify source map was generated for first-party backend source at t1-platform/app/src.

Outputs:

  • graphify-out/graph.html
  • graphify-out/GRAPH_REPORT.md
  • graphify-out/graph.json

The graph identified the biggest coupling points as ClientController, AdminClientManagementController, FinanceController, PayrollFinanceController, PayrollController, Timesheet, Project, User, SupervisorController, and Expense. That matches the architecture: portal controllers are the main orchestration layer, while domain services and subscribers keep calculation behavior consistent.

Reading order

Start with:

  1. Platform overview
  2. End-to-end workflow
  3. Allowance matrix overview
  4. Allowance calculation engine
  5. Award calculation engine
  6. API and mobile integration

On this page