Document Details

Purpose

This map shows the end-to-end migration process, including source validation, matching, exception handling, reconciliation, approval gates, and export outcomes.

View or Download

Document Preview

Process Map

Scope

This artifact maps the Odin to Lunchtab balance transfer application as implemented in the repository.

End-To-End Business Process

flowchart TD
    A[Operator obtains Odin account balance workbook] --> B[Operator obtains Lunchtab users CSV]
    B --> C[Select files and matching profile]
    C --> D[Validate and preview reconciliation]
    D --> E{Inputs valid}
    E -->|No| F[Correct source files or profile]
    E -->|Yes| G[Run automated reconciliation]
    G --> H[Generate transfer reports and audit evidence]
    H --> I{Manual exceptions remain}
    I -->|No| L[Proceed to InitialBalances transfer]
    I -->|Yes| J[Use candidate report or staff review to edit transfer copy]
    J --> K[Audit manual reconciliation changes]
    K --> L
    L --> M[Select reconciled transfer and InitialBalances CSV]
    M --> N[Validate and preflight]
    N --> O{Blocking exceptions}
    O -->|Yes| P[Run blocked audit and correct data]
    O -->|No| Q[Create processed InitialBalances import and audit evidence]

Process 1: Automated Reconciliation

Trigger: Operator selects an Odin .xlsx report and a Lunchtab users .csv export.

Actors: Operations staff, Odin Cloud POS export, Lunchtab users export, local desktop application.

Inputs:

  • Odin workbook with account type, ID number, deposits, spendings, balance, and student name.
  • Lunchtab users CSV with identity, login, family, and balance columns.
  • Matching profile, either Legacy Default or a configured venue profile.
  • Optional output location.

Outputs:

  • Cleaned Odin CSV.
  • Processed Odin CSV with split names.
  • Processed - Odin to Lunchtab Balance Transfer.csv.
  • Exception reports.
  • Accepted match audit.
  • Reconciliation audit-control summary.
  • Candidate match report.
  • Run summary and run-manifest.json.

Observed process:

  1. Extract valid and malformed Odin rows.
  2. Validate Lunchtab headers required by the selected profile.
  3. Apply crosswalks and ordered matching rules.
  4. Validate matched identity by surname and first/preferred name.
  5. Insert accepted balances into a copy of the Lunchtab users export.
  6. Quarantine malformed, ambiguous, duplicate, stale, invalid, or unmatched rows.
  7. Generate audit-control and run-summary evidence.
  8. Publish the complete run folder atomically through a staging directory.

Process 2: Manual Exception Review

Trigger: Automated reconciliation creates manual-review exceptions or the operator chooses to audit an edited transfer.

Actors: Operations staff, local desktop application.

Inputs:

  • Original automated transfer CSV.
  • Staff-edited copy of the transfer CSV.
  • Candidate match report or checklist, when used.

Outputs:

  • Manual reconciliation delta audit.
  • Manual reconciliation summary.
  • Manual reconciliation manifest.
  • Optional proposed edited transfer and proposed transfer selection audit from candidate selections.

Observed process:

  1. Compare original and edited transfer files with matching headers and row counts.
  2. Treat a previously blank OdinBalanceAmount filled by staff as a normal manual resolution.
  3. Flag changed automated balances, cleared automated balances, changed family codes, identity-field edits, and other non-balance edits.
  4. Block downstream use when an edited manual amount is invalid.

Process 3: InitialBalances Transfer

Trigger: Operator has a reconciled transfer CSV and a Lunchtab InitialBalances CSV.

Actors: Operations staff, Lunchtab InitialBalances export, local desktop application.

Inputs:

  • Reconciled transfer CSV containing DefaultFamilyCode and OdinBalanceAmount.
  • InitialBalances CSV containing exactly FamilyName,FamilyCode,Amount.

Outputs:

  • InitialBalances family-level audit.
  • InitialBalances exception report.
  • InitialBalances audit-control summary.
  • InitialBalances run summary.
  • initial-balances-manifest.json.
  • Processed InitialBalances import only when the run is clean.

Observed process:

  1. Validate required headers and file type.
  2. Aggregate populated Odin balances by case-sensitive family code.
  3. Add aggregated amounts to existing InitialBalances amounts, treating blank target amounts as zero.
  4. Identify blank family codes, invalid amounts, unmatched family codes, duplicate target family codes, and invalid target amounts.
  5. Write audit evidence for clean and blocked runs.
  6. Publish a processed import only when blocking exceptions are absent and control totals pass.

Process Handoffs

Handoff From To Evidence quality
Source exports selected Operator Reconciliation workflow Observed
Matching profile chosen Operator Reconciliation workflow Observed
Automated transfer produced Reconciliation workflow Manual reconciliation or InitialBalances workflow Observed
Candidate guidance produced Reconciliation workflow Operator manual review Observed
Edited transfer audited Operator Manual reconciliation review Observed
Reconciled transfer submitted Operator InitialBalances workflow Observed
Clean import file produced InitialBalances workflow Lunchtab import activity Inferred from import-file naming and README

Related case study