Module Kế toán & Hoá đơn điện tử
Tích hợp tự động dữ liệu từ CRM, Mua hàng và Kho — phát hành HĐĐT 1-click theo TT78/NĐ123 qua MISA meInvoice hoặc Viettel S-Invoice, đối chiếu sao kê ngân hàng & công nợ trong cùng một workspace.
1. Giới thiệu
Module Kế toán & HĐĐT là "lớp tài chính" cuối cùng của OpsOne AI — nơi mọi giao dịch phát sinh trong doanh nghiệp được ghi nhận, đối soát và phát hành chứng từ thuế. Khác với phần mềm kế toán độc lập, module này không yêu cầu kế toán nhập tay lại — dữ liệu chảy thẳng từ:
- CRM & Bán hàng: đơn hàng → phiếu nhận tiền → hoá đơn bán ra.
- Mua hàng: đơn mua → phiếu nhập kho → hoá đơn đầu vào.
- Kho: phiếu xuất bán → giá vốn hàng bán → ghi nhận doanh thu.
Cấu phần chính của module gồm 4 trục:
- Phát hành HĐĐT — tích hợp 2 nhà cung cấp lớn nhất Việt Nam: MISA meInvoice và Viettel S-Invoice. Cấu hình 1 lần, dùng cả năm.
- Auto-issue — khi phiếu nhận tiền được duyệt, hệ thống tự gọi API CQT phát hành HĐĐT — không cần kế toán thao tác.
- Kiểm soát hoá đơn — ngăn xuất hàng khi chưa có HĐ, check trùng số, check sai MST, audit trail đầy đủ.
- Đối chiếu công nợ & sao kê — import sao kê ngân hàng → auto-match với phiếu thu → cảnh báo lệch.
is_sandbox = true để test trước, chỉ chuyển production khi đã chắc chắn quy trình hoạt động ổn định.2. Thuật ngữ cần biết
Lĩnh vực HĐĐT có nhiều thuật ngữ pháp lý dễ nhầm lẫn. Anh/chị nắm các định nghĩa sau trước khi setup — tránh sai sót đắt đỏ.
invoices, gắn với đơn hàng) và HĐ mua vào (lưu bảng purchase_invoices, gắn với đơn mua).00C26TBA0000042)./api/v2/Invoice/Issue). Phù hợp doanh nghiệp nhỏ & vừa < 1000 HĐ/tháng.C26TBA). API yêu cầu IP whitelist.C26TBA: C = HĐ có mã CQT, 26 = năm 2026, T = loại hình điện tử, BA = ký tự riêng do DN tự đặt. Một DN có thể có nhiều series khác nhau (vd HĐ bán hàng vs HĐ dịch vụ).invoice_series = C26TBA + invoice_template = 1/001 theo đăng ký với CQT.cqt_code + lookup_code.⚠️ Khác biệt hay nhầm với Thông tư 200: chi phí bán hàng ở TT133 là 6421 nằm dưới 642, không có tài khoản 641; bảo hiểm thất nghiệp là 3385 (TT200 dùng 3386). Doanh nghiệp đang áp Thông tư 200 thì sổ do OpsOne sinh ra không khớp danh mục của chế độ đó — khai chế độ ở Hồ sơ công ty để phần mềm báo trước.
3. Truy cập module
Module Kế toán & HĐĐT được truy cập qua sidebar chính của OpsOne.
3.1 Vào module
Anh/chị nhấn 📒 Kế toán ở sidebar trái. Module mở ra với 4 tab chính:
- Dashboard — tổng quan doanh thu tháng, công nợ phải thu/trả, top KH chậm trả, cash flow forecast 30 ngày tới.
- Hoá đơn — danh sách HĐ bán ra & mua vào, button phát hành HĐĐT, drawer chi tiết.
- Kiểm soát HĐ — compliance dashboard: đơn nào chưa xuất HĐ, HĐ nào trùng số, HĐ nào sai MST.
- Đối chiếu — import sao kê ngân hàng, auto-match phiếu thu, xử lý giao dịch lệch.
3.2 Phân quyền
Module Kế toán dùng permission key accounting:
- accounting.view — xem danh sách HĐ, dashboard. Phù hợp NV bán hàng & sale admin.
- accounting.manage — phát hành HĐĐT, huỷ HĐ, cấu hình kết nối nhà cung cấp. Chỉ kế toán trưởng & admin tenant.
- accounting.export — xuất báo cáo Excel kỳ kế toán cho CQT. Thường gán cho kế toán trưởng.
accounting.manage. NV bán hàng sẽ thấy HĐ ở trạng thái draft nhưng không thấy nút phát hành — phải gửi yêu cầu lên kế toán duyệt.4. Setup ban đầu (chỉ làm 1 lần)
Trước khi phát hành HĐĐT lần đầu, anh/chị cần hoàn tất 4 bước setup. Đây là việc kế toán trưởng phối hợp với admin tenant làm trong khoảng 1-2 giờ.
4.1 Chuẩn bị giấy tờ
- Hợp đồng dịch vụ HĐĐT đã ký với MISA hoặc Viettel.
- Mã series HĐ đã đăng ký với CQT qua mẫu 01/ĐKTĐ-HĐĐT (vd
C26TBA). - Token CKS (USB hoặc HSM cloud) đã activate.
- API credentials: username, password, App ID, endpoint.
4.2 Cấu hình nhà cung cấp HĐĐT
Vào CRM → Settings → Cài đặt HĐĐT (hoặc PUT /api/einvoice/config):
- Chọn vendor: MISA hoặc Viettel (lưu cột
vendor— KHÔNG dùngmocktrên production). - Nhập endpoint — URL API của nhà cung cấp. MISA sandbox:
https://api-sandbox.meinvoice.vn, production:https://api.meinvoice.vn. Viettel sandbox:https://api-sandbox.sinvoice.viettel.vn. - Nhập username + password — password sẽ được mã hoá AES-256-GCM trước khi lưu DB (cột
api_password_enc). Khi gọi API, hệ thống tự decrypt. - Nhập App ID (nếu MISA yêu cầu — thường có sẵn trong hợp đồng).
- Nhập series + template — vd series
C26TBA, template1/001. - Nhập MST, tên DN, địa chỉ — đúng theo giấy phép kinh doanh, là thông tin bên bán hiện trên HĐ.
- Bật toggle
is_sandbox— mặc định TRUE để test. Chỉ chuyển FALSE khi đã verify quy trình OK. - Lưu cấu hình → nhấn nút 🔌 Test kết nối — hệ thống gọi API check credentials, nếu OK trả về profile của DN bên nhà cung cấp.
4.3 IP whitelist (chỉ Viettel)
Viettel S-Invoice yêu cầu whitelist IP server gọi API. IP production của OpsOne là 157.245.159.48 (DigitalOcean SGP1). Anh/chị báo IP này cho nhà cung cấp Viettel để add vào whitelist — thường mất 1-2 ngày làm việc.
4.4 Tạo template HĐ
Trong dashboard nhà cung cấp (MISA hoặc Viettel), tạo template hiển thị HĐ:
- Logo DN.
- Font tiếng Việt có dấu (Times New Roman hoặc Arial).
- Layout 1 trang A4, có ô ghi số HĐ + mã CQT ở góc phải.
- Footer "Hoá đơn được tạo bởi MISA meInvoice / Viettel S-Invoice".
is_sandbox = false, hãy verify đầy đủ: (1) đã test phát hành thành công ít nhất 5 HĐ trên sandbox, (2) PDF tải về đúng layout, (3) lookup_code tra cứu được trên CQT, (4) đã backup config + đã thông báo kế toán. Sai 1 bước → có nguy cơ phát HĐ thật khi đang test — tốn phí + phải huỷ.5. Phát hành HĐĐT
Có 2 cách phát hành HĐĐT: tự động từ đơn hàng (khuyến nghị) và thủ công tạo HĐ trực tiếp.
5.1 Phát hành từ đơn bán (1-click)
- Vào CRM → Đơn hàng, mở đơn cần xuất HĐ (đơn ở status
confirmedtrở lên). - Nhấn nút 📨 Phát hành HĐĐT — nút chỉ hiện với user có quyền
accounting.manage. - Hệ thống tự sinh DTO theo mapper: load
customer+billing_address+company info+order items. - Validate DTO — check MST KH (10 hoặc 13 số), tên KH, địa chỉ, items có
unit_price&quantity. - Tạo log record (status=pending) trong bảng
einvoice_logs— nếu UI bị refresh giữa chừng vẫn track được. - Gọi adapter (MISA hoặc Viettel) — adapter tự authenticate, tạo HĐ, ký số HSM, gửi CQT.
- Adapter trả về
invoice_number+cqt_code+lookup_code+pdf_url+xml_url. - Hệ thống update
invoices.einvoice_status = 'issued'+ lưu các code, button đổi thành 📥 Tải PDF.
"Invoice đang phát hành. Vui lòng chờ và làm mới trang" — tránh tạo trùng HĐ trên CQT.5.2 Phát hành thủ công (không qua đơn)
Trường hợp đặc biệt: HĐ điều chỉnh, HĐ dịch vụ một lần (vd phí tư vấn) không gắn đơn hàng. Anh/chị tạo bản ghi trong invoices trực tiếp:
- Trong tab Hoá đơn, nhấn + Tạo HĐ mới.
- Chọn KH (auto-load MST, địa chỉ) hoặc nhập tay nếu là KH vãng lai.
- Thêm items: mô tả, số lượng, đơn giá, VAT.
- Hệ thống tự tính:
subtotal,vat_amount,total,amount_in_words(tiếng Việt: "Năm mươi triệu đồng chẵn"). - Lưu HĐ ở status
draft→ nhấn 📨 Phát hành HĐĐT như flow 5.1.
5.3 Huỷ HĐĐT đã phát
Nếu phát sai (sai MST, sai số tiền, sai mặt hàng), bắt buộc phải huỷ + lập HĐ thay thế theo TT78. Trong drawer log HĐĐT:
- Nhấn nút 🚫 Huỷ HĐĐT.
- Nhập lý do huỷ (bắt buộc, sẽ gửi lên CQT).
- Hệ thống gọi
adapter.cancelInvoice→ CQT ghi nhận huỷ → status đổi thànhcancelled. - Tạo HĐ thay thế: clone bản cũ, sửa thông tin đúng, phát hành lại.
6. Auto-issue (phát hành tự động)
Đây là tính năng "rolling" mạnh nhất của module — khi bật, kế toán không cần thao tác, HĐĐT tự phát hành theo quy trình duyệt phiếu thu.
6.1 Cơ chế
Logic trong server/services/paymentReceiptDecision.js — khi phiếu thu chuyển sang status = 'approved':
- Load config:
SELECT auto_issue, active FROM einvoice_configs WHERE project_id = $1. - Nếu
active = trueVÀauto_issue = true→ tiếp tục. Ngược lại bỏ qua. - Check KH có MST không. Không MST → bỏ qua (KH cá nhân không cần HĐ bắt buộc).
- Enqueue job
einvoice-issuevào queue Redis — xử lý async, retry 3 lần backoff 5s → 25s → 125s nếu fail. - Worker lấy job → gọi
issueInvoiceForRecord— phát hành như flow 5.1.
6.2 Bật auto-issue
Vào Settings → Cài đặt HĐĐT → bật toggle Auto phát hành HĐĐT khi duyệt phiếu thu. Hệ thống lưu cột einvoice_configs.auto_issue = true.
6.3 Tắt auto-issue cho 1 tenant
Trường hợp DN đang sandbox hoặc tạm ngưng dùng HĐĐT — admin có thể disable nhanh bằng flag einvoice_auto_disabled per project. Khi flag này TRUE, dù auto_issue = true hệ thống vẫn skip.
einvoice_auto_disabled thay vì sửa auto_issue — tránh quên bật lại sau khi xong.6.4 Theo dõi auto-issue queue
Vào Settings → HĐĐT → Lịch sử, anh/chị thấy:
- 4 stat cards: issued (đã phát), pending (đang xử lý), failed (thất bại), cancelled (đã huỷ).
- Filter chips: lọc theo status, vendor, ngày.
- Bảng log: 8 cột (HĐ #, KH, số tiền, status, vendor, ngày phát, mã CQT, action).
- Mã tra cứu link trực tiếp tới
tracuuhoadon.gdt.gov.vn.
einvoice_last_error + retry 3 lần. Sau retry vẫn fail → status failed + cần kế toán xử lý thủ công (bổ sung MST, sau đó retry).7. Kiểm soát hoá đơn
Tab Kiểm soát HĐ là "tường lửa tài chính" — đảm bảo doanh nghiệp không xuất hàng khi chưa có HĐ, không phát HĐ trùng số, không bỏ sót khách doanh nghiệp.
7.1 Compliance Dashboard
Hiển thị các đơn hàng đã xác nhận nhưng chưa xuất HĐ — mặc định OpsOne yêu cầu mọi đơn bán đều phải có HĐ trước khi giao hàng (cấu hình enforce_before_shipping = true trong invoice_control_settings).
7.2 Cấu hình quy tắc kiểm soát
| Cài đặt | Mặc định | Mô tả |
|---|---|---|
enforce_before_shipping | 1 (bật) | Không cho phép chuyển đơn sang trạng thái "đang giao" nếu chưa có HĐ. |
enforce_before_delivery | 1 (bật) | Không cho phép đóng đơn (delivered) nếu chưa có HĐ. |
auto_generate_on_confirm | 0 (tắt) | Khi đơn confirmed → tự sinh HĐ draft (chưa phát hành). Bật nếu muốn giảm bước cho NV. |
default_vat_rate | 8 | VAT mặc định cho HĐ tự sinh (%). 2026 đang ở mức 8% cho hầu hết hàng hoá. |
alert_hours | 24 | Số giờ chờ trước khi cảnh báo đơn chưa có HĐ. Quá ngưỡng → tô đỏ + báo cho KT trưởng. |
exempt_sources | [] | Mảng nguồn đơn không bắt buộc HĐ. Vd ["shopee", "lazada"] nếu marketplace tự phát HĐ. |
7.3 Check trùng số HĐ
OpsOne tự check unique index trên (project_id, einvoice_serial, einvoice_number). Trường hợp 2 HĐ trùng số (rất hiếm, chỉ xảy ra nếu đồng bộ chéo nguồn) — UI hiện cảnh báo đỏ + link tới audit log để KT điều tra.
7.4 Check sai MST
MST Việt Nam có 2 dạng: 10 số (DN chính) hoặc 13 số (chi nhánh, ghi dạng 1234567890-001). Validator trong server/services/einvoice/validator.js reject mọi MST không khớp regex — ngăn HĐ sai trước khi gửi CQT.
7.5 HĐ chưa khớp đơn (audit trail)
Bảng einvoice_logs giữ snapshot toàn bộ payload request/response. Khi audit thuế, anh/chị có thể truy ngược: HĐ #INV-42 phát ngày 5/6/2026, gắn với đơn ORD-100, KH C0042, mã CQT 00C26TBA0000042, JSON payload đầy đủ.
8. Đối chiếu sao kê ngân hàng
Tab Đối chiếu giúp kế toán so khớp sổ phiếu thu nội bộ với sao kê ngân hàng thực tế — phát hiện lệch trong 5 phút thay vì 5 giờ thủ công.
8.1 Import sao kê
- Đăng nhập internet banking, tải sao kê file Excel/CSV kỳ cần đối chiếu (vd tháng 5/2026).
- Trong tab Đối chiếu, nhấn 📥 Import sao kê — chọn ngân hàng (VCB, BIDV, TCB, ACB…).
- OpsOne có template parser riêng cho từng ngân hàng — tự nhận cột "Ngày", "Số tiền", "Nội dung", "Người chuyển".
- Hệ thống đẩy data vào bảng
bank_statementsstaging.
8.2 Auto-match
Sau khi import, OpsOne chạy job match theo nhiều tầng độ tin cậy:
| Tầng | Điều kiện | Độ tin cậy |
|---|---|---|
| 1 | Match exact: amount + nội dung chứa mã đơn (vd "ORD-100" hoặc "INV-042") | ~95% (auto-approve) |
| 2 | Match amount + payer name fuzzy > 80% | ~75% (gợi ý, KT xác nhận) |
| 3 | Chỉ match amount (nhiều phiếu cùng số tiền) | ~40% (KT chọn thủ công) |
| 4 | Không match được | Flag unmatched |
8.3 Xử lý lệch
Sau khi auto-match, bảng Lệch hiển thị:
- Có trong sổ, không có sao kê — KH chưa chuyển thật, hoặc chuyển nhầm số tiền.
- Có sao kê, không có sổ — KH chuyển trước khi NV tạo phiếu thu, hoặc tiền lẻ phí ngân hàng.
- Số tiền không khớp — KH chuyển thiếu/dư.
Mỗi dòng lệch có 3 action: Tạo phiếu thu (nếu là tiền mới về), Bỏ qua (nếu là phí ngân hàng), hoặc Gán cho phiếu (nếu lệch vài đồng do làm tròn).
8.4 Đối soát công nợ
Ngoài đối chiếu sao kê, module còn có báo cáo Aging công nợ:
- Công nợ phải thu (KH nợ DN) — chia 5 nhóm: chưa hạn / 1-30 / 31-60 / 61-90 / > 90.
- Công nợ phải trả (DN nợ NCC) — tương tự.
- Bulk reminder gửi SMS/Zalo/email cho KH chậm trả.
9. Dashboard kế toán
Tab Dashboard là góc nhìn của CFO — mọi con số kế toán quan trọng tóm tắt trong 1 màn hình.
9.1 Doanh thu theo tháng
Biểu đồ line chart 12 tháng gần nhất, chia theo:
- Doanh thu thực tế (HĐ đã phát hành + thu tiền).
- Doanh thu ghi nhận (HĐ phát hành, chưa thu — áp dụng kế toán dồn tích).
- Pipeline (giá trị đơn pending × xác suất win).
9.2 Công nợ phải thu / phải trả
2 stat cards lớn:
- Phải thu: tổng số tiền KH đang nợ — phân lớp aging.
- Phải trả: tổng số tiền DN đang nợ NCC — gợi ý đợt thanh toán sắp tới.
9.3 Top KH chậm trả
Bảng 10 KH có công nợ quá hạn lớn nhất, sắp xếp theo (số ngày quá hạn × số tiền). Click vào KH → mở drawer xem chi tiết đơn nợ + button gửi reminder.
9.4 Cash flow forecast 30 ngày
Dự báo dòng tiền dựa trên:
- Công nợ phải thu có hạn trong 30 ngày tới (giả định 80% thu được đúng hạn).
- Lịch thanh toán NCC đã commit.
- Chi phí cố định ước tính (lương, thuê mặt bằng).
Output: biểu đồ area chart cho thấy dòng tiền âm/dương từng ngày — giúp CFO biết ngày nào sắp hụt tiền để chuẩn bị.
9.5 KPIs tự động
- DSO (Days Sales Outstanding) — bình quân số ngày từ phát HĐ đến thu tiền.
- DPO (Days Payable Outstanding) — bình quân số ngày DN trả NCC sau khi nhận HĐ.
- Tỷ lệ HĐĐT thành công — (issued / total) × 100%.
10. Export & báo cáo cho thuế
Cuối kỳ kế toán (tháng/quý/năm), anh/chị xuất các báo cáo gửi CQT.
10.1 Báo cáo tình hình sử dụng HĐ (BC26-HĐĐT)
Báo cáo bắt buộc nộp hàng quý theo TT78. OpsOne tự sinh file Excel chuẩn mẫu BC26:
- Vào Kế toán → Export → BC26-HĐĐT.
- Chọn kỳ (Q1/Q2/Q3/Q4 năm bất kỳ).
- Hệ thống aggregate từ
einvoice_logs: tổng HĐ phát hành, huỷ, điều chỉnh, thay thế. - Tải file Excel → nộp qua eTax hoặc dashboard nhà cung cấp HĐĐT.
10.2 Danh sách HĐ theo tháng
Filter HĐ theo tháng/quý/khoảng ngày → export Excel với các cột chuẩn: số HĐ, ngày, KH, MST, mặt hàng, tiền hàng, VAT, tổng, mã CQT.
10.3 Sổ cái doanh thu / chi phí
Aggregate theo danh mục tài khoản Thông tư 133:
- TK 511 — Doanh thu bán hàng & cung cấp dịch vụ.
- TK 632 — Giá vốn hàng bán.
- TK 642 — Chi phí quản lý DN.
- TK 131 — Phải thu khách hàng (chi tiết theo KH).
- TK 331 — Phải trả người bán (chi tiết theo NCC).
10.4 Format export
- Excel (.xlsx) — phổ biến nhất, kế toán dễ chỉnh trước khi nộp.
- CSV — cho integrate với phần mềm kế toán bên thứ 3 (MISA SME, Fast Accounting…).
- PDF — in báo cáo trình lãnh đạo.
pdf_url, xml_url). Anh/chị có thể download PDF + XML bất cứ lúc nào để backup off-site (Google Drive, OneDrive, NAS).11. 3 tình huống thực tế
Công ty dịch vụ tư vấn A có 5 nhân viên, phát 30-80 HĐ/tháng cho KH doanh nghiệp.
- Chọn MISA vì UI dashboard web đầy đủ, kế toán quen.
- Tắt auto-issue — KT muốn review từng HĐ trước khi phát (tránh sai số tiền hoặc MST).
- Sáng thứ 2 KT vào tab Hoá đơn, lọc HĐ tuần trước, bấm phát hành lần lượt — mỗi HĐ < 30 giây.
- Cuối quý xuất BC26 nộp CQT — tổng thời gian kế toán bỏ ra cho HĐĐT: ~2 giờ/tháng.
Kết quả: chi phí MISA ~150K/tháng cho 1000 HĐ. Tiết kiệm 80% thời gian so với phát qua dashboard MISA gốc.
TBBV bán cân điện tử công nghiệp, 500-2000 HĐ/tháng (B2B + retail Shopee).
- Chọn Viettel S-Invoice series
C26TBAvì throughput cao, ổn định cho volume lớn. - Bật auto-issue — mỗi phiếu thu approved → HĐ phát trong < 5 giây.
- Mỗi sáng thứ 2 KT trưởng import sao kê VCB tuần trước, auto-match đạt 88%, xử lý 12% còn lại trong 20 phút.
- Cuối quý xuất BC26 — chỉ mất 5 phút kiểm tra, OpsOne tự gom số liệu chính xác.
Kết quả: đội kế toán 2 người xử lý được 2000 HĐ + đối chiếu công nợ — trước đây cần 4 người.
Shop bán lẻ B trên Shopee + TikTok, 5000-8000 HĐ/tháng. Tỷ lệ huỷ đơn cao (~5%) do KH đổi ý.
- Tự động phát: mọi đơn shipping confirmed → tự phát HĐ qua Viettel S-Invoice.
- Khi KH huỷ đơn: nếu HĐ chưa kê khai thuế (cùng kỳ) → KT bấm 🚫 Huỷ HĐĐT, nhập lý do "KH huỷ đơn". Hệ thống gọi
adapter.cancelInvoice→ CQT ghi nhận. - Nếu đã kê khai: tạo HĐ điều chỉnh (HĐ trừ doanh thu) — OpsOne có template HĐ điều chỉnh sẵn.
- Monitoring: dashboard hiện riêng widget "HĐ huỷ tháng này" — tỷ lệ > 8% là cảnh báo (có thể đang có vấn đề chất lượng SP).
- Backup: cuối tháng KT download toàn bộ PDF + XML HĐ tháng đó → upload Google Drive cá nhân — lo xa.
Kết quả: dù volume lớn và biến động cao, kế toán vẫn kiểm soát được — quy trình huỷ/điều chỉnh chuẩn pháp lý, không bị thuế phạt.
12. Sổ kế toán kép, thuế GTGT và báo cáo tài chính
Từ tháng 9/2026 OpsOne có sổ kế toán kép theo Thông tư 133: tab Kế toán → Sổ kế toán và Kế toán → Thuế & BCTC.
12.1 Chứng từ sinh bút toán, không nhập tay
Đơn hàng, phiếu nhập kho, phiếu thu, phiếu chi, bảng lương của anh/chị đã là chứng từ. Bấm Sinh bút toán kỳ này thì phần mềm định khoản hết. Sửa chứng từ gốc rồi sinh lại thì bút toán được thay thế, không nhân đôi.
- Đơn bán → Nợ 131 / Có 5111, 3331
- Phiếu nhập kho → Nợ 1561 / Có 331
- Phiếu thu khách → Nợ 111, 112 / Có 131
- Bảng lương → Nợ 6421, 6422 / Có 334, 3383, 3384, 3385
- Hoá đơn mua vào → Nợ 1331 / Có 331
12.2 Hai quyển sổ, và vì sao không gộp
Sổ quản trị ghi mọi phát sinh (theo đơn hàng). Sổ thuế chỉ ghi hoá đơn đã phát hành. Hai quyển khác nhau vì hoá đơn không phủ hết doanh thu, và hoá đơn thường rơi vào tháng khác với đơn. Gộp làm một thì một trong hai sổ sai.
12.3 Tài khoản có chữ X ở đầu là gì
Những tài khoản như X111, X1331, X156 là chỗ phần mềm đặt tiền mà nó không biết thuộc tài khoản nào — thay vì đoán. Ví dụ phiếu thu chưa ghi quỹ thì tiền vào X111; điền quỹ trên phiếu thì tiền tự về 111 hoặc 112 và X111 về 0. Cột Ghi chú trong danh mục tài khoản nói rõ mỗi tài khoản X cần làm gì để hết. ⚠️ Còn số dư ở tài khoản X thì báo cáo chưa gửi ra ngoài được.
12.4 Chốt kỳ
Chốt kỳ làm mọi bút toán của kỳ đó trở thành bất biến: không sửa, không xoá, không thêm, và không mở lại được — kể cả quản trị viên. Nó cũng đóng đường nhập số dư đầu kỳ của các kỳ đó. Đừng chốt sớm: hoá đơn và phiếu thu ghi lùi ngày là chuyện thường, và sau khi chốt thì chúng chỉ vào sổ được bằng bút toán điều chỉnh.
12.5 Thuế GTGT
Tab Thuế & BCTC cho bảng kê hoá đơn bán ra / mua vào, số liệu tờ khai 01/GTGT, và bốn tệp Excel tải về. ⚠️ OpsOne không xuất XML cho HTKK — anh/chị gõ 10 con số từ tệp Excel vào HTKK. Đó là quyết định có chủ đích: một tệp sai định dạng bị cơ quan thuế từ chối tốn nhiều ngày hơn hai phút gõ tay.
Ô Khấu trừ ở bảng kê mua vào có ba trạng thái: được khấu trừ (lên tờ khai), không được (phải ghi lý do), chưa xét (phần mềm KHÔNG tự nhận khấu trừ hộ). Tờ nào để "chưa xét" thì không được cộng vào số thuế khấu trừ.
13. Tài sản cố định, công cụ dụng cụ, chi phí trả trước
Khai ở tab Kế toán → Sổ kế toán → Tài sản & chi phí phân bổ. Mỗi kỳ, khi bấm Sinh bút toán, phần mềm tự ghi một bút toán khấu hao / phân bổ cho tất cả tài sản.
| Loại | Tài khoản nguyên giá | Bút toán mỗi kỳ |
|---|---|---|
| Tài sản cố định | 211 | Nợ 6421/6422 → Có 2141 |
| Công cụ dụng cụ | 153 | Nợ 6421/6422 → Có 242 |
| Chi phí trả trước | 242 | Nợ 6421/6422 → Có 242 |
Số kỳ là số THÁNG phân bổ — tài sản dùng 5 năm là 60. Kỳ cuối gánh phần lẻ, nên cộng đủ mọi kỳ luôn ra đúng nguyên giá, không thiếu một đồng.
13.1 Việc anh/chị phải tự làm một lần
⚠️ Phần mềm không tự ghi nhận tài sản lên bảng cân đối, và đây là chủ đích: nó không biết lượt mua cái máy đó trước đây đã vào sổ thành chi phí hay thành hàng hoá — đoán hộ là tính cùng một số tiền hai lần. Anh/chị khai nguyên giá bằng số dư đầu kỳ cho tài khoản 211 (hoặc 153, 242), hoặc bằng một bút toán tay. Chưa khai thì màn hình hiện cảnh báo đỏ và nói đúng việc cần làm.
13.2 Thanh lý, hỏng, dùng hết trước hạn
Bấm Ngừng và ghi lý do (bắt buộc — nó làm chi phí các kỳ sau giảm đi). Giá trị chưa phân bổ hết không tự vào chi phí: phần đó cần một bút toán thanh lý riêng, vì phần mềm không biết tài sản được bán, cho, hay bỏ và thu về bao nhiêu.
13.3 Thuế thu nhập doanh nghiệp tạm tính
Khai thuế suất ở Hồ sơ công ty thì tab Thuế hiện số thuế tạm tính. ⚠️ Số này tính trên lợi nhuận kế toán, dùng để ước lượng tiền cần chuẩn bị — không phải số để khai. Thu nhập chịu thuế còn phải cộng lại chi phí không được trừ và trừ lỗ năm trước; phần mềm không có chỗ đánh dấu những khoản đó, nên nó cố ý không ghi số này vào sổ.
13.4 Chênh lệch tỷ giá đơn mua ngoại tệ
Đơn mua bằng ngoại tệ ghi nợ nhà cung cấp theo tỷ giá lúc nhận hàng. Khi trả đủ, phần chênh giữa tiền đồng thực trả và khoản nợ đã ghi vào 635 (lỗ) hoặc 515 (lãi), và công nợ của đơn về 0. Đơn đang trả dở thì chưa tính — hiệu số lúc đó là phần chưa trả, không phải chênh tỷ giá.
14. Câu hỏi thường gặp
MISA hay Viettel — nên chọn nhà cung cấp nào?
Quyết định theo 3 yếu tố:
- Volume: < 1000 HĐ/tháng → MISA OK, UI quản trị dễ. > 1000 HĐ/tháng → Viettel ổn định hơn ở throughput.
- Giá: MISA gói nhỏ rẻ hơn (~30K cho 100 HĐ). Viettel có gói enterprise rẻ hơn ở volume lớn.
- Hệ sinh thái: đã dùng MISA SME → chọn MISA meInvoice cho liên thông kế toán. Đã dùng dịch vụ Viettel khác → chọn S-Invoice cho 1 bill duy nhất.
OpsOne hỗ trợ cả 2, chuyển đổi giữa 2 nhà cung cấp chỉ là đổi config — không mất dữ liệu cũ.
HĐ phát hành nhầm xử lý sao?
Quy trình theo TT78:
- Nếu chưa kê khai thuế (cùng kỳ): bấm 🚫 Huỷ HĐĐT trong drawer log, nhập lý do, hệ thống gọi
adapter.cancelInvoice→ CQT ghi nhận huỷ. Sau đó lập HĐ mới đúng thông tin. - Nếu đã kê khai thuế (kỳ trước): KHÔNG huỷ được. Phải lập HĐ điều chỉnh (tăng/giảm) hoặc HĐ thay thế. OpsOne có template sẵn — KT chọn loại điều chỉnh, hệ thống tự gắn link
replaces_invoice_idcho audit.
Luôn nhập lý do rõ ràng — CQT có thể yêu cầu giải trình khi audit.
MST KH thiếu nhưng vẫn cần xuất HĐ?
Có 2 trường hợp:
- KH cá nhân: theo TT78, HĐ cho cá nhân không bắt buộc có MST. Anh/chị để trống cột
buyer_tax_id, hệ thống tự điền "Khách lẻ" và phát HĐ bình thường. - KH doanh nghiệp nhưng quên cung cấp MST: OpsOne sẽ block phát hành ở bước validate (validator check MST format). KT cần liên hệ KH xin MST hoặc đăng ký mặt hàng ở dạng "KH cá nhân" (không khuyến nghị vì gây sai lệch báo cáo doanh thu B2B/B2C).
Đối soát sao kê tự động khớp được bao nhiêu %?
Với DN có quy ước nhập mã đơn vào nội dung chuyển khoản (vd "TT ORD-100" hoặc "INV-042 thanh toan") — tỷ lệ auto-match đạt 85-92%. Phần còn lại 8-15% gồm:
- KH chuyển không ghi nội dung → phải match theo số tiền + tên người chuyển (fuzzy match).
- KH chuyển gộp nhiều đơn 1 lần → KT chia tay.
- Phí ngân hàng → bỏ qua hoặc ghi vào TK 642 (chi phí khác).
Mẹo nâng tỷ lệ match: in mã đơn ngay trên hoá đơn + dặn KH ghi đúng — rate tăng lên 95%+.
Public report cho thuế export format gì?
OpsOne hỗ trợ 3 format chính:
- BC26-HĐĐT — báo cáo tình hình sử dụng HĐ hàng quý. Excel theo mẫu CQT.
- XML kê khai — cho HTKK của Tổng cục Thuế. Nộp qua phần mềm HTKK desktop.
- Excel danh sách HĐ theo tháng — cho audit nội bộ + chuyển kế toán thuê ngoài (nếu DN thuê).
Tất cả format đều có button download trong tab Export, không cần kế toán mở Excel ngồi gom số liệu thủ công.
Backup HĐ off-site có cần thiết không?
Theo luật, nhà cung cấp HĐĐT (MISA, Viettel) phải lưu HĐ tối thiểu 10 năm — nên về mặt pháp lý anh/chị KHÔNG cần backup. Nhưng khuyến nghị backup off-site 2 trường hợp:
- Phòng hờ nhà cung cấp gián đoạn dịch vụ — nếu cần tra cứu gấp HĐ cũ mà server nhà cung cấp down.
- Khi chuyển nhà cung cấp — chuyển từ MISA sang Viettel, có HĐ cũ download sẵn dễ migrate hơn.
Cách backup nhanh: cuối tháng vào tab Hoá đơn → filter tháng đó → nhấn Tải PDF hàng loạt → OpsOne nén ZIP → upload Google Drive cá nhân. Mất 2 phút/tháng.
Kế toán bị nghỉ — ai phát HĐ thay?
2 phương án:
- Cấp quyền tạm: admin tenant gán
accounting.managecho admin trợ lý — phát HĐ trong tuần kế toán nghỉ. Sau đó thu hồi. - Bật auto-issue: nếu DN có quy trình phiếu thu chặt chẽ, bật auto-issue để HĐ tự phát khi phiếu thu approved — không cần kế toán ngồi bấm tay.
Mọi action đều log audit trail nên không lo "ai phát HĐ này".
Tốc độ phát HĐ thực tế là bao nhiêu?
Đo trên production TBBV (Viettel S-Invoice):
- Phát 1 HĐ đơn lẻ: 3-7 giây (gồm auth + create + sign + submit CQT + response).
- Phát bulk 10 HĐ song song: ~15 giây tổng.
- Auto-issue qua queue: thêm 1-3 giây latency do enqueue + worker pickup.
Nếu thấy > 30 giây mới ra số CQT → check (1) network từ VPS, (2) load CQT (giờ cao điểm cuối tháng), (3) IP whitelist Viettel còn active không.
Sẵn sàng tích hợp HĐĐT?
OpsOne hỗ trợ setup MISA hoặc Viettel S-Invoice trong 1-2 ngày làm việc — bao gồm cấu hình API, test sandbox, training kế toán. Miễn phí cho khách hàng năm đầu.
Đăng nhập Xem hướng dẫn khác