Mất kết nối — đợi reconnect...
Sol Ecosystem

Sol Ecosystem

Chuẩn hóa dữ liệu thanh toán

Yêu cầu sẽ chờ Admin duyệt qua email.
Một sản phẩm của LVAD • v2026.1.0

Nhập mã xác thực

Đã gửi đến

Mã hết hạn sau
Không nhận được email? Kiểm tra Spam folder hoặc đăng ký lại sau 1 phút

Đặt lại mật khẩu

Bước /3 ·

Nhập username hoặc email trường bạn đã đăng ký. Sol sẽ gửi mã OTP 6 chữ số đến email tương ứng.

Mã OTP đã gửi đến

Mã hết hạn sau
Không nhận được email? Kiểm tra Spam folder
OTP đã xác thực. Đặt mật khẩu mới trong vòng .
Hai mật khẩu chưa khớp

File đã xử lý
vs tuần trước
Lookup queries
Last 7 ngày
Active users
Bugs open

Tác vụ nhanh

Sol Word/Excel
Add-ins Office

🏆 Top users (7d)

Chưa có data — xử lý vài file để Sol track stats!

🏦 Phân bố Bank (30d)

DatabaseLive
Last update:

📜 Hoạt động gần đây

Mini Normalizer — Chuẩn hóa nhanh

Kết quả
Chuẩn hoá file UNC hàng loạt
Ngân hàng đích:

Kéo file UNC vào đây hoặc

Header cần có: STT, Họ tên, Tài khoản, Ngân hàng, Số tiền, Nội dung

Sheets
Tổng dòng
Tổng tiền
Bank
Sẵn sàng tải file Online
Mỗi sheet input → 1 sheet output "{total}_"
Sheet: Swift miss ND vượt STK warn
STT Tên STK Ngân hàng Số tiền Nội dung BT/LBT
BankDB v. · CBVC Đang tải metadata...
Phát hiện duplicate nhóm có nhiều records cùng giá trị trong cột "".

Không tìm thấy kết quả cho "" trong cột

Thử đổi match mode hoặc cột tra cứu

Nhập tên CBVC / Mã NV / STK / Email / CCCD để tra cứu

Smart match Vietnamese diacritics (NFC + invisible chars stripped)

Mã NV Họ tên Đơn vị STK Ngân hàng Email CCCD Actions
Page / · kết quả
Bulk Lookup — tra cứu hàng loạt + xuất 4-sheet template

Kéo file Excel vào đây hoặc

Yêu cầu DÒNG 1: A=Họ và tên, B=Số tiền, C=Thuế, D=Số tiền sau thuế

Tổng
Match
Duplicate
No match
Success rate
%
Sheet detect: BankDB v. Cols: session:
dòng có nhiều match trong BankDB cần anh chọn thủ công.
Sẵn sàng xuất 4-sheet (dntt / bank hoặc bankVCB / mscb / tncn)
⚠ Còn duplicates chưa xử lý — các dòng này sẽ trống _result
Preview dòng đầu (max 50) _result columns = từ BankDB
Duplicate Detection
Cùng cột "" có nhiều record
Chọn match cho duplicate rows
dòng có nhiều candidates · Đã chọn:

💡 Mỗi row dưới đây có nhiều record khớp trong BankDB. Click candidate để pick. Sau khi pick xong, nhấn "Apply picks" để xác nhận. Các dòng không chọn sẽ giữ trống _result trong output.

✅ Không còn duplicate nào — anh có thể đóng modal
Đã chọn / rows
Nhập thông tin xuất file
Cover letter + chọn loại bank trước khi sinh xlsx
Thông tin chung
Sẽ điền vào ô A5 của sheet bank/bankVCB
Đi vào cột Nội dung (sheet bank) + ô B12 (bankVCB) + A14 (dntt)
Sheet tncn (A5) + sheet dntt (B3/B11)
Thông tin người đề nghị thanh toán (sheet dntt — optional)
Validation failed — export bị block
Anh xem chi tiết bên dưới để sửa dữ liệu

          
Tự động auto-fill: Thông tin nhập lần này sẽ được lưu (localStorage) và tự điền cho lần xuất kế tiếp. Validation tolerance: 0 VND (mọi sai lệch tổng đều block export — anh chốt).
* = bắt buộc nhập
SolStandardize — Chuẩn hóa HR raw → BankDB

Kéo file HR vào đây hoặc

Auto-detect: file GỐC (Bộ phận / Thư (Email) / NH nhận lương) hoặc ĐÃ CHUẨN HÓA (Đơn vị / Email / TT ngân hàng)

· Header dòng · ⚠ Thiếu cột: · Override Mã NV từ Stk_Override
· Match / (%)
CBVC
CBVC khớp
CBVC lỗi
Success rate
%
Chi tiết transform:
• Proper Case (Họ tên):
• Rút gọn Nơi cấp:
• Đơn vị → dvk:
• Ngân hàng:
• Override STK:
• Unicode NFC:
Row Mã NV Cột Input Output Expected
Publish lên BankDB
records ready → snake_case BankDB schema
Preview records (snake_case schema, first 50)
ma_nv ho_ten don_vi stk ngan_hang_raw email
Không có user nào khớp filter
User Đơn vị Role Perms Status Last login Actions
Không có bug nào khớp filter
Export filter hiện tại ra CSV (max 10k rows)
Time User Action Target IP
Không có entry nào (thử filter rộng hơn)
Hiển thị / entries (giới hạn 100 mỗi query)

System Health

Tổng quan DB / email / snapshot / recent updates

Nhấn Refresh để load dữ liệu
Warnings
DB Versions
Email Quota
/
Reset:
Broadcast:
Sheet Row Counts
Spreadsheet Cell Usage
/ (%)
Drive Snapshots
STORAGE_FOLDER_ID chưa configure — snapshots disabled
Folder:
Recent Updates (last 5)
Chưa có update nào
TimeTypeUserRowsVersionRollback
Snapshot at:

Learned Bank Patterns

Bank name alias đã học (Sol Online lookup fallback). Sort by used_count DESC.

Không match search "" Chưa có learned pattern nào. Add từ Sol Online tool desktop hoặc + Add ở trên.
Pattern (normalized) Bank Code Full Text Added By Used Actions
/ patterns
Add Learned Bank Pattern
Sol Online sẽ học alias này
Lowercase, no diacritics, single spaces. Format giống _remove_accents() trong sol_online.py

Push Console

Gửi push tới user cụ thể / nhóm theo perm / TẤT CẢ subscribers. Phase 9 (2026-05-16).

📤 Compose Push
Vd: /?tab=lookup, /?tab=sol_online, /?tab=my_tickets
✅ Last result
Audience:
Sent: / Total:
Failed:
Auto-cleaned expired endpoints:
📬 Active subscribers active + inactive
Chưa có user nào subscribe.
Báo họ vào Settings → Bật notification.
⚡ Quick presets

Versions hiện tại

Cập nhật DB sẽ auto-snapshot + email broadcast cho user có opt-in

👥 BankDB
🏦 SwiftcodeDB
🛠 Stk Override
📋 Template
Email quota: ⚠ STORAGE_FOLDER_ID chưa configure — snapshot sẽ skip
👥 BankDB (CBVC database)

Upload vlookup_database.xlsx lên Drive, right-click → Open with Google Sheets, copy URL paste vào đây.

✅ Validation PASS — sẵn sàng apply ❌ Validation FAIL — không thể apply
+ Added
~ Modified
- Deleted
rows có swiftcode miss (sẽ import với swiftcode_8='', admin add alias sau)
external rows (TTNN/dvk giảng viên thỉnh giảng) sẽ import với ma_nv=''
Validation report chi tiết
🏦 SwiftcodeDB

Re-generate swiftcode_seed.xlsx bằng scripts/extract_swiftcode_db.py sau khi update sol_online.py SWIFTCODE_DB. Upload Drive → convert → paste URL.

New: · Current: · Delta:
🛠 Stk Override (inline CRUD)
Chưa có override nào
Mã NV Họ tên STK mới NH mới Lý do Added Actions
📋 TemplateOnline.xlsx

Upload TemplateOnline.xlsx lên Drive folder STORAGE_FOLDER/Templates → copy File ID (từ URL Drive) paste vào đây.

My Profile

Username
Họ tên
Email
Đơn vị
Role
Perms
(chưa có)

Push Notifications

Browser này không hỗ trợ Web Push API. Thử Chrome/Edge/Firefox bản mới, HOẶC iOS Safari 16.4+ với app đã "Add to Home Screen".
Notification bị chặn ở browser level. Mở browser settings → Site permissions → finceo.soltool.vn → cho phép Notifications → refresh.
🔔 Đang BẬT 🔕 Đang TẮT
Anh-chị sẽ nhận thông báo khi: BankDB chuẩn hoá lại, bug được admin reply, deadline khẩn cấp,... Permission:
Test push gửi tới chính tài khoản này để verify SW hoạt động

Đổi mật khẩu

Hai mật khẩu mới chưa khớp

Yêu cầu nâng quyền

Tích các tính năng bạn cần truy cập + ghi lý do. Admin LVAD sẽ duyệt qua email.

Chưa có bug nào!

Phát hiện lỗi? Bấm "Báo bug mới" ở góc trên.

Chưa có tin nhắn nào

Tin nhắn từ chat hoặc yêu cầu nâng quyền sẽ hiện ở đây.

Hội thoại
A
Admin LVAD
Trao đổi trực tiếp · cập nhật mỗi 5 giây

Bắt đầu trò chuyện với Admin LVAD

Gửi tin nhắn, emoji hoặc tệp đính kèm — Admin sẽ phản hồi sớm nhất.

Chọn một hội thoại

Chọn user ở cột trái để xem và trả lời tin nhắn.

Sol

Sol Ecosystem

Chuẩn hóa dữ liệu thanh toán

v2026.1.0
Một sản phẩm của LVAD
Cross-check ma_nv trong BankDB + nh_new trong SwiftcodeDB

Backend sẽ cross-check ma_nv exist trong BankDB và auto-fill ho_ten

4-24 chữ số, giữ leading zero

Backend lookup SwiftcodeDB để verify

Update History
Tất cả update log + rollback option cho entries có snapshot
Filter:
Chưa có update nào
Time Admin Type Version Delta 📧 Actions
Rollback update
Restore từ snapshot trước update này
Type:
Rollback: v. → v.
Snapshot: View CSV in Drive
⚠ Current state sẽ auto-snapshot trước khi restore (rollback của rollback OK).
Approve user
Họ tên:
Đơn vị:
Đăng ký:
Edit role & perms

Đổi role KHÔNG tự reset perms (giữ nguyên perms bên dưới).

Update bug status
Báo bug
LVAD sẽ phản hồi trong 24h qua email
Em sẽ gửi kèm:
• Username: • Email phản hồi:
• Browser:
• Tab hiện tại: