·10 phút đọc#multi-issuer#holding#TT-202

Multi-issuer: 1 tài khoản quản lý nhiều pháp nhân (HKD + LLC + holding)

Founder VN thường có HKD + công ty TNHH + chi nhánh tỉnh. est-invoice cho phép unlimited issuer trong 1 tenant — KHÔNG tính license per entity. Setup 4 bước + 3 use case thực.

TN

Tony Nguyen

Founder, NKKTech Group · CEO, est-invoice

Founder Việt thường có cấu trúc đa pháp nhân ngay từ giai đoạn đầu:

  • Hộ kinh doanh (HKD) — xuất hóa đơn lẻ, thuế khoán
  • Công ty TNHH 1TV — pháp nhân chính, ký hợp đồng B2B
  • Công ty TNHH 2TV/cổ phần — tách dự án lớn, nhận FDI
  • Chi nhánh ở tỉnh khác — hạch toán riêng tỉnh

Mỗi pháp nhân có MST riêng, dấu riêng, BCTC riêng. Hầu hết phần mềm kế toán (MISA, FAST, Bravo) tính phí license per entity — 2 pháp nhân = 2 license, 4 = 4 license. Đắt và phải login 4 lần khác nhau khi cần switch.

est-invoice xử khác: multi-issuer trong 1 tenant. 1 user login, 1 dashboard, switch issuer qua dropdown header (Cmd+K). Bài này là use-case + cấu hình end-to-end.

Use case 1: Founder có HKD + công ty TNHH

Tony bán phần mềm B2B qua công ty TNHH (xuất hóa đơn VAT 10%) NHƯNG bán SaaS subscriptions qua HKD (thuế khoán 1.5% trên doanh thu, không xuất VAT). 2 pháp nhân hoàn toàn tách biệt theo luật.

Trên est-invoice:

  • 1 tenant nkktech
  • 2 issuer: NKKT-LLC (TNHH) + NKKT-HKD (HKD)
  • Khi tạo quote/invoice mới: chọn issuer trên dropdown → template, số HĐ, MST, thuế suất tự động đổi theo
  • BCTC tách riêng — vào /reports/profit-loss?issuer=NKKT-LLC
  • Khai thuế tách riêng — Mẫu 01/GTGT chỉ pull data của issuer đó

Use case 2: Holding + 3 công ty con

Một group có cấu trúc:

Holding Co (HOLD-VN)
├── Công ty con A — F&B (FNB-VN)
├── Công ty con B — Logistics (LOG-VN)
└── Chi nhánh HCM của FNB-VN (FNB-VN-HCM)

4 issuer trong 1 tenant. Mỗi giao dịch nội bộ (vd HOLD-VN cho FNB-VN mượn ₫500M) auto generate 2 bút toán đối ứng:

  • HOLD-VN: Nợ TK 1361 (Phải thu nội bộ) — Có TK 1121
  • FNB-VN: Nợ TK 1121 — Có TK 3361 (Phải trả nội bộ)

Khi consolidate cuối năm: /reports/consolidated?fiscalYear=2026 — hệ thống tự eliminate intercompany balance (TK 1361 ↔ 3361 = 0, revenue intercompany = 0) → ra BCTC hợp nhất chuẩn TT 202/2014.

Use case 3: Setup chi nhánh tỉnh hạch toán độc lập

Theo Điều 18 TT 80/2021, chi nhánh tỉnh khác phải hạch toán độc lập + nộp thuế GTGT về tỉnh đó. Trên est-invoice:

  • Tạo issuer riêng cho chi nhánh, set province="HCM"
  • Số HĐ template có prefix riêng (vd HCM/2026/0001)
  • Khi generate Mẫu 01/GTGT, hệ thống split theo province → 2 tờ khai riêng (1 cho HQ, 1 cho chi nhánh)
  • BHXH 05/QTT-TNCN cũng tách theo địa bàn lao động

Cấu hình multi-issuer — 4 bước setup

Bước 1: Tạo issuer mới

Vào /settings/issuers → New issuer. Nhập:

  • Code (alphabetic, used in doc numbering): vd NKKT-HKD
  • Legal name + tax ID (MST 10 hoặc 13 số)
  • Entity type: LLC / JSC / HKD / BRANCH / FOREIGN
  • Address + province (auto-validate qua API TCT)
  • Bank account (default cho VietQR generation)
  • Signature image + dấu (auto-stamp lên PDF)

Bước 2: Setup chart of accounts (CoA)

Mỗi issuer có CoA riêng theo TT 200 (large enterprises) hoặc TT 133 (SME). Hệ thống pre-seed:

  • TT 200: 9 cấp account, full code 1-9
  • TT 133: 7 cấp account, simplified — phù hợp cho HKD + công ty < 100 tỷ

Có thể chuyển đổi sau (TT 200 ↔ TT 133) nhưng phải sau cuối năm.

Bước 3: Set default rates per issuer

Đây là feature quan trọng — AI Assistant không tự đoán giá. Mỗi issuer có table giá riêng:

  • NKKT-LLC: Backend dev 50 USD/h, Senior 70 USD/h, AI consulting 100 USD/h
  • NKKT-HKD: SaaS subscription 690k VND/m, 2.3M VND/m, 6.9M VND/m

Khi tạo quote/invoice, AI assistant chỉ pull giá từ table này. Không bao giờ "sáng tạo" giá theo trí tưởng tượng.

Bước 4: Set RBAC scope per issuer (tuỳ chọn)

Phân quyền user theo issuer. Vd:

  • Tony (founder) — full access cả 4 issuer
  • Kế toán A — chỉ NKKT-LLC + NKKT-HKD
  • Kế toán B — chỉ FNB-VN + FNB-VN-HCM (tách team theo công ty con)
  • External auditor — read-only NKKT-LLC trong FY 2026

Vào /admin/users → set issuerScope per user. Mặc định nếu không set = full access tất cả issuer trong tenant.

Switch issuer trong app

Sau khi setup, dropdown header (góc trái sidebar) cho phép user switch active issuer. Active issuer ảnh hưởng:

  • Default value khi tạo doc mới
  • Sidebar label hiện entity nào active
  • Reports filter pre-set (chỉ show data của issuer đang active)

Keyboard shortcut: Cmd+K → gõ "switch" → chọn issuer. Vd: Cmd+K → "switch hkd" → enter.

Pricing — multi-issuer KHÔNG cộng thêm tiền

So với cách tính của competitor:

Pháp nhânMISA AMIS (₫/tháng)est-invoice (₫/tháng)
1 entity1,290,000690,000
2 entity2,580,000690,000
4 entity5,160,0002,300,000 (BUSINESS)
UnlimitedN/A (gói lớn hơn)6,900,000 (ENTERPRISE)

STARTER chấp nhận unlimited issuer (chỉ giới hạn 5 user). BUSINESS tăng user lên 25. ENTERPRISE 100 user + SSO + dedicated support.

Limitations cần biết

  • Mỗi issuer chỉ thuộc 1 tenant. Nếu Tony muốn share công ty con với co-founder khác (họ có tenant riêng): cần dùng shared portal hoặc invite vào tenant chính
  • E-invoice (TT 78) tích hợp riêng cho mỗi issuer — phải đăng ký với provider (VNPT/Viettel/MISA) cho từng MST
  • Audit log + AuditLog hash chain là PER TENANT, không per issuer. Cuộc audit toàn tenant kéo hết các issuer

Bắt đầu

  1. Tạo trial 30 ngày miễn phí — đăng ký tenant với pháp nhân chính
  2. Vào /settings/issuers add các pháp nhân khác
  3. Switch issuer qua dropdown header — test workflow đa entity
  4. Cần help setup phức tạp (holding 5+ con, consolidation rules đặc biệt)? Reply emtony@nkktech.com — em setup miễn phí