Module B · Go-Live Plan

E-Tax — CarPro → INet

ดึงใบจาก carpro-live (CarPro Web integration) → inet.* → ส่งขึ้น INet · ปรับจาก INET Action Plan มาเป็นฝั่ง i24

—
วันเหลือถึง Go-Live Data Warehouse
5 ต.ค. 2026 · จันทร์
E-Tax One (MCR) · 1 ต.ค.
100%
🧩 งานพัฒนา (A–F)
พร้อม · T03 + CN(81) + หน้าจอเจ้าหน้าที่
75%
🏛️ Ops / Infra / Legal (G–O)
ตัวกำหนดจริง · SIT ✅ · UAT ✅ · Docker โฮสต์ prod ✅
🚦 Critical path
subdomain DNS · ตัด APP_ENV=prod
INet prod key · CARPRO_WEB_COOKIE
📋 Go-Live checklist (อัปเดต 30 ก.ย.)
30 ก.ย. E-Tax One 3 Users
1 ต.ค. Go-Live E-Tax One + นำเข้า CarPro
3 ต.ค. Manual + Login
5 ต.ค. Go-Live DW + Job
🚦

Critical Path — อะไรกำหนดวัน Go-Live

โค้ด + SIT + UAT + Docker บนโฮสต์ prod พร้อม · CI/CD ใน repo แล้ว · เหลือ runner + DNS + env

✅ โฮสต์ prod i24-web (172.17.26.91) — Docker ขึ้นแล้ว 29 ก.ย. · แอปยัง APP_ENV=preprod / path /preprod

🌐 Subdomain DNSงาน K ที่เหลือ

ชี้โดเมนมาที่ 172.17.26.91 + SG/TLS · ตอนนี้เข้าผ่าน ssh -N -L 18080:localhost:8080 i24-web แล้วเปิด /preprod/ · ตัด APP_ENV=prod เมื่อ go-live

🔑 Env: INet prod + CARPRO_WEB_COOKIEภายใน 30 ก.ย.

ขอ INet prod endpoint/key/cert · cookie user บริการ carpro-live แล้วลอง mapping preview จากโฮสต์นี้ · ไฟล์ cmd/.env.preprod / .env.production ใน repo ยังเป็น preprod

🖥️ Deploy Docker + CI/CDstack ✅ 29 ก.ย. · pipeline 30 ก.ย.

nginx :8080 → api + worker-1/2 + cron · scripts/deploy.sh · สาย push main → test → deploy · เหลือลง runner label i24-web · dry-run carpro_web 1 batch · ดู docs/deployment/cicd.md

👤 E-Tax One (INET)30 ก.ย. / 1 ต.ค.

ส่งมอบ E-Tax One สำหรับผู้ใช้งาน 3 Users (30 ก.ย.) → Go-Live E-Tax One (MCR) 1 ต.ค.

📖 Data Warehouse → Go-Live3 ต.ค. / 5 ต.ค.

3 ต.ค. จัดส่ง User Manual + User Login · 5 ต.ค. Go-Live Data Warehouse + เปิด job scheduler etax_transform ส่งข้อมูลไป E-Tax One

📅

ไทม์ไลน์รายสัปดาห์

ส.ค. → ต.ค. 2026
# การดำเนินการ ผู้รับผิดชอบ ส.ค. กันยายน ตุลาคม สถานะ
24–30 31–6 7–13 14–20 21–27 28–30 1–2 3–4 5
งานปกติ เสร็จแล้ว Critical path Go-Live ◆ = milestone
📊

ความคืบหน้ารายงาน (Workstream tracker)

คลิกกรองตามสถานะได้
🏁

Milestones สำคัญ

🔑 Key facts (sync จากโค้ดจริง)

  • ใบลดหนี้ (CN) = มี APPLY_TO_INVOICE_NO AND INVOICE_AMOUNT < 0 AND ใบต้นฉบับมีใบกำกับภาษี → 81
  • Doc type: amount ≥ 0 + มี tit → T03 · amount ≥ 0 ไม่มี tit → บล็อก · amount < 0 ไม่เข้าเกณฑ์ CN → บล็อก+guard
  • F34 payment จาก CASH_TRANSACTIONS (via tit.RECEIPT) + CREDIT_CARDS · mask 4 หลักท้าย · คั่น " | " Title Case (10 ก.ย.)
  • F68 WHT = Σ(DEBIT−CREDIT) จาก ACCOUNT_TRANS (ACCOUNT_NAME='WHT')
  • F70 = Agreement No.: เสมอ · ใบลดหนี้ต่อ Reason: {credit_note_reason} (REMARKS.RMK_REMARK) · ต่อท้าย F34 · ไม่ใช้ agreement_remark
  • โฮสต์ prod = Linux i24-web 172.17.26.91 (Docker) · แอปยัง APP_ENV=preprod + APP_BASE_PATH=/preprod · Postgres 172.17.24.43
  • CI/CD (30 ก.ย.) = GitHub Actions CI: test บน ubuntu แล้ว deploy บน self-hosted runner label i24-web → scripts/deploy.sh · ต้องลง runner บนโฮสต์ · ไม่ใส่ cmd/.env ใน Actions · รายละเอียด docs/deployment/cicd.md
  • ต้นทาง Phase 1 = carpro_web: invoice list + PDF PrintTaxInvoicThai + IREM/agreement/driver + Handle Payment (หา H07 ของ 81) · env CARPRO_WEB_COOKIE
  • Job = /e-tax/job-scheduler 12:00 / 18:00 / 23:00 · insert ใบใหม่จาก carpro-live เท่านั้น · ส่งซ้ำ = ปุ่มบนการ์ด
  • Hub HTML (deploy/nginx/html ลิงก์ /etax-uat/) = UAT Windows เท่านั้น · Docker บน i24-web ไม่ใช้ hub — nginx proxy ทั้ง / ไป API ที่ prefix /preprod
  • Raw/staging (i24-data-platform) → Phase 2 · intake staging ถูกปิดในโค้ด

⚠️ ความเสี่ยง & งานค้าง

  • RISKCARPRO_WEB_COOKIE หมดอายุ → ทั้ง batch fail · ใช้ user บริการ + เช็ค preview ทุกเช้า · ต่อ cookie แล้ว Re-Sync
  • RISKcarpro-live ล่ม / layout PDF เปลี่ยน → validator บล็อกก่อนส่ง · error ต่อใบโชว์ admin
  • RISKTimeline สั้น — DNS + INet prod key + cookie ต้องทันนำเข้า 1 ต.ค. · stack โฮสต์ขึ้นแล้ว 29 ก.ย. · ไม่เปิด job 5 ต.ค. โดยไม่มี dry-run
  • RISKนำเข้า 1–4 ต.ค. — job scheduler ต้องปิดจนถึง 5 ต.ค. เพื่อไม่ส่ง E-Tax One ก่อนวัน
  • ปิดแล้วSDBAPP raw sync — ไม่อยู่บน critical path (ใช้ CarPro Web) → Phase 2
  • ปิดแล้วบ.อ.01 3 ก.ย. · SIT 15 ก.ย. · UAT 22 ก.ย.
  • TODOA6 — footer static text (MVP-B, ไม่บล็อก)