> คู่มือนี้เป็นแผนการสอนและชุด Workshop จำลองเท่านั้น ทุกแอป ไฟล์ และผลลัพธ์เป็น Classroom Prototype จากข้อมูลสังเคราะห์ ไม่ใช่ระบบ Payroll, Accounting, Storefront หรือเครื่องมือ Production และห้ามใช้กับงานจริง

# Accounting Insights & Excel Builder

Local-only Day 2 workshop app for synthetic diamond lot costs, sales, AR, and document controls. It does not authenticate, persist, transmit, email, file taxes, post to an ERP, or change an uploaded source file.

## Run locally

1. From this folder, run `node serve.mjs`.
2. Open `http://127.0.0.1:4174`.
3. Select one to three prepared `.csv` or `.xlsx` files, each no larger than 8 MB.
4. Review every prepared mapping and select **Approve mapping**. Calculation stays disabled until the status is exactly `Approved`.
5. Review reconciliation counts, KPI cards, source trace, and every exception before exporting.

## Stable controls

- The first valid row in source file / sheet / row order wins. Later duplicate business keys or source keys are exceptions.
- Invalid dates, missing mappings, zero denominators, and unmatched payments are explicit review exceptions.
- Uploaded sources remain untouched. Formula-like strings are neutralized in CSV and XLSX output cells.
- `Accounting-Insights-Report.xlsx` has exactly seven sheets: Source Inventory, Data Dictionary, Normalized Data, Calculations, Summary, Dashboard, and Exceptions.
- ExcelJS 4.4.0 is vendored only for in-browser upload/export. Course-authored XLSX files are built separately with `@oai/artifact-tool`.

## ขอบเขตการเรียนรู้

ใช้ข้อมูลสังเคราะห์เท่านั้น ตรวจ mapping และ exception โดยมนุษย์ก่อนใช้ผลลัพธ์ ไฟล์ export เป็นหลักฐานการฝึก ไม่ใช่รายการบัญชีที่ผ่านการอนุมัติ และไม่มีการส่งข้อมูลหรือบันทึกเข้า ERP.
