Handover workspace

ERS, Todo, OfferReview, and Docu in one view

Imported from live server docs, code structure, and deployment notes.

Jul 30, 2026, 9:57 AM

ERS

Offer Letter and Renewal System — User Manual

**Last updated:** 2026-07-14

docs/USER-MANUAL.md

Updated Jul 14, 2026, 7:17 AM

Offer Letter and Renewal System — User Manual

Last updated: 2026-07-14

This manual covers the day-to-day flow for HR, Manager, and CEO users.

Overview

The system supports two case types:

  • Renewal: HR prepares the case, manager justification is collected, and CEO approves and signs.
  • New Hire: HR prepares the case, uploads the offer letter, and CEO can approve and sign directly without manager justification.

CEO users enter the system through /dashboard. HR users enter through /hr/renewals, and Managers continue to enter through their assigned request list.

Navigation

  • Use the grouped left navigation on desktop or the menu button on mobile.
  • Breadcrumbs show the current location and link back to the relevant work list.
  • Case pages have section links for quickly moving among evidence, actions, and documents.
  • Case-list filters are retained when opening a case and using Back to cases.
  • Open the user menu for Help, About ERS, or Sign out. About ERS shows the deployed version and build identifier.

HR Workflow

  1. Open /hr/renewals/new.
  2. Choose Renewal or New Hire.
  3. Upload the offer-letter PDF and wait for extraction and document validation.
  4. Select an existing employee or review the extracted new-employee profile.
  5. Confirm the employee name, department, role title, current grade, employment type, and manager.
  6. Complete the applicable grade, salary, currency, and date fields.
  7. Replace any Unknown, Unassigned, or Unspecified placeholder with confirmed information.
  8. For a foreign contractor without an internal grade, enter an explicit category such as FOREIGN CONTRACTOR - NO INTERNAL GRADE.
  9. Create the case.

Evaluation and performance-report PDFs are rejected as offer letters. Extraction never creates an employee record until HR has reviewed the required profile and submits the form.

Renewal cases:

  • Request manager justification from the case detail page.
  • Upload any supporting documents.
  • Save the performance snapshot.
  • The snapshot includes Review Period (required), Overall Score, HR Notes, and Manager Comments.
  • Once all required inputs are present, the case moves to CEO review.
  • Manager outreach is blocked until the employee profile, offer letter, case dates, salaries, currency, and applicable grade are complete.
  • If the latest document shows [stored file missing], use the recovery upload form on the case detail page.

New-hire cases:

  • Upload the offer letter on the case detail page.
  • The case moves to CEO review automatically after the latest offer letter is present.

Manager Workflow

Managers use /manager/requests to open assigned renewal cases and submit justification.

  • New-hire cases do not appear in manager requests.
  • Guest justification links can be shared when manager login is not needed.

CEO Workflow

CEO uses /ceo/renewals to review cases.

  • Use /ceo/signature to upload the CEO signature PNG and review the current signature preview.
  • If the current signature record exists but the PNG is missing, re-upload it from /ceo/signature.

Renewal cases require:

  • latest offer letter
  • performance snapshot
  • submitted manager justification

New-hire cases require:

  • latest offer letter

Both case types also require a complete employee profile, valid dates, positive salary values, a three-letter currency code, and an applicable grade before CEO review.

The CEO Decision Brief near the top of each case gives the proposal's same-grade percentile, quartiles, range, median difference, peer confidence, salary movement, contract term, and any available same-department or exact-role comparison. It also brings together performance, manager recommendation, grade movement, required evidence, and contract variation risk.

Read the posture as advisory:

  • Aligned: no material exception is recorded.
  • Needs Review: inspect the highlighted peer, increase, evidence, or risk signal.
  • Caution: a material conflicting signal should be resolved before approval.
  • Incomplete: required decision evidence is missing.

The employee under review is not counted as their own peer. Fewer than five peers is insufficient for a curve classification, and the brief never approves or rejects a case automatically.

If manager justification is missing, incomplete, or insufficient for approval, CEO can use Ask Manager to Resubmit Justification on the case review page instead of rejecting the case. The system sends a fresh manager link and moves the case back to PENDING_MANAGER until the manager submits again.

After approval, CEO can sign the offer letter PDF. Signing closes the case.

  • If the person declines after signing, open the signed CEO case and click Mark as declined. ERS changes the case to DECLINED, removes the approved compensation from active analytics, notifies HR, and keeps the signed PDF for audit.
  • If the latest offer letter or signed PDF shows [stored file missing], use the recovery upload form on the case detail page.

AI contract review and signing

On an HR or CEO case page, use Run AI Contract Review to analyze the latest offer letter.

  • Signature suggestions identify the page, coordinates, size, confidence, and placement rationale.
  • Contract comparison uses a previous signed contract when a baseline is available.
  • Review variation risk, differences, missing clauses, warnings, and recommendations.
  • In the PDF signer, use Use Suggestion, inspect the placement, adjust it if needed, and then sign.

AI suggestions do not approve or sign a contract automatically.

Management Analytics

Management Analytics is restricted to CEO users. Open /dashboard. The current filters remain active when switching between views. The dashboard defaults to a combined Renewal and New Hire portfolio view; use the Case Type filter to view Renewal-only or New-Hire-only curves.

Executive Overview

  • active employees and cases in scope
  • current and projected monthly payroll
  • next-12-month increase impact
  • large increases, exceptions, and cases ready for CEO
  • compact grade position and decision-attention tables

Grade Curve

Use the Table or Chart option.

  • The table shows peer count, P25, median, P75, projected average, and curve counts.
  • The chart shows min/max whiskers, the P25-P75 box, median, projected-average diamond, and one clickable dot for each proposed employee salary.
  • Hover a dot to see employee, proposed salary, percentile, and curve position.
  • Click a dot to open the employee's case.

Chart colors classify proposed salaries as below, on, above, far above/below, or insufficient data. Peer groups below five are not classified; groups below ten show limited confidence.

Increases & Outliers

Review current and proposed salaries, increase amount and percentage, grade percentile, performance score, manager recommendation, contract risk, and attention flags. Large-increase thresholds are controlled in Admin Settings.

Budget & Risk

Review committed and pending monthly impact, annualized impact, next-12-month impact, finite contract-term impact, department and manager summaries, exceptions, and salary-data coverage. Open-ended contracts are excluded from finite contract-term impact.

Filters and export

Filters include as-of date, case start period, case type, department, grade, manager, case status, curve position, and minimum increase. Export CSV exports the filtered employee rows and creates a CEO audit record. CSV text is protected against spreadsheet formula execution.

Admin Pages

  • /admin/settings
  • /admin/system-health
  • /admin/audit
  • /admin/users

Use these pages for settings, audit review, and account administration.

System Health shows the deployed application build, database connectivity, and OpenAI connectivity. Release version and build identity are deployment-controlled and cannot be edited in settings.

Management analytics settings include:

  • IDR-to-MYR comparison rate
  • large-increase percentage
  • large-increase amount in MYR
  • high-curve percentile threshold

Important Rules

  • Locked cases cannot be edited by HR or Manager after CEO decision.
  • Signed and declined signed cases are read-only for normal workflow actions.
  • HR and CEO can still re-upload a latest missing stored document to restore downloads or signing.
  • Email notifications are queued through the outbox and dispatched by the internal email worker.

HR and CEO can delete wrong or duplicate uploaded supporting documents directly from the case detail document list before approval. Signed offer files stay protected. If the latest offer letter is deleted while a case is already in CEO review, ERS moves the case back to DRAFT so HR can upload the correct document. If all uploaded files on a case are wrong, HR or CEO can use Delete All Documents on the case detail page before approval to remove the full batch in one action. If the whole case was created by mistake, HR or CEO can use Delete Case from the case detail page while the case is still pre-approval. Approved, rejected, signed, or compensation-linked cases stay protected from deletion.

On the CEO case list, Approved - Pending Signature means the CEO decision is done but the final PDF signature has not happened yet. Signed - Closed means the PDF was signed and the case is finished. Declined by Candidate means a signed offer was later declined and its approved compensation was voided. If CEO has asked a manager to update an incomplete justification, the case shows Resubmission Requested with an amber follow-up badge.

Analytics uses only the latest compensation effective on or before the selected as-of date. If no compensation exists, the latest renewal's current salary may be shown as inferred. Missing or unsupported salary data is disclosed in Data Coverage rather than silently treated as zero. Declined signed offers are excluded from default analytics. Use the status filter DECLINED when you need to review those cases separately.

If a salary was entered at the wrong scale, such as RM 4 instead of RM 4,000, do not change the proposed or approved salary automatically. Confirm the source value, correct only the erroneous field, and ensure the audit log records the before value, after value, currency, and reason.