{"id":37082,"date":"2026-02-23T15:08:18","date_gmt":"2026-02-23T08:08:18","guid":{"rendered":"https:\/\/dps.media\/?p=37082"},"modified":"2026-10-16T19:26:50","modified_gmt":"2026-10-16T12:26:50","slug":"payment-methods-comparison-table","status":"publish","type":"post","link":"https:\/\/dps.media\/en\/payment-methods-comparison-table\/","title":{"rendered":"Payment Option Comparison Table"},"content":{"rendered":"<div id=\"dps-isolated-root\" class=\"dps-calc-wrapper\">\n    <h2 style=\"position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0;\">\n        DPS.MEDIA advertising cost calculator \u2013 compare self-running and running via DPS<\/h2>\n    <style>\n        img.attachment-full.size-full.wp-post-image {\n            display: none !important;\n        }\n\n        div#ftwp-header-title {\n            display: none !important;\n        }\n\n        \/* --- C\u00d4 L\u1eacP KHUNG GIAO DI\u1ec6N & FONT CH\u1eee TO\u00c0N DI\u1ec6N --- *\/\n        #dps-isolated-root.dps-calc-wrapper,\n        #dps-isolated-root * {\n            box-sizing: border-box !important;\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif !important;\n            -webkit-font-smoothing: antialiased;\n            -moz-osx-font-smoothing: grayscale;\n        }\n\n        #dps-isolated-root.dps-calc-wrapper {\n            --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n            --color-background-primary: #ffffff;\n            --color-background-secondary: #f9fafb;\n            --color-text-primary: #111827;\n            --color-text-secondary: #4b5563;\n            --color-border-secondary: #d1d5db;\n            --color-border-tertiary: #e5e7eb;\n            --border-radius-md: 8px;\n            --border-radius-lg: 12px;\n\n            padding: 1.5rem 0;\n            max-width: 1080px;\n            width: 100%;\n            margin: 0 auto;\n            color: var(--color-text-primary);\n            line-height: 1.5;\n            text-align: left;\n        }\n\n        #dps-isolated-root button {\n            cursor: pointer;\n            font-family: inherit;\n        }\n\n        #dps-isolated-root input {\n            font-family: inherit;\n        }\n\n        #dps-isolated-root .card {\n            background: var(--color-background-primary);\n            border: 1px solid var(--color-border-tertiary);\n            border-radius: var(--border-radius-lg);\n            overflow: hidden;\n            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);\n            margin-bottom: 2rem;\n        }\n\n        #dps-isolated-root .card:last-of-type {\n            margin-bottom: 0;\n        }\n\n        #dps-isolated-root .card-header-label {\n            font-size: 13.5px !important;\n            font-weight: 700 !important;\n            padding: 12px 18px !important;\n            background: #f8fafc !important;\n            border-bottom: 1px solid var(--color-border-tertiary) !important;\n            color: #1e293b !important;\n            display: flex !important;\n            align-items: center !important;\n            gap: 8px !important;\n            text-transform: uppercase !important;\n            letter-spacing: .02em !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .input-area {\n            padding: 1.25rem 1.5rem !important;\n            border-bottom: 1px solid var(--color-border-tertiary) !important;\n        }\n\n        #dps-isolated-root .input-label {\n            font-size: 14px !important;\n            font-weight: 600 !important;\n            color: var(--color-text-primary) !important;\n            margin: 0 0 8px 0 !important;\n            line-height: 1.4 !important;\n        }\n\n        #dps-isolated-root .input-row {\n            display: flex !important;\n            align-items: center !important;\n            gap: 8px !important;\n        }\n\n        #dps-isolated-root .amount-input {\n            flex: 1 !important;\n            font-size: 18px !important;\n            font-weight: 600 !important;\n            padding: 9px 12px !important;\n            border: 1px solid var(--color-border-secondary) !important;\n            border-radius: var(--border-radius-md) !important;\n            background: var(--color-background-primary) !important;\n            color: var(--color-text-primary) !important;\n            outline: none !important;\n            min-width: 0 !important;\n            height: auto !important;\n            box-shadow: none !important;\n        }\n\n        #dps-isolated-root .amount-input:focus {\n            border-color: #2563eb !important;\n            box-shadow: 0 0 0 3px rgba(37, 99, 235, .12) !important;\n        }\n\n        #dps-isolated-root .currency-badge {\n            font-size: 12.5px !important;\n            font-weight: 600 !important;\n            color: var(--color-text-secondary) !important;\n            background: var(--color-background-secondary) !important;\n            padding: 8px 12px !important;\n            border: 1px solid var(--color-border-tertiary) !important;\n            border-radius: var(--border-radius-md) !important;\n            white-space: nowrap !important;\n            line-height: 1.4 !important;\n        }\n\n        #dps-isolated-root .quick-btns {\n            display: flex !important;\n            gap: 6px !important;\n            margin-top: 10px !important;\n            flex-wrap: wrap !important;\n        }\n\n        #dps-isolated-root .quick-btn {\n            font-size: 11.5px !important;\n            font-weight: 500 !important;\n            padding: 4px 10px !important;\n            border: 1px solid var(--color-border-tertiary) !important;\n            border-radius: 999px !important;\n            background: var(--color-background-secondary) !important;\n            color: var(--color-text-secondary) !important;\n            transition: all .15s !important;\n            line-height: 1.4 !important;\n        }\n\n        #dps-isolated-root .quick-btn:hover {\n            border-color: #2563eb !important;\n            color: #2563eb !important;\n            background: #eff6ff !important;\n        }\n\n        #dps-isolated-root .results {\n            padding: 1.25rem 1.5rem !important;\n        }\n\n        #dps-isolated-root .cols {\n            display: grid !important;\n            grid-template-columns: 1fr 1fr !important;\n            gap: 1.25rem !important;\n            margin: 0 !important;\n            width: 100% !important;\n        }\n\n        @media(max-width:768px) {\n            #dps-isolated-root .cols {\n                grid-template-columns: 1fr !important;\n            }\n        }\n\n        #dps-isolated-root .col-head {\n            font-size: 12.5px !important;\n            font-weight: 700 !important;\n            text-transform: uppercase !important;\n            letter-spacing: .04em !important;\n            padding: 8px 12px !important;\n            border-radius: var(--border-radius-md) !important;\n            margin-bottom: 10px !important;\n            display: flex !important;\n            align-items: center !important;\n            gap: 6px !important;\n        }\n\n        #dps-isolated-root .col-head-dps {\n            background: #ecfdf5 !important;\n            color: #065f46 !important;\n            border: 1px solid #a7f3d0 !important;\n        }\n\n        #dps-isolated-root .col-head-self {\n            background: var(--color-background-secondary) !important;\n            color: var(--color-text-secondary) !important;\n            border: 1px solid var(--color-border-tertiary) !important;\n        }\n\n        \/* --- B\u1ea2NG D\u00d2NG T\u00cdNH TO\u00c1N (CH\u1ed0NG GHI \u0110\u00c8 B\u1edeI BOOTSTRAP GRID .row) --- *\/\n        #dps-isolated-root .dps-calc-row,\n        #dps-isolated-root .row {\n            display: flex !important;\n            flex-direction: row !important;\n            flex-wrap: nowrap !important;\n            justify-content: space-between !important;\n            align-items: center !important;\n            min-height: 38px !important;\n            padding: 6px 0 !important;\n            border-bottom: 1px solid var(--color-border-tertiary) !important;\n            margin: 0 !important;\n            width: 100% !important;\n            box-sizing: border-box !important;\n        }\n\n        #dps-isolated-root .dps-calc-row:last-of-type,\n        #dps-isolated-root .row:last-of-type {\n            border-bottom: none !important;\n        }\n\n        \/* Ch\u1ed1ng Bootstrap .row > * { width: 100% } l\u00e0m r\u1edbt d\u00f2ng gi\u00e1 tr\u1ecb *\/\n        #dps-isolated-root .dps-calc-row > *,\n        #dps-isolated-root .row > * {\n            width: auto !important;\n            max-width: none !important;\n            padding: 0 !important;\n            margin: 0 !important;\n            flex-shrink: 0 !important;\n            box-sizing: border-box !important;\n        }\n\n        #dps-isolated-root .row-label {\n            font-size: 13px !important;\n            color: #374151 !important;\n            font-weight: 500 !important;\n            display: inline-flex !important;\n            align-items: center !important;\n            gap: 6px !important;\n            line-height: 1.4 !important;\n            flex: 1 1 auto !important;\n            min-width: 0 !important;\n        }\n\n        #dps-isolated-root .row-label > span:last-child {\n            white-space: normal !important;\n        }\n\n        #dps-isolated-root .step-badge {\n            font-size: 10.5px !important;\n            font-weight: 700 !important;\n            padding: 2px 6px !important;\n            border-radius: 4px !important;\n            font-family: var(--font-mono) !important;\n            flex-shrink: 0 !important;\n            min-width: 20px !important;\n            height: 18px !important;\n            display: inline-flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            text-align: center !important;\n            line-height: 1 !important;\n        }\n\n        #dps-isolated-root .step-em {\n            background: #d1fae5 !important;\n            color: #065f46 !important;\n        }\n\n        #dps-isolated-root .step-gray {\n            background: #e2e8f0 !important;\n            color: #475569 !important;\n        }\n\n        #dps-isolated-root .step-bm {\n            background: #fef3c7 !important;\n            color: #92400e !important;\n        }\n\n        #dps-isolated-root .step-blue {\n            background: #e0f2fe !important;\n            color: #0369a1 !important;\n        }\n\n        #dps-isolated-root .row-val {\n            font-size: 14px !important;\n            font-weight: 600 !important;\n            color: #111827 !important;\n            text-align: right !important;\n            white-space: nowrap !important;\n            margin-left: 10px !important;\n            flex: 0 0 auto !important;\n            font-variant-numeric: tabular-nums !important;\n            line-height: 1.4 !important;\n        }\n\n        #dps-isolated-root .row-val-red {\n            color: #dc2626 !important;\n        }\n\n        #dps-isolated-root .row-val-blue {\n            color: #0369a1 !important;\n        }\n\n        #dps-isolated-root .row-val-green {\n            color: #059669 !important;\n        }\n\n        #dps-isolated-root .divider-row {\n            border-top: 1px dashed var(--color-border-secondary) !important;\n            margin: 8px 0 !important;\n            width: 100% !important;\n        }\n\n        #dps-isolated-root .transfer-row {\n            display: flex !important;\n            flex-direction: row !important;\n            flex-wrap: nowrap !important;\n            justify-content: space-between !important;\n            align-items: center !important;\n            min-height: 42px !important;\n            padding: 8px 12px !important;\n            border-radius: var(--border-radius-md) !important;\n            background: var(--color-background-secondary) !important;\n            border: 1px solid var(--color-border-tertiary) !important;\n            margin: 8px 0 !important;\n            width: 100% !important;\n            box-sizing: border-box !important;\n        }\n\n        #dps-isolated-root .transfer-row > * {\n            width: auto !important;\n            max-width: none !important;\n            padding: 0 !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .transfer-label {\n            font-size: 13px !important;\n            color: var(--color-text-secondary) !important;\n            font-weight: 600 !important;\n            flex: 1 1 auto !important;\n            display: inline-flex !important;\n            align-items: center !important;\n            gap: 4px !important;\n        }\n\n        #dps-isolated-root .transfer-val {\n            font-size: 15px !important;\n            font-weight: 700 !important;\n            color: var(--color-text-primary) !important;\n            flex: 0 0 auto !important;\n            margin-left: 10px !important;\n            text-align: right !important;\n            font-variant-numeric: tabular-nums !important;\n        }\n\n        #dps-isolated-root .refund-row {\n            display: flex !important;\n            flex-direction: row !important;\n            flex-wrap: nowrap !important;\n            justify-content: space-between !important;\n            align-items: center !important;\n            min-height: 38px !important;\n            padding: 6px 12px !important;\n            border-radius: var(--border-radius-md) !important;\n            background: #fff7ed !important;\n            border: 1px solid #fed7aa !important;\n            margin: 8px 0 !important;\n            width: 100% !important;\n            box-sizing: border-box !important;\n        }\n\n        #dps-isolated-root .refund-row > * {\n            width: auto !important;\n            max-width: none !important;\n            padding: 0 !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .refund-label {\n            font-size: 12.5px !important;\n            color: #c2410c !important;\n            font-weight: 600 !important;\n            display: inline-flex !important;\n            align-items: center !important;\n            gap: 5px !important;\n            flex: 1 1 auto !important;\n        }\n\n        #dps-isolated-root .refund-val {\n            font-size: 14px !important;\n            font-weight: 700 !important;\n            color: #16a34a !important;\n            flex: 0 0 auto !important;\n            margin-left: 10px !important;\n            text-align: right !important;\n            font-variant-numeric: tabular-nums !important;\n        }\n\n        #dps-isolated-root .total-row {\n            display: flex !important;\n            flex-direction: row !important;\n            flex-wrap: nowrap !important;\n            justify-content: space-between !important;\n            align-items: center !important;\n            min-height: 48px !important;\n            padding: 10px 14px !important;\n            border-radius: var(--border-radius-md) !important;\n            margin-top: 10px !important;\n            width: 100% !important;\n            box-sizing: border-box !important;\n        }\n\n        #dps-isolated-root .total-row > * {\n            width: auto !important;\n            max-width: none !important;\n            padding: 0 !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .total-dps {\n            background: #ecfdf5 !important;\n            border: 1px solid #6ee7b7 !important;\n        }\n\n        #dps-isolated-root .total-self {\n            background: var(--color-background-secondary) !important;\n            border: 1px solid var(--color-border-tertiary) !important;\n        }\n\n        #dps-isolated-root .total-label {\n            font-size: 13.5px !important;\n            font-weight: 700 !important;\n            flex: 1 1 auto !important;\n        }\n\n        #dps-isolated-root .total-label-dps {\n            color: #065f46 !important;\n        }\n\n        #dps-isolated-root .total-label-self {\n            color: var(--color-text-secondary) !important;\n        }\n\n        #dps-isolated-root .total-val {\n            font-size: 17px !important;\n            font-weight: 700 !important;\n            flex: 0 0 auto !important;\n            margin-left: 10px !important;\n            text-align: right !important;\n            font-variant-numeric: tabular-nums !important;\n        }\n\n        #dps-isolated-root .total-val-dps {\n            color: #059669 !important;\n        }\n\n        #dps-isolated-root .total-val-self {\n            color: var(--color-text-primary) !important;\n        }\n\n        #dps-isolated-root .equal-banner {\n            margin-top: 1.25rem !important;\n            padding: 12px 16px !important;\n            background: #ecfdf5 !important;\n            border-radius: var(--border-radius-md) !important;\n            border: 1px solid #6ee7b7 !important;\n            display: flex !important;\n            align-items: flex-start !important;\n            gap: 12px !important;\n            box-sizing: border-box !important;\n        }\n\n        #dps-isolated-root .equal-icon {\n            font-size: 18px !important;\n            flex-shrink: 0 !important;\n            line-height: 1.4 !important;\n        }\n\n        #dps-isolated-root .equal-text {\n            font-size: 13px !important;\n            color: #065f46 !important;\n            flex: 1 !important;\n            line-height: 1.6 !important;\n        }\n\n        #dps-isolated-root .equal-text strong {\n            font-weight: 700 !important;\n            color: #047857 !important;\n        }\n\n        #dps-isolated-root .note-red {\n            font-size: 12.5px !important;\n            padding: 7px 10px !important;\n            background: #fef2f2 !important;\n            border-left: 3px solid #f87171 !important;\n            border-radius: 0 4px 4px 0 !important;\n            color: #991b1b !important;\n            margin-top: 6px !important;\n            display: flex !important;\n            flex-direction: row !important;\n            flex-wrap: nowrap !important;\n            justify-content: space-between !important;\n            align-items: center !important;\n            min-height: 36px !important;\n            width: 100% !important;\n            box-sizing: border-box !important;\n        }\n\n        #dps-isolated-root .note-red > span {\n            display: inline-flex !important;\n            align-items: center !important;\n            gap: 4px !important;\n            flex: 1 1 auto !important;\n            font-size: 12.5px !important;\n            color: #991b1b !important;\n        }\n\n        #dps-isolated-root .note-red strong {\n            font-size: 13.5px !important;\n            font-weight: 700 !important;\n            color: #991b1b !important;\n            flex: 0 0 auto !important;\n            margin-left: 10px !important;\n            text-align: right !important;\n            font-variant-numeric: tabular-nums !important;\n        }\n\n        #dps-isolated-root .empty-state {\n            text-align: center !important;\n            padding: 2.5rem 1rem !important;\n            color: var(--color-text-secondary) !important;\n            font-size: 14px !important;\n        }\n\n        \/* Tooltip styles *\/\n        #dps-isolated-root .dps-tooltip {\n            position: relative;\n            display: inline-flex;\n            align-items: center;\n            margin-left: 4px;\n            vertical-align: middle;\n        }\n\n        #dps-isolated-root .dps-tooltip .dps-tooltiptext {\n            visibility: hidden;\n            width: 220px;\n            background-color: #1f2937;\n            color: #fff;\n            text-align: center;\n            border-radius: 6px;\n            padding: 6px 10px;\n            position: absolute;\n            z-index: 100;\n            bottom: 125%;\n            left: 50%;\n            margin-left: -110px;\n            opacity: 0;\n            transition: opacity 0.2s;\n            font-size: 11px;\n            font-weight: normal;\n            line-height: 1.4;\n            white-space: normal;\n            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);\n        }\n\n        #dps-isolated-root .dps-tooltip .dps-tooltiptext::after {\n            content: \"\";\n            position: absolute;\n            top: 100%;\n            left: 50%;\n            margin-left: -5px;\n            border-width: 5px;\n            border-style: solid;\n            border-color: #1f2937 transparent transparent transparent;\n        }\n\n        #dps-isolated-root .dps-tooltip:hover .dps-tooltiptext {\n            visibility: visible;\n            opacity: 1;\n        }\n\n        \/* Prominent highlight for DPS transfer (kh\u00f4ng d\u00f9ng scale \u0111\u1ec3 gi\u1eef th\u1eb3ng tr\u1ee5c ngang) *\/\n        #dps-isolated-root .transfer-row-highlight {\n            background: linear-gradient(135deg, #f0fdf4, #d1fae5) !important;\n            border: 1.5px solid #10b981 !important;\n            box-shadow: 0 2px 8px rgba(16, 185, 129, 0.15) !important;\n        }\n\n        #dps-isolated-root .transfer-row-highlight .transfer-label {\n            color: #065f46 !important;\n            font-weight: 700 !important;\n            font-size: 13.5px !important;\n        }\n\n        #dps-isolated-root .transfer-row-highlight .transfer-val {\n            color: #047857 !important;\n            font-size: 16px !important;\n            font-weight: 700 !important;\n        }\n\n        \/* Responsive Input Grid *\/\n        #dps-isolated-root .input-grid {\n            display: flex !important;\n            gap: 16px !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .input-col-main {\n            flex: 2 !important;\n        }\n\n        #dps-isolated-root .input-col-fee {\n            flex: 1 !important;\n            min-width: 150px !important;\n        }\n\n        @media (max-width: 520px) {\n            #dps-isolated-root .input-grid {\n                flex-direction: column !important;\n                gap: 12px !important;\n            }\n        }\n\n        \/* Fee mode toggle (% vs flat amount) *\/\n        #dps-isolated-root .fee-mode-toggle {\n            display: flex !important;\n            gap: 4px !important;\n            margin-bottom: 6px !important;\n        }\n\n        #dps-isolated-root .fee-mode-btn {\n            flex: 1 !important;\n            font-size: 11px !important;\n            font-weight: 600 !important;\n            padding: 5px 4px !important;\n            border: 1px solid var(--color-border-tertiary) !important;\n            border-radius: 6px !important;\n            background: var(--color-background-secondary) !important;\n            color: var(--color-text-secondary) !important;\n            text-align: center !important;\n            transition: all .15s !important;\n            line-height: 1.3 !important;\n        }\n\n        #dps-isolated-root .fee-mode-btn:hover {\n            border-color: #2563eb !important;\n        }\n\n        #dps-isolated-root .fee-mode-btn.active {\n            background: #2563eb !important;\n            color: #fff !important;\n            border-color: #2563eb !important;\n        }\n\n        \/* BM optional toggle *\/\n        #dps-isolated-root .bm-toggle-row {\n            display: flex !important;\n            align-items: center !important;\n            gap: 8px !important;\n            margin-top: 14px !important;\n            padding-top: 14px !important;\n            border-top: 1px dashed var(--color-border-tertiary) !important;\n        }\n\n        #dps-isolated-root .bm-checkbox {\n            width: 16px !important;\n            height: 16px !important;\n            cursor: pointer !important;\n            accent-color: #2563eb !important;\n            flex-shrink: 0 !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .bm-label {\n            font-size: 13px !important;\n            font-weight: 600 !important;\n            color: var(--color-text-primary) !important;\n            cursor: pointer !important;\n            line-height: 1.4 !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .bm-input-wrap {\n            display: none;\n            margin-top: 10px !important;\n            gap: 8px !important;\n            align-items: center !important;\n        }\n\n        #dps-isolated-root .bm-input-wrap.show {\n            display: flex !important;\n        }\n\n        #dps-isolated-root .bm-input-wrap .amount-input {\n            font-size: 15px !important;\n            padding: 7px 10px !important;\n        }\n\n        \/* CARD 3: L\u1ecaCH S\u1eec THAY \u0110\u1ed4I THU\u1ebe META & C\u01a0 S\u1ede PH\u00c1P L\u00dd *\/\n        #dps-isolated-root .history-container {\n            padding: 1.25rem 1.5rem !important;\n        }\n\n        #dps-isolated-root .history-lead {\n            font-size: 13px !important;\n            color: #374151 !important;\n            line-height: 1.6 !important;\n            margin-bottom: 1.25rem !important;\n            padding: 12px 14px !important;\n            background: #f8fafc !important;\n            border-radius: var(--border-radius-md) !important;\n            border: 1px solid var(--color-border-tertiary) !important;\n        }\n\n        #dps-isolated-root .history-lead strong {\n            color: #111827 !important;\n            font-weight: 700 !important;\n        }\n\n        #dps-isolated-root .timeline-list {\n            display: flex !important;\n            flex-direction: column !important;\n            gap: 12px !important;\n            margin: 0 !important;\n            padding: 0 !important;\n        }\n\n        #dps-isolated-root .timeline-card {\n            border: 1px solid var(--color-border-tertiary) !important;\n            border-radius: var(--border-radius-md) !important;\n            background: var(--color-background-primary) !important;\n            padding: 14px 16px !important;\n            transition: all .15s ease !important;\n            margin: 0 !important;\n        }\n\n        #dps-isolated-root .timeline-card:hover {\n            box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;\n        }\n\n        #dps-isolated-root .timeline-card-active {\n            border: 1.5px solid #10b981 !important;\n            background: #f0fdf4 !important;\n            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.08) !important;\n        }\n\n        #dps-isolated-root .timeline-top {\n            display: flex !important;\n            justify-content: space-between !important;\n            align-items: center !important;\n            flex-wrap: wrap !important;\n            gap: 8px !important;\n            margin-bottom: 6px !important;\n        }\n\n        #dps-isolated-root .timeline-tag {\n            font-size: 11px !important;\n            font-weight: 700 !important;\n            text-transform: uppercase !important;\n            letter-spacing: .03em !important;\n            padding: 3px 8px !important;\n            border-radius: 4px !important;\n            line-height: 1.3 !important;\n        }\n\n        #dps-isolated-root .timeline-tag-past {\n            background: #f1f5f9 !important;\n            color: #475569 !important;\n        }\n\n        #dps-isolated-root .timeline-tag-active {\n            background: #10b981 !important;\n            color: #ffffff !important;\n        }\n\n        #dps-isolated-root .timeline-period {\n            font-size: 12px !important;\n            color: #64748b !important;\n            font-weight: 500 !important;\n            line-height: 1.3 !important;\n        }\n\n        #dps-isolated-root .timeline-title {\n            font-size: 13.5px !important;\n            font-weight: 700 !important;\n            color: #0f172a !important;\n            margin: 0 0 8px 0 !important;\n            line-height: 1.4 !important;\n        }\n\n        #dps-isolated-root .timeline-detail-list {\n            margin: 6px 0 0 20px !important;\n            padding: 0 !important;\n            list-style-type: disc !important;\n        }\n\n        #dps-isolated-root .timeline-detail-list li {\n            font-size: 13px !important;\n            color: #4b5563 !important;\n            line-height: 1.6 !important;\n            margin-bottom: 6px !important;\n            padding: 0 !important;\n        }\n\n        #dps-isolated-root .timeline-detail-list li:last-child {\n            margin-bottom: 0 !important;\n        }\n\n        #dps-isolated-root .timeline-detail-list li strong {\n            color: #1e293b !important;\n            font-weight: 600 !important;\n            font-size: 13px !important;\n        }\n\n        #dps-isolated-root .timeline-highlight-box {\n            margin-top: 8px !important;\n            padding: 10px 12px !important;\n            border-radius: 6px !important;\n            background: #ecfdf5 !important;\n            border-left: 3px solid #059669 !important;\n            font-size: 12.5px !important;\n            color: #065f46 !important;\n            line-height: 1.6 !important;\n        }\n\n        #dps-isolated-root .timeline-highlight-box strong {\n            color: #064e3b !important;\n            font-weight: 700 !important;\n            font-size: 12.5px !important;\n        }\n    <\/style>\n\n    <!-- CARD 1: T\u00cdNH XU\u00d4I (Nh\u1eadp ng\u00e2n s\u00e1ch Ads) -->\n    <div class=\"card\">\n        <div class=\"card-header-label\">\n            <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color: #2563eb;\">\n                <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\n                <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"><\/line>\n                <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"><\/line>\n            <\/svg>\n            TOOL 1: FORWARD CALCULATION (Enter the Desired Ads Budget \u2794 Calculate Total Transfer Amount)\n        <\/div>\n        <div class=\"input-area\">\n            <div class=\"input-grid\">\n                <div class=\"input-col-main\">\n                    <div class=\"input-label\">Enter the actual advertising budget you want to run<\/div>\n                    <div class=\"input-row\">\n                        <input class=\"amount-input\" id=\"dps-amount-input\" type=\"text\" placeholder=\"1.000.000\" oninput=\"dpsCalcHandleInput(this.value)\">\n                        <span class=\"currency-badge\">VND<\/span>\n                    <\/div>\n                <\/div>\n                <div class=\"input-col-fee\">\n                    <div class=\"input-label\">Agency service fee<\/div>\n                    <div class=\"fee-mode-toggle\">\n                        <button type=\"button\" class=\"fee-mode-btn active\" id=\"dps-fee-mode-percent-btn\" onclick=\"dpsSetFeeMode('percent')\">% Percentage<\/button>\n                        <button type=\"button\" class=\"fee-mode-btn\" id=\"dps-fee-mode-flat-btn\" onclick=\"dpsSetFeeMode('flat')\">Fixed amount<\/button>\n                    <\/div>\n                    <div class=\"input-row\">\n                        <input class=\"amount-input\" id=\"dps-fee-input\" type=\"text\" value=\"12\" oninput=\"dpsCalcFeeInput(this.value)\" style=\"text-align: center;\">\n                        <span class=\"currency-badge\" id=\"dps-fee-unit\">%<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"quick-btns\">\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuick(1000000)\">1 million<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuick(5000000)\">5 million<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuick(10000000)\">10 million<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuick(50000000)\">50 million<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuick(100000000)\">100 million<\/button>\n            <\/div>\n            <div class=\"bm-toggle-row\">\n                <input type=\"checkbox\" class=\"bm-checkbox\" id=\"dps-bm-check\" onchange=\"dpsToggleBm(this.checked)\">\n                <label class=\"bm-label\" for=\"dps-bm-check\">Does the customer also purchase BM (Business Manager)?<\/label>\n            <\/div>\n            <div class=\"bm-input-wrap\" id=\"dps-bm-input-wrap\">\n                <input class=\"amount-input\" id=\"dps-bm-input\" type=\"text\" placeholder=\"Enter BM price\" oninput=\"dpsBmInput(this.value)\">\n                <span class=\"currency-badge\">VND<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"results\" id=\"dps-results-area\">\n            <div class=\"empty-state\" id=\"dps-empty-msg\">Enter the amount to see cost analysis<\/div>\n            <div id=\"dps-calc-results\" style=\"display:none\">\n                <div class=\"cols\">\n                    <div id=\"col-self\">\n                        <div class=\"col-head col-head-self\">\n                            <svg width=\"14\" height=\"14\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                                <rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\"><\/rect>\n                                <line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"><\/line>\n                            <\/svg>\n                            Method 2 \u2014 Add card yourself\n                        <\/div>\n                        <div id=\"dps-rows-self\"><\/div>\n                    <\/div>\n\n                    <div id=\"col-dps\">\n                        <div class=\"col-head col-head-dps\">\n                            <svg width=\"14\" height=\"14\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                                <path d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"><\/path>\n                            <\/svg>\n                            Method 1 \u2014 Via DPS \u2b50\n                        <\/div>\n                        <div id=\"dps-rows-dps\"><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"equal-banner\" id=\"dps-equal-banner\">\n                    <span class=\"equal-icon\">\u2696<\/span>\n                    <span class=\"equal-text\" id=\"dps-equal-text\"><\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- CARD 2: T\u00cdNH NG\u01af\u1ee2C (Nh\u1eadp s\u1ed1 ti\u1ec1n chuy\u1ec3n kho\u1ea3n cho DPS) -->\n    <div class=\"card\">\n        <div class=\"card-header-label\">\n            <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color: #059669;\">\n                <path d=\"M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.57-8.38l5.67-5.67\"><\/path>\n            <\/svg>\n            TOOL 2: REVERSE CALCULATION (Enter the Total DPS Transfer Amount \u2794 Calculate the Actual Ads Budget)\n        <\/div>\n        <div class=\"input-area\">\n            <div class=\"input-grid\">\n                <div class=\"input-col-main\">\n                    <div class=\"input-label\">Enter the total amount you want to transfer to DPS<\/div>\n                    <div class=\"input-row\">\n                        <input class=\"amount-input\" id=\"dps-amount-input-rev\" type=\"text\" placeholder=\"10.000.000\" oninput=\"dpsCalcHandleInputRev(this.value)\">\n                        <span class=\"currency-badge\">VND<\/span>\n                    <\/div>\n                <\/div>\n                <div class=\"input-col-fee\">\n                    <div class=\"input-label\">Agency service fee<\/div>\n                    <div class=\"fee-mode-toggle\">\n                        <button type=\"button\" class=\"fee-mode-btn active\" id=\"dps-fee-mode-percent-btn-rev\" onclick=\"dpsSetFeeModeRev('percent')\">% Percentage<\/button>\n                        <button type=\"button\" class=\"fee-mode-btn\" id=\"dps-fee-mode-flat-btn-rev\" onclick=\"dpsSetFeeModeRev('flat')\">Fixed amount<\/button>\n                    <\/div>\n                    <div class=\"input-row\">\n                        <input class=\"amount-input\" id=\"dps-fee-input-rev\" type=\"text\" value=\"12\" oninput=\"dpsCalcFeeInputRev(this.value)\" style=\"text-align: center;\">\n                        <span class=\"currency-badge\" id=\"dps-fee-unit-rev\">%<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"quick-btns\">\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuickRev(1294059)\">1,294,059 VND<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuickRev(5000000)\">5 million<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuickRev(10000000)\">10 million<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuickRev(50000000)\">50 million<\/button>\n                <button class=\"quick-btn\" onclick=\"dpsCalcSetQuickRev(100000000)\">100 million<\/button>\n            <\/div>\n            <div class=\"bm-toggle-row\">\n                <input type=\"checkbox\" class=\"bm-checkbox\" id=\"dps-bm-check-rev\" onchange=\"dpsToggleBmRev(this.checked)\">\n                <label class=\"bm-label\" for=\"dps-bm-check-rev\">Does the customer also purchase BM (Business Manager)?<\/label>\n            <\/div>\n            <div class=\"bm-input-wrap\" id=\"dps-bm-input-wrap-rev\">\n                <input class=\"amount-input\" id=\"dps-bm-input-rev\" type=\"text\" placeholder=\"Enter BM price\" oninput=\"dpsBmInputRev(this.value)\">\n                <span class=\"currency-badge\">VND<\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"results\" id=\"dps-results-area-rev\">\n            <div class=\"empty-state\" id=\"dps-empty-msg-rev\">Enter the amount to see cost analysis<\/div>\n            <div id=\"dps-calc-results-rev\" style=\"display:none\">\n                <div class=\"cols\">\n                    <div id=\"col-self-rev\">\n                        <div class=\"col-head col-head-self\">\n                            <svg width=\"14\" height=\"14\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                                <rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\"><\/rect>\n                                <line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"><\/line>\n                            <\/svg>\n                            Method 2 \u2014 Add card yourself\n                        <\/div>\n                        <div id=\"dps-rows-self-rev\"><\/div>\n                    <\/div>\n\n                    <div id=\"col-dps-rev\">\n                        <div class=\"col-head col-head-dps\">\n                            <svg width=\"14\" height=\"14\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n                                <path d=\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"><\/path>\n                            <\/svg>\n                            Method 1 \u2014 Via DPS \u2b50\n                        <\/div>\n                        <div id=\"dps-rows-dps-rev\"><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"equal-banner\" id=\"dps-equal-banner-rev\">\n                    <span class=\"equal-icon\">\u2696<\/span>\n                    <span class=\"equal-text\" id=\"dps-equal-text-rev\"><\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- CARD 3: L\u1ecaCH S\u1eec THAY \u0110\u1ed4I C\u00c1CH T\u00cdNH & C\u01a0 S\u1ede PH\u00c1P L\u00dd THU\u1ebe META (FACEBOOK ADS) -->\n    <div class=\"card\">\n        <div class=\"card-header-label\" style=\"justify-content: space-between;\">\n            <div style=\"display:flex; align-items:center; gap:8px;\">\n                <svg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"color: #059669;\">\n                    <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n                    <polyline points=\"12 6 12 12 16 14\"><\/polyline>\n                <\/svg>\n                HISTORY OF CHANGES IN META TAX CALCULATION AND LEGAL BASIS\n            <\/div>\n            <span style=\"font-size: 11px; font-weight: 700; background: #dcfce7; color: #166534; padding: 3px 10px; border-radius: 999px; text-transform: none; letter-spacing: 0;\">Latest update: October 2026<\/span>\n        <\/div>\n        <div class=\"history-container\">\n            <div class=\"history-lead\">\n                <strong>Nature of the latest update from Meta:<\/strong> Since October 2026, Meta has officially differentiated advertisers in Vietnam. For businesses with a Tax Identification Number (TIN) that have uploaded a Business Registration Certificate (BRC), <strong>Meta stops charging 10% VAT on bank cards<\/strong> and transfers the entire obligation to self-declare and pay foreign contractor tax to Vietnamese businesses.\n            <\/div>\n\n            <div class=\"timeline-list\">\n                <!-- Giai \u0111o\u1ea1n 1 -->\n                <div class=\"timeline-card\">\n                    <div class=\"timeline-top\">\n                        <span class=\"timeline-tag timeline-tag-past\">Stage 1<\/span>\n                        <span class=\"timeline-period\">Before June 2022<\/span>\n                    <\/div>\n                    <div class=\"timeline-title\">Applied Circular 103\/2014\/TT-BTC as standard (businesses self-paid 100%)<\/div>\n                    <ul class=\"timeline-detail-list\">\n                        <li><strong>Bank card charged:<\/strong> 100% of the actual Ads budget (Meta had not yet opened a tax portal in Vietnam).<\/li>\n                        <li><strong>Foreign Contractor Tax (FCT) obligation:<\/strong> Vietnamese businesses prepared tax declarations and paid them to the State Treasury: <strong>5% VAT + 5% CIT<\/strong>. Total foreign contractor tax was 10%.<\/li>\n                        <li><strong>Responsibility:<\/strong> The company's accountant was personally responsible for declaring each occurrence or declaring monthly\/quarterly.<\/li>\n                    <\/ul>\n                <\/div>\n\n                <!-- Giai \u0111o\u1ea1n 2 -->\n                <div class=\"timeline-card\">\n                    <div class=\"timeline-top\">\n                        <span class=\"timeline-tag timeline-tag-past\">Stage 2<\/span>\n                        <span class=\"timeline-period\">June 2022 \u2013 September 2026<\/span>\n                    <\/div>\n                    <div class=\"timeline-title\">Meta directly collected VAT via bank cards through the Etaxvn Portal (Circular 80\/2021)<\/div>\n                    <ul class=\"timeline-detail-list\">\n                        <li><strong>Bank card charged:<\/strong> Ads spend + 10% VAT (initially 5%, increased to 10% from 01\/07\/2025 under the amended VAT Law). The card was also charged an accumulated bank fee of 1.1% on the VAT-inclusive amount.<\/li>\n                        <li><strong>Self-paid tax obligation:<\/strong> Because Meta had already collected and paid the VAT portion through the Tax Portal for Foreign Suppliers, the company's accountant only had to self-declare and pay <strong>5% CIT<\/strong>.<\/li>\n                        <li><strong>Major bottleneck:<\/strong> Meta's invoice is an international commercial invoice (from Meta Platforms Ireland Limited), not a domestic electronic invoice. Vietnamese tax authorities are very strict, and most businesses <strong>cannot deduct this 10% VAT amount<\/strong> (completely absorbed into expenses).<\/li>\n                    <\/ul>\n                <\/div>\n\n                <!-- Giai \u0111o\u1ea1n 3 (Hi\u1ec7n t\u1ea1i) -->\n                <div class=\"timeline-card timeline-card-active\">\n                    <div class=\"timeline-top\">\n                        <span class=\"timeline-tag timeline-tag-active\">Phase 3 (Current \u2b50)<\/span>\n                        <span class=\"timeline-period\">From October 2026 to present<\/span>\n                    <\/div>\n                    <div class=\"timeline-title\">Meta stops charging 10% VAT on cards for businesses with a business license &amp; Gross-up FCT mechanism<\/div>\n                    <ul class=\"timeline-detail-list\">\n                        <li><strong>Bank card charged:<\/strong> The actual Ads budget amount A + 1.1% bank fee (the card is no longer subject to funds being held or an additional 10% VAT deduction).<\/li>\n                        <li><strong>Formula for calculating Foreign Contractor Tax (FCT) by each component (A, B, C, D, E):<\/strong>\n                            Since the payment to Meta is NET income (the contractor is not subject to tax in Vietnam), the business must convert the taxable revenue to Gross revenue in accordance with Circular 103\/2014\/TT-BTC:\n                            <br>\u2022 <strong>Component [A]<\/strong>: Actual Ads budget (NET amount paid to Meta).\n                            <br>\u2022 <strong>Component [B]<\/strong>: Gross taxable revenue = <strong>A \/ 0.85<\/strong> (because the total FCT is 15%, and NET amount A accounts for 85%).\n                            <br>\u2022 <strong>Component [C]<\/strong>: Contractor corporate income tax = <strong>5% x B<\/strong> (included in the business's deductible expenses).\n                            <br>\u2022 <strong>Component [D]<\/strong>: Contractor VAT = <strong>10% x B<\/strong> (paid to the State Treasury and eligible for a tax credit <strong>\u2212D<\/strong>).\n                            <br>\u2022 <strong>Component [E]<\/strong>: Bank card fee = <strong>1.1% x A<\/strong>.\n                            <br>\u2022 <strong>Specific example:<\/strong> Ad spend A = <strong>VND 100,000,000<\/strong> \u2794 B (Gross) = <strong>VND 117,647,059<\/strong> \u2794 Corporate income tax C = <strong>VND 5,882,353<\/strong> (5% x B) \u2794 VAT D = <strong>VND 11,764,706<\/strong> (10% x B).\n                        <\/li>\n                        <li><strong>VAT credit mechanism:<\/strong> The contractor VAT amount [D], when paid to the State Treasury with a <strong>State Budget Payment Receipt<\/strong> bearing the business's tax identification number, will be eligible for a <strong>100% input VAT credit (\u2212D)<\/strong>. The actual costs borne by the business are only: Ad spend [A] + Corporate income tax [C] + Card fee [E].<\/li>\n                        <li><strong>Why is running ads through DPS still the safest and most cost-effective option?<\/strong>\n                            <div class=\"timeline-highlight-box\">\n                                \u2022 <strong>No need to worry about FCT declarations:<\/strong> Running ads independently requires the accountant to prepare Form 01\/NTNN foreign contractor tax returns for each transaction or monthly, reconcile card exchange rates, pay the State Treasury, and bear the risk of penalties for late or incorrect declarations.<br>\n                                \u2022 <strong>Avoid losing the entire 10% VAT:<\/strong> If you add a personal card directly without paying FCT, the business loses the full 10% VAT and faces the risk of having 100% of advertising expenses disallowed during tax audits.<br>\n                                \u2022 <strong>Receive fully compliant official VAT invoices:<\/strong> DPS pays all contractor taxes on the business's behalf and issues valid electronic VAT invoices for services, allowing the business to claim a 100% VAT credit against output VAT.<br>\n                                \u2022 <strong>Account and capital security:<\/strong> Avoid the risk of card lockouts, held funds, spending limits, or disabled accounts that disrupt business operations.\n                            <\/div>\n                        <\/li>\n                    <\/ul>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n        \/\/ C\u1ea5u h\u00ecnh chung cho C\u00d4NG C\u1ee4 1\n        var dpsCurrentAmount = 0;\n        var dpsAgencyFeePercent = 12;\n        var dpsFeeMode = 'percent'; \/\/ 'percent' | 'flat'\n        var dpsFeeFlatAmount = 0;\n        var dpsBmEnabled = false;\n        var dpsBmAmount = 0;\n\n        \/\/ C\u1ea5u h\u00ecnh chung cho C\u00d4NG C\u1ee4 2\n        var dpsCurrentAmountRev = 0;\n        var dpsAgencyFeePercentRev = 12;\n        var dpsFeeModeRev = 'percent';\n        var dpsFeeFlatAmountRev = 0;\n        var dpsBmEnabledRev = false;\n        var dpsBmAmountRev = 0;\n\n        \/\/ C\u00e1c h\u1eb1ng s\u1ed1 thu\u1ebf ph\u00ed theo chu\u1ea9n m\u1ef1c Thu\u1ebf Nh\u00e0 Th\u1ea7u (FCT) Gross-up (C\u1eadp nh\u1eadt 2026)\n        var DPS_BANK_FEE = 0.011;            \/\/ Ph\u00ed qu\u1eb9t th\u1ebb \/ chuy\u1ec3n \u0111\u1ed5i ngo\u1ea1i t\u1ec7 1.1%\n        var DPS_FCT_RATE = 0.15;             \/\/ T\u1ed5ng thu\u1ebf su\u1ea5t FCT 15% (10% GTGT + 5% TNDN)\n        var DPS_GROSS_DIVISOR = 0.85;        \/\/ M\u1eabu s\u1ed1 quy \u0111\u1ed5i Gross-up: 1 - 0.15 = 0.85\n        var DPS_VAT = 0.08;                  \/\/ VAT 8% khi DPS xu\u1ea5t ho\u00e1 \u0111\u01a1n GTGT d\u1ecbch v\u1ee5 cho kh\u00e1ch\n        \/\/ H\u1ec7 s\u1ed1 quy \u0111\u1ed5i chi ph\u00ed g\u1ed1c h\u1ee3p l\u1ec7: A * (1 + 0.011 + 0.05 \/ 0.85) = A * 1.0698235294117647\n        var DPS_NET_FACTOR = 1 + DPS_BANK_FEE + (0.05 \/ DPS_GROSS_DIVISOR);\n\n        function dpsCalcFmt(n) {\n            return Math.round(n).toLocaleString('vi-VN') + ' \u0111';\n        }\n\n        \/\/ --- CODE X\u1eec L\u00dd C\u00d4NG C\u1ee4 1 (T\u00cdNH XU\u00d4I) ---\n        function dpsCalcHandleInput(val) {\n            var raw = val.replace(\/[^0-9]\/g, '');\n            dpsCurrentAmount = raw ? parseInt(raw, 10) : 0;\n            var input = document.getElementById('dps-amount-input');\n            if (raw) input.value = parseInt(raw, 10).toLocaleString('vi-VN');\n            if (dpsCurrentAmount) {\n                dpsCalcRender();\n            } else {\n                document.getElementById('dps-empty-msg').style.display = '';\n                document.getElementById('dps-calc-results').style.display = 'none';\n            }\n        }\n\n        function dpsSetFeeMode(mode) {\n            dpsFeeMode = mode;\n            document.getElementById('dps-fee-mode-percent-btn').classList.toggle('active', mode === 'percent');\n            document.getElementById('dps-fee-mode-flat-btn').classList.toggle('active', mode === 'flat');\n            var input = document.getElementById('dps-fee-input');\n            var unit = document.getElementById('dps-fee-unit');\n            if (mode === 'percent') {\n                input.value = dpsAgencyFeePercent || '';\n                unit.textContent = '%';\n            } else {\n                input.value = dpsFeeFlatAmount ? dpsFeeFlatAmount.toLocaleString('vi-VN') : '';\n                unit.textContent = '\u0111';\n            }\n            if (dpsCurrentAmount) dpsCalcRender();\n        }\n\n        function dpsCalcFeeInput(val) {\n            if (dpsFeeMode === 'percent') {\n                var raw = val.replace(\/[^0-9.]\/g, '');\n                dpsAgencyFeePercent = raw ? parseFloat(raw) : 0;\n            } else {\n                var raw2 = val.replace(\/[^0-9]\/g, '');\n                dpsFeeFlatAmount = raw2 ? parseInt(raw2, 10) : 0;\n                var input = document.getElementById('dps-fee-input');\n                if (raw2) input.value = parseInt(raw2, 10).toLocaleString('vi-VN');\n            }\n            if (dpsCurrentAmount) {\n                dpsCalcRender();\n            }\n        }\n\n        function dpsToggleBm(checked) {\n            dpsBmEnabled = checked;\n            document.getElementById('dps-bm-input-wrap').classList.toggle('show', checked);\n            if (!checked) {\n                dpsBmAmount = 0;\n                document.getElementById('dps-bm-input').value = '';\n            }\n            if (dpsCurrentAmount) dpsCalcRender();\n        }\n\n        function dpsBmInput(val) {\n            var raw = val.replace(\/[^0-9]\/g, '');\n            dpsBmAmount = raw ? parseInt(raw, 10) : 0;\n            var input = document.getElementById('dps-bm-input');\n            if (raw) input.value = parseInt(raw, 10).toLocaleString('vi-VN');\n            if (dpsCurrentAmount) dpsCalcRender();\n        }\n\n        function dpsCalcSetQuick(val) {\n            dpsCurrentAmount = val;\n            document.getElementById('dps-amount-input').value = val.toLocaleString('vi-VN');\n            dpsCalcRender();\n        }\n\n        function dpsCalcRunData() {\n            var A = dpsCurrentAmount;\n            var B_gross = A \/ DPS_GROSS_DIVISOR; \/\/ B: Doanh thu Gross = A \/ 0.85\n            var C_cit = B_gross * 0.05;          \/\/ C: Thu\u1ebf TNDN nh\u00e0 th\u1ea7u = 5% x B\n            var D_vat = B_gross * 0.10;          \/\/ D: Thu\u1ebf GTGT nh\u00e0 th\u1ea7u = 10% x B\n            var E_bank = A * DPS_BANK_FEE;       \/\/ E: Ph\u00ed qu\u1eb9t th\u1ebb ng\u00e2n h\u00e0ng = 1.1% x A\n\n            \/\/ Chi ph\u00ed g\u1ed1c h\u1ee3p l\u1ec7 th\u1ef1c t\u1ebf = Ti\u1ec1n Ads A + Thu\u1ebf TNDN C + Ph\u00ed th\u1ebb E (kho\u1ea3n VAT D \u0111\u01b0\u1ee3c kh\u1ea5u tr\u1eeb 100%)\n            var Goc = A + C_cit + E_bank;\n            var Fee = (dpsFeeMode === 'flat') ? dpsFeeFlatAmount : Goc * (dpsAgencyFeePercent \/ 100);\n            var Vat_dps = (Goc + Fee) * DPS_VAT;\n            var bm = dpsBmEnabled ? dpsBmAmount : 0;\n            var Transfer = Goc + Fee + Vat_dps + bm;\n\n            return {\n                A: A,\n                B_gross: B_gross,\n                C_cit: C_cit,\n                D_vat: D_vat,\n                E_bank: E_bank,\n                Goc: Goc,\n                Fee: Fee,\n                Vat_dps: Vat_dps,\n                Transfer: Transfer,\n                bm: bm\n            };\n        }\n\n        function dpsCalcRow(stepClass, step, label, val, valClass) {\n            var vc = valClass ? ' ' + valClass : '';\n            return '<div class=\"dps-calc-row\"><span class=\"row-label\"><span class=\"step-badge ' + stepClass + '\">' + step + '<\/span><span>' + label + '<\/span><\/span><span class=\"row-val' + vc + '\">' + dpsCalcFmt(val) + '<\/span><\/div>';\n        }\n\n        function dpsCalcRender() {\n            var r = dpsCalcRunData();\n            document.getElementById('dps-empty-msg').style.display = 'none';\n            document.getElementById('dps-calc-results').style.display = '';\n\n            var feeLabel = dpsFeeMode === 'flat' ? 'Ph\u00ed d\u1ecbch v\u1ee5 agency (c\u1ed1 \u0111\u1ecbnh)' : 'Ph\u00ed d\u1ecbch v\u1ee5 agency (' + dpsAgencyFeePercent + '%)';\n\n            \/\/ C\u1ed9t 2: T\u1ef1 ch\u1ea1y (Doanh nghi\u1ec7p t\u1ef1 k\u00ea khai n\u1ed9p FCT)\n            var bTooltip = ' <span class=\"dps-tooltip\">' +\n                 '<svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"display:inline-block; vertical-align:middle; color:#0284c7; margin-top:-2px;\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"><\/path><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"><\/line><\/svg>' +\n                 '<span class=\"dps-tooltiptext\" style=\"width:240px; margin-left:-120px; text-align:left;\">' +\n                 '<strong>C\u01a1 s\u1edf t\u00ednh thu\u1ebf FCT:<\/strong><br>Doanh thu Gross quy \u0111\u1ed5i: B = A \/ 0.85 (Th\u00f4ng t\u01b0 103\/2014\/TT-BTC). D\u00f9ng B \u0111\u1ec3 t\u00ednh Thu\u1ebf C (5% x B) v\u00e0 Thu\u1ebf D (10% x B). S\u1ed1 n\u00e0y kh\u00f4ng tr\u1eeb th\u00eam v\u00e0o th\u1ebb.' +\n                 '<\/span><\/span>';\n            var s = '';\n            s += dpsCalcRow('step-gray', 'A', 'Ng\u00e2n s\u00e1ch Ads th\u1ef1c t\u1ebf (ti\u1ec1n NET)', r.A);\n            s += dpsCalcRow('step-blue', 'B', 'Doanh thu Gross t\u00ednh thu\u1ebf (A \/ 0.85)' + bTooltip, r.B_gross, 'row-val-blue');\n            s += dpsCalcRow('step-gray', 'C', 'Thu\u1ebf TNDN nh\u00e0 th\u1ea7u (5% x B)', r.C_cit, 'row-val-red');\n            s += dpsCalcRow('step-gray', 'D', 'Thu\u1ebf GTGT nh\u00e0 th\u1ea7u (10% x B)', r.D_vat, 'row-val-red');\n            s += dpsCalcRow('step-gray', 'E', 'Ph\u00ed th\u1ebb ng\u00e2n h\u00e0ng (1.1% x A)', r.E_bank);\n            s += '<div class=\"divider-row\"><\/div>';\n            s += '<div class=\"transfer-row\"><span class=\"transfer-label\"><span>Th\u1ebb doanh nghi\u1ec7p b\u1ecb tr\u1eeb (A + E)<\/span>' +\n                 ' <span class=\"dps-tooltip\">' +\n                 '<svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"display:inline-block; vertical-align:middle; color:#94a3b8; margin-top:-2px;\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"><\/path><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"><\/line><\/svg>' +\n                 '<span class=\"dps-tooltiptext\">Th\u1ebb visa\/mastercard ch\u1ec9 tr\u1eeb ti\u1ec1n Ads th\u1ef1c t\u1ebf A v\u00e0 ph\u00ed chuy\u1ec3n \u0111\u1ed5i th\u1ebb E. Thu\u1ebf nh\u00e0 th\u1ea7u C v\u00e0 D doanh nghi\u1ec7p t\u1ef1 k\u00ea khai n\u1ed9p v\u00e0o Kho b\u1ea1c.<\/span><\/span>' +\n                 '<\/span><span class=\"transfer-val\">' + dpsCalcFmt(r.A + r.E_bank) + '<\/span><\/div>';\n            s += '<div class=\"refund-row\" style=\"margin-top:6px;\"><span class=\"refund-label\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"1 4 1 10 7 10\"\/><path d=\"M3.51 15a9 9 0 1 0 .49-4.5\"\/><\/svg>Kh\u1ea5u tr\u1eeb thu\u1ebf GTGT qua Gi\u1ea5y n\u1ed9p ti\u1ec1n NSNN (\u2212D)<\/span><span class=\"refund-val\">\u2212' + dpsCalcFmt(r.D_vat) + '<\/span><\/div>';\n            s += '<div class=\"divider-row\"><\/div>';\n            s += dpsCalcRow('step-gray', 'G\u1ed0C', 'Chi ph\u00ed g\u1ed1c h\u1ee3p l\u1ec7 (A + C + E)', r.Goc);\n            if (r.bm > 0) {\n                s += dpsCalcRow('step-bm', 'BM', 'Ph\u00ed mua BM (kh\u00e1ch t\u1ef1 lo)', r.bm);\n            }\n            var netSelf = r.Goc + r.bm;\n            s += '<div class=\"total-row total-self\"><span class=\"total-label total-label-self\">Chi ph\u00ed r\u00f2ng t\u1ef1 ch\u1ea1y<\/span><span class=\"total-val total-val-self\">' + dpsCalcFmt(netSelf) + '<\/span><\/div>';\n            s += '<div style=\"font-size:11.5px; color:#b91c1c; margin-top:8px; line-height:1.4; padding:6px 8px; background:#fff1f2; border-radius:4px; border:1px solid #fecdd3;\">\u26a0\ufe0f <strong>L\u01b0u \u00fd:<\/strong> N\u1ebfu t\u1ef1 add th\u1ebb c\u00e1 nh\u00e2n kh\u00f4ng n\u1ed9p thu\u1ebf FCT, DN m\u1ea5t \u0111\u1ee9t 10% VAT v\u00e0 r\u1ee7i ro b\u1ecb lo\u1ea1i 100% chi ph\u00ed khi thanh tra thu\u1ebf.<\/div>';\n            document.getElementById('dps-rows-self').innerHTML = s;\n\n            \/\/ C\u1ed9t 1: Qua DPS\n            var d = '';\n            d += dpsCalcRow('step-em', 'G\u1ed0C', 'Chi ph\u00ed g\u1ed1c Ads h\u1ee3p l\u1ec7 (= c\u1ed9t b\u00ean: A+C+E)', r.Goc);\n            d += dpsCalcRow('step-em', 'F', feeLabel, r.Fee);\n            d += dpsCalcRow('step-em', 'V', 'VAT 8% DPS xu\u1ea5t ho\u00e1 \u0111\u01a1n \u0111\u1ecf', r.Vat_dps);\n            if (r.bm > 0) {\n                d += dpsCalcRow('step-bm', 'BM', 'Ph\u00ed mua BM (Business Manager)', r.bm);\n            }\n            d += '<div class=\"divider-row\"><\/div>';\n            d += '<div class=\"transfer-row transfer-row-highlight\"><span class=\"transfer-label\">Chuy\u1ec3n kho\u1ea3n cho DPS (G\u1ed0C + F + V)<\/span><span class=\"transfer-val\">' + dpsCalcFmt(r.Transfer) + '<\/span><\/div>';\n            d += '<div class=\"refund-row\"><span class=\"refund-label\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"1 4 1 10 7 10\"\/><path d=\"M3.51 15a9 9 0 1 0 .49-4.5\"\/><\/svg>Ho\u00e0n VAT qua kh\u1ea5u tr\u1eeb thu\u1ebf \u0111\u1ea7u ra (\u2212V)<\/span><span class=\"refund-val\">\u2212' + dpsCalcFmt(r.Vat_dps) + '<\/span><\/div>';\n            var netDps = r.Goc + r.Fee + r.bm;\n            d += '<div class=\"total-row total-dps\"><span class=\"total-label total-label-dps\">Chi ph\u00ed r\u00f2ng qua DPS<\/span><span class=\"total-val total-val-dps\">' + dpsCalcFmt(netDps) + '<\/span><\/div>';\n            document.getElementById('dps-rows-dps').innerHTML = d;\n\n            var diff = r.Fee;\n            var bmNote = r.bm > 0 ? (' Ph\u00ed mua BM <strong>' + dpsCalcFmt(r.bm) + '<\/strong> \u0111\u01b0\u1ee3c c\u1ed9ng nh\u01b0 nhau v\u00e0o c\u1ea3 2 c\u00e1ch v\u00ec \u0111\u00e2y l\u00e0 chi ph\u00ed b\u1eaft bu\u1ed9c, kh\u00f4ng ph\u1ee5 thu\u1ed9c c\u00e1ch ch\u1ea1y.') : '';\n            document.getElementById('dps-equal-text').innerHTML =\n                'Quy \u0111\u1ed5i Doanh thu Gross t\u00ednh thu\u1ebf <strong>B = A \/ 0.85<\/strong>. Thu\u1ebf GTGT <strong>D = 10% x B = ' + dpsCalcFmt(r.D_vat) + '<\/strong> \u0111\u01b0\u1ee3c kh\u1ea5u tr\u1eeb 100% qua Gi\u1ea5y n\u1ed9p ti\u1ec1n NSNN, n\u00ean chi ph\u00ed r\u00f2ng t\u1ef1 ch\u1ea1y l\u00e0 <strong>' + dpsCalcFmt(netSelf) + '<\/strong> (A + C + E). Khi ch\u1ea1y qua DPS, DPS \u0111\u1ea1i di\u1ec7n n\u1ed9p thay to\u00e0n b\u1ed9 thu\u1ebf nh\u00e0 th\u1ea7u v\u00e0 xu\u1ea5t H\u00f3a \u0111\u01a1n GTGT \u0111\u1ecf h\u1ee3p ph\u00e1p (kh\u00e1ch h\u00e0ng \u0111\u01b0\u1ee3c kh\u1ea5u tr\u1eeb 100% VAT <strong>V = ' + dpsCalcFmt(r.Vat_dps) + '<\/strong>), chi ph\u00ed r\u00f2ng qua DPS l\u00e0 <strong>' + dpsCalcFmt(netDps) + '<\/strong> (ch\u00eanh l\u1ec7ch \u0111\u00fang b\u1eb1ng ph\u00ed d\u1ecbch v\u1ee5 agency <strong>F = ' + dpsCalcFmt(diff) + '<\/strong>).' + bmNote + ' Ch\u1ecdn C\u00e1ch 1 \u0111\u1ec3 DPS lo tr\u1ecdn g\u00f3i h\u1ed3 s\u01a1 thu\u1ebf v\u00e0 t\u1ed1i \u01b0u qu\u1ea3ng c\u00e1o, kh\u00f4ng lo r\u1ee7i ro b\u1ecb b\u00f3c t\u00e1ch chi ph\u00ed hay kh\u00f3a th\u1ebb.';\n        }\n\n        \/\/ --- CODE X\u1eec L\u00dd C\u00d4NG C\u1ee4 2 (T\u00cdNH NG\u01af\u1ee2C) ---\n        function dpsCalcHandleInputRev(val) {\n            var raw = val.replace(\/[^0-9]\/g, '');\n            dpsCurrentAmountRev = raw ? parseInt(raw, 10) : 0;\n            var input = document.getElementById('dps-amount-input-rev');\n            if (raw) input.value = parseInt(raw, 10).toLocaleString('vi-VN');\n            if (dpsCurrentAmountRev) {\n                dpsCalcRenderRev();\n            } else {\n                document.getElementById('dps-empty-msg-rev').style.display = '';\n                document.getElementById('dps-calc-results-rev').style.display = 'none';\n            }\n        }\n\n        function dpsSetFeeModeRev(mode) {\n            dpsFeeModeRev = mode;\n            document.getElementById('dps-fee-mode-percent-btn-rev').classList.toggle('active', mode === 'percent');\n            document.getElementById('dps-fee-mode-flat-btn-rev').classList.toggle('active', mode === 'flat');\n            var input = document.getElementById('dps-fee-input-rev');\n            var unit = document.getElementById('dps-fee-unit-rev');\n            if (mode === 'percent') {\n                input.value = dpsAgencyFeePercentRev || '';\n                unit.textContent = '%';\n            } else {\n                input.value = dpsFeeFlatAmountRev ? dpsFeeFlatAmountRev.toLocaleString('vi-VN') : '';\n                unit.textContent = '\u0111';\n            }\n            if (dpsCurrentAmountRev) dpsCalcRenderRev();\n        }\n\n        function dpsCalcFeeInputRev(val) {\n            if (dpsFeeModeRev === 'percent') {\n                var raw = val.replace(\/[^0-9.]\/g, '');\n                dpsAgencyFeePercentRev = raw ? parseFloat(raw) : 0;\n            } else {\n                var raw2 = val.replace(\/[^0-9]\/g, '');\n                dpsFeeFlatAmountRev = raw2 ? parseInt(raw2, 10) : 0;\n                var input = document.getElementById('dps-fee-input-rev');\n                if (raw2) input.value = parseInt(raw2, 10).toLocaleString('vi-VN');\n            }\n            if (dpsCurrentAmountRev) {\n                dpsCalcRenderRev();\n            }\n        }\n\n        function dpsToggleBmRev(checked) {\n            dpsBmEnabledRev = checked;\n            document.getElementById('dps-bm-input-wrap-rev').classList.toggle('show', checked);\n            if (!checked) {\n                dpsBmAmountRev = 0;\n                document.getElementById('dps-bm-input-rev').value = '';\n            }\n            if (dpsCurrentAmountRev) dpsCalcRenderRev();\n        }\n\n        function dpsBmInputRev(val) {\n            var raw = val.replace(\/[^0-9]\/g, '');\n            dpsBmAmountRev = raw ? parseInt(raw, 10) : 0;\n            var input = document.getElementById('dps-bm-input-rev');\n            if (raw) input.value = parseInt(raw, 10).toLocaleString('vi-VN');\n            if (dpsCurrentAmountRev) dpsCalcRenderRev();\n        }\n\n        function dpsCalcSetQuickRev(val) {\n            dpsCurrentAmountRev = val;\n            document.getElementById('dps-amount-input-rev').value = val.toLocaleString('vi-VN');\n            dpsCalcRenderRev();\n        }\n\n        function dpsCalcRunDataRev() {\n            var fullTransfer = dpsCurrentAmountRev;\n            var bm = dpsBmEnabledRev ? dpsBmAmountRev : 0;\n            var adsTransfer = fullTransfer - bm;\n            if (adsTransfer < 0) adsTransfer = 0;\n\n            var preVat = adsTransfer \/ (1 + DPS_VAT);\n            var Goc, Fee;\n            if (dpsFeeModeRev === 'flat') {\n                Fee = dpsFeeFlatAmountRev;\n                Goc = preVat - Fee;\n                if (Goc < 0) Goc = 0;\n            } else {\n                Goc = preVat \/ (1 + (dpsAgencyFeePercentRev \/ 100));\n                Fee = preVat - Goc;\n            }\n            var Vat_dps = (Goc + Fee) * DPS_VAT;\n\n            \/\/ Chi ph\u00ed g\u1ed1c Goc = A * DPS_NET_FACTOR => A = Goc \/ DPS_NET_FACTOR\n            var A = Goc \/ DPS_NET_FACTOR;\n            var B_gross = A \/ DPS_GROSS_DIVISOR;\n            var C_cit = B_gross * 0.05;\n            var D_vat = B_gross * 0.10;\n            var E_bank = A * DPS_BANK_FEE;\n\n            return {\n                A: A,\n                B_gross: B_gross,\n                C_cit: C_cit,\n                D_vat: D_vat,\n                E_bank: E_bank,\n                Goc: Goc,\n                Fee: Fee,\n                Vat_dps: Vat_dps,\n                Transfer: fullTransfer,\n                bm: bm\n            };\n        }\n\n        function dpsCalcRenderRev() {\n            var r = dpsCalcRunDataRev();\n            document.getElementById('dps-empty-msg-rev').style.display = 'none';\n            document.getElementById('dps-calc-results-rev').style.display = '';\n\n            var feeLabel = dpsFeeModeRev === 'flat' ? 'Ph\u00ed d\u1ecbch v\u1ee5 agency (c\u1ed1 \u0111\u1ecbnh)' : 'Ph\u00ed d\u1ecbch v\u1ee5 agency (' + dpsAgencyFeePercentRev + '%)';\n\n            \/\/ C\u1ed9t 2: T\u1ef1 ch\u1ea1y (V\u1edbi c\u00f9ng ng\u00e2n s\u00e1ch Ads th\u1ef1c t\u1ebf A suy ng\u01b0\u1ee3c ra)\n            var bTooltip = ' <span class=\"dps-tooltip\">' +\n                 '<svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"display:inline-block; vertical-align:middle; color:#0284c7; margin-top:-2px;\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"><\/path><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"><\/line><\/svg>' +\n                 '<span class=\"dps-tooltiptext\" style=\"width:240px; margin-left:-120px; text-align:left;\">' +\n                 '<strong>C\u01a1 s\u1edf t\u00ednh thu\u1ebf FCT:<\/strong><br>Doanh thu Gross quy \u0111\u1ed5i: B = A \/ 0.85 (Th\u00f4ng t\u01b0 103\/2014\/TT-BTC). D\u00f9ng B \u0111\u1ec3 t\u00ednh Thu\u1ebf C (5% x B) v\u00e0 Thu\u1ebf D (10% x B). S\u1ed1 n\u00e0y kh\u00f4ng tr\u1eeb th\u00eam v\u00e0o th\u1ebb.' +\n                 '<\/span><\/span>';\n            var s = '';\n            s += dpsCalcRow('step-gray', 'A', 'Ng\u00e2n s\u00e1ch Ads th\u1ef1c t\u1ebf (ti\u1ec1n NET)', r.A);\n            s += dpsCalcRow('step-blue', 'B', 'Doanh thu Gross t\u00ednh thu\u1ebf (A \/ 0.85)' + bTooltip, r.B_gross, 'row-val-blue');\n            s += dpsCalcRow('step-gray', 'C', 'Thu\u1ebf TNDN nh\u00e0 th\u1ea7u (5% x B)', r.C_cit, 'row-val-red');\n            s += dpsCalcRow('step-gray', 'D', 'Thu\u1ebf GTGT nh\u00e0 th\u1ea7u (10% x B)', r.D_vat, 'row-val-red');\n            s += dpsCalcRow('step-gray', 'E', 'Ph\u00ed th\u1ebb ng\u00e2n h\u00e0ng (1.1% x A)', r.E_bank);\n            s += '<div class=\"divider-row\"><\/div>';\n            s += '<div class=\"transfer-row\"><span class=\"transfer-label\"><span>Th\u1ebb doanh nghi\u1ec7p b\u1ecb tr\u1eeb (A + E)<\/span>' +\n                 ' <span class=\"dps-tooltip\">' +\n                 '<svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" style=\"display:inline-block; vertical-align:middle; color:#94a3b8; margin-top:-2px;\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"><\/path><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"><\/line><\/svg>' +\n                 '<span class=\"dps-tooltiptext\">Th\u1ebb visa\/mastercard ch\u1ec9 tr\u1eeb ti\u1ec1n ads th\u1ef1c t\u1ebf A v\u00e0 ph\u00ed qu\u1eb9t th\u1ebb qu\u1ed1c t\u1ebf E. Doanh nghi\u1ec7p t\u1ef1 k\u00ea khai n\u1ed9p thu\u1ebf nh\u00e0 th\u1ea7u v\u00e0o Kho b\u1ea1c.<\/span><\/span>' +\n                 '<\/span><span class=\"transfer-val\">' + dpsCalcFmt(r.A + r.E_bank) + '<\/span><\/div>';\n            s += '<div class=\"refund-row\" style=\"margin-top:6px;\"><span class=\"refund-label\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"1 4 1 10 7 10\"\/><path d=\"M3.51 15a9 9 0 1 0 .49-4.5\"\/><\/svg>Kh\u1ea5u tr\u1eeb thu\u1ebf GTGT qua Gi\u1ea5y n\u1ed9p ti\u1ec1n NSNN (\u2212D)<\/span><span class=\"refund-val\">\u2212' + dpsCalcFmt(r.D_vat) + '<\/span><\/div>';\n            s += '<div class=\"divider-row\"><\/div>';\n            s += dpsCalcRow('step-gray', 'G\u1ed0C', 'Chi ph\u00ed g\u1ed1c h\u1ee3p l\u1ec7 (A + C + E)', r.Goc);\n            if (r.bm > 0) {\n                s += dpsCalcRow('step-bm', 'BM', 'Ph\u00ed mua BM (kh\u00e1ch t\u1ef1 lo)', r.bm);\n            }\n            var netSelf = r.Goc + r.bm;\n            s += '<div class=\"total-row total-self\"><span class=\"total-label total-label-self\">Chi ph\u00ed r\u00f2ng t\u1ef1 ch\u1ea1y<\/span><span class=\"total-val total-val-self\">' + dpsCalcFmt(netSelf) + '<\/span><\/div>';\n            s += '<div style=\"font-size:11.5px; color:#b91c1c; margin-top:8px; line-height:1.4; padding:6px 8px; background:#fff1f2; border-radius:4px; border:1px solid #fecdd3;\">\u26a0\ufe0f <strong>L\u01b0u \u00fd:<\/strong> N\u1ebfu t\u1ef1 add th\u1ebb c\u00e1 nh\u00e2n kh\u00f4ng n\u1ed9p thu\u1ebf FCT, DN m\u1ea5t \u0111\u1ee9t 10% VAT v\u00e0 r\u1ee7i ro b\u1ecb lo\u1ea1i 100% chi ph\u00ed khi thanh tra thu\u1ebf.<\/div>';\n            document.getElementById('dps-rows-self-rev').innerHTML = s;\n\n            \/\/ C\u1ed9t 1: Qua DPS (V\u1edbi s\u1ed1 ti\u1ec1n b\u1eaft \u0111\u1ea7u l\u00e0 Chuy\u1ec3n kho\u1ea3n cho DPS)\n            var d = '';\n            d += dpsCalcRow('step-em', 'G\u1ed0C', 'Chi ph\u00ed g\u1ed1c Ads h\u1ee3p l\u1ec7 (= c\u1ed9t b\u00ean: A+C+E)', r.Goc);\n            d += dpsCalcRow('step-em', 'F', feeLabel, r.Fee);\n            d += dpsCalcRow('step-em', 'V', 'VAT 8% DPS xu\u1ea5t ho\u00e1 \u0111\u01a1n \u0111\u1ecf', r.Vat_dps);\n            if (r.bm > 0) {\n                d += dpsCalcRow('step-bm', 'BM', 'Ph\u00ed mua BM (Business Manager)', r.bm);\n            }\n            d += '<div class=\"divider-row\"><\/div>';\n            d += '<div class=\"transfer-row transfer-row-highlight\"><span class=\"transfer-label\">Chuy\u1ec3n kho\u1ea3n cho DPS (G\u1ed0C + F + V)<\/span><span class=\"transfer-val\">' + dpsCalcFmt(r.Transfer) + '<\/span><\/div>';\n            d += '<div class=\"refund-row\"><span class=\"refund-label\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"1 4 1 10 7 10\"\/><path d=\"M3.51 15a9 9 0 1 0 .49-4.5\"\/><\/svg>Ho\u00e0n VAT qua kh\u1ea5u tr\u1eeb thu\u1ebf \u0111\u1ea7u ra (\u2212V)<\/span><span class=\"refund-val\">\u2212' + dpsCalcFmt(r.Vat_dps) + '<\/span><\/div>';\n            var netDps = r.Goc + r.Fee + r.bm;\n            d += '<div class=\"total-row total-dps\"><span class=\"total-label total-label-dps\">Chi ph\u00ed r\u00f2ng qua DPS<\/span><span class=\"total-val total-val-dps\">' + dpsCalcFmt(netDps) + '<\/span><\/div>';\n            document.getElementById('dps-rows-dps-rev').innerHTML = d;\n\n            var diff = r.Fee;\n            var bmNote = r.bm > 0 ? (' Trong \u0111\u00f3 ph\u00ed mua BM <strong>' + dpsCalcFmt(r.bm) + '<\/strong> \u0111\u00e3 \u0111\u01b0\u1ee3c tr\u1eeb ra tr\u01b0\u1edbc khi quy \u0111\u1ed5i ng\u00e2n s\u00e1ch Ads, v\u00e0 c\u1ed9ng nh\u01b0 nhau v\u00e0o c\u1ea3 2 c\u00e1ch.') : '';\n            document.getElementById('dps-equal-text-rev').innerHTML =\n                'Khi chuy\u1ec3n kho\u1ea3n cho DPS s\u1ed1 ti\u1ec1n <strong>' + dpsCalcFmt(r.Transfer) + '<\/strong>, ng\u00e2n s\u00e1ch Ads th\u1ef1c t\u1ebf nh\u1eadn ch\u1ea1y \u0111\u01b0\u1ee3c l\u00e0 <strong>A = ' + dpsCalcFmt(r.A) + '<\/strong> (Doanh thu Gross t\u00ednh thu\u1ebf B = ' + dpsCalcFmt(r.B_gross) + '). Chi ph\u00ed r\u00f2ng t\u1ef1 ch\u1ea1y t\u01b0\u01a1ng \u1ee9ng l\u00e0 <strong>' + dpsCalcFmt(netSelf) + '<\/strong> (A + C + E). Chi ph\u00ed r\u00f2ng qua DPS l\u00e0 <strong>' + dpsCalcFmt(netDps) + '<\/strong> (ch\u00eanh l\u1ec7ch \u0111\u00fang b\u1eb1ng ph\u00ed d\u1ecbch v\u1ee5 agency <strong>F = ' + dpsCalcFmt(diff) + '<\/strong>).' + bmNote;\n        }\n\n        \/\/ Kh\u1edfi t\u1ea1o c\u1ea3 2 b\u1ea3ng t\u00ednh theo c\u1eadp nh\u1eadt M\u1edaI NH\u1ea4T\n        dpsCalcSetQuick(1000000);\n        dpsCalcSetQuickRev(1294059); \/\/ T\u01b0\u01a1ng \u1ee9ng \u0111\u00fang 1 tri\u1ec7u ads th\u1ef1c ch\u1ea1y \u1edf m\u1ee9c ph\u00ed 12%\n    <\/script>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>DPS.MEDIA advertising cost calculator \u2013 compare running ads yourself and running them through DPS TOOL 1: FORWARD CALCULATION (Enter the Ads Budget You Want to Run \u2794 Calculate the Total Transfer Amount) Enter the actual advertising budget you want to run VND Agency service fee % Percentage Fixed amount % [\u2026]<\/p>","protected":false},"author":1,"featured_media":41019,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-37082","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"rankmath_keywords":{"primary":"","secondary":[""]},"yoast_keywords":{"primary":"","secondary":[]},"yoast_focuskw":"","rankmath_focuskw":"","seo_keywords":{"primary":"","secondary":[""]},"_links":{"self":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/37082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/comments?post=37082"}],"version-history":[{"count":5,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/37082\/revisions"}],"predecessor-version":[{"id":41165,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/37082\/revisions\/41165"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/media\/41019"}],"wp:attachment":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/media?parent=37082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/categories?post=37082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/tags?post=37082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}