← หน้ารวม (Hub) My 5 WRICEFs →
TAX-FRM-2 · ★ my object (scope TBC) ANONYMIZED · PUBLIC EDITION WHT Form · Myanmar

TAX-FRM-2 — WHT Certificate Form
พิมพ์หนังสือรับรองหัก ณ ที่จ่าย ยื่นกรมสรรพากรเมียนมา (IRD) · แบบ IRD(IT)-05-01

Smart Form · ZTAXA_F01_MM3 Type · Form (Retrofit) Process · 01.01.07.03 WHT Priority · P1 · Medium
Source: FD TAX-FRM-2 v1.0 (10/09/2025) · Business Owner: Client Tax team · Geography: Myanmar · ชื่อผู้ review ในเอกสารต้นฉบับถูกตัดออกเพื่อความเป็นส่วนตัว

หนึ่งใน 3 object หลักที่คุณดูแล (คู่กับ RPT-2 / RPT-1). object นี้เป็น Form (Smart Form) ไม่ใช่ report — หน้าที่คือ generate + print หนังสือรับรอง WHT ตามฟอร์มทางการของเมียนมา IRD(IT)-05-01 (ออกตาม Section 16(b) ของ Income Tax Law). แก่นที่ต้องเข้าใจ = เลือกสกุลเงินพิมพ์ (MMK / USD / doc) และ logic ใส่อัตรา DTA ในช่อง Remark

Key Takeaways — TAX-FRM-2
Scope ยังไม่ยืนยัน (D6): ต้องยืนยันกับ project lead ก่อนลงแรงต่อ · คอร์ส TAX-406 WHT-MM สอนแล้ว 8-Jul-2026 คู่กับ RPT-8 · MM WHT types B0 resident / B2 non-resident หักตอนจ่าย
สิ่งที่ต้องเคลียร์ก่อนเทส (FUT notes, 7-Sep):
1

Object Overview

WRICEF IDTAX-FRM-2
TitleWHT Form
ModuleSAP Finance — Tax Accounting
Descriptiongenerate + print หนังสือรับรองหัก ณ ที่จ่าย ยื่นกรมสรรพากรเมียนมา (Internal Revenue Department)
TypeForm (Smart Form)
NatureRetrofit with change
Business Process01.01.07.03 Withholding Tax
Complexity / PriorityMedium · P1
Smart Form / LegacyZTAXA_F01_MM3 · “MM3 Myanmar Withholding Tax Certificate”
Trigger / Batch programZTAXA_R01 · post invoice ที่มี WHT (FB60 / MIRO / FB01)
Cert form no.IRD(IT)-05-01 · Under Section 16(b), Income Tax Law
DependencyTAX-RPT-8 (MM: WHT Report) — ต้องมีเพื่อรัน
GeographyMyanmar
Related docs: BPE = [S/4 Program]_D2.1_Blueprint_01.01.07 Tax Accounting · Previous FS = 70_390 FS ZTAXA_F01 (MM3-Myanmar IRD-IT-05-01)
2

วัตถุประสงค์ + การเลือกสกุลเงินพิมพ์

ต้องพิมพ์ใบรับรองได้ทั้ง MMK และ USD — สกุลขึ้นกับ “สกุลที่จ่าย (payment currency)”

สกุลที่พิมพ์บนใบรับรอง

Rule 1
จ่ายเป็น MMK
payment currency = MMK → พิมพ์ใบรับรองเป็น MMK
Rule 2
จ่ายไม่ใช่ MMK / USD
payment currency ≠ MMK และ ≠ USD → พิมพ์เป็น USD (global currency)
Rule 3
Document Currency
กรณีต้องพิมพ์ตาม สกุลเอกสารจริง (เช่น THB) → เลือก radio “Document Currency”
จำง่าย ๆ: จ่าย MMK → MMK · อย่างอื่น → USD · ยกเว้นสั่งพิมพ์ตามสกุลเอกสาร (THB ฯลฯ) ด้วย radio “Document Currency”

ยอดเงินดึงจากไหน (WITH_ITEM 3 ชุด)

field ยอดเงิน ([14] ยอดจ่าย · [15] ยอด WHT · [16]/[17] รวม) ทั้งหมดมาจาก WITH_ITEM โดยส่งคีย์ BUKRS + GJAHR + WHT code ≠ blank แล้วเลือก field ตามสกุล:

โหมด (radio)เงื่อนไขยอดจ่าย [14/16]ยอด WHT [15/17]
LC1/LC2 · MMKBKPF-WAERS = MMKWT_QSSHHWT_QBSHH
LC1/LC2 · USDBKPF-WAERS ≠ MMKWT_QSSH2WT_QBSH2
Document Currencyเลือก radio docWT_QSSHBWT_QBSHB
เกร็ด suffix ของ WITH_ITEM: ...HH = local currency 1 (MMK) · ...H2 = local currency 2 (USD) · ...HB = document currency · [18] Total in Letter = ยอดรวมเป็นตัวอักษร
3

ตัวฟอร์ม — IRD(IT)-05-01

โครงใบรับรอง: 2 ฝ่าย (ผู้ถูกหัก / ผู้หัก) → ตารางประเภทเงินได้ + อัตรา → สรุปยอด → ลายเซ็น

ประเภทเงินได้ + อัตราหัก (ในตารางกลางฟอร์ม)

SrType of PaymentResidentNon-resident foreigner
1Interests—15%
2Royalties (licenses, trademarks, patent rights ฯลฯ)10%15%
3Payment by Union-Level orgs / ministries / state govs / SEE / MDO — ซื้อของ/งาน/บริการ (tender/quotation/auction/contract)2%2.5%
4Payment by business entities (partnership / JV / company / association / cooperative / foreign & foreign-owned) — ซื้อของ/งาน/บริการ—2.5%
5Payment for professions & services — healthcare providers (private centers, resident)2%—
DTA override: ถ้าเป็นประเทศที่มี DTA กับเมียนมา (UK · Vietnam · Korea · India · Malaysia · Singapore · Laos · Thailand) และเข้าเงื่อนไข Sr.1(b) / 2(b) → ใส่อัตรา DTA ที่ลดแล้วในช่อง Remark พร้อมชื่อประเทศ (เช่น “Thailand 8%”) แทนอัตรามาตรฐาน
4

Selection Screen — สิ่งที่เปลี่ยน

รันบนจอ Generic Withholding Tax Reporting — แก้เฉพาะส่วน Display Currency

เชื่อมกับ test: radio 2 ตัวนี้ = TC-004 (LC1/LC2) และ TC-008 (Document Currency) · checkbox ลายเซ็น = TC-006 / TC-007
5

Logic Changes (3 ข้อ)

อ่าน 3 ข้อนี้ครบ = เข้าใจหัวใจของ object นี้

Logic 1 — radio “LC1/LC2 Currency”

ส่งคีย์ WITH_ITEM = company code (BUKRS) + fiscal year (GJAHR) + WHT code ≠ blank แล้วเลือก field ตามสกุลของ BKPF-WAERS:

Logic 2 — radio “Document Currency”

คีย์เดียวกัน แต่ใช้ field สกุลเอกสาร: [14]=WT_QSSHB · [15]=WT_QBSHB · [16]=SUM(QSSHB) · [17]=SUM(QBSHB) · [18]=amount in words

Logic 3 — อัตรา DTA ในช่อง Remark

อ่าน WITH_ITEM-WT_WITHCD (ตาม BUKRS + GJAHR) ถ้าเป็น DTA code ให้พิมพ์อัตราในช่อง Remark แล้ว concatenate กับชื่อประเทศ vendor · ถ้าไม่ใช่ code เหล่านี้ = ปล่อยว่าง

WHT CodeRateWHT CodeRate
D18%D210%
H18%H210%
D35%D410%
H35%H410%

หาชื่อประเทศ vendor ยังไง

1 · Payment
เอกสารจ่าย
payment doc + BUKRS + GJAHR
2 · Vendor
BSAK
→ Supplier LIFNR
3 · Country code
LFA1
LIFNR → LAND1 (เช่น TH)
4 · Country name
T005T
LAND1 + SPRAS=EN → LANDX (เช่น Thailand)
ตัวอย่างผลลัพธ์ Remark: vendor ไทย + tax code D1 → พิมพ์ “Thailand 8%” · tax code D3 → “Thailand 5%”
6

Data / Tax-ID Mapping

ช่องสำคัญที่ดึงข้ามตาราง — เลข Tax ID ทั้ง 2 ฝ่าย + ลายเซ็น/สาขา

ช่องในฟอร์มที่มา / Logic
Tax ID ผู้ถูกหัก (vendor) [2]ส่ง Vendor WT_ACCO → DFKKBPTAXNUM-PARTNER · เช็ค TAXTYPE = MM3/MM0 → ดึง TAXNUM หรือ TAXNUMXL (อันที่ไม่ว่าง) · ว่างทั้งคู่ = เว้นว่าง
Tax ID ผู้หัก (agent) [8]T001-STCEG โดย T001-BUKRS = WITH_ITEM-BUKRS
ชื่อประเทศ vendor (Remark)BSAK → LIFNR → LFA1-LAND1 → T005T-LANDX (SPRAS=EN)
ชื่อ + ตำแหน่งผู้ลงนาม [20][21]mapping ตาม company code จากตาราง ZTAXA_T09 (Name & Position — Myanmar)
รูปลายเซ็น / ตรา [19]bitmap เก็บใน SE78 (BMAP) ผูกกับ Smart Form ZTAXA_F01_MM3 · คุมด้วย checkbox “Signature Not Required”
ชื่อสาขา (branch)ตาราง ZTAXA_T13 (map profit center ↔ company description)
FI Doc [24]= Doc.No + “/” + Fiscal Year
หมายเหตุลายเซ็น: logic ลายเซ็น ไม่เปลี่ยน — เป็น reference (bitmap + ตาราง mapping) · แค่ checkbox คุมว่าจะโชว์หรือไม่
7

Tax Code Mapping (ECC → S/4)

โยงประเภทเงินได้บนฟอร์ม ↔ WHT type/code ใน SAP

SrType of PaymentECC (Type / Code)S/4 (Type / Codes)
1bInterest — Non-resident foreignB6 / A1B2 / A1,D1,D2,G1,H1,H2
2aRoyalty — ResidentB0 / —B0 / A2,G2
2bRoyalty — Non-resident foreignB6 / D3B2 / A3,D3,D4,G3,H3,H4
4bContract payment — Non-resident foreignB6 / A6B2 / A4,G4
สังเกต: ฝั่ง S/4 WHT type รวมเป็น B2 (invoice/payment) และ B0 — DTA code (D#/H#) อยู่ในกลุ่ม non-resident (1b, 2b) ตรงกับ Logic 3
8

Form Output Layout — 24 ช่อง

ตำแหน่งเลข [n] ตรงกับ mock ด้านบน (§3)

Header — ผู้ถูกหัก [1–6] + ผู้หัก [7–12]
#ผู้ถูกหัก (person withheld from)#ผู้หัก (WHT agent)
1Taxpayer Name7Taxpayer Name
2Taxpayer Identification No.8Taxpayer Identification No.
3Revenue office9Revenue office
4Citizen/National Registration Card No.10Citizen/National Registration Card No.
5Registration No.11Registration No.
6Full Address12Full Address
Item table [13–15] · Summary [16–18] · Footer [19–24]
#ช่องที่มา / หมายเหตุ
13Date of Payment—
14Amount of PaymentWITH_ITEM (QSSHH / QSSH2 / QSSHB ตามโหมด §2)
15Amount of Withholding TaxWITH_ITEM (QBSHH / QBSH2 / QBSHB)
16Total Amount of paymentSUM ของ [14]
17Total Amount of WTSUM ของ [15]
18Total Withholding tax (In Letter)ยอดรวมเป็นตัวอักษร
19Signaturebitmap (SE78) · คุมด้วย checkbox
20NameZTAXA_T09 ตาม company code
21PositionZTAXA_T09
22Company / Department / Organization—
23Date of issuing certificateDD/MM/YYYY
24FI Doc.= Doc.No + “/” + Fiscal Year

QR Code / Barcode = N/A · Logo = no change · No page break · print A4, English

9

Test Scenarios (Given / When / Then)

9 เคสจาก FD จริง (ทั้งหมดเป็น FD-authoritative) · จัดกลุ่ม: data · print · currency · signature · DTA

TC-001Data · fetch allFD
Givenข้อมูลครบตาม layout §8 (Form Output Layout) Whengenerate ฟอร์ม Thenดึงข้อมูลทุกช่องถูกต้องตาม layout
TC-002Data · missingFD
Givenข้อมูลบางช่อง ไม่มี ในตารางที่เกี่ยว Whengenerate ฟอร์ม Thenเว้นช่องนั้นว่าง + ขึ้นข้อความ “field xxx is not available in table xxx”
TC-003PrintFD
Givenต้องการพิมพ์ Whenสั่งพิมพ์ Thenพิมพ์ A4 ภาษา English
TC-004Currency · LC1/LC2FD
Givenเลือก radio “LC1/LC2 Currency” Whengenerate ฟอร์ม Thenถ้า txn currency = MMK → พิมพ์ MMK · ถ้าไม่ใช่ → global USD
TC-005Currency · errorFD
Givenradio “LC1/LC2” แต่สกุล ไม่ใช่ MMK หรือ USD Whengenerate ฟอร์ม Thenขึ้น error ที่เหมาะสม
TC-006Signature · showFD
Givencheckbox “Signature not require” ไม่ถูกเลือก Whengenerate ฟอร์ม Thenพิมพ์ ลายเซ็น บนฟอร์ม
TC-007Signature · hideFD
Givencheckbox “Signature not require” ถูกเลือก Whengenerate ฟอร์ม Thenไม่ พิมพ์ลายเซ็น
TC-008Currency · DocumentFD
Givenเลือก radio “Document Currency” Whengenerate ฟอร์ม Thenพิมพ์ตาม สกุลเอกสารเดียวกัน (เช่น THB)
TC-009DTA · RemarkFD
Givenvendor เป็นประเทศที่มี DTA (ตาม tax code D#/H#) Whengenerate ฟอร์ม Thenช่อง Remark ใส่ชื่อประเทศ + อัตรา (เช่น “Thailand 8%”)
10

Usage & Roles

Form TypeSmart Form (ZTAXA_F01_MM3) · print · English
TriggerManual / Batch (ZTAXA_R01) · post invoice WHT (FB60/MIRO/FB01)
FrequencyMonthly · Ad Hoc
Volume~80–100 / เดือน
PrinterLaser · A4 · no page break
RolesAccountant / Tax Accountant = generate · Business Analyst = display
DependencyTAX-RPT-8 (MM WHT Report) เพื่อรัน
Error handlingไม่มี exception ใหม่ (No new exception)
10.5

เทียบกับ TAX-FRM-1 — WHT Form อีกตัวของโปรเจกต์

ข้อมูลใหม่จาก FD ปี 2025 · สอง form ในกระบวนการเดียวกัน แต่คนละเทคโนโลยี คนละประเทศ

ทำไมต้องเทียบ: เวลาคุยกับ dev หรือรายงาน defect ต้องบอกให้ถูกว่าฟอร์มไหนใช้เทคโนโลยีอะไร — Smart Form กับ Adobe Form แก้ layout คนละเครื่องมือ · คนละ skill set ของ dev · คนละวิธี debug
มิติTAX-FRM-2 (หน้านี้)TAX-FRM-1
ประเทศ / แบบเมียนมา — WHT Certificate IRD(IT)-05-01ไทย — ใบแนบ ภ.ง.ด. 3 / 53 / 54
เทคโนโลยีฟอร์มSmart Form · ZTAXA_F01_MM3Adobe Form
เอกสารคือหนังสือรับรอง ให้ผู้ถูกหักภาษี (1 ใบ / 1 ราย)ใบแนบ ยื่นต่อกรมสรรพากร (ลิสต์หลายราย / 1 ใบ)
ตัวเรียกรันหลัง TAX-RPT-8 (MM WHT Report)S_P00_07000134 · ต้องพึ่ง TAX-RPT-1
Output group / legacy—R03 — Attachment P.N.D. 3, 53 and 54
ภาษา / กระดาษอังกฤษ (IRD)ไทย · A4
จำนวน field24 ช่อง18 ช่อง (เปลี่ยนแค่ [7])
Tax ID ผู้ขายตาม mapping ของ MMDFKKBPTAXNUM — TAXTYPE TH1/TH3 → TAXNUM/TAXNUMXL
สกุลเงิน3 ทาง — MMK / USD / document currencyตามเอกสาร (ไม่มี logic เลือกสกุลพิเศษ)
Output Determination—ไม่มี (N/A — no output management)
Volumeตาม FD ของ FRM-2≤ 500 / เดือน
สิ่งที่เหมือนกันและควรใช้ซ้ำ (transferable skill)
  • ทั้งคู่เป็น form ที่พึ่ง report ตัวอื่นให้รันก่อน — FRM-2 พึ่ง TAX-RPT-8 · FRM-1 พึ่ง TAX-RPT-1
  • ทั้งคู่ตรวจ defect ด้วยวิธีเดียวกัน: ไล่ field ที่ว่าง → หา table ต้นทาง → เช็คด้วย SE16N ก่อนโทษฟอร์ม
  • ทั้งคู่มี test แบบ negative ที่บังคับให้ “ปล่อยช่องว่าง + ขึ้นข้อความ” แทนที่จะ dump error
  • ประสบการณ์ที่คุณมีจาก FRM-2 (อ่าน layout ทีละช่อง · map กลับไป table) ใช้กับ FRM-1 ได้ทันที

→ เปิด TAX-FRM-1 deep-dive · TAX-ENH-1 (text file e-Filing) · Statutory Filing Guide

11

Self-check

ตอบในใจก่อนกดเฉลย — โฟกัสจุดที่ทดสอบบ่อย

1. TAX-FRM-2 เป็น WRICEF type อะไร ใช้ Smart Form ตัวไหน และยื่นให้ใคร?

ดูเฉลย
Form · Smart Form ZTAXA_F01_MM3 · ยื่น IRD เมียนมา (แบบ IRD(IT)-05-01)

2. จ่ายเป็น EUR แล้วเลือก radio “LC1/LC2 Currency” — ใบรับรองพิมพ์เป็นสกุลอะไร?

ดูเฉลย
USD (เพราะสกุลจ่าย ≠ MMK → global USD · TC-004)

3. ยอดจ่าย [14] กรณี MMK / USD / Document มาจาก field ไหนของ WITH_ITEM?

ดูเฉลย
MMK = WT_QSSHH · USD = WT_QSSH2 · Document = WT_QSSHB

4. ช่อง Remark ใส่อะไร และดึงชื่อประเทศ vendor ผ่านตารางใดบ้าง?

ดูเฉลย
อัตรา DTA (จาก tax code D#/H#) + ชื่อประเทศ · chain: BSAK → LFA1(LAND1) → T005T(LANDX)

5. Tax ID ของผู้ถูกหัก (vendor) ดึงจากตาราง/field อะไร?

ดูเฉลย
DFKKBPTAXNUM (PARTNER=WT_ACCO, TAXTYPE=MM3/MM0) → TAXNUM หรือ TAXNUMXL ที่ไม่ว่าง