{"id":1650,"date":"2026-08-18T20:05:07","date_gmt":"2026-08-18T13:05:07","guid":{"rendered":"https:\/\/dlwthailand.com\/?page_id=1650"},"modified":"2026-08-21T15:27:32","modified_gmt":"2026-08-21T08:27:32","slug":"document-generator","status":"publish","type":"page","link":"https:\/\/dlwthailand.com\/en\/document-generator\/","title":{"rendered":"\u0e2d\u0e2d\u0e01\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32 \u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49 \u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35 \u0e1f\u0e23\u0e35"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1650\" class=\"elementor elementor-1650\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-370caa3 e-flex e-con-boxed e-con e-parent\" data-id=\"370caa3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-783e84b elementor-widget elementor-widget-shortcode\" data-id=\"783e84b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"dlw-tsw\">\r\n      <div class=\"dlw-tsw-row\">\r\n        <button type=\"button\" class=\"dlw-tsw-arrow dlw-tsw-arrow-left\" aria-label=\"\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e0b\u0e49\u0e32\u0e22\">\r\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 6l-6 6 6 6\"\/><\/svg>\r\n        <\/button>\r\n        <div class=\"dlw-tsw-scroll\">\r\n                        <span class=\"dlw-tsw-chip dlw-tsw-active\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:rgba(255,255,255,.16)\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#F5A623\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 2h9l3 3v17H6z\"\/><path d=\"M9 8h6M9 12h6M9 16h4\"\/><\/svg><\/span>\r\n                <span>\u0e2d\u0e2d\u0e01\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32\/\u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35<\/span>\r\n              <\/span>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/tax-calendar\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#E4EAF2\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#10305C\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"17\" rx=\"2\"\/><path d=\"M3 9h18M8 2v4M16 2v4\"\/><\/svg><\/span>\r\n                <span>\u0e1b\u0e0f\u0e34\u0e17\u0e34\u0e19\u0e22\u0e37\u0e48\u0e19\u0e20\u0e32\u0e29\u0e35<\/span>\r\n              <\/a>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/personal-tax-calculator\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#FDECCD\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#9A6A0A\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"8\"\/><path d=\"M12 8v8M9.5 10a2.5 2 0 012.5-1.5c1.4 0 2.5.8 2.5 2s-1 1.5-2.5 2-2.5.8-2.5 2 1.1 2 2.5 2a2.5 2 0 002.5-1.5\"\/><\/svg><\/span>\r\n                <span>\u0e04\u0e33\u0e19\u0e27\u0e13\u0e20\u0e32\u0e29\u0e35\u0e1a\u0e38\u0e04\u0e04\u0e25\u0e18\u0e23\u0e23\u0e21\u0e14\u0e32<\/span>\r\n              <\/a>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/wht-calculator\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#E4EAF2\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#10305C\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 2h9l3 3v17H6z\"\/><path d=\"M9 8h6M9 12h6M9 16h4\"\/><\/svg><\/span>\r\n                <span>\u0e04\u0e33\u0e19\u0e27\u0e13\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22<\/span>\r\n              <\/a>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/entity-comparison\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#DFF2E3\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#019B40\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3v18M7 7l-4 5 4 1a4 4 0 008 0l4-1-4-5M17 7l-4 5 4 1a4 4 0 008 0\"\/><\/svg><\/span>\r\n                <span>\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e20\u0e32\u0e29\u0e35\u0e1a\u0e38\u0e04\u0e04\u0e25-\u0e19\u0e34\u0e15\u0e34\u0e1a\u0e38\u0e04\u0e04\u0e25<\/span>\r\n              <\/a>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/company-registration-calculator\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#F3DCD4\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#C1553B\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 21V9l8-6 8 6v12\"\/><path d=\"M9 21v-6h6v6M9 12h.01M15 12h.01M9 9h.01M15 9h.01\"\/><\/svg><\/span>\r\n                <span>\u0e04\u0e33\u0e19\u0e27\u0e13\u0e04\u0e48\u0e32\u0e08\u0e14\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17<\/span>\r\n              <\/a>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/late-filing-penalty-calculator\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#FDE3D3\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#B75B12\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"13\" r=\"8\"\/><path d=\"M12 9v4l3 2M9 2h6\"\/><\/svg><\/span>\r\n                <span>\u0e04\u0e33\u0e19\u0e27\u0e13\u0e04\u0e48\u0e32\u0e1b\u0e23\u0e31\u0e1a\u0e22\u0e37\u0e48\u0e19\u0e07\u0e1a\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32<\/span>\r\n              <\/a>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/monthly-tax-penalty-calculator\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#FDE3D3\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#B75B12\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"17\" rx=\"2\"\/><path d=\"M3 9h18M8 2v4M16 2v4\"\/><\/svg><\/span>\r\n                <span>\u0e04\u0e33\u0e19\u0e27\u0e13\u0e04\u0e48\u0e32\u0e1b\u0e23\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35\u0e23\u0e32\u0e22\u0e40\u0e14\u0e37\u0e2d\u0e19<\/span>\r\n              <\/a>\r\n                          <a class=\"dlw-tsw-chip\" href=\"https:\/\/dlwthailand.com\/vat-registration-penalty-calculator\/\">\r\n                <span class=\"dlw-tsw-ic\" style=\"background:#F3DCD4\"><svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#C1553B\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"\/><path d=\"M12 9v4\"\/><path d=\"M12 17h.01\"\/><\/svg><\/span>\r\n                <span>\u0e04\u0e33\u0e19\u0e27\u0e13\u0e04\u0e48\u0e32\u0e1b\u0e23\u0e31\u0e1a\u0e08\u0e14\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19 VAT \u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32<\/span>\r\n              <\/a>\r\n                    <\/div>\r\n        <button type=\"button\" class=\"dlw-tsw-arrow dlw-tsw-arrow-right\" aria-label=\"\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e02\u0e27\u0e32\">\r\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 6l6 6-6 6\"\/><\/svg>\r\n        <\/button>\r\n        <a class=\"dlw-tsw-all\" href=\"https:\/\/dlwthailand.com\/tools\/\">\r\n          <span>\u0e14\u0e39\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14<\/span>\r\n          <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 6l6 6-6 6\"\/><\/svg>\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n    <style>\r\n      .dlw-tsw{ font-family:'Sarabun',sans-serif; margin-bottom:22px; background:#EFF3F9; border:1px solid #C9D6E8; border-left:5px solid #10305C; border-radius:10px; padding:12px 14px; box-shadow:0 2px 6px rgba(4,23,55,0.08); }\r\n      .dlw-tsw-row{ display:flex; align-items:center; gap:8px; }\r\n      .dlw-tsw-scroll{ display:flex; gap:8px; overflow-x:auto; -ms-overflow-style:none; scrollbar-width:none; flex:1; min-width:0; scroll-behavior:smooth; }\r\n      .dlw-tsw-scroll::-webkit-scrollbar{ display:none; }\r\n      .dlw-tsw-arrow{ flex-shrink:0; width:30px; height:30px; border-radius:50%; border:1px solid #E4DDD4; background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#041737; padding:0; transition:opacity .15s ease, border-color .15s ease; }\r\n      .dlw-tsw-arrow:hover{ border-color:#041737; }\r\n      .dlw-tsw-arrow:disabled{ opacity:.3; cursor:default; }\r\n      .dlw-tsw-arrow.is-hidden{ display:none; }\r\n      .dlw-tsw-chip{ display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:9px; background:#fff; border:1px solid #E4DDD4; font-family:'Kanit',sans-serif; font-size:12.5px; font-weight:600; color:#041737; text-decoration:none; white-space:nowrap; flex-shrink:0; }\r\n      .dlw-tsw-chip:hover{ border-color:#041737; }\r\n      .dlw-tsw-active{ background:#041737; border-color:#041737; color:#fff; }\r\n      .dlw-tsw-all{ flex-shrink:0; display:inline-flex; align-items:center; gap:4px; padding:8px 14px; border-radius:9px; font-family:'Kanit',sans-serif; font-size:12.5px; font-weight:600; color:#697487; text-decoration:none; white-space:nowrap; border:1px dashed #E4DDD4; }\r\n      .dlw-tsw-ic{ width:20px; height:20px; border-radius:6px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }\r\n    <\/style>\r\n    <script>\r\n    (function(){\r\n      document.querySelectorAll('.dlw-tsw').forEach(function(box){\r\n        var scroller = box.querySelector('.dlw-tsw-scroll');\r\n        var leftBtn = box.querySelector('.dlw-tsw-arrow-left');\r\n        var rightBtn = box.querySelector('.dlw-tsw-arrow-right');\r\n        if (!scroller || !leftBtn || !rightBtn) return;\r\n        function update(){\r\n          var max = scroller.scrollWidth - scroller.clientWidth;\r\n          if (max <= 4) { leftBtn.classList.add('is-hidden'); rightBtn.classList.add('is-hidden'); return; }\r\n          leftBtn.classList.remove('is-hidden'); rightBtn.classList.remove('is-hidden');\r\n          leftBtn.disabled = scroller.scrollLeft <= 4;\r\n          rightBtn.disabled = scroller.scrollLeft >= max - 4;\r\n        }\r\n        leftBtn.addEventListener('click', function(){ scroller.scrollBy({left:-160, behavior:'smooth'}); });\r\n        rightBtn.addEventListener('click', function(){ scroller.scrollBy({left:160, behavior:'smooth'}); });\r\n        scroller.addEventListener('scroll', update);\r\n        window.addEventListener('resize', update);\r\n        update();\r\n      });\r\n    })();\r\n    <\/script>\r\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7296255 elementor-widget elementor-widget-html\" data-id=\"7296255\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Kanit:wght@500;600;700&family=Sarabun:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/html2canvas\/1.4.1\/html2canvas.min.js\"><\/script>\n<style>\n.dlw-docgen {\n    --ink:#334155; --paper:#F8F3EF; --panel:#FFFFFF;\n    --teal:#10305C; --teal-deep:#041737; --teal-soft:#E4EAF2;\n    --gold:#F5A623; --gold-soft:#FDECCD;\n    --coral:#C1553B; --coral-soft:#F3DCD4;\n    --line-green:#019B40; --line:#E4DDD4; --muted:#697487;\n  }\n.dlw-docgen * {box-sizing:border-box;}\n.dlw-docgen { margin:0; background:var(--paper); color:var(--ink); font-family:'Sarabun',sans-serif; -webkit-font-smoothing:antialiased; }\n.dlw-docgen .wrap {max-width:1080px;margin:0 auto;padding:32px 20px 64px;}\n.dlw-docgen .masthead { border-bottom:2px solid var(--teal); padding-bottom:20px; margin-bottom:24px; }\n.dlw-docgen .masthead .eyebrow { display:inline-flex; align-items:center; gap:6px; background:var(--teal-soft); color:var(--teal); font-family:'Kanit',sans-serif; font-size:11.5px; font-weight:600; padding:5px 12px; border-radius:100px; margin-bottom:14px; }\n.dlw-docgen .masthead h1 { font-family:'Kanit',sans-serif; font-weight:700; font-size:clamp(22px,3.6vw,30px); line-height:1.3; margin:0; color:var(--teal-deep); }\n.dlw-docgen .masthead p { margin:10px 0 0; color:var(--muted); font-size:14.5px; line-height:1.65; max-width:75ch; }\n.dlw-docgen .card { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:24px 26px; margin-bottom:20px; }\n.dlw-docgen .card h2 { font-family:'Kanit',sans-serif; font-size:15.5px; margin:0 0 16px; color:var(--teal-deep); display:flex; align-items:center; gap:8px; padding-bottom:12px; border-bottom:2px solid var(--paper); }\n.dlw-docgen .card h2 .num { display:inline-flex; align-items:center; justify-content:center; width:22px;height:22px; border-radius:50%; background:var(--teal); color:#fff; font-size:12px; font-weight:700; flex-shrink:0; }\n.dlw-docgen label { display:block; font-size:13px; font-weight:600; color:var(--teal-deep); margin:0 0 6px; }\n.dlw-docgen .field { margin-bottom:14px; }\n.dlw-docgen .field .hint { font-size:12px; color:var(--muted); margin-top:5px; font-weight:400; line-height:1.5; }\n.dlw-docgen .row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }\n.dlw-docgen .row3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }\n@media (max-width:600px) {.dlw-docgen .row2, .dlw-docgen .row3 {grid-template-columns:1fr;}\n}\n.dlw-docgen input[type=text], .dlw-docgen textarea, .dlw-docgen select {\n    width:100%; padding:10px 11px; border:1.5px solid var(--line); border-radius:9px;\n    font-family:'Sarabun',sans-serif; font-size:14.5px; color:var(--ink); background:#fff;\n  }\n.dlw-docgen textarea { resize:vertical; min-height:60px; }\n.dlw-docgen select { appearance:none; cursor:pointer;\n    background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236E6A5E' stroke-width='2'><path d='M6 9l6 6 6-6'\/><\/svg>\");\n    background-repeat:no-repeat; background-position:right 12px center; padding-right:34px;\n  }\n.dlw-docgen input:focus, .dlw-docgen textarea:focus, .dlw-docgen select:focus { outline:none; border-color:var(--teal); }\n.dlw-docgen input.taxid-invalid { border-color:var(--coral); background:var(--coral-soft); }\n.dlw-docgen .taxid-hint { font-size:11.5px; margin-top:4px; }\n.dlw-docgen .taxid-hint.ok { color:var(--line-green); }\n.dlw-docgen .taxid-hint.bad { color:var(--coral); }\n.dlw-docgen .date-fields {\n    display:grid; gap:8px;\n    grid-template-columns:74px minmax(130px,1fr) 90px;\n    grid-template-areas:\"day month year\";\n  }\n.dlw-docgen .date-fields .df-day { grid-area:day; }\n.dlw-docgen .date-fields .df-month { grid-area:month; }\n.dlw-docgen .date-fields .df-year { grid-area:year; }\n@media (max-width:420px) {.dlw-docgen .date-fields { grid-template-columns:1fr 1fr; grid-template-areas:\"month month\" \"day year\"; }\n}\n.dlw-docgen .doctype-picker { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:4px; }\n.dlw-docgen .doctype-btn {\n    flex:1; min-width:150px; text-align:center; padding:14px 12px; border-radius:10px; border:1.5px solid var(--line);\n    background:#fff; cursor:pointer; font-family:'Kanit',sans-serif; font-weight:600; font-size:13.5px; color:var(--muted);\n  }\n.dlw-docgen .doctype-btn.active { border-color:var(--teal); background:var(--teal-soft); color:var(--teal-deep); }\n.dlw-docgen .doctype-btn .dt-sub { display:block; font-family:'Sarabun',sans-serif; font-weight:400; font-size:11px; margin-top:3px; color:var(--muted); }\n.dlw-docgen .items-table { width:100%; border-collapse:collapse; table-layout:fixed; }\n.dlw-docgen .items-table th { text-align:left; font-family:'Kanit',sans-serif; font-size:11px; color:var(--muted); font-weight:600; padding:6px 6px; border-bottom:2px solid var(--teal); white-space:nowrap; }\n.dlw-docgen .items-table td { padding:7px 6px; border-bottom:1px solid var(--line); vertical-align:top; }\n.dlw-docgen .items-table input { font-size:13px; padding:7px 8px; }\n.dlw-docgen .items-table select { font-size:13px; padding:7px 8px; }\n.dlw-docgen .items-table textarea.it-desc { font-size:13px; padding:7px 8px; resize:vertical; min-height:44px; font-family:'Sarabun',sans-serif; line-height:1.4; }\n.dlw-docgen .items-table .it-qty, .dlw-docgen .items-table .it-price, .dlw-docgen .items-table .it-discount { text-align:right; }\n.dlw-docgen .items-table .it-amount-cell { font-family:'Kanit',sans-serif; font-weight:600; text-align:right; white-space:nowrap; padding-top:14px; color:var(--teal-deep); }\n.dlw-docgen .items-table .it-remove { background:none; border:none; color:var(--coral); font-size:15px; cursor:pointer; padding:6px; }\n.dlw-docgen .item-empty-hint { font-size:12.5px; color:var(--muted); padding:10px 8px; }\n@media (min-width:601px){.dlw-docgen .items-table th:nth-child(1),.dlw-docgen .items-table td:nth-child(1){width:31%;}.dlw-docgen .items-table th:nth-child(2),.dlw-docgen .items-table td:nth-child(2){width:7%;}.dlw-docgen .items-table th:nth-child(3),.dlw-docgen .items-table td:nth-child(3){width:10%;}.dlw-docgen .items-table th:nth-child(4),.dlw-docgen .items-table td:nth-child(4){width:13%;}.dlw-docgen .items-table th:nth-child(5),.dlw-docgen .items-table td:nth-child(5){width:11%;}.dlw-docgen .items-table th:nth-child(6),.dlw-docgen .items-table td:nth-child(6){width:11%;}.dlw-docgen .items-table th:nth-child(7),.dlw-docgen .items-table td:nth-child(7){width:13%;}.dlw-docgen .items-table th:nth-child(8),.dlw-docgen .items-table td:nth-child(8){width:4%;}}\n@media (max-width:600px) {.dlw-docgen .items-table, .dlw-docgen .items-table thead, .dlw-docgen .items-table tbody, .dlw-docgen .items-table tr, .dlw-docgen .items-table td { display:block; width:100%; }\n.dlw-docgen .items-table thead { display:none; }\n.dlw-docgen #itemsTableBody tr.item-row { border:1px solid var(--line); border-radius:10px; margin-bottom:14px; padding:14px 14px 12px; position:relative; background:#fff; }\n.dlw-docgen #itemsTableBody tr.item-row td { border-bottom:none; padding:6px 0; display:flex; align-items:flex-start; gap:10px; }\n.dlw-docgen #itemsTableBody tr.item-row td::before { font-family:'Kanit',sans-serif; font-weight:600; font-size:11.5px; color:var(--teal-deep); min-width:88px; flex-shrink:0; padding-top:9px; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(1)::before { content:'\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23'; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(2)::before { content:'\u0e08\u0e33\u0e19\u0e27\u0e19'; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(3)::before { content:'\u0e2b\u0e19\u0e48\u0e27\u0e22'; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(4)::before { content:'\u0e23\u0e32\u0e04\u0e32\/\u0e2b\u0e19\u0e48\u0e27\u0e22'; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(5)::before { content:'\u0e2a\u0e48\u0e27\u0e19\u0e25\u0e14'; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(6)::before { content:'\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19'; padding-top:0; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(7)::before { content:'\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22'; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(8) { position:absolute; top:10px; right:10px; padding:0; width:auto; }\n.dlw-docgen #itemsTableBody tr.item-row td:nth-child(8)::before { content:none; }\n.dlw-docgen #itemsTableBody tr.item-row td input, .dlw-docgen #itemsTableBody tr.item-row td select, .dlw-docgen #itemsTableBody tr.item-row td textarea { flex:1; width:100% !important; min-width:0; }\n.dlw-docgen #itemsTableBody tr.item-row .it-amount-cell { padding-top:9px; }\n.dlw-docgen #itemsTableBody tr.item-empty-hint-row td { display:block; padding:10px 4px; }\n.dlw-docgen #itemsTableBody tr.item-empty-hint-row td::before { content:none !important; }\n}\n\n.dlw-docgen .add-row-btn {\n    width:100%; margin-top:10px; font-family:'Kanit',sans-serif; background:var(--line-green); color:#fff;\n    border:none; font-weight:700; font-size:14px; padding:12px 16px; border-radius:9px; cursor:pointer;\n    box-shadow:0 2px 6px rgba(1,155,64,.25);\n  }\n.dlw-docgen .add-row-btn:hover { background:#017E36; }\n.dlw-docgen .toggle-row { display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); }\n.dlw-docgen .toggle-row:last-child { border-bottom:none; }\n.dlw-docgen .toggle-row .tr-label { font-size:13.5px; font-weight:600; color:var(--teal-deep); }\n.dlw-docgen .switch { position:relative; width:42px; height:24px; border-radius:100px; background:var(--line); cursor:pointer; flex-shrink:0; transition:background .15s; }\n.dlw-docgen .switch .knob { position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.25); transition:transform .15s; }\n.dlw-docgen .switch.on { background:var(--line-green); }\n.dlw-docgen .switch.on .knob { transform:translateX(18px); }\n.dlw-docgen .totals-box { background:var(--paper); border-radius:10px; padding:14px 16px; margin-top:14px; }\n.dlw-docgen .totals-box .t-line { display:flex; justify-content:space-between; padding:6px 0; font-size:13.5px; }\n.dlw-docgen .totals-box .t-line.grand { border-top:2px solid var(--teal); margin-top:6px; padding-top:10px; font-family:'Kanit',sans-serif; font-weight:700; font-size:15px; color:var(--teal-deep); }\n.dlw-docgen .totals-box .t-line.wht { color:var(--coral); }\n.dlw-docgen .totals-box .t-line.net { border-top:1px dashed var(--line); margin-top:6px; padding-top:10px; font-family:'Kanit',sans-serif; font-weight:700; font-size:16px; color:var(--line-green); }\n.dlw-docgen .generate-btn {\n    width:100%; margin-top:8px; font-family:'Kanit',sans-serif; background:var(--teal); color:#fff;\n    border:none; font-weight:600; font-size:15.5px; padding:14px 18px; border-radius:9px; cursor:pointer;\n  }\n.dlw-docgen .generate-btn:hover { background:#0C2547; }\n.dlw-docgen \/* \u2500\u2500 Printable document \u2500\u2500 *\/\n  #docWrap { display:none; }\n.dlw-docgen #docWrap.show { display:block; }\n.dlw-docgen .doc-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }\n.dlw-docgen #doc { background:#fff; border:1.5px solid var(--line); border-radius:4px; padding:13px 16px; min-width:720px; }\n.dlw-docgen #doc .d-orig-badge { text-align:right; font-size:10.5px; color:var(--muted); font-style:italic; margin-bottom:1px; }\n.dlw-docgen #doc .d-title-v2 { font-family:'Kanit',sans-serif; font-size:23px; font-weight:700; color:var(--teal); text-align:right; margin:0 0 10px; }\n.dlw-docgen #doc .d-partyrow { display:flex; justify-content:space-between; gap:20px; padding:8px 0; }\n.dlw-docgen #doc .d-partyrow-left { flex:1; min-width:0; }\n.dlw-docgen #doc .pr-row { display:flex; gap:8px; font-size:12px; margin-bottom:3px; }\n.dlw-docgen #doc .pr-row .pr-label { color:var(--muted); flex-shrink:0; width:70px; }\n.dlw-docgen #doc .pr-row .pr-value { color:var(--ink); }\n.dlw-docgen #doc .pr-row .pr-value.pr-bold { font-weight:700; color:var(--ink); }\n.dlw-docgen #doc .d-metabox-v2 { background:var(--teal-soft); border-radius:8px; padding:8px 12px; min-width:230px; flex-shrink:0; align-self:flex-start; }\n.dlw-docgen #doc .d-metabox-v2 .mb-row { display:flex; justify-content:space-between; gap:12px; font-size:12px; padding:2px 0; }\n.dlw-docgen #doc .d-metabox-v2 .mb-row span { color:var(--muted); }\n.dlw-docgen #doc .d-metabox-v2 .mb-row b { color:var(--teal-deep); }\n.dlw-docgen #doc .d-partyrow-divider { border:none; border-top:1px solid var(--line); margin:0; }\n.dlw-docgen #doc .d-partyrow.d-partyrow-last { border-bottom:2px solid var(--teal-deep); padding-bottom:6px; margin-bottom:8px; }\n.dlw-docgen #doc .d-meta { display:flex; gap:24px; flex-wrap:wrap; margin-bottom:8px; font-size:12px; }\n.dlw-docgen #doc .d-meta div b { display:block; color:var(--muted); font-size:11px; font-weight:400; }\n.dlw-docgen #doc table.d-items { width:100%; border-collapse:collapse; margin-bottom:6px; }\n.dlw-docgen #doc table.d-items th { text-align:center; font-family:'Kanit',sans-serif; font-size:11px; color:var(--teal-deep); font-weight:700; padding:5px 6px; border-bottom:2px solid var(--teal); }\n.dlw-docgen #doc table.d-items th:first-child { text-align:left; }\n.dlw-docgen #doc table.d-items th.num-col { text-align:center; }\n.dlw-docgen #doc table.d-items td { padding:6px; border-bottom:1px solid var(--line); font-size:12px; }\n.dlw-docgen #doc table.d-items td.num-col { text-align:right; white-space:nowrap; }\n.dlw-docgen #doc .d-totals { margin-left:auto; width:280px; }\n.dlw-docgen #doc .d-totals .dt-line { display:flex; justify-content:space-between; padding:3px 0; font-size:12px; }\n.dlw-docgen #doc .d-totals .dt-line.grand { border-top:2px solid var(--teal); margin-top:3px; padding-top:6px; font-family:'Kanit',sans-serif; font-weight:700; font-size:14px; color:var(--teal); }\n.dlw-docgen #doc .d-totals .dt-line.wht { color:var(--coral); }\n.dlw-docgen #doc .d-totals .dt-line.net { border-top:1px dashed var(--line); margin-top:3px; padding-top:6px; font-family:'Kanit',sans-serif; font-weight:700; font-size:15px; color:var(--line-green); }\n.dlw-docgen #doc .d-words { font-size:11.5px; color:var(--muted); margin-top:4px; font-style:italic; }\n.dlw-docgen #doc .d-bottom-row { display:flex; gap:16px; margin-top:12px; align-items:flex-start; }\n.dlw-docgen #doc .d-bottom-row .d-bank { flex:1; margin-top:0; min-width:0; }\n.dlw-docgen #doc .d-bank { background:var(--paper); border-radius:8px; padding:8px 10px; margin-top:12px; font-size:12px; line-height:1.4; }\n.dlw-docgen #doc .d-bank-title { font-family:'Kanit',sans-serif; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; margin-bottom:4px; }\n.dlw-docgen #doc .d-sign { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; padding-top:12px; border-top:1px dashed var(--line); }\n.dlw-docgen #doc .d-sign-box { text-align:center; }\n.dlw-docgen #doc .d-sign-line { border-bottom:1px solid var(--ink); height:30px; margin-bottom:6px; }\n.dlw-docgen #doc .d-sign-box .ds-label { font-size:12px; color:var(--muted); }\n.dlw-docgen #doc .d-sign-box .ds-date { font-size:11px; color:var(--muted); margin-top:3px; }\n.dlw-docgen #doc .d-sign.d-sign-solo { display:flex; justify-content:flex-end; }\n.dlw-docgen #doc .d-sign.d-sign-solo .d-sign-box { width:220px; }\n.dlw-docgen .action-row { display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }\n.dlw-docgen .action-btn { flex:1; min-width:180px; font-family:'Kanit',sans-serif; font-weight:600; font-size:14px; padding:12px 16px; border-radius:9px; cursor:pointer; border:none; }\n.dlw-docgen .action-btn.print { background:var(--teal); color:#fff; }\n.dlw-docgen .action-btn.print:hover { background:#0C2547; }\n.dlw-docgen .action-btn.jpeg { background:var(--line-green); color:#fff; }\n.dlw-docgen .action-btn.jpeg:hover { background:#017E36; }\n.dlw-docgen .action-btn.edit { background:#fff; color:var(--teal); border:1.5px solid var(--teal); }\n.dlw-docgen .action-btn.edit:hover { background:var(--teal-soft); }\n.dlw-docgen .cta { background:var(--teal); border-radius:14px; padding:20px 22px; color:#fff; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:20px; }\n.dlw-docgen .cta h3 { font-family:'Kanit',sans-serif; margin:0 0 4px; font-size:16px; }\n.dlw-docgen .cta p { margin:0; font-size:13px; color:#CBE0DE; max-width:46ch; }\n.dlw-docgen .cta a { font-family:'Kanit',sans-serif; background:var(--line-green); color:#fff; font-weight:600; font-size:13.5px; padding:11px 18px; border-radius:9px; text-decoration:none; white-space:nowrap; }\n.dlw-docgen .disclaimer { margin-top:20px; padding:14px 16px; border-radius:12px; background:#fff; border:1px dashed var(--line); font-size:12px; color:var(--muted); line-height:1.7; }\n@page{ margin:0; }@media print {header.elementor-location-header { display:none !important; }\nfooter.elementor-location-footer { display:none !important; }\n.dlw-tsw { display:none !important; }\n#wpadminbar { display:none !important; }\nbody * { visibility:hidden !important; }\n#docWrap, #docWrap * { visibility:visible !important; }\n#docWrap { position:absolute; left:0; top:0; width:100%; margin:0; padding:0; }\n.dlw-docgen .wrap > *:not(#docWrap) { display:none !important; }\n.dlw-docgen .doc-scroll { overflow-x:visible; }\n.dlw-docgen #doc { border:none; padding:5mm 6mm; min-width:0; }\n.dlw-docgen .action-row { display:none !important; }\n.dlw-docgen .no-print-heading { display:none !important; }\n.dlw-docgen \/* Never split these atomic blocks across a page boundary \u2014 push the whole\n       block to the next page instead if it doesn't fit in the remaining space. *\/\n    #doc table.d-items tr, .dlw-docgen #doc .d-partyrow, .dlw-docgen #doc .d-totals, .dlw-docgen #doc .d-words, .dlw-docgen #doc .d-bank, .dlw-docgen #doc .d-bottom-row, .dlw-docgen #doc .d-sign, .dlw-docgen #doc .d-sign-box {\n      page-break-inside: avoid;\n      break-inside: avoid;\n    }\n.dlw-docgen \/* Repeat the table header on every page the item table spans across. *\/\n    #doc table.d-items thead {\n      display: table-header-group;\n    }\n.dlw-docgen \/* Avoid stranding the header\/parties alone right before a break. *\/\n    #doc .d-partyrow {\n      page-break-after: avoid;\n      break-after: avoid;\n    }\n.dlw-docgen \/* Tighter spacing on print only, to leave more buffer before the 1-page limit. *\/\n    #doc .d-bottom-row { margin-top:6px; }\n.dlw-docgen #doc .d-bank { margin-top:6px; padding:5px 7px; }\n.dlw-docgen #doc .d-sign { margin-top:8px; padding-top:6px; }\n}\n\n.dlw-docgen h1, .dlw-docgen h2, .dlw-docgen h3 { text-transform:none; letter-spacing:normal; }\n.dlw-docgen .masthead h1 { color:var(--teal-deep) !important; }\n.dlw-docgen .card h2 { color:var(--teal-deep) !important; }\n.dlw-docgen #doc .d-title-v2 { color:var(--teal) !important; }\n.dlw-docgen .cta h3 { color:#fff !important; }\n\n<\/style>\n<div class=\"dlw-docgen\">\n<div class=\"wrap\">\n\n  <div class=\"masthead\">\n    <div class=\"eyebrow\">\ud83d\udcc4 \u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e02\u0e32\u0e22<\/div>\n    <h1>\u0e2d\u0e2d\u0e01\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32 \/ \u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49 \/ \u0e43\u0e1a\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19 \/ \u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35 \u0e1f\u0e23\u0e35 \u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01<\/h1>\n    <p>\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e01\u0e31\u0e1a\u0e15\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e27\u0e32\u0e21\u0e40\u0e23\u0e47\u0e27 \u0e01\u0e23\u0e2d\u0e01\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 \u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e33\u0e19\u0e27\u0e13 VAT \u0e41\u0e25\u0e30\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22\u0e43\u0e2b\u0e49\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e2b\u0e23\u0e37\u0e2d\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19 PDF \u0e2a\u0e48\u0e07\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e40\u0e23\u0e47\u0e27\u0e01\u0e27\u0e48\u0e32\u0e17\u0e33\u0e40\u0e2d\u0e07\u0e43\u0e19 Excel \u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19 \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e02\u0e2d\u0e07\u0e04\u0e39\u0e48\u0e04\u0e49\u0e32\u0e17\u0e35\u0e48\u0e01\u0e23\u0e2d\u0e01\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e14\u0e39\u0e41\u0e25\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e44\u0e21\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e01\u0e47\u0e1a\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19 \u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e21\u0e35\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c \u0e41\u0e19\u0e30\u0e19\u0e33\u0e43\u0e2b\u0e49\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e41\u0e17\u0e19<\/p>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">1<\/span>\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23<\/h2>\n    <div class=\"doctype-picker\" id=\"doctypePicker\">\n      <div class=\"doctype-btn active\" data-type=\"quotation\">\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32<span class=\"dt-sub\">Quotation<\/span><\/div>\n      <div class=\"doctype-btn\" data-type=\"invoice\">\u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49<span class=\"dt-sub\">Invoice<\/span><\/div>\n      <div class=\"doctype-btn\" data-type=\"receipt\">\u0e43\u0e1a\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19<span class=\"dt-sub\">Receipt<\/span><\/div>\n      <div class=\"doctype-btn\" data-type=\"taxinvoice\">\u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35<span class=\"dt-sub\">Tax Invoice<\/span><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">2<\/span>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e39\u0e49\u0e02\u0e32\u0e22 (DLW)<\/h2>\n    <div class=\"row2\">\n      <div class=\"field\">\n        <label>\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17<\/label>\n        <input type=\"text\" id=\"sellerName\" placeholder=\"\u0e40\u0e0a\u0e48\u0e19 \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07 \u0e08\u0e33\u0e01\u0e31\u0e14\">\n      <\/div>\n      <div class=\"field\">\n        <label>\u0e40\u0e25\u0e02\u0e1b\u0e23\u0e30\u0e08\u0e33\u0e15\u0e31\u0e27\u0e1c\u0e39\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e20\u0e32\u0e29\u0e35<\/label>\n        <input type=\"text\" inputmode=\"numeric\" id=\"sellerTaxId\" maxlength=\"13\" placeholder=\"\u0e40\u0e25\u0e02 13 \u0e2b\u0e25\u0e31\u0e01\">\n        <div class=\"taxid-hint\" id=\"sellerTaxIdHint\"><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"field\">\n      <label>\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48<\/label>\n      <textarea id=\"sellerAddress\" placeholder=\"\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e08\u0e14\u0e17\u0e30\u0e40\u0e1a\u0e35\u0e22\u0e19\u0e02\u0e2d\u0e07\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17\"><\/textarea>\n    <\/div>\n    <div class=\"field\" style=\"margin-bottom:0;\">\n      <label>\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23<\/label>\n      <input type=\"text\" id=\"sellerPhone\" placeholder=\"\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17\">\n    <\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">3<\/span>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e39\u0e49\u0e0b\u0e37\u0e49\u0e2d\/\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32<\/h2>\n    <div class=\"field\">\n      <label>\u0e0a\u0e37\u0e48\u0e2d\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\/\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17<\/label>\n      <input type=\"text\" id=\"buyerName\" placeholder=\"\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17\u0e2b\u0e23\u0e37\u0e2d\u0e1a\u0e38\u0e04\u0e04\u0e25\">\n    <\/div>\n    <div class=\"row2\">\n      <div class=\"field\">\n        <label>\u0e40\u0e25\u0e02\u0e1b\u0e23\u0e30\u0e08\u0e33\u0e15\u0e31\u0e27\u0e1c\u0e39\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e20\u0e32\u0e29\u0e35 <span id=\"buyerTaxIdRequired\" style=\"color:var(--coral);\"><\/span><\/label>\n        <input type=\"text\" inputmode=\"numeric\" id=\"buyerTaxId\" maxlength=\"13\" placeholder=\"\u0e40\u0e25\u0e02 13 \u0e2b\u0e25\u0e31\u0e01\">\n        <div class=\"taxid-hint\" id=\"buyerTaxIdHint\"><\/div>\n      <\/div>\n      <div class=\"field\">\n        <label>\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23\/LINE<\/label>\n        <input type=\"text\" id=\"buyerPhone\" placeholder=\"\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c \u0e2b\u0e23\u0e37\u0e2d LINE ID\">\n      <\/div>\n    <\/div>\n    <div class=\"field\" style=\"margin-bottom:0;\">\n      <label>\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48<\/label>\n      <textarea id=\"buyerAddress\" placeholder=\"\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\"><\/textarea>\n    <\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">4<\/span>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23<\/h2>\n    <div class=\"row2\">\n      <div class=\"field\">\n        <label>\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23<\/label>\n        <input type=\"text\" id=\"docNo\" placeholder=\"\u0e40\u0e0a\u0e48\u0e19 QT-2026-0001\">\n      <\/div>\n      <div class=\"field\">\n        <label>\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23<\/label>\n        <div class=\"date-fields\">\n          <select id=\"issueDay\" class=\"df-day\"><\/select>\n          <select id=\"issueMonth\" class=\"df-month\"><\/select>\n          <select id=\"issueYear\" class=\"df-year\"><\/select>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"field\" id=\"secondaryDateField\" style=\"margin-bottom:0;\">\n      <label id=\"secondaryDateLabel\">\u0e27\u0e31\u0e19\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32<\/label>\n      <div class=\"date-fields\">\n        <select id=\"secondDay\" class=\"df-day\"><\/select>\n        <select id=\"secondMonth\" class=\"df-month\"><\/select>\n        <select id=\"secondYear\" class=\"df-year\"><\/select>\n      <\/div>\n    <\/div>\n    <div class=\"field\" id=\"refInvoiceField\" style=\"margin-top:16px; margin-bottom:0; display:none;\"><label>\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07\u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48 (\u0e16\u0e49\u0e32\u0e21\u0e35)<\/label><input type=\"text\" id=\"refInvoiceNo\" placeholder=\"\u0e40\u0e0a\u0e48\u0e19 INV-2569-0001\"><\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">5<\/span>\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\/\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23<\/h2>\n    <div style=\"overflow-x:auto;\">\n      <table class=\"items-table\" id=\"itemsTable\">\n        <thead>\n          <tr>\n            <th>\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23<\/th>\n            <th>\u0e08\u0e33\u0e19\u0e27\u0e19<\/th>\n            <th>\u0e2b\u0e19\u0e48\u0e27\u0e22<\/th>\n            <th>\u0e23\u0e32\u0e04\u0e32\/\u0e2b\u0e19\u0e48\u0e27\u0e22<\/th>\n            <th>\u0e2a\u0e48\u0e27\u0e19\u0e25\u0e14<\/th>\n            <th>\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19<\/th>\n            <th>\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22<\/th>\n            <th><\/th>\n          <\/tr>\n        <\/thead>\n        <tbody id=\"itemsTableBody\"><\/tbody>\n      <\/table>\n    <\/div>\n    <button type=\"button\" class=\"add-row-btn\" id=\"addItemBtn\">+ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23<\/button>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">6<\/span><span id=\"vatSectionTitle\">\u0e20\u0e32\u0e29\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21<\/span><\/h2>\n    <div class=\"toggle-row\">\n      <div class=\"tr-label\">\u0e04\u0e34\u0e14\u0e20\u0e32\u0e29\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21 (VAT 7%)<\/div>\n      <div class=\"switch on\" id=\"vatToggle\"><div class=\"knob\"><\/div><\/div>\n    <\/div>\n    <div class=\"hint\" style=\"margin-top:8px;\">\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e41\u0e22\u0e01\u0e44\u0e14\u0e49\u0e17\u0e35\u0e25\u0e30\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e43\u0e19\u0e15\u0e32\u0e23\u0e32\u0e07\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19 \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e41\u0e15\u0e48\u0e25\u0e30\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2d\u0e32\u0e08\u0e2b\u0e31\u0e01\u0e44\u0e14\u0e49\u0e44\u0e21\u0e48\u0e40\u0e17\u0e48\u0e32\u0e01\u0e31\u0e19<\/div>\n    <div class=\"totals-box\" id=\"totalsBox\"><\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">7<\/span>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e23\u0e31\u0e1a\u0e42\u0e2d\u0e19\u0e40\u0e07\u0e34\u0e19<\/h2>\n    <div class=\"row2\">\n      <div class=\"field\">\n        <label>\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23<\/label>\n        <select id=\"bankName\">\n          <option value=\"\">\u2014 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23 \u2014<\/option>\n          <optgroup label=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c\">\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e (BBL)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e2a\u0e34\u0e01\u0e23\u0e44\u0e17\u0e22\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e2a\u0e34\u0e01\u0e23\u0e44\u0e17\u0e22 (KBank)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e23\u0e38\u0e07\u0e44\u0e17\u0e22\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e23\u0e38\u0e07\u0e44\u0e17\u0e22 (KTB)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e17\u0e2b\u0e32\u0e23\u0e44\u0e17\u0e22\u0e18\u0e19\u0e0a\u0e32\u0e15\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e17\u0e2b\u0e32\u0e23\u0e44\u0e17\u0e22\u0e18\u0e19\u0e0a\u0e32\u0e15 (TTB)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c (SCB)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e23\u0e38\u0e07\u0e28\u0e23\u0e35\u0e2d\u0e22\u0e38\u0e18\u0e22\u0e32\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e01\u0e23\u0e38\u0e07\u0e28\u0e23\u0e35\u0e2d\u0e22\u0e38\u0e18\u0e22\u0e32 (BAY)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e01\u0e35\u0e22\u0e23\u0e15\u0e34\u0e19\u0e32\u0e04\u0e34\u0e19\u0e20\u0e31\u0e17\u0e23\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e01\u0e35\u0e22\u0e23\u0e15\u0e34\u0e19\u0e32\u0e04\u0e34\u0e19\u0e20\u0e31\u0e17\u0e23 (KKP)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e0b\u0e35\u0e44\u0e2d\u0e40\u0e2d\u0e47\u0e21\u0e1a\u0e35\u0e44\u0e17\u0e22\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e0b\u0e35\u0e44\u0e2d\u0e40\u0e2d\u0e47\u0e21\u0e1a\u0e35\u0e44\u0e17\u0e22 (CIMB Thai)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e17\u0e34\u0e2a\u0e42\u0e01\u0e49\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e17\u0e34\u0e2a\u0e42\u0e01\u0e49 (TISCO)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e22\u0e39\u0e42\u0e2d\u0e1a\u0e35\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e22\u0e39\u0e42\u0e2d\u0e1a\u0e35 (UOB)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e41\u0e25\u0e19\u0e14\u0e4c \u0e41\u0e2d\u0e19\u0e14\u0e4c \u0e40\u0e2e\u0e49\u0e32\u0e2a\u0e4c\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e41\u0e25\u0e19\u0e14\u0e4c \u0e41\u0e2d\u0e19\u0e14\u0e4c \u0e40\u0e2e\u0e49\u0e32\u0e2a\u0e4c (LH Bank)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e32\u0e22\u0e22\u0e48\u0e2d\u0e22\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e40\u0e04\u0e23\u0e14\u0e34\u0e15 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e32\u0e22\u0e22\u0e48\u0e2d\u0e22 (Thai Credit)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e44\u0e2d\u0e0b\u0e35\u0e1a\u0e35\u0e0b\u0e35 (\u0e44\u0e17\u0e22)\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e44\u0e2d\u0e0b\u0e35\u0e1a\u0e35\u0e0b\u0e35 (\u0e44\u0e17\u0e22) (ICBC Thai)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e0b\u0e34\u0e15\u0e35\u0e49\u0e41\u0e1a\u0e07\u0e01\u0e4c\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e0b\u0e34\u0e15\u0e35\u0e49\u0e41\u0e1a\u0e07\u0e01\u0e4c (Citibank)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2a\u0e41\u0e15\u0e19\u0e14\u0e32\u0e23\u0e4c\u0e14\u0e0a\u0e32\u0e23\u0e4c\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e14 (\u0e44\u0e17\u0e22)\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2a\u0e41\u0e15\u0e19\u0e14\u0e32\u0e23\u0e4c\u0e14\u0e0a\u0e32\u0e23\u0e4c\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e14 (\u0e44\u0e17\u0e22)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e0b\u0e39\u0e21\u0e34\u0e42\u0e15\u0e42\u0e21 \u0e21\u0e34\u0e15\u0e0b\u0e38\u0e22 \u0e17\u0e23\u0e31\u0e2a\u0e15\u0e4c (\u0e44\u0e17\u0e22)\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e0b\u0e39\u0e21\u0e34\u0e42\u0e15\u0e42\u0e21 \u0e21\u0e34\u0e15\u0e0b\u0e38\u0e22 \u0e17\u0e23\u0e31\u0e2a\u0e15\u0e4c (\u0e44\u0e17\u0e22)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e21\u0e01\u0e30 \u0e2a\u0e32\u0e01\u0e25\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e21\u0e01\u0e30 \u0e2a\u0e32\u0e01\u0e25\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c (Mega ICBC)<\/option>\n          <\/optgroup>\n          <optgroup label=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e23\u0e31\u0e10\/\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e01\u0e34\u0e08\">\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2d\u0e2d\u0e21\u0e2a\u0e34\u0e19\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2d\u0e2d\u0e21\u0e2a\u0e34\u0e19 (GSB)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2d\u0e32\u0e04\u0e32\u0e23\u0e2a\u0e07\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2d\u0e32\u0e04\u0e32\u0e23\u0e2a\u0e07\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c (GHB)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e01\u0e29\u0e15\u0e23\u0e41\u0e25\u0e30\u0e2a\u0e2b\u0e01\u0e23\u0e13\u0e4c\u0e01\u0e32\u0e23\u0e40\u0e01\u0e29\u0e15\u0e23\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e01\u0e29\u0e15\u0e23\u0e41\u0e25\u0e30\u0e2a\u0e2b\u0e01\u0e23\u0e13\u0e4c\u0e01\u0e32\u0e23\u0e40\u0e01\u0e29\u0e15\u0e23 (BAAC)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2d\u0e34\u0e2a\u0e25\u0e32\u0e21\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e2d\u0e34\u0e2a\u0e25\u0e32\u0e21\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 (iBank)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e41\u0e25\u0e30\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e41\u0e25\u0e30\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 (EXIM Bank)<\/option>\n            <option value=\"\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e27\u0e34\u0e2a\u0e32\u0e2b\u0e01\u0e34\u0e08\u0e02\u0e19\u0e32\u0e14\u0e01\u0e25\u0e32\u0e07\u0e41\u0e25\u0e30\u0e02\u0e19\u0e32\u0e14\u0e22\u0e48\u0e2d\u0e21\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22\">\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e27\u0e34\u0e2a\u0e32\u0e2b\u0e01\u0e34\u0e08\u0e02\u0e19\u0e32\u0e14\u0e01\u0e25\u0e32\u0e07\u0e41\u0e25\u0e30\u0e02\u0e19\u0e32\u0e14\u0e22\u0e48\u0e2d\u0e21\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 (SME Bank)<\/option>\n          <\/optgroup>\n          <option value=\"\u0e2d\u0e37\u0e48\u0e19\u0e46\">\u0e2d\u0e37\u0e48\u0e19\u0e46 (\u0e23\u0e30\u0e1a\u0e38\u0e40\u0e2d\u0e07)<\/option>\n        <\/select>\n      <\/div>\n      <div class=\"field\">\n        <label>\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e0d\u0e0a\u0e35<\/label>\n        <input type=\"text\" id=\"bankAccountName\" placeholder=\"\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e17\u0e35\u0e48\u0e08\u0e30\u0e23\u0e31\u0e1a\u0e42\u0e2d\u0e19\">\n      <\/div>\n    <\/div>\n    <div class=\"row2\" style=\"margin-bottom:0;\">\n      <div class=\"field\">\n        <label>\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e1a\u0e31\u0e0d\u0e0a\u0e35<\/label>\n        <input type=\"text\" inputmode=\"numeric\" id=\"bankAccountNo\" placeholder=\"\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23 (\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19)\">\n      <\/div>\n      <div class=\"field\">\n        <label>\u0e2a\u0e32\u0e02\u0e32<\/label>\n        <input type=\"text\" id=\"bankBranch\" placeholder=\"\u0e2a\u0e32\u0e02\u0e32 (\u0e16\u0e49\u0e32\u0e21\u0e35)\">\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"card\">\n    <h2><span class=\"num\">8<\/span>\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e2b\u0e15\u0e38<\/h2>\n    <div class=\"field\" style=\"margin-bottom:16px;\">\n      <textarea id=\"docNotes\" placeholder=\"\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\u0e01\u0e32\u0e23\u0e0a\u0e33\u0e23\u0e30\u0e40\u0e07\u0e34\u0e19 \u0e2b\u0e23\u0e37\u0e2d\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e2b\u0e15\u0e38\u0e2d\u0e37\u0e48\u0e19\u0e46 (\u0e16\u0e49\u0e32\u0e21\u0e35)\"><\/textarea>\n    <\/div>\n    <button type=\"button\" class=\"generate-btn\" id=\"generateBtn\">\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23<\/button>\n  <\/div>\n\n  <div id=\"docWrap\">\n    <div class=\"card\" style=\"padding:0;overflow:hidden;\">\n      <div class=\"no-print-heading\" style=\"padding:20px 20px 0;\">\n        <h2 style=\"border:none;padding:0;margin-bottom:12px;\"><span class=\"num\">9<\/span>\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 \u2014 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e1e\u0e34\u0e21\u0e1e\u0e4c\/\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/h2>\n      <\/div>\n      <div class=\"doc-scroll\" style=\"padding:0 20px 20px;\">\n        <div id=\"doc\"><\/div>\n        <div class=\"action-row\">\n          <button type=\"button\" class=\"action-btn print\" id=\"printBtn\">\ud83d\udda8\ufe0f \u0e1e\u0e34\u0e21\u0e1e\u0e4c<\/button>\n          <button type=\"button\" class=\"action-btn jpeg\" id=\"jpegBtn\">\ud83d\udcbe \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e (JPEG)<\/button>\n          <button type=\"button\" class=\"action-btn edit\" id=\"editBtn\">\u2190 \u0e41\u0e01\u0e49\u0e44\u0e02\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"cta\">\n    <div>\n      <h3>\u0e43\u0e2b\u0e49 DLW Consultants \u0e0a\u0e48\u0e27\u0e22\u0e14\u0e39\u0e41\u0e25\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e41\u0e25\u0e30\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e1a\u0e27\u0e07\u0e08\u0e23<\/h3>\n      <p>\u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e40\u0e2d\u0e07\u0e44\u0e14\u0e49 \u0e41\u0e15\u0e48\u0e01\u0e32\u0e23\u0e25\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07 \u0e22\u0e37\u0e48\u0e19\u0e20\u0e32\u0e29\u0e35\u0e43\u0e2b\u0e49\u0e15\u0e23\u0e07\u0e40\u0e27\u0e25\u0e32 \u0e41\u0e25\u0e30\u0e27\u0e32\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e0b\u0e49\u0e33 \u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e21\u0e37\u0e2d\u0e2d\u0e32\u0e0a\u0e35\u0e1e\u0e14\u0e39\u0e41\u0e25 \u0e17\u0e35\u0e21 DLW \u0e0a\u0e48\u0e27\u0e22\u0e44\u0e14\u0e49\u0e04\u0e23\u0e1a\u0e17\u0e31\u0e49\u0e07\u0e23\u0e30\u0e1a\u0e1a<\/p>\n    <\/div>\n    <a href=\"https:\/\/lin.ee\/tIuRROX\" target=\"_blank\" rel=\"noopener\">\u0e41\u0e2d\u0e14\u0e44\u0e25\u0e19\u0e4c\u0e1b\u0e23\u0e36\u0e01\u0e29\u0e32\u0e40\u0e23\u0e32<\/a>\n  <\/div>\n\n  <div class=\"disclaimer\">\n    \u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e19\u0e35\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e0a\u0e48\u0e27\u0e22\u0e08\u0e31\u0e14\u0e17\u0e33\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e15\u0e49\u0e19\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u0e42\u0e14\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e40\u0e25\u0e02\u0e1b\u0e23\u0e30\u0e08\u0e33\u0e15\u0e31\u0e27\u0e1c\u0e39\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e20\u0e32\u0e29\u0e35\u0e41\u0e25\u0e30\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e20\u0e32\u0e29\u0e35 \u0e01\u0e48\u0e2d\u0e19\u0e2a\u0e48\u0e07\u0e21\u0e2d\u0e1a\u0e43\u0e2b\u0e49\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e0a\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e25\u0e31\u0e01\u0e10\u0e32\u0e19\u0e17\u0e32\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35 \u2014 \u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e39\u0e49\u0e0b\u0e37\u0e49\u0e2d\u0e04\u0e23\u0e1a\u0e16\u0e49\u0e27\u0e19\u0e15\u0e32\u0e21\u0e21\u0e32\u0e15\u0e23\u0e32 86\/4 \u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e23\u0e31\u0e29\u0e0e\u0e32\u0e01\u0e23\u0e08\u0e36\u0e07\u0e08\u0e30\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c\u0e15\u0e32\u0e21\u0e01\u0e0e\u0e2b\u0e21\u0e32\u0e22\n  <\/div>\n<\/div>\n<\/div>\n<script>\n(function(){\n  var THAI_MONTHS = ['\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21','\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c','\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21','\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19','\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21','\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19','\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21','\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21','\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19','\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21','\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19','\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21'];\n  var DOC_TYPES = {\n    quotation:  { label:'\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32', labelEn:'Quotation', prefix:'QT', secondaryLabel:'\u0e27\u0e31\u0e19\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32' },\n    invoice:    { label:'\u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49', labelEn:'Invoice', prefix:'INV', secondaryLabel:'\u0e27\u0e31\u0e19\u0e04\u0e23\u0e1a\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e33\u0e23\u0e30' },\n    receipt:    { label:'\u0e43\u0e1a\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19', labelEn:'Receipt', prefix:'RC', secondaryLabel:'' },\n    taxinvoice: { label:'\u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35', labelEn:'Tax Invoice', prefix:'TAX', secondaryLabel:'\u0e27\u0e31\u0e19\u0e04\u0e23\u0e1a\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e0a\u0e33\u0e23\u0e30' }\n  };\n  var activeType = 'quotation';\n  var vatOnBeforeReceipt = null;\n  var today = new Date();\n  var todayBuddhistYear = today.getFullYear() + 543;\n\n  var UNIT_OPTIONS_HTML = '<select class=\"it-unit\">' +\n    '<optgroup label=\"\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\">' +\n      '<option value=\"\u0e0a\u0e34\u0e49\u0e19\">\u0e0a\u0e34\u0e49\u0e19<\/option>' +\n      '<option value=\"\u0e0a\u0e38\u0e14\">\u0e0a\u0e38\u0e14<\/option>' +\n      '<option value=\"\u0e2d\u0e31\u0e19\">\u0e2d\u0e31\u0e19<\/option>' +\n      '<option value=\"\u0e02\u0e27\u0e14\">\u0e02\u0e27\u0e14<\/option>' +\n      '<option value=\"\u0e01\u0e23\u0e30\u0e1b\u0e4b\u0e2d\u0e07\">\u0e01\u0e23\u0e30\u0e1b\u0e4b\u0e2d\u0e07<\/option>' +\n      '<option value=\"\u0e43\u0e1a\">\u0e43\u0e1a<\/option>' +\n      '<option value=\"\u0e40\u0e25\u0e48\u0e21\">\u0e40\u0e25\u0e48\u0e21<\/option>' +\n      '<option value=\"\u0e41\u0e1c\u0e48\u0e19\">\u0e41\u0e1c\u0e48\u0e19<\/option>' +\n      '<option value=\"\u0e21\u0e49\u0e27\u0e19\">\u0e21\u0e49\u0e27\u0e19<\/option>' +\n      '<option value=\"\u0e01\u0e25\u0e48\u0e2d\u0e07\">\u0e01\u0e25\u0e48\u0e2d\u0e07<\/option>' +\n      '<option value=\"\u0e16\u0e38\u0e07\">\u0e16\u0e38\u0e07<\/option>' +\n      '<option value=\"\u0e41\u0e1e\u0e47\u0e04\">\u0e41\u0e1e\u0e47\u0e04<\/option>' +\n      '<option value=\"\u0e25\u0e31\u0e07\">\u0e25\u0e31\u0e07<\/option>' +\n      '<option value=\"\u0e04\u0e39\u0e48\">\u0e04\u0e39\u0e48<\/option>' +\n      '<option value=\"\u0e42\u0e2b\u0e25\">\u0e42\u0e2b\u0e25<\/option>' +\n      '<option value=\"\u0e41\u0e17\u0e48\u0e07\">\u0e41\u0e17\u0e48\u0e07<\/option>' +\n      '<option value=\"\u0e15\u0e31\u0e27\">\u0e15\u0e31\u0e27<\/option>' +\n      '<option value=\"\u0e04\u0e31\u0e19\">\u0e04\u0e31\u0e19<\/option>' +\n      '<option value=\"\u0e2b\u0e25\u0e31\u0e07\">\u0e2b\u0e25\u0e31\u0e07<\/option>' +\n    '<\/optgroup>' +\n    '<optgroup label=\"\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\">' +\n      '<option value=\"\u0e07\u0e32\u0e19\">\u0e07\u0e32\u0e19<\/option>' +\n      '<option value=\"\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\">\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23<\/option>' +\n      '<option value=\"\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\">\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23<\/option>' +\n      '<option value=\"\u0e04\u0e23\u0e31\u0e49\u0e07\">\u0e04\u0e23\u0e31\u0e49\u0e07<\/option>' +\n      '<option value=\"\u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07\">\u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/option>' +\n      '<option value=\"\u0e27\u0e31\u0e19\">\u0e27\u0e31\u0e19<\/option>' +\n      '<option value=\"\u0e40\u0e14\u0e37\u0e2d\u0e19\">\u0e40\u0e14\u0e37\u0e2d\u0e19<\/option>' +\n      '<option value=\"\u0e1b\u0e35\">\u0e1b\u0e35<\/option>' +\n    '<\/optgroup>' +\n    '<optgroup label=\"\u0e19\u0e49\u0e33\u0e2b\u0e19\u0e31\u0e01\/\u0e1b\u0e23\u0e34\u0e21\u0e32\u0e13\">' +\n      '<option value=\"\u0e01\u0e01.\">\u0e01\u0e01.<\/option>' +\n      '<option value=\"\u0e01\u0e23\u0e31\u0e21\">\u0e01\u0e23\u0e31\u0e21<\/option>' +\n      '<option value=\"\u0e25\u0e34\u0e15\u0e23\">\u0e25\u0e34\u0e15\u0e23<\/option>' +\n      '<option value=\"\u0e40\u0e21\u0e15\u0e23\">\u0e40\u0e21\u0e15\u0e23<\/option>' +\n      '<option value=\"\u0e15\u0e23.\u0e21.\">\u0e15\u0e23.\u0e21.<\/option>' +\n      '<option value=\"\u0e15\u0e23.\u0e27\u0e32\">\u0e15\u0e23.\u0e27\u0e32<\/option>' +\n    '<\/optgroup>' +\n    '<option value=\"__custom__\">\u0e2d\u0e37\u0e48\u0e19\u0e46 (\u0e23\u0e30\u0e1a\u0e38\u0e40\u0e2d\u0e07)<\/option>' +\n  '<\/select>';\n\n  var WHT_OPTIONS_HTML = '<select class=\"it-wht\">' +\n    '<option value=\"0\">\u0e44\u0e21\u0e48\u0e2b\u0e31\u0e01<\/option>' +\n    '<option value=\"1\">1%<\/option>' +\n    '<option value=\"1.5\">1.5%<\/option>' +\n    '<option value=\"2\">2%<\/option>' +\n    '<option value=\"3\">3%<\/option>' +\n    '<option value=\"5\">5%<\/option>' +\n    '<option value=\"10\">10%<\/option>' +\n    '<option value=\"custom\">\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e2d\u0e07<\/option>' +\n  '<\/select>';\n\n  function dayOptionsHtml(selectedDay){\n    var html = '';\n    for (var d=1; d<=31; d++){ html += '<option value=\"'+d+'\"'+(d===selectedDay?' selected':'')+'>'+d+'<\/option>'; }\n    return html;\n  }\n  function monthOptionsHtml(selectedMonth){\n    var html = '';\n    THAI_MONTHS.forEach(function(name, idx){\n      var m = idx+1;\n      html += '<option value=\"'+m+'\"'+(m===selectedMonth?' selected':'')+'>'+name+'<\/option>';\n    });\n    return html;\n  }\n  function yearOptionsHtml(selectedYear, back, forward){\n    var html = '';\n    for (var y = todayBuddhistYear+forward; y >= todayBuddhistYear-back; y--){\n      html += '<option value=\"'+y+'\"'+(y===selectedYear?' selected':'')+'>'+y+'<\/option>';\n    }\n    return html;\n  }\n\n  document.getElementById('issueDay').innerHTML = dayOptionsHtml(today.getDate());\n  document.getElementById('issueMonth').innerHTML = monthOptionsHtml(today.getMonth()+1);\n  document.getElementById('issueYear').innerHTML = yearOptionsHtml(todayBuddhistYear, 3, 2);\n  document.getElementById('secondDay').innerHTML = dayOptionsHtml(null);\n  document.getElementById('secondMonth').innerHTML = monthOptionsHtml(null);\n  document.getElementById('secondYear').innerHTML = yearOptionsHtml(todayBuddhistYear, 3, 3);\n\n  function val(id){ return document.getElementById(id).value.trim(); }\n\n  \/\/ \u2500\u2500 Due date auto-calc: issue date + 7 days by default, stays editable \u2500\u2500\n  var secondDateTouched = false;\n  function setSecondaryDateFromIssuePlusDays(days){\n    var issueDay = parseInt(val('issueDay'),10), issueMonth = parseInt(val('issueMonth'),10), issueYear = parseInt(val('issueYear'),10);\n    if (!issueDay || !issueMonth || !issueYear) return;\n    var issueDateObj = new Date(issueYear-543, issueMonth-1, issueDay);\n    var dueDateObj = new Date(issueDateObj);\n    dueDateObj.setDate(dueDateObj.getDate() + days);\n    var dueBuddhistYear = dueDateObj.getFullYear() + 543;\n    document.getElementById('secondDay').innerHTML = dayOptionsHtml(dueDateObj.getDate());\n    document.getElementById('secondMonth').innerHTML = monthOptionsHtml(dueDateObj.getMonth()+1);\n    document.getElementById('secondYear').innerHTML = yearOptionsHtml(dueBuddhistYear, 3, 3);\n  }\n  setSecondaryDateFromIssuePlusDays(7); \/\/ initial default\n\n  ['issueDay','issueMonth','issueYear'].forEach(function(id){\n    document.getElementById(id).addEventListener('change', function(){\n      if (!secondDateTouched) setSecondaryDateFromIssuePlusDays(7);\n    });\n  });\n  ['secondDay','secondMonth','secondYear'].forEach(function(id){\n    document.getElementById(id).addEventListener('change', function(){ secondDateTouched = true; });\n  });\n\n  \/\/ \u2500\u2500 Tax ID: digits only, capped at 13, with live validation feedback \u2500\u2500\n  function wireTaxIdValidation(inputId, hintId){\n    var input = document.getElementById(inputId);\n    var hint = document.getElementById(hintId);\n    input.addEventListener('input', function(){\n      var digits = input.value.replace(\/\\D\/g, '').slice(0, 13);\n      input.value = digits;\n      if (digits.length === 0){\n        hint.textContent = ''; hint.className = 'taxid-hint'; input.classList.remove('taxid-invalid');\n      } else if (digits.length === 13){\n        hint.textContent = '\u2713 \u0e04\u0e23\u0e1a 13 \u0e2b\u0e25\u0e31\u0e01'; hint.className = 'taxid-hint ok'; input.classList.remove('taxid-invalid');\n      } else {\n        hint.textContent = '\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35 13 \u0e2b\u0e25\u0e31\u0e01 (\u0e02\u0e13\u0e30\u0e19\u0e35\u0e49 '+digits.length+' \u0e2b\u0e25\u0e31\u0e01)'; hint.className = 'taxid-hint bad'; input.classList.add('taxid-invalid');\n      }\n    });\n  }\n  wireTaxIdValidation('sellerTaxId', 'sellerTaxIdHint');\n  wireTaxIdValidation('buyerTaxId', 'buyerTaxIdHint');\n\n  \/\/ \u2500\u2500 Bank account number: digits only \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  document.getElementById('bankAccountNo').addEventListener('input', function(){\n    this.value = this.value.replace(\/\\D\/g, '');\n  });\n\n  function numVal(el){ return parseFloat((el.value||'').replace(\/,\/g,'')) || 0; }\n  function fmt(n){ return Math.round(n*100)\/100; }\n  function fmtMoney(n){ return fmtNumberStr(n); }\n  function fmtNumberStr(n){\n    var rounded = Math.round((n + Number.EPSILON) * 100) \/ 100;\n    return rounded.toLocaleString('th-TH', {minimumFractionDigits:2, maximumFractionDigits:2});\n  }\n  function fmtFieldLive(el){\n    var raw = numVal(el);\n    el.value = raw ? raw.toLocaleString('th-TH') : '';\n  }\n  function esc(s){ return (s||'').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;'); }\n  function thaiDateFromParts(dayId, monthId, yearId){\n    var d = val(dayId), m = val(monthId), y = val(yearId);\n    if (!d || !m || !y) return '';\n    return d + ' ' + THAI_MONTHS[parseInt(m,10)-1] + ' ' + y;\n  }\n\n  \/\/ \u2500\u2500 Thai Baht amount-in-words converter \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var THAI_DIGITS = ['\u0e28\u0e39\u0e19\u0e22\u0e4c','\u0e2b\u0e19\u0e36\u0e48\u0e07','\u0e2a\u0e2d\u0e07','\u0e2a\u0e32\u0e21','\u0e2a\u0e35\u0e48','\u0e2b\u0e49\u0e32','\u0e2b\u0e01','\u0e40\u0e08\u0e47\u0e14','\u0e41\u0e1b\u0e14','\u0e40\u0e01\u0e49\u0e32'];\n  var THAI_UNITS = ['','\u0e2a\u0e34\u0e1a','\u0e23\u0e49\u0e2d\u0e22','\u0e1e\u0e31\u0e19','\u0e2b\u0e21\u0e37\u0e48\u0e19','\u0e41\u0e2a\u0e19','\u0e25\u0e49\u0e32\u0e19'];\n  function thaiNumToWords(numStr){\n    numStr = numStr.replace(\/^0+(?=\\d)\/, '');\n    if (numStr === '' || \/^0+$\/.test(numStr)) return '\u0e28\u0e39\u0e19\u0e22\u0e4c';\n    var result = '';\n    var len = numStr.length;\n    for (var i=0; i<len; i++){\n      var digit = parseInt(numStr[i],10);\n      var placeFromRight = len - i - 1;\n      var unitIdx = placeFromRight % 6;\n      if (digit === 0) continue;\n      if (unitIdx === 0 && placeFromRight > 0){\n        \/\/ millions boundary handled by recursion-free loop with '\u0e25\u0e49\u0e32\u0e19' suffix each 6 digits\n      }\n      if (unitIdx === 1 && digit === 1){\n        result += '\u0e2a\u0e34\u0e1a';\n      } else if (unitIdx === 1 && digit === 2){\n        result += '\u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a';\n      } else if (unitIdx === 0 && digit === 1 && len > 1 && placeFromRight === 0 && parseInt(numStr[i-1]||'0',10) !== 0){\n        result += '\u0e40\u0e2d\u0e47\u0e14';\n      } else {\n        result += THAI_DIGITS[digit] + THAI_UNITS[unitIdx];\n      }\n      if (unitIdx === 0 && placeFromRight > 0){\n        var millionGroups = Math.floor(placeFromRight\/6);\n        if (millionGroups > 0) result += '\u0e25\u0e49\u0e32\u0e19';\n      }\n    }\n    return result;\n  }\n  function bahtText(amount){\n    amount = Math.round((amount + Number.EPSILON) * 100) \/ 100;\n    var neg = amount < 0; amount = Math.abs(amount);\n    var baht = Math.floor(amount);\n    var satang = Math.round((amount - baht) * 100);\n    var bahtStr = String(baht);\n    var text = thaiNumToWords(bahtStr) + '\u0e1a\u0e32\u0e17';\n    if (satang > 0){\n      text += thaiNumToWords(String(satang)) + '\u0e2a\u0e15\u0e32\u0e07\u0e04\u0e4c';\n    } else {\n      text += '\u0e16\u0e49\u0e27\u0e19';\n    }\n    return (neg?'\u0e25\u0e1a':'') + text;\n  }\n\n  \/\/ \u2500\u2500 Document type switching \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function switchDocType(type){\n    activeType = type;\n    document.querySelectorAll('.doctype-btn').forEach(function(btn){\n      btn.classList.toggle('active', btn.getAttribute('data-type') === type);\n    });\n    var def = DOC_TYPES[type];\n    document.getElementById('secondaryDateLabel').textContent = def.secondaryLabel;\n    var reqMark = document.getElementById('buyerTaxIdRequired');\n    reqMark.textContent = (type === 'taxinvoice') ? '(\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35)' : '';\n\n    var docNoEl = document.getElementById('docNo');\n    var currentVal = docNoEl.value.trim();\n    if (!currentVal){\n      docNoEl.value = def.prefix + '-' + todayBuddhistYear + '-0001';\n    } else {\n      \/\/ If the current number starts with any known prefix, swap just the prefix\n      \/\/ to match the newly selected document type, keeping the rest intact.\n      var knownPrefixes = Object.keys(DOC_TYPES).map(function(k){ return DOC_TYPES[k].prefix; });\n      var matched = knownPrefixes.find(function(p){ return currentVal.indexOf(p+'-') === 0; });\n      if (matched){\n        docNoEl.value = def.prefix + currentVal.slice(matched.length);\n      }\n    }\n    var vatToggleEl = document.getElementById('vatToggle');\n    var toggleRowEl = vatToggleEl.closest('.toggle-row');\n    var vatTitleEl = document.getElementById('vatSectionTitle');\n    if (type === 'receipt'){\n      if (vatOnBeforeReceipt === null){ vatOnBeforeReceipt = vatToggleEl.classList.contains('on'); }\n      toggleRowEl.style.display = 'none';\n      vatToggleEl.classList.remove('on');\n      vatTitleEl.textContent = '\u0e2a\u0e23\u0e38\u0e1b\u0e22\u0e2d\u0e14';\n    } else {\n      toggleRowEl.style.display = '';\n      vatTitleEl.textContent = '\u0e20\u0e32\u0e29\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21';\n      if (vatOnBeforeReceipt !== null){\n        if (vatOnBeforeReceipt){ vatToggleEl.classList.add('on'); }\n        vatOnBeforeReceipt = null;\n      }\n    }\n    updateTotals();\n    document.getElementById('secondaryDateField').style.display = (type === 'receipt') ? 'none' : '';\n    document.getElementById('refInvoiceField').style.display = (type === 'receipt' || type === 'taxinvoice') ? '' : 'none';\n  }\n  document.querySelectorAll('.doctype-btn').forEach(function(btn){\n    btn.addEventListener('click', function(){ switchDocType(btn.getAttribute('data-type')); });\n  });\n  switchDocType('quotation');\n\n  document.getElementById('vatToggle').addEventListener('click', function(){\n    this.classList.toggle('on');\n    updateTotals();\n  });\n\n  \/\/ \u2500\u2500 Line items \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var itemRowIdx = 0;\n  function calcRowAmount(row){\n    var qty = numVal(row.querySelector('.it-qty'));\n    var price = numVal(row.querySelector('.it-price'));\n    var discount = numVal(row.querySelector('.it-discount'));\n    return Math.max(qty * price - discount, 0);\n  }\n  function updateRowAmount(row){\n    var amt = calcRowAmount(row);\n    row.querySelector('.it-amount-cell').textContent = amt ? fmtMoney(amt) : '0.00';\n    updateTotals();\n  }\n  function updateItemsEmptyHint(){\n    var tbody = document.getElementById('itemsTableBody');\n    var existingHint = tbody.querySelector('.item-empty-hint-row');\n    if (document.querySelectorAll('.item-row').length === 0){\n      if (!existingHint){\n        tbody.insertAdjacentHTML('afterbegin', '<tr class=\"item-empty-hint-row\"><td colspan=\"7\" class=\"item-empty-hint\">\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 \u2014 \u0e01\u0e14 \"+ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\" \u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e15\u0e32\u0e23\u0e32\u0e07<\/td><\/tr>');\n      }\n    } else {\n      var hintRow = tbody.querySelector('.item-empty-hint-row');\n      if (hintRow) hintRow.remove();\n    }\n  }\n  updateItemsEmptyHint();\n\n  document.getElementById('addItemBtn').addEventListener('click', function(){\n    itemRowIdx++;\n    var tr = document.createElement('tr');\n    tr.className = 'item-row';\n    tr.setAttribute('data-row-id', 'item-'+itemRowIdx);\n    tr.innerHTML =\n      '<td><textarea class=\"it-desc\" rows=\"2\" placeholder=\"\u0e0a\u0e37\u0e48\u0e2d\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\/\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 (\u0e01\u0e14 Enter \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e02\u0e36\u0e49\u0e19\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e43\u0e2b\u0e21\u0e48\u0e44\u0e14\u0e49)\"><\/textarea><\/td>' +\n      '<td><input type=\"text\" inputmode=\"numeric\" class=\"it-qty\" placeholder=\"1\" value=\"1\"><\/td>' +\n      '<td>' + UNIT_OPTIONS_HTML + '<input type=\"text\" class=\"it-unit-custom\" placeholder=\"\u0e23\u0e30\u0e1a\u0e38\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e40\u0e2d\u0e07\" style=\"display:none;margin-top:4px;\"><\/td>' +\n      '<td><input type=\"text\" inputmode=\"numeric\" class=\"it-price\" placeholder=\"0\"><\/td>' +\n      '<td><input type=\"text\" inputmode=\"numeric\" class=\"it-discount\" placeholder=\"0\"><\/td>' +\n      '<td class=\"it-amount-cell\">0.00<\/td>' +\n      '<td>' + WHT_OPTIONS_HTML + '<input type=\"text\" inputmode=\"numeric\" class=\"it-wht-custom\" placeholder=\"\u0e23\u0e30\u0e1a\u0e38 % \u0e40\u0e2d\u0e07\" style=\"display:none;margin-top:4px;\"><\/td>' +\n      '<td><button type=\"button\" class=\"it-remove\" title=\"\u0e25\u0e1a\u0e41\u0e16\u0e27\u0e19\u0e35\u0e49\">\u2715<\/button><\/td>';\n    document.getElementById('itemsTableBody').appendChild(tr);\n    updateItemsEmptyHint();\n\n    tr.querySelector('.it-remove').addEventListener('click', function(){\n      tr.remove();\n      updateItemsEmptyHint();\n      updateTotals();\n    });\n    ['it-qty','it-price','it-discount'].forEach(function(cls){\n      var input = tr.querySelector('.'+cls);\n      input.addEventListener('input', function(){\n        if (cls !== 'it-qty') fmtFieldLive(input);\n        updateRowAmount(tr);\n      });\n    });\n    tr.querySelector('.it-unit').addEventListener('change', function(){\n      tr.querySelector('.it-unit-custom').style.display = (this.value === '__custom__') ? '' : 'none';\n    });\n    tr.querySelector('.it-wht').addEventListener('change', function(){\n      tr.querySelector('.it-wht-custom').style.display = (this.value === 'custom') ? '' : 'none';\n      updateTotals();\n    });\n    tr.querySelector('.it-wht-custom').addEventListener('input', function(){ updateTotals(); });\n    updateRowAmount(tr);\n  });\n\n  \/\/ \u2500\u2500 Totals calculation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function getRowWhtPercent(row){\n    var sel = row.querySelector('.it-wht').value;\n    if (sel === 'custom') return numVal(row.querySelector('.it-wht-custom'));\n    return parseFloat(sel) || 0;\n  }\n  function computeTotals(){\n    var subtotal = 0;\n    var whtAmount = 0;\n    document.querySelectorAll('.item-row').forEach(function(row){\n      var rowAmount = calcRowAmount(row);\n      subtotal += rowAmount;\n      whtAmount += rowAmount * (getRowWhtPercent(row)\/100); \/\/ WHT calculated from pre-VAT row amount, per standard practice\n    });\n    var vatOn = document.getElementById('vatToggle').classList.contains('on');\n    var vatAmount = vatOn ? subtotal * 0.07 : 0;\n    var grandTotal = subtotal + vatAmount;\n    var netPayable = grandTotal - whtAmount;\n    return { subtotal:subtotal, vatOn:vatOn, vatAmount:vatAmount, grandTotal:grandTotal, whtAmount:whtAmount, netPayable:netPayable };\n  }\n  function updateTotals(){\n    var t = computeTotals();\n    var html = '';\n    html += '<div class=\"t-line\"><div>\u0e23\u0e27\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e07\u0e34\u0e19<\/div><div>'+fmtMoney(t.subtotal)+' \u0e1a\u0e32\u0e17<\/div><\/div>';\n    if (t.vatOn){\n      html += '<div class=\"t-line\"><div>\u0e20\u0e32\u0e29\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21 7%<\/div><div>'+fmtMoney(t.vatAmount)+' \u0e1a\u0e32\u0e17<\/div><\/div>';\n    }\n    html += '<div class=\"t-line grand\"><div>\u0e23\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2a\u0e34\u0e49\u0e19<\/div><div>'+fmtMoney(t.grandTotal)+' \u0e1a\u0e32\u0e17<\/div><\/div>';\n    if (t.whtAmount > 0){\n      html += '<div class=\"t-line wht\"><div>\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22\u0e23\u0e27\u0e21<\/div><div>-'+fmtMoney(t.whtAmount)+' \u0e1a\u0e32\u0e17<\/div><\/div>';\n      html += '<div class=\"t-line net\"><div>\u0e22\u0e2d\u0e14\u0e2a\u0e38\u0e17\u0e18\u0e34\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e0a\u0e33\u0e23\u0e30<\/div><div>'+fmtMoney(t.netPayable)+' \u0e1a\u0e32\u0e17<\/div><\/div>';\n    }\n    document.getElementById('totalsBox').innerHTML = html;\n  }\n  updateTotals();\n\n  \/\/ \u2500\u2500 Bank name custom handling \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/ (bank is a plain select with \"\u0e2d\u0e37\u0e48\u0e19\u0e46\" option; kept simple, no extra text field needed since\n  \/\/ the account name\/number fields already capture the specifics)\n\n  \/\/ \u2500\u2500 Airtable integration (logs seller + buyer company info per document) \u2500\u2500\n  \/\/ \u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e48\u0e32\u0e19 Make.com Webhook \u0e41\u0e17\u0e19\u0e01\u0e32\u0e23\u0e22\u0e34\u0e07\u0e15\u0e23\u0e07\u0e44\u0e1b\u0e17\u0e35\u0e48 Airtable API\n  \/\/ (\u0e40\u0e14\u0e34\u0e21\u0e21\u0e35\u0e01\u0e32\u0e23\u0e1d\u0e31\u0e07 Airtable Personal Access Token \u0e44\u0e27\u0e49\u0e43\u0e19\u0e42\u0e04\u0e49\u0e14\u0e1d\u0e31\u0e48\u0e07 client \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2a\u0e35\u0e48\u0e22\u0e07\u0e14\u0e49\u0e32\u0e19\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22 \u2014\n  \/\/  \u0e43\u0e04\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e34\u0e14\u0e14\u0e39 source code \u0e02\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e19\u0e35\u0e49\u0e08\u0e30\u0e40\u0e2b\u0e47\u0e19 token \u0e41\u0e25\u0e30\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e2d\u0e48\u0e32\u0e19\/\u0e40\u0e02\u0e35\u0e22\u0e19\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e19 Airtable Base \u0e44\u0e14\u0e49\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\n  \/\/  \u0e08\u0e36\u0e07\u0e22\u0e49\u0e32\u0e22 credential \u0e44\u0e1b\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e1d\u0e31\u0e48\u0e07 Make.com scenario \u0e41\u0e17\u0e19 \u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e22\u0e31\u0e07\u0e04\u0e07\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e40\u0e14\u0e34\u0e21\u0e17\u0e38\u0e01\u0e1b\u0e23\u0e30\u0e01\u0e32\u0e23)\n  var MAKE_WEBHOOK_URL = 'https:\/\/hook.us1.make.com\/kb4avqjrmqpns5lltl2vu9tfdkdk493e';\n\n  function sendToAirtable(def){\n    var records = [];\n    if (val('sellerName')){\n      records.push({ fields: {\n        'Role': 'Seller',\n        '\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17': val('sellerName'),\n        '\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48': val('sellerAddress'),\n        '\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e20\u0e32\u0e29\u0e35': val('sellerTaxId'),\n        '\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23': val('sellerPhone'),\n        '\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23': def.labelEn,\n        '\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23': val('docNo')\n      }});\n    }\n    if (val('buyerName')){\n      records.push({ fields: {\n        'Role': 'Buyer',\n        '\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17': val('buyerName'),\n        '\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48': val('buyerAddress'),\n        '\u0e40\u0e25\u0e02\u0e1c\u0e39\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e20\u0e32\u0e29\u0e35': val('buyerTaxId'),\n        '\u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23': val('buyerPhone'),\n        '\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23': def.labelEn,\n        '\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23': val('docNo')\n      }});\n    }\n    if (records.length === 0) return;\n\n    fetch(MAKE_WEBHOOK_URL, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application\/json'\n      },\n      body: JSON.stringify({ records: records })\n    }).catch(function(err){\n      console.warn('\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e02\u0e49\u0e32 Airtable \u0e44\u0e21\u0e48\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08:', err);\n    });\n  }\n\n  \/\/ \u2500\u2500 Generate document \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  document.getElementById('generateBtn').addEventListener('click', function(){\n    var def = DOC_TYPES[activeType];\n    var t = computeTotals();\n    var issueDate = thaiDateFromParts('issueDay','issueMonth','issueYear');\n    var secondDate = thaiDateFromParts('secondDay','secondMonth','secondYear');\n\n    sendToAirtable(def);\n\n    var html = '';\n    html += '<div class=\"d-orig-badge\">(\u0e15\u0e49\u0e19\u0e09\u0e1a\u0e31\u0e1a)<\/div>';\n    html += '<h1 class=\"d-title-v2\">'+def.label+' \/ '+def.labelEn+'<\/h1>';\n\n    html += '<div class=\"d-partyrow\">';\n    html += '<div class=\"d-partyrow-left\">' +\n      '<div class=\"pr-row\"><span class=\"pr-label\">\u0e1c\u0e39\u0e49\u0e02\u0e32\u0e22 :<\/span><span class=\"pr-value pr-bold\">'+(esc(val('sellerName'))||'\u2014')+'<\/span><\/div>' +\n      (val('sellerAddress')?'<div class=\"pr-row\"><span class=\"pr-label\">\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48 :<\/span><span class=\"pr-value\">'+esc(val('sellerAddress'))+'<\/span><\/div>':'') +\n      (val('sellerTaxId')?'<div class=\"pr-row\"><span class=\"pr-label\">\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e20\u0e32\u0e29\u0e35 :<\/span><span class=\"pr-value\">'+esc(val('sellerTaxId'))+'<\/span><\/div>':'') +\n      (val('sellerPhone')?'<div class=\"pr-row\"><span class=\"pr-label\">\u0e42\u0e17\u0e23 :<\/span><span class=\"pr-value\">'+esc(val('sellerPhone'))+'<\/span><\/div>':'') +\n    '<\/div>';\n    html += '<div class=\"d-metabox-v2\">' +\n      '<div class=\"mb-row\"><span>\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 :<\/span><b>'+(esc(val('docNo'))||'\u2014')+'<\/b><\/div>' +\n      '<div class=\"mb-row\"><span>\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2d\u0e2d\u0e01 :<\/span><b>'+(issueDate||'\u2014')+'<\/b><\/div>' +\n      (activeType !== 'receipt' ? '<div class=\"mb-row\"><span>'+def.secondaryLabel+' :<\/span><b>'+(secondDate||'\u2014')+'<\/b><\/div>' : '') +\n      (((activeType === 'receipt' || activeType === 'taxinvoice') && val('refInvoiceNo')) ? '<div class=\"mb-row\"><span>\u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07\u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49 :<\/span><b>'+esc(val('refInvoiceNo'))+'<\/b><\/div>' : '') +\n    '<\/div>';\n    html += '<\/div>';\n\n    html += '<hr class=\"d-partyrow-divider\">';\n\n    html += '<div class=\"d-partyrow d-partyrow-last\">';\n    html += '<div class=\"d-partyrow-left\">' +\n      '<div class=\"pr-row\"><span class=\"pr-label\">\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32 :<\/span><span class=\"pr-value pr-bold\">'+(esc(val('buyerName'))||'\u2014')+'<\/span><\/div>' +\n      (val('buyerAddress')?'<div class=\"pr-row\"><span class=\"pr-label\">\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48 :<\/span><span class=\"pr-value\">'+esc(val('buyerAddress'))+'<\/span><\/div>':'') +\n      (val('buyerTaxId')?'<div class=\"pr-row\"><span class=\"pr-label\">\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e20\u0e32\u0e29\u0e35 :<\/span><span class=\"pr-value\">'+esc(val('buyerTaxId'))+'<\/span><\/div>':'') +\n      (val('buyerPhone')?'<div class=\"pr-row\"><span class=\"pr-label\">\u0e42\u0e17\u0e23 :<\/span><span class=\"pr-value\">'+esc(val('buyerPhone'))+'<\/span><\/div>':'') +\n    '<\/div>';\n    html += '<\/div>';\n\n    html += '<table class=\"d-items\"><thead><tr><th>\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23<\/th><th class=\"num-col\">\u0e08\u0e33\u0e19\u0e27\u0e19<\/th><th class=\"num-col\">\u0e2b\u0e19\u0e48\u0e27\u0e22<\/th><th class=\"num-col\">\u0e23\u0e32\u0e04\u0e32\/\u0e2b\u0e19\u0e48\u0e27\u0e22<\/th><th class=\"num-col\">\u0e2a\u0e48\u0e27\u0e19\u0e25\u0e14<\/th><th class=\"num-col\">\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19<\/th><th class=\"num-col\">\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22<\/th><\/tr><\/thead><tbody>';\n    var anyItems = false;\n    document.querySelectorAll('.item-row').forEach(function(row){\n      var desc = row.querySelector('.it-desc').value.trim();\n      if (!desc) return;\n      anyItems = true;\n      var qty = numVal(row.querySelector('.it-qty'));\n      var unitSel = row.querySelector('.it-unit');\n      var unit = unitSel.value === '__custom__' ? row.querySelector('.it-unit-custom').value.trim() : unitSel.value;\n      var price = numVal(row.querySelector('.it-price'));\n      var discount = numVal(row.querySelector('.it-discount'));\n      var amount = calcRowAmount(row);\n      var rowWhtPct = getRowWhtPercent(row);\n      var rowWhtAmt = amount * (rowWhtPct\/100);\n      html += '<tr><td>'+esc(desc).replace(\/\\n\/g,'<br>')+'<\/td><td class=\"num-col\">'+(qty||'\u2014')+'<\/td><td class=\"num-col\">'+(esc(unit)||'\u2014')+'<\/td><td class=\"num-col\">'+(price?fmtMoney(price):'\u2014')+'<\/td><td class=\"num-col\">'+(discount?fmtMoney(discount):'\u2014')+'<\/td><td class=\"num-col\">'+fmtMoney(amount)+'<\/td><td class=\"num-col\">'+(rowWhtPct>0?rowWhtPct+'% ('+fmtMoney(rowWhtAmt)+')':'\u2014')+'<\/td><\/tr>';\n    });\n    if (!anyItems){\n      html += '<tr><td colspan=\"7\" style=\"text-align:center;color:var(--muted);\">\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23<\/td><\/tr>';\n    }\n    html += '<\/tbody><\/table>';\n\n    html += '<div class=\"d-totals\">';\n    html += '<div class=\"dt-line\"><div>\u0e23\u0e27\u0e21\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e07\u0e34\u0e19<\/div><div>'+fmtMoney(t.subtotal)+'<\/div><\/div>';\n    if (t.vatOn){\n      html += '<div class=\"dt-line\"><div>\u0e20\u0e32\u0e29\u0e35\u0e21\u0e39\u0e25\u0e04\u0e48\u0e32\u0e40\u0e1e\u0e34\u0e48\u0e21 7%<\/div><div>'+fmtMoney(t.vatAmount)+'<\/div><\/div>';\n    }\n    html += '<div class=\"dt-line grand\"><div>\u0e23\u0e27\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2a\u0e34\u0e49\u0e19<\/div><div>'+fmtMoney(t.grandTotal)+' \u0e1a\u0e32\u0e17<\/div><\/div>';\n    if (t.whtAmount > 0){\n      html += '<div class=\"dt-line wht\"><div>\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22\u0e23\u0e27\u0e21<\/div><div>-'+fmtMoney(t.whtAmount)+'<\/div><\/div>';\n      html += '<div class=\"dt-line net\"><div>\u0e22\u0e2d\u0e14\u0e2a\u0e38\u0e17\u0e18\u0e34\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e0a\u0e33\u0e23\u0e30<\/div><div>'+fmtMoney(t.netPayable)+' \u0e1a\u0e32\u0e17<\/div><\/div>';\n    }\n    html += '<\/div>';\n    var finalAmount = t.whtAmount > 0 ? t.netPayable : t.grandTotal;\n    html += '<div class=\"d-words\" style=\"text-align:right;\">('+bahtText(finalAmount)+')<\/div>';\n\n    var bankHtml = '';\n    if (val('bankAccountNo') || val('bankAccountName')){\n      bankHtml = '<div class=\"d-bank\"><div class=\"d-bank-title\">\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e23\u0e31\u0e1a\u0e42\u0e2d\u0e19\u0e40\u0e07\u0e34\u0e19 \/ Payment Details<\/div>' +\n        (val('bankName')?'\u0e18\u0e19\u0e32\u0e04\u0e32\u0e23: '+esc(val('bankName'))+'<br>':'') +\n        (val('bankAccountName')?'\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e0d\u0e0a\u0e35: '+esc(val('bankAccountName'))+'<br>':'') +\n        (val('bankAccountNo')?'\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e1a\u0e31\u0e0d\u0e0a\u0e35: '+esc(val('bankAccountNo'))+'<br>':'') +\n        (val('bankBranch')?'\u0e2a\u0e32\u0e02\u0e32: '+esc(val('bankBranch')):'') +\n      '<\/div>';\n    }\n    var notesHtml = '';\n    if (val('docNotes')){\n      notesHtml = '<div class=\"d-bank\"><div class=\"d-bank-title\">\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e2b\u0e15\u0e38 \/ Notes<\/div>'+esc(val('docNotes')).replace(\/\\n\/g,'<br>')+'<\/div>';\n    }\n    if (bankHtml && notesHtml){\n      html += '<div class=\"d-bottom-row\">'+bankHtml+notesHtml+'<\/div>';\n    } else if (bankHtml || notesHtml){\n      html += '<div style=\"margin-top:18px;\">'+(bankHtml||notesHtml)+'<\/div>';\n    }\n\n    if (activeType === 'receipt'){\n      html += '<div class=\"d-sign d-sign-solo\">' +\n        '<div class=\"d-sign-box\"><div class=\"d-sign-line\"><\/div><div class=\"ds-label\">\u0e1c\u0e39\u0e49\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19 \/ Received by<\/div><div class=\"ds-date\">\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 \/ Date ____ \/ ____ \/ ____<\/div><\/div>' +\n      '<\/div>';\n    } else {\n      var secondSignLabel = (activeType === 'quotation') ? '\u0e1c\u0e39\u0e49\u0e2d\u0e19\u0e38\u0e21\u0e31\u0e15\u0e34\/\u0e15\u0e2d\u0e1a\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e04\u0e32 \/ Approved by' : '\u0e1c\u0e39\u0e49\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 \/ Received by';\n      html += '<div class=\"d-sign\">' +\n        '<div class=\"d-sign-box\"><div class=\"d-sign-line\"><\/div><div class=\"ds-label\">\u0e1c\u0e39\u0e49\u0e21\u0e35\u0e2d\u0e33\u0e19\u0e32\u0e08\u0e25\u0e07\u0e19\u0e32\u0e21 \/ Authorized Signature<\/div><div class=\"ds-date\">\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 \/ Date ____ \/ ____ \/ ____<\/div><\/div>' +\n        '<div class=\"d-sign-box\"><div class=\"d-sign-line\"><\/div><div class=\"ds-label\">' + secondSignLabel + '<\/div><div class=\"ds-date\">\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48 \/ Date ____ \/ ____ \/ ____<\/div><\/div>' +\n      '<\/div>';\n    }\n\n    document.getElementById('doc').innerHTML = html;\n    document.getElementById('docWrap').classList.add('show');\n    document.getElementById('docWrap').scrollIntoView({behavior:'smooth', block:'start'});\n  });\n\n  document.getElementById('printBtn').addEventListener('click', function(){ window.print(); });\n  document.getElementById('editBtn').addEventListener('click', function(){\n    document.getElementById('docWrap').classList.remove('show');\n    window.scrollTo({top:0, behavior:'smooth'});\n  });\n  function downloadBlob(blob, fileName){\n    var url = URL.createObjectURL(blob);\n    var link = document.createElement('a');\n    link.href = url;\n    link.download = fileName;\n    document.body.appendChild(link);\n    link.click();\n    document.body.removeChild(link);\n    setTimeout(function(){ URL.revokeObjectURL(url); }, 1000);\n  }\n\n  document.getElementById('jpegBtn').addEventListener('click', function(){\n    var btn = this;\n    btn.disabled = true;\n    var originalText = btn.textContent;\n    btn.textContent = '\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e...';\n    var jpegTimedOut = false;\n    var jpegTimeoutId = setTimeout(function(){\n      jpegTimedOut = true;\n      btn.disabled = false;\n      btn.textContent = originalText;\n      alert('\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e\u0e43\u0e0a\u0e49\u0e40\u0e27\u0e25\u0e32\u0e19\u0e32\u0e19\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21 \"\u0e1e\u0e34\u0e21\u0e1e\u0e4c \/ \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19 PDF\" \u0e41\u0e17\u0e19');\n    }, 20000);\n    html2canvas(document.getElementById('doc'), { scale:2, backgroundColor:'#ffffff', useCORS:true, logging:false }).then(function(canvas){\n      clearTimeout(jpegTimeoutId);\n      if (jpegTimedOut) return;\n      var docNoPart = val('docNo') || 'document';\n      var fileName = docNoPart + '.jpg';\n      canvas.toBlob(function(blob){\n        if (!blob) {\n          alert('\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48 \u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e41\u0e17\u0e19');\n          btn.disabled = false;\n          btn.textContent = originalText;\n          return;\n        }\n        var isMobile = \/Android|iPhone|iPad|iPod\/i.test(navigator.userAgent);\n        var file;\n        var canUseShare = false;\n        if (isMobile && window.File && navigator.canShare) {\n          file = new File([blob], fileName, { type:'image\/jpeg' });\n          canUseShare = navigator.canShare({ files:[file] });\n        }\n        if (canUseShare) {\n          navigator.share({ files:[file], title: fileName }).then(function(){\n            btn.disabled = false;\n            btn.textContent = originalText;\n          }).catch(function(err){\n            btn.disabled = false;\n            btn.textContent = originalText;\n            if (err && err.name === 'AbortError') return;\n            downloadBlob(blob, fileName);\n          });\n        } else {\n          downloadBlob(blob, fileName);\n          btn.disabled = false;\n          btn.textContent = originalText;\n        }\n      }, 'image\/jpeg', 0.95);\n    }).catch(function(){\n      clearTimeout(jpegTimeoutId);\n      if (jpegTimedOut) return;\n      alert('\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e43\u0e2b\u0e21\u0e48 \u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e0a\u0e49\u0e1b\u0e38\u0e48\u0e21\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e41\u0e17\u0e19');\n      btn.disabled = false;\n      btn.textContent = originalText;\n    });\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcc4 \u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e02\u0e32\u0e22 \u0e2d\u0e2d\u0e01\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32 \/ \u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49 \/ \u0e43\u0e1a\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19 \/ \u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35 \u0e1f\u0e23\u0e35 \u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01 \u0e40\u0e2b\u0e21\u0e32\u0e30\u0e01\u0e31\u0e1a\u0e15\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e04\u0e27\u0e32\u0e21\u0e40\u0e23\u0e47\u0e27 \u0e01\u0e23\u0e2d\u0e01\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 \u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e33\u0e19\u0e27\u0e13 VAT \u0e41\u0e25\u0e30\u0e2b\u0e31\u0e01 \u0e13 \u0e17\u0e35\u0e48\u0e08\u0e48\u0e32\u0e22\u0e43\u0e2b\u0e49\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e2b\u0e23\u0e37\u0e2d\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19 PDF \u0e2a\u0e48\u0e07\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e40\u0e23\u0e47\u0e27\u0e01\u0e27\u0e48\u0e32\u0e17\u0e33\u0e40\u0e2d\u0e07\u0e43\u0e19 Excel \u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19 \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d\u0e02\u0e2d\u0e07\u0e04\u0e39\u0e48\u0e04\u0e49\u0e32\u0e17\u0e35\u0e48\u0e01\u0e23\u0e2d\u0e01\u0e44\u0e27\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e14\u0e39\u0e41\u0e25\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e44\u0e21\u0e48\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e01\u0e47\u0e1a\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e2d\u0e14\u0e40\u0e07\u0e34\u0e19 \u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e21\u0e35\u0e1b\u0e23\u0e30\u0e27\u0e31\u0e15\u0e34\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e27\u0e49\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c \u0e41\u0e19\u0e30\u0e19\u0e33\u0e43\u0e2b\u0e49\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e41\u0e17\u0e19 1\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 \u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32Quotation \u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49Invoice \u0e43\u0e1a\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19Receipt \u0e43\u0e1a\u0e01\u0e33\u0e01\u0e31\u0e1a\u0e20\u0e32\u0e29\u0e35Tax Invoice 2\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e39\u0e49\u0e02\u0e32\u0e22 (DLW) \u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e25\u0e02\u0e1b\u0e23\u0e30\u0e08\u0e33\u0e15\u0e31\u0e27\u0e1c\u0e39\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e20\u0e32\u0e29\u0e35 \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48 \u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23 3\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e1c\u0e39\u0e49\u0e0b\u0e37\u0e49\u0e2d\/\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32 \u0e0a\u0e37\u0e48\u0e2d\u0e25\u0e39\u0e01\u0e04\u0e49\u0e32\/\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e25\u0e02\u0e1b\u0e23\u0e30\u0e08\u0e33\u0e15\u0e31\u0e27\u0e1c\u0e39\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e20\u0e32\u0e29\u0e35 \u0e40\u0e1a\u0e2d\u0e23\u0e4c\u0e42\u0e17\u0e23\/LINE \u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48 4\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 \u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 \u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2d\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 \u0e27\u0e31\u0e19\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38\u0e43\u0e1a\u0e40\u0e2a\u0e19\u0e2d\u0e23\u0e32\u0e04\u0e32 \u0e2d\u0e49\u0e32\u0e07\u0e2d\u0e34\u0e07\u0e43\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e2b\u0e19\u0e35\u0e49\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48 (\u0e16\u0e49\u0e32\u0e21\u0e35) 5\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\/\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 \u0e08\u0e33\u0e19\u0e27\u0e19 \u0e2b\u0e19\u0e48\u0e27\u0e22 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_templately_pack_id":"","_templately_imported_at":"","_templately_source":"","_templately_import_session_id":"","site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1650","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/pages\/1650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/comments?post=1650"}],"version-history":[{"count":61,"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/pages\/1650\/revisions"}],"predecessor-version":[{"id":1794,"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/pages\/1650\/revisions\/1794"}],"wp:attachment":[{"href":"https:\/\/dlwthailand.com\/en\/wp-json\/wp\/v2\/media?parent=1650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}