AKK
AKKWEALTH MANAGEMENT

{{ lang === 'vi' ? 'GIA SẢN · ĐẦU TƯ · TƯƠNG LAI' : 'WEALTH · INVESTING · THE FUTURE' }}

{{ lang === 'vi' ? 'Một góc nhìn rõ ràng cho toàn bộ gia sản.' : 'A clearer view of your wealth.' }}

{{ lang === 'vi' ? 'Kết nối tài sản, dòng tiền và kế hoạch đầu tư trong một không gian của riêng bạn.' : 'Bring your assets, cash flow and investment plans together in your own space.' }}

{{ lang === 'vi' ? 'Cổ phiếu & Quỹ' : 'Equities & Funds' }}{{ lang === 'vi' ? 'Vàng' : 'Gold' }}{{ lang === 'vi' ? 'Bất động sản' : 'Real estate' }}

{{ lang === 'vi' ? 'Tầm nhìn dài hạn. Quyết định có cơ sở.' : 'A long-term view. Informed decisions.' }}

AKK Wealth Management

{{ authMode==='register'?'Tạo tài khoản mới':(lang === 'vi' ? 'Đăng Nhập Hệ Thống' : 'System Sign In') }}

{{ lang === 'vi' ? 'Nền Tảng Quản Lý Gia Sản & Đầu Tư Đa Tài Sản' : 'Multi-Asset Wealth & Portfolio Management' }}

{{ loginError }}

Chỉ cần tên đăng nhập (3–80 chữ/số, dấu . _ -) và mật khẩu từ 12 ký tự.

{{ lang === 'vi' ? activeTabInfo.title_vi : activeTabInfo.title_en }}

{{ currentUser?.name || currentUser?.username || 'User' }}
@{{ currentUser?.username || 'user' }}
{{ lang === 'vi' ? 'Tài Sản Ròng (NAV)' : 'Net Worth (NAV)' }}
{{ fmtVND(summary.net_nav) }}
{{ lang === 'vi' ? 'Lợi Nhuận Tạm Tính' : 'Unrealized P&L' }}
{{ fmtVND(summary.total_unrealized_pnl) }} ({{ fmtPct(summary.total_pnl_pct) }})
{{ lang === 'vi' ? 'Tiền Mặt Sẵn Sàng' : 'Available Cash' }}
{{ fmtVND(ribbonAvailableCash) }}
{{ lang === 'vi' ? 'Tiết Kiệm Tích Lũy' : 'Bank Savings' }}
{{ fmtVND(ribbonSavingsBalance) }}
{{ lang === 'vi' ? 'Tổng Dư Nợ' : 'Total Liabilities' }}
{{ fmtVND(summary.total_debt) }}

{{ lang === 'vi' ? 'DANH MỤC CỦA BẠN' : 'YOUR PORTFOLIO' }}

{{ lang === 'vi' ? 'Toàn cảnh gia sản.' : 'Your wealth, in perspective.' }}

{{ lang === 'vi' ? 'Theo dõi tài sản, dòng tiền và hiệu suất trong một góc nhìn.' : 'A single view of your assets, cash flow and performance.' }}

{{ activeUser.name }}

Chế Độ Xem Hợp Nhất Gia Đình (Family Wealth Consolidation)

FIN-094 Active

{{ summary.intra_family_eliminated?.description || 'Đã tự động cấn trừ khoản nợ/cho vay nội bộ giữa các thành viên để tính chuẩn xác Tài sản ròng (NAV).' }}

Đã cấn trừ nợ nội bộ
{{ fmtFullVND(summary.intra_family_eliminated?.eliminated_amount || 0) }}
{{ m.name }} ({{ m.relationship }})
NAV: {{ fmtFullVND(m.net_nav) }}
{{ m.nav_share_pct }}%
Tỷ trọng NAV
{{ lang === 'vi' ? 'Tài Sản Ròng (NAV)' : 'Net Asset Value (NAV)' }} {{ fmtFullVND(summary.net_nav) }} {{ lang === 'vi' ? 'Tổng tài sản trừ nợ' : 'Gross assets minus debt' }}
{{ lang === 'vi' ? 'Tổng Tài Sản (Gross)' : 'Gross Assets' }} {{ fmtFullVND(summary.gross_assets) }} {{ lang === 'vi' ? 'Vốn đã đầu tư: ' : 'Invested: ' }}{{ fmtFullVND(summary.total_invested) }}
{{ lang === 'vi' ? 'Lãi / Lỗ Tạm Tính' : 'Unrealized P&L' }} {{ summary.total_unrealized_pnl > 0 ? '+' : '' }}{{ fmtFullVND(summary.total_unrealized_pnl) }} {{ fmtPct(summary.total_pnl_pct) }}
{{ lang === 'vi' ? 'Tổng Dư Nợ' : 'Total Liabilities' }} {{ fmtFullVND(summary.total_debt) }} {{ lang === 'vi' ? 'Nợ BĐS + Vay cá nhân' : 'Mortgages & Debts' }}
{{ lang === 'vi' ? 'Thu Nhập Hàng Tháng' : 'Monthly Cashflow' }} {{ summary.monthly_cashflow > 0 ? '+' : '' }}{{ fmtFullVND(summary.monthly_cashflow) }} {{ lang === 'vi' ? 'Dòng tiền thuê BĐS ròng' : 'Net rental income' }}

{{ lang === 'vi' ? 'Cơ Cấu Phân Bổ Danh Mục' : 'Asset Allocation Structure' }}

{{ lang === 'vi' ? 'So Sánh Vốn Đầu Tư & Giá Trị Thị Trường' : 'Cost Basis vs Market Value' }}

{{ lang === 'vi' ? 'Bảng Phân Bổ Từng Lớp Tài Sản' : 'Asset Class Breakdown & Allocation' }}

{{ lang === 'vi' ? 'Lớp Tài Sản' : 'Asset Class' }} {{ lang === 'vi' ? 'Vốn Đầu Tư' : 'Invested Cost' }} {{ lang === 'vi' ? 'Giá Trị Thị Trường' : 'Market Value' }} {{ lang === 'vi' ? 'Lãi / Lỗ Tạm Tính' : 'Unrealized P&L' }} {{ lang === 'vi' ? 'Tỷ Suất Sinh Lời' : 'ROI (%)' }} {{ lang === 'vi' ? 'Tỷ Trọng (%)' : 'Weight (%)' }}
{{ lang === 'vi' ? r.label : r.label_en }} {{ fmtFullVND(r.cost) }} {{ fmtFullVND(r.value) }} {{ r.pnl > 0 ? '+' : '' }}{{ fmtFullVND(r.pnl) }} {{ fmtPct(r.roi) }} {{ Number(r.weight).toFixed(1) }}%
{{ lang === 'vi' ? 'TỔNG CỘNG' : 'TOTAL PORTFOLIO' }} {{ fmtFullVND(summaryTotal.cost) }} {{ fmtFullVND(summaryTotal.value) }} {{ summaryTotal.pnl > 0 ? '+' : '' }}{{ fmtFullVND(summaryTotal.pnl) }} {{ fmtPct(summaryTotal.roi) }} 100.0%

{{ lang === 'vi' ? 'Bảng Tổng Hợp & So Sánh Danh Mục Tất Cả Người Dùng' : 'All Users Portfolio Comparison' }}

{{ lang === 'vi' ? 'Mã HS' : 'ID' }} {{ lang === 'vi' ? 'Tên Hồ Sơ' : 'Profile' }} {{ lang === 'vi' ? 'Vai Trò' : 'Role' }} {{ lang === 'vi' ? 'Tài Sản Ròng (NAV)' : 'Net NAV' }} {{ lang === 'vi' ? 'Tổng Tài Sản' : 'Gross' }} {{ lang === 'vi' ? 'Cổ Phiếu' : 'Stocks' }} {{ lang === 'vi' ? 'Vàng' : 'Gold' }} {{ lang === 'vi' ? 'BĐS' : 'RE' }} {{ lang === 'vi' ? 'Tiền Mặt' : 'Cash' }} {{ lang === 'vi' ? 'Dư Nợ' : 'Debt' }} {{ lang === 'vi' ? 'Cho Vay' : 'Lend' }} {{ lang === 'vi' ? 'Lãi Tạm Tính' : 'Unrealized PnL' }} {{ lang === 'vi' ? 'Lãi Đã Chốt' : 'Realized PnL' }} {{ lang === 'vi' ? 'Thuế & Phí' : 'Tax & Fee' }} {{ lang === 'vi' ? 'Lãi Ròng Net' : 'Net Realized' }} ROI (%) {{ lang === 'vi' ? 'Thao Tác' : 'Action' }}
#{{ u.user_id }} {{ u.name || u.display_name }} Đang xem {{ u.role }} {{ fmtFullVND(u.net_nav) }} {{ fmtFullVND(u.gross_assets) }} {{ fmtFullVND(u.stocks_val) }} {{ fmtFullVND(u.gold_val) }} {{ fmtFullVND(u.re_val) }} {{ fmtFullVND(u.cash_val) }} {{ fmtFullVND(u.debt_val) }} {{ fmtFullVND(u.lend_val) }} {{ u.pnl > 0 ? '+' : '' }}{{ fmtFullVND(u.pnl) }} {{ fmtFullVND(u.realized_gross_pnl) }} {{ fmtFullVND(u.total_tax_fee) }} {{ u.net_realized_pnl > 0 ? '+' : '' }}{{ fmtFullVND(u.net_realized_pnl) }} {{ fmtPct(u.pnl_pct) }} {{ lang === 'vi' ? 'Hiện tại' : 'Current' }}
{{ lang === 'vi' ? 'Chuyển nhanh hồ sơ đang xem:' : 'Quick Switch Profile:' }}

{{ lang === 'vi' ? 'Danh Mục Cổ Phiếu & Chứng Chỉ Quỹ' : 'Stock & Mutual Fund Portfolio' }}

{{ lang === 'vi' ? 'Tổng Vốn Đầu Tư' : 'Total Capital Cost' }} {{ fmtFullVND(stocksPortfolio.total_cost) }}
{{ lang === 'vi' ? 'Giá Trị Thị Trường' : 'Total Market Value' }} {{ fmtFullVND(stocksPortfolio.total_value) }}
{{ lang === 'vi' ? 'Lãi / Lỗ Tạm Tính' : 'Unrealized P&L' }} {{ stocksPortfolio.total_pnl > 0 ? '+' : '' }}{{ fmtFullVND(stocksPortfolio.total_pnl) }} {{ fmtPct(stocksPortfolio.total_pnl_pct) }}
{{ lang === 'vi' ? 'Số Lượng Nắm Giữ' : 'Holdings Count' }} {{ (stocksPortfolio.items || []).length }} lô {{ stocksPortfolio.stocks_count || 0 }} Cổ Phiếu • {{ stocksPortfolio.funds_count || 0 }} CCQ
{{ lang === 'vi' ? 'Lãi / Lỗ Đã Chốt (Gross)' : 'Realized P&L (Gross)' }} {{ stockRealizedPerf.realized_gross_pnl > 0 ? '+' : '' }}{{ fmtFullVND(stockRealizedPerf.realized_gross_pnl) }}
{{ lang === 'vi' ? 'Tổng Thuế & Phí (DNSE 0đ)' : 'Total Taxes & Fees' }} {{ fmtFullVND(stockRealizedPerf.total_tax_fee) }}
{{ lang === 'vi' ? 'Lãi / Lỗ Thực Nhận (Net)' : 'Net Realized P&L' }} {{ stockRealizedPerf.net_realized_pnl > 0 ? '+' : '' }}{{ fmtFullVND(stockRealizedPerf.net_realized_pnl) }}
{{ lang === 'vi' ? 'Số Lệnh Đã Chốt' : 'Closed Trades' }} {{ stockRealizedPerf.closed_trades_count }} lệnh

{{ lang === 'vi' ? 'Hiệu Suất Khớp Lệnh Trong Phiên vs. Phiên Trước (5s Refresh)' : 'Intraday Session Performance vs. Previous Close (5s Refresh)' }}

{{ (intradayData && intradayData.is_trading) ? (lang === 'vi' ? 'Phiên giao dịch đang mở' : 'Trading Session Active') : (lang === 'vi' ? 'Ngoài giờ giao dịch' : 'Outside trading hours') }} — {{ (intradayData && intradayData.status_msg) || '' }} · {{ lang === 'vi' ? 'Giá phiên' : 'Price session' }} {{ intradayData.price_session_date }}
VN-INDEX Benchmark {{ fmtNumber(intradayData?.vnindex?.current_index, 2) }} pts {{ intradayVniDiff === null ? '' : intradayVniDiff >= 0 ? '↑ +' : '↓ ' }}{{ fmtNumber(intradayVniDiff, 2) }} ({{ fmtPct(intradayVniPct) }}) GT: {{ fmtVniTradingVal(intradayData.vnindex.trading_value || intradayData.vnindex.value) }} KL: {{ fmtNumber(intradayData.vnindex.volume / 1000000, 2) }}M CP
{{ lang === 'vi' ? 'Trị Giá Danh Mục' : 'Portfolio Valuation' }} {{ fmtVND(intradayData ? intradayData.total_market_val : 0) }} {{ intradayData?.total_daily_pnl == null ? '—' : ((intradayData.total_daily_pnl >= 0 ? '↑ +' : '↓ ') + fmtVND(intradayData.total_daily_pnl) + (lang === 'vi' ? ' theo phiên nguồn' : ' source session')) }}
{{ lang === 'vi' ? 'Lãi/Lỗ Trong Phiên' : 'Today Unrealized PnL' }} {{ intradayData?.total_daily_pnl == null ? '—' : ((intradayData.total_daily_pnl > 0 ? '+' : '') + fmtVND(intradayData.total_daily_pnl)) }} {{ intradayData?.total_daily_pct == null ? '—' : ((intradayData.total_daily_pct >= 0 ? '↑ ' : '↓ ') + fmtPct(intradayData.total_daily_pct) + ' vs Prev') }}
{{ lang === 'vi' ? '% Tăng Trưởng Phiên' : '% Session Return' }} {{ intradayData?.total_daily_pct == null ? '—' : fmtPct(intradayData.total_daily_pct) }} {{ intradayAlpha == null ? '—' : (fmtPct(intradayAlpha) + ' vs VNI') }}
{{ lang === 'vi' ? 'Thời Điểm Cập Nhật' : 'Last Updated' }}
{{ intradayUpdatedAtTime }} {{ intradayUpdatedAtDate }}
Drag & Drop: Kéo thả # Cột để đổi thứ tự, kéo thả :: Dòng để xếp mã
Real-time Feed
# {{ stockTableMode === 'twrr' ? (col.id === 'cost_price' ? (lang === 'vi' ? 'Giá Mốc Đầu Kỳ' : 'Start Price') : col.id === 'total_cost' ? (lang === 'vi' ? 'Giá Trị Đầu Kỳ' : 'Start Value') : col.id === 'pnl' ? (lang === 'vi' ? 'Lãi / Lỗ Trong Kỳ' : 'Period PnL') : col.id === 'pnl_pct' ? (lang === 'vi' ? 'Hiệu Suất (TWRR)' : 'TWR Return') : (lang === 'vi' ? col.name_vi : col.name_en)) : (lang === 'vi' ? col.name_vi : col.name_en) }}
{{ lang === 'vi' ? 'Đang tải dữ liệu biến động giá trong phiên...' : 'Loading intraday performance data...' }}

{{ lang === 'vi' ? 'Tỷ Trọng Từng Mã CP / CCQ' : 'Stock & Fund Portfolio Weight' }}

{{ (stocksPortfolio.grouped_items || []).length }} {{ lang === 'vi' ? 'mã' : 'tickers' }}
{{ lang === 'vi' ? 'Tổng thị giá danh mục:' : 'Total Market Value:' }} {{ fmtFullVND(stocksPortfolio.total_value) }}

{{ lang === 'vi' ? 'Hiệu Suất Tăng Trưởng TWR vs. VN-INDEX' : 'TWR Return vs. VN-INDEX Benchmark' }}

{{ lang === 'vi' ? 'Theo ngày mua/nhận đã khai báo và giá lịch sử; thêm lô không tính là lợi nhuận' : 'Declared acquisition dates and historical prices; added holdings are not profit' }}
{{ lang === 'vi' ? 'Từ:' : 'From:' }}
{{ lang === 'vi' ? 'Danh Mục (TWR)' : 'Portfolio TWR' }}
{{ fmtPct(twrData?.stats?.portfolio_return) }}
VN-INDEX
{{ fmtPct(twrData?.stats?.vnindex_return) }}
Alpha ({{ lang === 'vi' ? 'Vượt Trội' : 'Excess' }})
{{ fmtPct(twrData?.stats?.alpha) }}
{{ lang === 'vi' ? 'Đang tính toán TWR...' : 'Calculating TWR...' }}
{{ lang === 'vi' ? 'Khung kỳ:' : 'Horizon:' }} {{ twrData ? twrData.start_date : '' }} → {{ twrData ? twrData.end_date : '' }}
{{ twrData && twrData.stats ? twrData.stats.data_points : 0 }} {{ lang === 'vi' ? 'phiên' : 'sessions' }}
{{ lang === 'vi' ? 'Lọc loại tài sản:' : 'Asset filter:' }}
{{ lang === 'vi' ? 'Chế độ dữ liệu bảng:' : 'Data mode:' }}
{{ lang === 'vi' ? 'Mốc TWR:' : 'TWR Horizon:' }}
{{ lang === 'vi' ? 'Từ ngày:' : 'From:' }}
(Bấm chọn mốc để chuyển sang chế độ TWRR)
{{ lang === 'vi' ? 'Chứng Chỉ Quỹ Mở (Fmarket)' : 'Mutual Funds (Fmarket)' }} {{ (fundsData.session_info && fundsData.session_info.badge) || 'Chờ xác minh NAV' }}
{{ (fundsData.session_info && fundsData.session_info.message) || 'NAV theo ngày nguồn công bố; xem độ mới của từng quỹ.' }} • {{ lang === 'vi' ? 'Lần cập nhật tới:' : 'Next update:' }} {{ (fundsData.session_info && fundsData.session_info.next_update) || '—' }}
{{ lang === 'vi' ? 'Bảng Danh Mục Chi Tiết:' : 'Detailed Holdings Table:' }} {{ displayedStocks.length }} {{ lang === 'vi' ? 'mã' : 'positions' }}
# {{ stockTableMode === 'twrr' ? (col.id === 'cost_price' ? (lang === 'vi' ? 'Giá Mốc Đầu Kỳ' : 'Start Price') : col.id === 'total_cost' ? (lang === 'vi' ? 'Giá Trị Đầu Kỳ' : 'Start Value') : col.id === 'pnl' ? (lang === 'vi' ? 'Lãi / Lỗ Trong Kỳ' : 'Period PnL') : col.id === 'pnl_pct' ? (lang === 'vi' ? 'Hiệu Suất (TWRR)' : 'TWR Return') : (lang === 'vi' ? col.name_vi : col.name_en)) : (lang === 'vi' ? col.name_vi : col.name_en) }}
{{ lang === 'vi' ? 'Chưa có cổ phiếu nào trong danh mục.' : 'No stock positions found.' }}

{{ lang === 'vi' ? 'Quản Lý Vị Thế Vàng' : 'Gold Portfolio' }}

{{ lang === 'vi' ? 'Loại Vàng' : 'Product' }} {{ lang === 'vi' ? 'Khối Lượng (Chỉ)' : 'Quantity (Chi)' }} {{ lang === 'vi' ? 'Giá Vốn TB' : 'Avg Cost' }} {{ lang === 'vi' ? 'Giá Thị Trường' : 'Market Price' }} {{ lang === 'vi' ? 'Tổng Vốn' : 'Cost' }} {{ lang === 'vi' ? 'Thị Giá' : 'Value' }} {{ lang === 'vi' ? 'Lãi / Lỗ' : 'PnL' }}
{{ g.name }} {{ Number(g.quantity).toLocaleString() }} {{ g.unit || 'chỉ' }} {{ fmtFullVND(g.purchase_price) }}
{{ fmtFullVND(g.current_price_unit || g.buy_price) }}
{{ lang === 'vi' ? 'Bán ra:' : 'Sell:' }} {{ fmtFullVND(g.sell_price_unit) }}
{{ fmtFullVND(g.total_cost) }} {{ fmtFullVND(g.current_value) }} {{ g.pnl > 0 ? '+' : '' }}{{ fmtFullVND(g.pnl) }} ({{ fmtPct(g.pnl_pct) }})
{{ lang === 'vi' ? 'TỔNG CỘNG' : 'TOTAL GOLD' }} {{ fmtFullVND(goldTotal.cost) }} {{ fmtFullVND(goldTotal.value) }} {{ goldTotal.pnl > 0 ? '+' : '' }}{{ fmtFullVND(goldTotal.pnl) }} ({{ fmtPct(goldTotal.pnl_pct) }})
{{ lang === 'vi' ? 'Chưa có vị thế vàng nào.' : 'No gold holdings recorded.' }}

{{ lang === 'vi' ? 'Bảng Giá Vàng Gần Nhất' : 'Latest Cached Bullion Quotes' }}

{{ p.material_name || p.name }} {{ p.material_code }}
{{ lang === 'vi' ? 'Mua vào:' : 'Buy:' }} {{ fmtFullVND(p.buy_price) }} {{ lang === 'vi' ? 'Bán ra:' : 'Sell:' }} {{ fmtFullVND(p.sell_price) }}
{{ lang === 'vi' ? 'Đơn vị: đ/chỉ' : 'Unit: VND/chi' }} {{ p.updated_at }}

{{ lang === 'vi' ? 'Danh Mục Bất Động Sản' : 'Real Estate Portfolio' }}

{{ lang === 'vi' ? 'Tổng Vốn Đầu Tư' : 'Total Cost' }} {{ fmtFullVND(realEstatePortfolio.total_cost) }}
{{ lang === 'vi' ? 'Giá Trị Định Giá Hiện Tại' : 'Current Valuation' }} {{ fmtFullVND(realEstatePortfolio.total_value) }}
{{ lang === 'vi' ? 'Lãi Vốn Tạm Tính' : 'Capital Gain' }} {{ realEstatePortfolio.total_pnl > 0 ? '+' : '' }}{{ fmtFullVND(realEstatePortfolio.total_pnl) }} {{ fmtPct(realEstatePortfolio.total_pnl_pct) }}
{{ lang === 'vi' ? 'Dòng Tiền Thuê Ròng/Tháng' : 'Net Monthly Cash Flow' }} {{ fmtFullVND(realEstatePortfolio.monthly_cashflow) }} Dư nợ vay: {{ fmtFullVND(realEstatePortfolio.total_debt) }}

{{ re.name }}

{{ re.address || 'BĐS' }}
{{ lang === 'vi' ? 'Giá mua:' : 'Purchase Price:' }} {{ fmtFullVND(re.purchase_price) }}
{{ lang === 'vi' ? 'Định giá hiện tại:' : 'Valuation:' }}
{{ fmtFullVND(re.current_valuation) }}
{{ lang === 'vi' ? 'Lãi vốn tạm tính:' : 'Capital Gain:' }} {{ (re.capital_gain ?? re.pnl ?? 0) > 0 ? '+' : '' }}{{ fmtFullVND(re.capital_gain ?? re.pnl ?? 0) }} ({{ fmtPct(re.capital_gain_pct ?? (re.total_cost ? (((re.pnl || 0) / re.total_cost) * 100) : 0)) }})
{{ lang === 'vi' ? 'Tiền thuê tháng:' : 'Monthly Rent:' }} {{ fmtFullVND(re.monthly_rent) }}
{{ lang === 'vi' ? 'Dư nợ ngân hàng:' : 'Mortgage Balance:' }} {{ fmtFullVND(re.debt_principal) }}
{{ lang === 'vi' ? 'Chưa có bất động sản nào đang sở hữu.' : 'No active real estate properties recorded.' }}

{{ re.name }}

{{ lang === 'vi' ? 'ĐÃ BÁN' : 'SOLD' }}

{{ re.address || 'Bất động sản' }}

{{ lang === 'vi' ? 'Giá vốn mua ban đầu:' : 'Cost Basis:' }} {{ fmtFullVND(re.purchase_price) }}
{{ lang === 'vi' ? 'Giá bán thực tế:' : 'Selling Price:' }} {{ fmtFullVND(re.selling_price) }}
{{ lang === 'vi' ? 'Lợi nhuận vốn thực tế:' : 'Realized Gain:' }} {{ re.realized_pnl > 0 ? '+' : '' }}{{ fmtFullVND(re.realized_pnl) }} ({{ fmtPct(re.realized_pnl_pct) }})
{{ lang === 'vi' ? 'Ngày bán:' : 'Sale Date:' }} {{ re.sale_date }}
{{ lang === 'vi' ? 'Dòng tiền thực thu:' : 'Net Proceeds:' }} {{ fmtFullVND(re.net_proceeds) }}
{{ re.sale_note || (lang === 'vi' ? 'Đã hoàn tất thanh lý' : 'Completed') }}
{{ lang === 'vi' ? 'Chưa có bất động sản nào đã bán.' : 'No sold properties.' }}

{{ lang === 'vi' ? 'Quản Lý Tiền Mặt, Tiết Kiệm & Nợ Vay' : 'Cash, Savings & Debt Management' }}

{{ lang === 'vi' ? 'Tiền Mặt Khả Dụng' : 'Available Cash' }} {{ fmtFullVND(totalCashBalance) }} {{ cashAccounts.length }} tài khoản thanh toán
{{ lang === 'vi' ? 'Tiền Tiết Kiệm Tích Lũy' : 'Savings Balance' }} {{ fmtFullVND(totalSavingsBalance) }} {{ savingsAccountsList.length }} sổ tiết kiệm
{{ lang === 'vi' ? 'Khoản Cho Vay' : 'Lending / Receivables' }} {{ fmtFullVND(totalLendBalance) }} {{ debts.lend_items ? debts.lend_items.length : 0 }} khoản
{{ lang === 'vi' ? 'Khoản Vay Nợ' : 'Debts / Borrowings' }} {{ fmtFullVND(totalBorrowBalance) }} {{ debts.borrow_items ? debts.borrow_items.length : 0 }} khoản
{{ lang === 'vi' ? 'Tài Sản Ròng Tiền & Nợ' : 'Net Cash & Debt' }} {{ fmtFullVND(netCashDebtBalance) }} Tiền + Tiết kiệm - Nợ
Quy tắc cấn trừ nợ nội bộ gia đình (FIN-094): Khoản vay 80.000.000 đ của Tuấn Kiệt và khoản cho vay 80.000.000 đ của Mẹ đã được triệt tiêu hoàn toàn khi hợp nhất gia đình.
Triệt tiêu: 80.000.000 đ

{{ lang === 'vi' ? 'Tài Khoản Tiền Mặt' : 'Cash Accounts' }}

{{ ca.name }}

{{ ca.institution || 'Tài khoản thanh toán' }}
{{ fmtFullVND(ca.amount) }}
{{ lang === 'vi' ? 'Chưa có tài khoản tiền mặt nào.' : 'No cash accounts found.' }}

{{ lang === 'vi' ? 'Sổ Tiết Kiệm Ngân Hàng' : 'Bank Savings' }}

{{ sa.name }}

{{ sa.institution || 'Ngân hàng' }} • {{ sa.interest_rate || 0 }}%/năm
{{ fmtFullVND(sa.amount) }}

{{ lang === 'vi' ? 'Chưa có sổ tiết kiệm nào' : 'No active savings book' }}

{{ lang === 'vi' ? 'Khoản vốn đã được phân bổ vào danh mục đầu tư' : 'Funds allocated to investments' }}
{{ lang === 'vi' ? 'Số dư hiện tại' : 'Balance' }} 0 đ

{{ lang === 'vi' ? 'Khoản Vay & Cho Vay' : 'Loans & Borrowings' }}

{{ d.debt_type === 'borrow' ? 'VAY' : 'CHO VAY' }}

{{ d.name }}

{{ d.counterparty }} • Gốc: {{ fmtFullVND(d.initial_amount) }}
{{ fmtFullVND(d.remaining_principal) }}
{{ lang === 'vi' ? 'Không có khoản nợ hay cho vay nào.' : 'No active debts or loans.' }}

{{ lang === 'vi' ? 'Lịch Sử Nạp & Rút Tiền (Dòng Tiền Thực Tế)' : 'Deposit & Withdrawal History (Cash Flow)' }}

{{ lang === 'vi' ? 'Tổng hợp toàn bộ dòng tiền nạp vào / rút ra khỏi danh mục đầu tư & sổ tiết kiệm' : 'Consolidated cash inflow and outflow across accounts and savings books' }}

{{ lang === 'vi' ? 'Khung thời gian:' : 'Time Range:' }}
→
{{ lang === 'vi' ? 'Tổng Tiền Nạp' : 'Total Deposited' }} +{{ fmtFullVND(filteredDepositWithdrawData.metrics.total_deposited) }} Bơm thêm vốn vào
{{ lang === 'vi' ? 'Tổng Tiền Rút' : 'Total Withdrawn' }} -{{ fmtFullVND(filteredDepositWithdrawData.metrics.total_withdrawn) }} Rút vốn ra ngoài
{{ lang === 'vi' ? 'Dòng Tiền Ròng (Nạp - Rút)' : 'Net Cash Flow' }} {{ (filteredDepositWithdrawData.metrics.net_cashflow >= 0 ? '+' : '') + fmtFullVND(filteredDepositWithdrawData.metrics.net_cashflow) }} {{ filteredDepositWithdrawData.metrics.net_cashflow >= 0 ? 'Tăng ròng vốn' : 'Giảm ròng vốn' }}
{{ lang === 'vi' ? 'Số Lượng Giao Dịch' : 'Transactions' }} {{ filteredDepositWithdrawData.metrics.total_count }} lượt Trong khoảng thời gian
{{ lang === 'vi' ? 'Ngày GD' : 'Date' }} {{ lang === 'vi' ? 'Loại Giao Dịch' : 'Type' }} {{ lang === 'vi' ? 'Tài Khoản / Sổ' : 'Account / Book' }} {{ lang === 'vi' ? 'Số Tiền Biến Động' : 'Amount' }} {{ lang === 'vi' ? 'Nguồn' : 'Source' }} {{ lang === 'vi' ? 'Ghi Chú' : 'Notes' }} {{ lang === 'vi' ? 'Thao Tác' : 'Action' }}
{{ item.trans_date }} ⬇️ {{ lang === 'vi' ? 'Nạp tiền' : 'Deposit' }} ⬆️ {{ lang === 'vi' ? 'Rút tiền' : 'Withdraw' }} {{ (item.account_name === 'Sổ Tiết Kiệm Tích Lũy' || !item.account_name) ? 'Tiền mặt' : item.account_name }} {{ item.direction === 1 ? '+' : '-' }}{{ fmtFullVND(item.amount) }} {{ lang === 'vi' ? 'Tiền mặt' : 'Cash' }} {{ item.note || '—' }}
Lịch sử ver3
{{ lang === 'vi' ? 'Không có giao dịch nạp / rút nào trong khoảng thời gian đã chọn.' : 'No deposit or withdrawal transactions found for the selected time range.' }}

{{ lang === 'vi' ? 'Lịch Sử Nhận Cổ Tức & Thực Hiện Quyền' : 'Corporate Actions & Dividends' }}

{{ lang === 'vi' ? 'Ngày GD' : 'Date' }} {{ lang === 'vi' ? 'Mã CK' : 'Symbol' }} {{ lang === 'vi' ? 'Loại Sự Kiện' : 'Event Type' }} {{ lang === 'vi' ? 'Chi Tiết Nhận / Nộp' : 'Details' }} {{ lang === 'vi' ? 'Thuế TNCN (5%)' : 'Tax (5%)' }} {{ lang === 'vi' ? 'Tài Khoản Tiền Mặt' : 'Cash Account' }} {{ lang === 'vi' ? 'Ghi Chú' : 'Notes' }} {{ lang === 'vi' ? 'Thao Tác' : 'Action' }}
{{ d.event_date }} {{ d.symbol_or_code || d.symbol }} 💵 {{ lang === 'vi' ? 'Cổ Tức Tiền Mặt' : 'Cash Dividend' }} 📜 {{ lang === 'vi' ? 'Cổ Tức Cổ Phiếu' : 'Stock Dividend' }} ⚡ {{ lang === 'vi' ? 'Quyền Mua Ưu Đãi' : 'Rights Issue' }} {{ d.event_type }}
+{{ fmtFullVND(d.net_cash) }} {{ fmtFullVND(d.cash_per_share) }}/CP
+{{ Number(d.dividend_shares).toLocaleString() }} CP Tỷ lệ {{ d.ratio_old }}:{{ d.ratio_new }} (Vốn {{ fmtFullVND(d.dividend_share_price) }})
+{{ Number(d.dividend_shares).toLocaleString() }} CP Nộp: -{{ fmtFullVND(d.gross_cash) }} (Giá {{ fmtFullVND(d.cash_per_share) }})
{{ fmtFullVND(d.cash_amount || d.rate) }}
{{ fmtFullVND(d.tax_amount) }} — {{ d.cash_account_name }} — {{ d.note || '—' }}
{{ lang === 'vi' ? 'Chưa ghi nhận sự kiện cổ tức nào.' : 'No dividend events recorded.' }}

Lịch sử ver3 — chỉ đọc

Các bản ghi gốc được lưu để tra cứu theo hồ sơ.

Đang tải lịch sử…

{{ col.label }}
{{ legacyCell(row,col.key) }}

Chưa tải hoặc không có bản ghi thuộc loại này trong hồ sơ đã chọn.

{{ lang==='vi'?'Nhật ký gồm dòng đã đảo. Thống kê theo trang đang tải.':'Reversed entries retained. Metrics cover the loaded page.' }}

{{ lang === 'vi' ? 'Nhật Ký Toàn Bộ Giao Dịch & Khớp Lệnh' : 'Complete Transaction Ledger' }}

{{ lang === 'vi' ? 'Lọc theo lớp tài sản:' : 'Filter Asset Class:' }}
{{ lang === 'vi' ? 'Thời gian:' : 'Time Range:' }}
{{ lang === 'vi' ? 'Tổng Tiền Ra (Mua / Chi)' : 'Cash Outflow' }}
{{ fmtFullVND(computedTxMetrics.total_outflow) }}
{{ lang === 'vi' ? 'Tổng Tiền Vào (Bán / Thu)' : 'Cash Inflow' }}
{{ fmtFullVND(computedTxMetrics.total_inflow) }}
{{ lang === 'vi' ? 'Tổng Thuế & Phí Nộp' : 'Taxes & Fees Paid' }}
{{ fmtFullVND(computedTxMetrics.total_fees) }}
{{ lang === 'vi' ? 'Tổng Số Lệnh / Giao Dịch' : 'Total Executions' }}
{{ computedTxMetrics.total_count }}
ID {{ lang === 'vi' ? 'Ngày GD' : 'Date' }} {{ lang === 'vi' ? 'Loại Giao Dịch' : 'Type' }} {{ lang === 'vi' ? 'Tài Sản / Mã' : 'Asset / Code' }} {{ lang === 'vi' ? 'Khối Lượng' : 'Qty' }} {{ lang === 'vi' ? 'Đơn Giá' : 'Unit Price' }} {{ lang === 'vi' ? 'Giá Trị GD' : 'Gross Amount' }} {{ lang === 'vi' ? 'Thuế & Phí' : 'Taxes & Fees' }} {{ lang === 'vi' ? 'Dòng Tiền Ròng' : 'Net Cash Impact' }} {{ lang === 'vi' ? 'Tài Khoản' : 'Account' }} {{ lang === 'vi' ? 'Hành Động' : 'Action' }}
#{{ t.id }} {{ t.trans_date }}
Ghi nhận số dư: {{ t.effective_date }}
{{ t.trans_type }} {{ t.asset_name || t.symbol_or_code }} {{ t.quantity ? Number(t.quantity).toLocaleString() : '1' }} {{ t.price ? fmtFullVND(t.price) : '-' }} {{ fmtFullVND(t.amount) }} Thuế: {{ fmtFullVND(t.tax_amount || 0) }} | Phí: {{ fmtFullVND((t.fee_exchange || 0) + (t.fee || 0)) }} 0 đ {{ t.net_cash_impact >= 0 ? '+' : '' }}{{ fmtFullVND(t.net_cash_impact) }} {{ t.cash_account_name || 'N/A' }}
Lịch sử ver3 (chỉ đọc)
{{ lang === 'vi' ? 'Không có giao dịch nào phù hợp với bộ lọc.' : 'No transactions recorded.' }}

{{ lang === 'vi' ? 'Bảng Giá & Thị Trường Theo Ngành' : 'Industry Sector Stock Board' }} {{ sectorBoardData.is_trading ? (lang === 'vi' ? 'Đang giao dịch' : 'Trading Live') : (lang === 'vi' ? 'Ngoài giờ giao dịch' : 'Market Closed') }}

{{ lang === 'vi' ? 'Cung cấp bảng giá real-time đa bước giá cho 25 nhóm ngành chuẩn ICB Việt Nam' : 'Real-time multi-step quotes across 25 standard ICB sectors' }} (Cập nhật: {{ sectorBoardData.updated_at.slice(11, 19) }})

{{ lang === 'vi' ? 'Danh sách mã đang theo dõi:' : 'Tracked Symbols:' }} {{ sectorSymbols.length }} mã
{{ sym }}
{{ lang === 'vi' ? 'Đang cập nhật bảng giá...' : 'Updating board...' }}
Mã CK Tên Doanh Nghiệp TC Trần Sàn Bên Mua (Dư Mua) Khớp Lệnh Bên Bán (Dư Bán) Thống Kê Phiên Khối Ngoại Xóa
Giá 3 KL 3 Giá 2 KL 2 Giá 1 KL 1 Giá KL +/- % Giá 1 KL 1 Giá 2 KL 2 Giá 3 KL 3 Tổng KL Cao Thấp TB Mua Bán Ròng
{{ item.symbol }}
{{ item.name }} {{ fmtBoardPrice(item.reference_price) }} {{ fmtBoardPrice(item.ceiling_price) }} {{ fmtBoardPrice(item.floor_price) }} {{ fmtBoardPrice(item.bid_price_3) }} {{ fmtBoardVol(item.bid_vol_3) }} {{ fmtBoardPrice(item.bid_price_2) }} {{ fmtBoardVol(item.bid_vol_2) }} {{ fmtBoardPrice(item.bid_price_1) }} {{ fmtBoardVol(item.bid_vol_1) }} {{ fmtBoardPrice(item.close_price) }} {{ fmtBoardVol(item.volume_accumulated) }} {{ item.price_change != null ? fmtBoardChange(item.price_change) : '-' }} {{ item.percent_change != null ? (item.percent_change > 0 ? '+' : '') + item.percent_change.toFixed(2) + '%' : '-' }} {{ fmtBoardPrice(item.ask_price_1) }} {{ fmtBoardVol(item.ask_vol_1) }} {{ fmtBoardPrice(item.ask_price_2) }} {{ fmtBoardVol(item.ask_vol_2) }} {{ fmtBoardPrice(item.ask_price_3) }} {{ fmtBoardVol(item.ask_vol_3) }} {{ fmtBoardVol(item.volume_accumulated) }} {{ fmtBoardPrice(item.high_price) }} {{ fmtBoardPrice(item.low_price) }} {{ fmtBoardPrice(item.average_price) }} {{ fmtBoardVol(item.foreign_buy_volume) }} {{ fmtBoardVol(item.foreign_sell_volume) }} {{ (item.foreign_net_volume != null && item.foreign_net_volume !== 0) ? ((item.foreign_net_volume > 0 ? '+' : '') + fmtBoardVol(item.foreign_net_volume)) : '-' }}
🔍 {{ lang === 'vi' ? 'Không có mã cổ phiếu nào phù hợp trong ngành này.' : 'No stocks found in this sector.' }}
📈

{{ lang === 'vi' ? 'Biểu Đồ Kỹ Thuật FireAnt Style' : 'Pro Technical Chart' }} TradingView Lightweight

{{ lang === 'vi' ? 'Phân tích kỹ thuật nến Nhật, khối lượng đa bước, RSI 14, MA, Bollinger Bands & Ichimoku từ dữ liệu vnstock.' : 'Technical candlestick analysis, volume, RSI 14, MAs, Bollinger Bands & Ichimoku powered by vnstock.' }}

{{ lang === 'vi' ? 'Khớp Lệnh Chứng Khoán & CCQ' : 'Stock Order Execution' }}

{{ lang === 'vi' ? 'Khả dụng:' : 'Available:' }} {{ fmtNumber(selectedSellStock?.quantity || 0) }} CP
{{ stockCompanyName }}
{{ lang === 'vi' ? 'Bạn hiện không có cổ phiếu nào trong danh mục để thực hiện lệnh bán.' : 'You currently do not have any stocks in your portfolio to sell.' }}
{{ lang === 'vi' ? 'Hạch Toán Khớp Lệnh (DNSE)' : 'Settlement Details (DNSE)' }} {{ lang === 'vi' ? 'Miễn phí giao dịch DNSE' : 'Zero Broker Fee' }}
{{ stockForm.action === 'buy' ? (lang === 'vi' ? 'Số tiền mua chứng khoán:' : 'Stock Purchase Amount:') : (lang === 'vi' ? 'Số tiền bán chứng khoán:' : 'Stock Sale Amount:') }} {{ fmtFullVND(stockEstimated.gross) }}
{{ lang === 'vi' ? 'Thuế & phí:' : 'Taxes & Fees:' }} {{ stockForm.action === 'buy' ? '(Phí trả Sở 0.027%)' : '(Phí Sở 0.027% + Thuế TNCN 0.1%)' }} {{ lang === 'vi' ? 'Tùy chỉnh' : 'Custom' }}
{{ stockForm.action === 'buy' ? '+' : '-' }}
đ
{{ stockForm.action === 'buy' ? (lang === 'vi' ? 'Tổng tiền cần thanh toán:' : 'Total Payable Amount:') : (lang === 'vi' ? 'Tổng tiền thực nhận về:' : 'Net Proceeds Received:') }} {{ fmtFullVND(stockEstimated.total_payable) }}
{{ lang === 'vi' ? 'Cảnh báo số dư không đủ:' : 'Insufficient Cash Balance Warning:' }} {{ lang === 'vi' ? `Số dư khả dụng hiện tại là ${fmtFullVND(selectedStockCashAccount?.amount || 0)}, đang thiếu ${fmtFullVND(stockCashShortage)}. Hệ thống vẫn cho phép khớp lệnh và sẽ ghi nhận số dư âm (${fmtFullVND((selectedStockCashAccount?.amount || 0) - stockEstimated.total_payable)}) sau khi khớp.` : `Current balance is ${fmtFullVND(selectedStockCashAccount?.amount || 0)}, short by ${fmtFullVND(stockCashShortage)}. Order execution will proceed with negative cash balance (${fmtFullVND((selectedStockCashAccount?.amount || 0) - stockEstimated.total_payable)}).` }}

🏛️ {{ lang === 'vi' ? 'Khớp Lệnh Chứng Chỉ Quỹ (Fmarket)' : 'Mutual Fund Order Execution' }}

{{ lang === 'vi' ? 'Hạch Toán Khớp Lệnh CCQ (Fmarket)' : 'Fund Settlement Details (Fmarket)' }} Fmarket
{{ fundForm.action === 'buy' ? (lang === 'vi' ? 'Số tiền mua CCQ:' : 'Fund Purchase Amount:') : (lang === 'vi' ? 'Số tiền bán CCQ:' : 'Fund Sale Amount:') }} {{ fmtFullVND(fundEstimated.gross) }}
{{ lang === 'vi' ? 'Thuế & phí:' : 'Taxes & Fees:' }} ({{ lang === 'vi' ? 'Thuế TNCN 0.1% + phí bán' : 'Tax 0.1% + fee' }}) ({{ (fundForm.fee || 0) > 0 ? (lang === 'vi' ? 'Phí phát hành/mua' : 'Issuing fee') : (lang === 'vi' ? 'Miễn phí mua' : 'Zero fee') }})
{{ fundForm.action === 'buy' ? '+' : '-' }}{{ fmtFullVND(fundEstimated.fee_tax) }}
{{ fundForm.action === 'buy' ? (lang === 'vi' ? 'Tổng tiền cần thanh toán:' : 'Total Payable Amount:') : (lang === 'vi' ? 'Tổng tiền thực nhận về:' : 'Net Proceeds Received:') }} {{ fmtFullVND(fundEstimated.total_payable) }}
{{ lang === 'vi' ? 'Cảnh báo số dư không đủ:' : 'Insufficient Cash Balance Warning:' }} {{ lang === 'vi' ? `Số dư khả dụng hiện tại là ${fmtFullVND(selectedFundCashAccount?.amount || 0)}, đang thiếu ${fmtFullVND(fundCashShortage)}. Hệ thống vẫn cho phép khớp lệnh và sẽ ghi nhận số dư âm (${fmtFullVND((selectedFundCashAccount?.amount || 0) - fundEstimated.total_payable)}) sau khi khớp.` : `Current balance is ${fmtFullVND(selectedFundCashAccount?.amount || 0)}, short by ${fmtFullVND(fundCashShortage)}. Order execution will proceed with negative cash balance (${fmtFullVND((selectedFundCashAccount?.amount || 0) - fundEstimated.total_payable)}).` }}

{{ stockLotsData ? stockLotsData.symbol : 'Đang tải...' }}

{{ stockLotsData.is_fund ? 'Quỹ Mở (CCQ)' : 'Cổ Phiếu Niêm Yết' }} Đã tất toán
{{ stockLotsData ? stockLotsData.name : '' }}

Đang truy xuất và tính toán các lô FIFO...

{{ lang === 'vi' ? 'Tổng Khối Lượng Còn Lại' : 'Remaining Quantity' }}
{{ stockLotsData.is_fund ? Number(stockLotsData.summary.remaining_quantity).toFixed(2) : Number(stockLotsData.summary.remaining_quantity).toLocaleString() }} {{ stockLotsData.unit }}
Đã mua: {{ stockLotsData.summary.total_bought }} | Đã bán: {{ stockLotsData.summary.total_sold }}
{{ lang === 'vi' ? 'Giá Vốn Bình Quân (FIFO)' : 'Weighted Avg Cost' }}
{{ fmtFullVND(stockLotsData.summary.weighted_avg_cost) }}
Gồm phí mua (FIN-001)
{{ lang === 'vi' ? 'Giá Thị Trường Hiện Tại' : 'Market Price' }}
{{ fmtFullVND(stockLotsData.current_price) }}
{{ stockLotsData.change_pct >= 0 ? '↑ +' : '↓ ' }}{{ Number(stockLotsData.change_pct).toFixed(2) }}%
{{ lang === 'vi' ? 'Lãi / Lỗ Tạm Tính (PnL)' : 'Unrealized P&L' }}
{{ stockLotsData.summary.total_unrealized_pnl > 0 ? '+' : '' }}{{ fmtFullVND(stockLotsData.summary.total_unrealized_pnl) }}
{{ fmtPct(stockLotsData.summary.total_unrealized_pnl_pct) }}

{{ lang === 'vi' ? 'Các Lô Mua Còn Hiệu Lực (Active FIFO Lots)' : 'Active Acquisition Lots' }} ({{ stockLotsData.active_lots.length }})

Ưu tiên bán xuất kho trước (First-In, First-Out)
Không còn lô nào đang nắm giữ (đã chốt tất toán).
# Lô Ngày Mua KL Gốc KL Còn Lại Giá Vốn Lô Tổng Vốn Lô Thị Giá Lô Lãi / Lỗ Tuổi Lô (Age) Ghi Chú
#{{ idx + 1 }} {{ lot.purchase_date }} {{ stockLotsData.is_fund ? Number(lot.original_quantity).toFixed(2) : Number(lot.original_quantity).toLocaleString() }} {{ stockLotsData.is_fund ? Number(lot.remaining_quantity).toFixed(2) : Number(lot.remaining_quantity).toLocaleString() }} {{ fmtFullVND(lot.cost_price) }} {{ fmtFullVND(lot.total_cost) }} {{ fmtFullVND(lot.market_value) }} {{ lot.unrealized_pnl > 0 ? '+' : '' }}{{ fmtFullVND(lot.unrealized_pnl) }} ({{ fmtPct(lot.unrealized_pnl_pct) }}) {{ lot.days_held }} {{ lang === 'vi' ? 'ngày' : 'days' }} {{ lot.note || '-' }}

{{ lang === 'vi' ? 'Các Lô Đã Tiêu Thụ / Đã Bán Hết (Consumed Lots)' : 'Consumed Acquisition Lots' }} ({{ stockLotsData.consumed_lots.length }})

Mã Lô Ngày Mua KL Gốc KL Đã Bán Giá Vốn Trạng Thái
{{ cLot.lot_id }} {{ cLot.purchase_date }} {{ cLot.original_quantity }} {{ cLot.consumed_quantity }} {{ fmtFullVND(cLot.cost_price) }} {{ cLot.status === 'fully_consumed' ? 'Đã bán hết' : 'Bán một phần' }}
{{ lang === 'vi' ? 'Minh Bạch Phương Pháp Tính Toán (FIN-315)' : 'Calculation Method & Provenance' }}:
• Quy tắc chi phí: {{ stockLotsData.formula }}
• Thuế & Phí: Phí mua được vốn hóa trực tiếp vào giá vốn từng lô (FIN-001). Thuế bán 0.1% và phí trả Sở 0.027% được khấu trừ tại thời điểm thực nhận.
• Tuổi thọ lô (FIFO Age): Số ngày lưu ký tính từ ngày khớp lệnh mua đến thời điểm báo cáo hiện tại (FIN-206).

{{ lang === 'vi' ? 'Giao Dịch Vàng' : 'Gold Transaction' }}

{{ goldForm.action === 'buy' ? (lang === 'vi' ? 'Giá bán DOJI:' : 'DOJI Sell price:') : (lang === 'vi' ? 'Giá mua DOJI:' : 'DOJI Buy price:') }} {{ fmtFullVND(selectedDojiProductPrice) }}

{{ lang === 'vi' ? 'Thêm Bất Động Sản Mới' : 'Add Real Estate Property' }}

🏢 {{ lang === 'vi' ? 'Khai Thác Cho Thuê (Nếu Có)' : 'Rental Cash Flow' }}

🏦 {{ lang === 'vi' ? 'Nợ Vay Thế Chấp Ngân Hàng (Nếu Có)' : 'Mortgage Loan (Optional)' }}

🏷️ {{ lang === 'vi' ? 'Bán / Chuyển Nhượng Bất Động Sản' : 'Sell Real Estate Property' }}

{{ lang === 'vi' ? 'Vị trí / Địa chỉ:' : 'Address:' }} {{ selectedREToSell.address || 'Chưa cập nhật' }}
{{ lang === 'vi' ? 'Giá vốn ban đầu:' : 'Cost Basis:' }} {{ fmtFullVND(selectedREToSell.purchase_price) }}
{{ lang === 'vi' ? 'Định giá gần nhất:' : 'Latest Valuation:' }} {{ fmtFullVND(selectedREToSell.current_valuation) }}
{{ lang === 'vi' ? 'Dư nợ ngân hàng còn lại:' : 'Outstanding Mortgage:' }} {{ fmtFullVND(selectedREToSell.debt_principal) }}
{{ lang === 'vi' ? 'Dòng tiền thực thu về:' : 'Net Proceeds:' }} {{ fmtFullVND(computedRESellSummary.netProceeds) }}
{{ lang === 'vi' ? 'Lãi / Lỗ vốn thực tế đã chốt:' : 'Realized Capital Gain:' }} {{ computedRESellSummary.realizedPnl >= 0 ? '+' : '' }}{{ fmtFullVND(computedRESellSummary.realizedPnl) }} ({{ fmtPct(computedRESellSummary.realizedPnlPct) }})

📈 {{ lang === 'vi' ? 'Cập Nhật Định Giá Bất Động Sản' : 'Update Property Valuation' }}

{{ lang === 'vi' ? 'Giá mua ban đầu:' : 'Original Cost:' }} {{ fmtFullVND(selectedREToValuate.purchase_price) }}
{{ lang === 'vi' ? 'Định giá hiện tại:' : 'Current Valuation:' }} {{ fmtFullVND(selectedREToValuate.current_valuation || selectedREToValuate.purchase_price) }}
{{ lang === 'vi' ? 'Lần định giá gần nhất:' : 'Last Valuation Date:' }} {{ selectedREToValuate.last_valued_date }}
{{ lang === 'vi' ? 'Chênh lệch so với định giá cũ:' : 'Change vs Old Valuation:' }} {{ computedREValuationSummary.valDiff > 0 ? '+' : '' }}{{ fmtFullVND(computedREValuationSummary.valDiff) }} ({{ fmtPct(computedREValuationSummary.valDiffPct) }})
{{ lang === 'vi' ? 'Tổng lãi vốn tạm tính mới:' : 'New Unrealized Gain:' }} {{ computedREValuationSummary.newGain > 0 ? '+' : '' }}{{ fmtFullVND(computedREValuationSummary.newGain) }} ({{ fmtPct(computedREValuationSummary.newGainPct) }})

{{ lang === 'vi' ? 'Dòng Tiền Bất Động Sản' : 'Real Estate Cash Flow' }}

{{ lang === 'vi' ? 'Ghi Nhận Sự Kiện Doanh Nghiệp (Cổ Tức & Quyền Mua)' : 'Record Corporate Action' }}

{{ lang === 'vi' ? 'Tự động điều chỉnh giá vốn các lô mua cũ theo chuẩn FIFO & bảo toàn vốn đầu tư' : 'Adjusts cost basis for purchase lots according to FIFO invariants' }}

{{ lang === 'vi' ? 'Hạch Toán Dự Kiến Sự Kiện' : 'Financial Impact Summary' }} {{ lang === 'vi' ? 'Bảo toàn 100% vốn đầu tư' : '100% Cost Basis Conserved' }}

{{ lang === 'vi' ? 'Tổng tiền cổ tức (Gross):' : 'Gross Dividend:' }}
{{ fmtFullVND(divPreview.gross_cash) }}
{{ Number(divPreview.total_shares).toLocaleString() }} CP × {{ fmtFullVND(divPreview.cash_per_share) }}
{{ lang === 'vi' ? 'Thuế TNCN khấu trừ 5%:' : 'Withholding Tax (5%):' }}
-{{ fmtFullVND(divPreview.tax_amt) }}
Khấu trừ tại nguồn theo Luật thuế
{{ lang === 'vi' ? 'Thực nhận cộng vào TK:' : 'Net Cash Credited:' }}
+{{ fmtFullVND(divPreview.net_cash) }}
95% thực nhận sau thuế
{{ lang === 'vi' ? 'CP đang sở hữu:' : 'Current Shares:' }}
{{ Number(divPreview.total_shares_before).toLocaleString() }} CP
{{ lang === 'vi' ? 'CP thưởng / cổ tức nhận thêm:' : 'Bonus Shares Received:' }}
+{{ Number(divPreview.dividend_shares).toLocaleString() }} CP
Tỷ lệ {{ divPreview.ratio_old }}:{{ divPreview.ratio_new }}
{{ lang === 'vi' ? 'Giá vốn phân bổ lô mới:' : 'New Lot Cost Basis:' }}
{{ fmtFullVND(divPreview.dividend_share_price) }}
Bảo toàn 100% tổng vốn ban đầu
{{ lang === 'vi' ? 'CP quyền mua nhận thêm:' : 'Rights Shares:' }}
+{{ Number(divPreview.rights_shares).toLocaleString() }} CP
Giá phát hành: {{ fmtFullVND(divPreview.issue_price) }}
{{ lang === 'vi' ? 'Tiền mặt cần nộp:' : 'Cash Required:' }}
-{{ fmtFullVND(divPreview.cash_required) }}
Trích nộp từ TK tiền mặt
{{ lang === 'vi' ? 'Giá vốn phân bổ lô quyền:' : 'New Lot Cost Basis:' }}
{{ fmtFullVND(divPreview.rights_share_price) }}
Theo công thức pha loãng kỹ thuật
{{ divPreview.lot_previews.length }} {{ lang === 'vi' ? 'lô cần điều chỉnh' : 'lots affected' }}
# {{ lang === 'vi' ? 'Ngày Mua' : 'Buy Date' }} {{ lang === 'vi' ? 'Số Lượng' : 'Quantity' }} {{ lang === 'vi' ? 'Giá Vốn Cũ' : 'Old Cost' }} {{ lang === 'vi' ? 'Điều Chỉnh' : 'Adjustment' }} {{ lang === 'vi' ? 'Giá Vốn Mới Sau Chia' : 'New Adjusted Cost' }}
#{{ idx + 1 }} {{ l.purchase_date }} {{ Number(l.quantity).toLocaleString() }} CP {{ fmtFullVND(l.old_price) }} -{{ fmtFullVND(l.price_drop) }} -{{ fmtFullVND(l.price_drop) }} ({{ fmtPct(l.price_drop / l.old_price * 100) }}) {{ l.price_change >= 0 ? '+' : '' }}{{ fmtFullVND(l.price_change) }} {{ fmtFullVND(l.new_price) }}

{{ lang === 'vi' ? 'Theo Dõi Cổ Phiếu Ngoài Danh Mục' : 'Add Watchlist Ticker' }}

{{ lang === 'vi' ? 'Mã cổ phiếu sẽ được đưa vào bảng biến động giá trực tuyến trong phiên để bạn tiện so sánh cùng danh mục.' : 'The ticker will appear on your real-time intraday board alongside your holdings.' }}

⭐

{{ lang === 'vi' ? 'Tạo Danh Sách Theo Dõi (Watchlist)' : 'Create New Watchlist' }}

{{ lang === 'vi' ? 'Bạn có thể thêm hoặc bớt mã bất kỳ lúc nào trên bảng giá.' : 'You can add or remove symbols anytime from the board.' }}

{{ lang === 'vi' ? 'Tùy Chỉnh Cột Hiển Thị' : 'Column Customization' }}

{{ activeColConfigTitle }}
{{ lang === 'vi' ? 'Kéo thả ⠿ để đổi vị trí, tích chọn để Ẩn / Hiện' : 'Drag ⠿ to reorder, check/uncheck to Show/Hide' }} {{ getVisibleColumns(activeColConfigTable).length }}/{{ getTableColumns(activeColConfigTable).length }} {{ lang === 'vi' ? 'cột' : 'cols' }}
⠿
{{ col.visible !== false ? (lang === 'vi' ? 'Đang hiện' : 'Visible') : (lang === 'vi' ? 'Đang ẩn' : 'Hidden') }}

{{ lang === 'vi' ? 'Đổi Mật Khẩu' : 'Change Password' }}

@{{ currentUser && currentUser.username }}

{{ lang === 'vi' ? '💡 Chào mừng bạn! Đây là lần đăng nhập đầu tiên, vui lòng cập nhật mật khẩu mới để tăng cường bảo mật tài khoản.' : '💡 Welcome! This is your first login, please update your password for security.' }}
{{ changePasswordError }}
{{ changePasswordSuccess }}

{{ lang === 'vi' ? 'Khôi Phục Mật Khẩu Qua Thiết Bị' : 'Device-based Password Reset' }}

{{ lang === 'vi' ? 'Cơ chế xác thực an toàn tại phần cứng Armbian' : 'Secure hardware-level verification on Armbian' }}

{{ forgotError }}
{{ forgotSuccess }}

{{ lang === 'vi' ? 'Nhập tên tài khoản của bạn. Hệ thống sẽ sinh mã xác nhận (Challenge Code) cần được phê duyệt trên thiết bị Armbian của quản trị viên.' : 'Enter your username. The system will generate a Challenge Code requiring approval on the Armbian device.' }}

{{ lang === 'vi' ? 'Bước 2: Phê duyệt tại thiết bị Armbian' : 'Step 2: Approve on Armbian device' }} ⏱ {{ formatCountdown(forgotExpiresSeconds) }}

{{ lang === 'vi' ? 'Quản trị viên hoặc bạn cần truy cập trực tiếp console/SSH vào máy Armbian và thực thi lệnh bên dưới để mở khóa đặt lại mật khẩu.' : 'Access console/SSH on the Armbian device and execute the command below to unlock password reset.' }}

{{ lang === 'vi' ? 'Mã Xác Nhận (Challenge Code)' : 'Challenge Code' }}
{{ forgotChallengeCode }}
{{ lang === 'vi' ? 'Lệnh thực thi trên thiết bị Armbian' : 'Command to run on Armbian' }}
python3 manage.py approve-reset --code {{ forgotChallengeCode }}
{{ lang === 'vi' ? 'Đang đợi phê duyệt từ thiết bị...' : 'Waiting for device approval...' }}

{{ lang === 'vi' ? 'Xác thực phần cứng thành công. Vui lòng nhập mật khẩu mới (tối thiểu 12 ký tự) để hoàn tất.' : 'Hardware verified. Please enter a new password (min 12 chars).' }}

Tối thiểu 12 ký tự.

{{ lang === 'vi' ? 'Chỉnh Sửa Thông Tin Hồ Sơ' : 'Edit Profile Info' }}

{{ confirmOrderData.title || (lang === 'vi' ? 'Xác Nhận Khớp Lệnh' : 'Order Confirmation') }}

{{ lang === 'vi' ? 'Vui lòng kiểm tra kỹ thông tin trước khi ghi nhận vào sổ giao dịch' : 'Please review transaction details before recording' }}

{{ lang === 'vi' ? 'Loại lệnh & Mã' : 'Action & Symbol' }}
{{ confirmOrderData.action === 'buy' ? (lang === 'vi' ? 'MUA' : 'BUY') : (lang === 'vi' ? 'BÁN' : 'SELL') }} {{ confirmOrderData.name || confirmOrderData.symbol }}
{{ lang === 'vi' ? 'Ngày khớp lệnh / giao dịch:' : 'Transaction Date:' }} {{ confirmOrderData.order_date }}
{{ lang === 'vi' ? 'Khối lượng khớp:' : 'Volume:' }} {{ Number(confirmOrderData.quantity).toLocaleString() }} {{ confirmOrderData.unit || (confirmOrderData.type === 'fund' ? 'CCQ' : (confirmOrderData.type === 'gold' ? 'chỉ' : (confirmOrderData.type && confirmOrderData.type.startsWith('real_estate') ? 'căn/lô' : 'CP'))) }}
{{ lang === 'vi' ? 'Địa chỉ / Vị trí:' : 'Address:' }} {{ confirmOrderData.address }}
{{ confirmOrderData.type && confirmOrderData.type.startsWith('real_estate') ? (confirmOrderData.action === 'buy' ? (lang === 'vi' ? 'Giá mua ban đầu:' : 'Purchase Price:') : (lang === 'vi' ? 'Giá bán thỏa thuận:' : 'Selling Price:')) : (lang === 'vi' ? 'Đơn giá khớp:' : 'Execution Price:') }} {{ fmtFullVND(confirmOrderData.price) }}
{{ lang === 'vi' ? 'Giá trị khớp lệnh gốc:' : 'Gross Amount:' }} {{ fmtFullVND(confirmOrderData.gross) }}
{{ lang === 'vi' ? 'Định giá thị trường:' : 'Market Valuation:' }} {{ fmtFullVND(confirmOrderData.current_valuation) }}
{{ lang === 'vi' ? 'Dư nợ vay kèm theo:' : 'Attached Debt:' }} {{ fmtFullVND(confirmOrderData.debt_principal) }}
{{ lang === 'vi' ? 'Tất toán nợ ngân hàng:' : 'Debt Payoff:' }} -{{ fmtFullVND(confirmOrderData.debt_deducted) }}
{{ lang === 'vi' ? 'Thuế & phí:' : 'Taxes & Fees:' }} ({{ confirmOrderData.fee_desc }})
{{ confirmOrderData.action === 'buy' ? '+' : '-' }}{{ fmtFullVND(confirmOrderData.fee_tax) }}
{{ confirmOrderData.action === 'buy' ? (lang === 'vi' ? 'Tổng tiền thanh toán:' : 'Total Payable:') : (lang === 'vi' ? 'Tổng thực nhận về:' : 'Net Proceeds:') }} {{ fmtFullVND(confirmOrderData.total) }}
{{ lang === 'vi' ? 'Tài khoản thanh toán:' : 'Settlement Account:' }} {{ confirmOrderData.cash_account_name }}
{{ lang === 'vi' ? 'Số dư hiện tại:' : 'Current Balance:' }} {{ fmtFullVND(confirmOrderData.current_cash) }}
{{ lang === 'vi' ? 'Dự kiến sau khi khớp:' : 'Estimated After:' }} {{ fmtFullVND(confirmOrderData.new_cash) }}
{{ lang === 'vi' ? 'Lưu ý số dư âm:' : 'Negative Balance Notice:' }} {{ lang === 'vi' ? 'Số dư tài khoản tiền sẽ bị âm sau khi khớp lệnh. Hệ thống vẫn sẽ hoàn tất ghi nhận giao dịch và theo dõi số dư âm này.' : 'Account cash will become negative after execution. The system will record and track this negative balance.' }}
✏️

{{ lang === 'vi' ? 'Sửa Giao Dịch #' + editTxForm.id : 'Edit Transaction #' + editTxForm.id }}

{{ editTxForm.category_label }} — {{ editTxForm.asset_name || editTxForm.symbol_or_code }} ({{ editTxForm.trans_type }})

{{ lang === 'vi' ? 'Dự Kiến Tác Động Dòng Tiền Ròng' : 'Cash Flow Impact Preview' }} Tự động hoàn tác & đồng bộ số dư
Dòng tiền cũ ban đầu: {{ editTxForm.old_net_cash >= 0 ? '+' : '' }}{{ fmtFullVND(editTxForm.old_net_cash) }}
Dòng tiền mới (ước tính): {{ computedEditNetCash >= 0 ? '+' : '' }}{{ fmtFullVND(computedEditNetCash) }}

{{ lang === 'vi' ? 'Giao Dịch Nạp / Rút Tiền Mặt' : 'Cash Deposit / Withdrawal' }}

{{ lang === 'vi' ? 'Gửi Tiền / Rút Tiết Kiệm' : 'Savings Deposit / Withdrawal' }}

{{ lang === 'vi' ? 'Thêm Khoản Vay / Nợ Mới' : 'Add Debt / Loan' }}

💸 💰 {{ debtPaymentForm.debt_type === 'borrow' ? (lang === 'vi' ? 'Ghi Nhận Trả Nợ Vay' : 'Record Debt Repayment') : (lang === 'vi' ? 'Ghi Nhận Thu Hồi Nợ' : 'Record Debt Collection') }}

{{ debtPaymentForm.debt_type === 'borrow' ? 'KHOẢN ĐI VAY' : 'KHOẢN CHO VAY' }}

{{ selectedDebtForPayment.name }}

{{ selectedDebtForPayment.counterparty }}
{{ debtPaymentForm.debt_type === 'borrow' ? 'Dư nợ còn lại' : 'Còn phải thu' }} {{ fmtFullVND(selectedDebtForPayment.remaining_principal) }}
Gốc ban đầu: {{ fmtFullVND(selectedDebtForPayment.initial_amount) }} Đã trả: {{ fmtFullVND(selectedDebtForPayment.paid_principal || 0) }}

{{ lang === 'vi' ? 'Sửa Tài Khoản Tiền Mặt' : 'Edit Cash Account' }}

{{ lang === 'vi' ? 'Sửa Khoản Nợ / Cho Vay' : 'Edit Debt / Loan' }}

{{ lang === 'vi' ? 'Sửa Giao Dịch Tiết Kiệm' : 'Edit Savings Record' }}

{{ t.message }}
BIỂU ĐỒ NẾN KỸ THUẬT
{{ quickChartSymbol }} · Nguồn dữ liệu vnstock