Lập báo cáo tài chính TT 99 API

Lập Báo cáo tình hình tài chính B01-DN và Báo cáo kết quả kinh doanh B02-DN (TT 99/2025/TT-BTC) từ bảng cân đối số phát sinh, có kiểm tra và xuất XLSX.

POSThttps://apibox.io.vn/v1/vn-financial-report
Dữ liệu & JSON▶ Dùng thử online

Gửi bảng cân đối số phát sinh dạng JSON rows, CSV hoặc file XLSX file: số hiệu tài khoản, số dư đầu kỳ Nợ / Có, số phát sinh Nợ / Có và số dư cuối kỳ Nợ / Có (nhận tên cột tiếng Anh hoặc tiếng Việt như "Nợ cuối kỳ"). API ánh xạ từng số dư vào mã số chỉ tiêu Mẫu B01-DN theo Thông tư 99/2025/TT-BTC (áp dụng cho năm tài chính bắt đầu từ 01/01/2026, thay Thông tư 200/2014): số dư Nợ vào tài sản, số dư Có vào nợ phải trả, các tài khoản điều chỉnh giảm (dự phòng, hao mòn, cổ phiếu quỹ) ghi số âm trong ngoặc, các tài khoản vốn ghi theo dấu, công nợ có số dư hai bên được trình bày riêng (131 dư Có → người mua trả tiền trước 312, 331 dư Nợ → trả trước cho người bán 132). Dòng gắn term=long được đưa vào chỉ tiêu dài hạn; tài khoản chi tiết nhất được ưu tiên và tài khoản cha bị bỏ qua khi đã có tài khoản con.

B02-DN lấy số phát sinh kết chuyển sang TK 911 (doanh thu 511, giảm trừ 521, giá vốn 632, doanh thu và chi phí tài chính, chi phí bán hàng, quản lý, thu nhập và chi phí khác, chi phí thuế TNDN hiện hành và hoãn lại); các chỉ tiêu cần sổ chi tiết (21, 24, 70, 71) gửi qua overrides. Kiểm tra: bảng cân đối cân, tổng tài sản 280 = tổng nguồn vốn 440 (đầu kỳ và cuối kỳ), lợi nhuận sau thuế = biến động TK 4212. Số dư tài khoản doanh thu, chi phí chưa kết chuyển được cộng vào chỉ tiêu 420b kèm cảnh báo, tài khoản không ánh xạ được liệt kê riêng. format=xlsx trả file Excel gồm các sheet B01, B02, ánh xạ và kiểm tra.

Tham số

TênVị tríKiểuBắt buộcMặc định
rowsbodyarraykhôngBảng cân đối số phát sinh: [{"account":"111","opening_debit":0,"debit":0,"credit":0,"closing_debit":200000000,"closing_credit":0,"term":"short"}]. Hoặc file (XLSX/CSV) / văn bản csv.
filebodyfilekhôngFile XLSX hoặc CSV (sheet đầu, có dòng tiêu đề).
overridesbodyobjectkhôngChỉ tiêu B02 lấy từ sổ chi tiết, ví dụ {"24": 12000000, "21": 0}.
formatbody|querystringkhôngjsonjson hoặc xlsx.
companybodystringkhôngTên doanh nghiệp.
period_endbodystringkhôngNgày kết thúc kỳ.

Ví dụ

curl -X POST "https://apibox.io.vn/v1/vn-financial-report" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"Công ty TNHH Demo","period_end":"2026-12-31","rows":[{"account":"111","debit":200000000,"closing_debit":200000000},{"account":"131","debit":150000000,"credit":20000000,"closing_debit":150000000,"closing_credit":20000000},{"account":"156","debit":250000000,"closing_debit":250000000},{"account":"331","credit":180000000,"closing_credit":180000000},{"account":"4111","credit":325000000,"closing_credit":325000000},{"account":"4212","credit":75000000,"closing_credit":75000000},{"account":"511","debit":700000000,"credit":700000000},{"account":"632","debit":500000000,"credit":500000000},{"account":"642","debit":101000000,"credit":101000000},{"account":"8211","debit":24000000,"credit":24000000},{"account":"911","debit":700000000,"credit":700000000}]}'

Kết quả trả về

{
  "company": "Công ty TNHH Demo",
  "period_end": "2026-12-31",
  "currency": "VND",
  "standard": "Thông tư 99/2025/TT-BTC, Phụ lục IV (Mẫu B01-DN, B02-DN; doanh nghiệp đáp ứng giả định hoạt động liên tục)",
  "valid": true,
  "failed_checks": 0,
  "checks": [
    {
      "check": "closing debit = closing credit",
      "ok": true,
      "debit": 600000000,
      "credit": 600000000
    },
    {
      "check": "total assets (280) = total liabilities and equity (440), closing",
      "ok": true,
      "assets": 600000000,
      "liabilities_equity": 600000000
    },
    {
      "check": "profit after tax (B02 line 60) = change in account 4212 (if no distributions this period)",
      "ok": true,
      "b02_60": 75000000,
      "change_4212": 75000000,
      "informational": true
    }
  ],
  "warnings": [
    "131 has a credit balance: shown separately (line 312, advances from customers), not netted. The balances must be the sum per customer / supplier, not the net of the account."
  ],
  "b01": [
    {
      "code": "100",
      "name_vi": "A - TÀI SẢN NGẮN HẠN",
      "name_en": "A - Current assets",
      "closing": 600000000,
      "opening": 0,
      "formula": "110 + 120 + 130 + 140 + 150 + 160"
    },
    {
      "code": "111",
      "name_vi": "1. Tiền",
      "name_en": "Cash",
      "closing": 200000000,
      "opening": 0
    },
    {
      "code": "131",
      "name_vi": "1. Phải thu ngắn hạn của khách hàng",
      "name_en": "Trade receivables, short term",
      "closing": 150000000,
      "opening": 0
    },
    {
      "code": "141",
      "name_vi": "1. Hàng tồn kho",
      "name_en": "Inventories",
      "closing": 250000000,
      "opening": 0
    },
    {
      "code": "280",
      "name_vi": "TỔNG CỘNG TÀI SẢN (280 = 100 + 200)",
      "name_en": "TOTAL ASSETS",
      "closing": 600000000,
      "opening": 0,
      "formula": "100 + 200"
    },
    {
      "code": "311",
      "name_vi": "1. Phải trả người bán ngắn hạn",
      "name_en": "Trade payables, short term",
      "closing": 180000000,
      "opening": 0
    },
    {
      "code": "312",
      "name_vi": "2. Người mua trả tiền trước ngắn hạn",
      "name_en": "Advances from customers, short term",
      "closing": 20000000,
      "opening": 0
    },
    {
      "code": "411",
      "name_vi": "1. Vốn góp của chủ sở hữu",
      "name_en": "Owners' contributed capital",
      "closing": 325000000,
      "opening": 0
    },
    {
      "code": "420b",
      "name_vi": "- LNST chưa phân phối kỳ này",
      "name_en": "of this period",
      "closing": 75000000,
      "opening": 0
    },
    {
      "code": "440",
      "name_vi": "TỔNG CỘNG NGUỒN VỐN (440 = 300 + 400)",
      "name_en": "TOTAL LIABILITIES AND EQUITY",
      "closing": 600000000,
      "opening": 0,
      "formula": "300 + 400"
    }
  ],
  "b02": [
    {
      "code": "01",
      "name_vi": "1. Doanh thu bán hàng và cung cấp dịch vụ",
      "amount": 700000000,
      "source": "Phát sinh Có TK 511"
    },
    {
      "code": "11",
      "name_vi": "4. Giá vốn hàng bán",
      "amount": 500000000,
      "source": "Phát sinh Có TK 632 đối ứng Nợ TK 911"
    },
    {
      "code": "26",
      "name_vi": "10. Chi phí quản lý doanh nghiệp",
      "amount": 101000000,
      "source": "Phát sinh Có TK 642 đối ứng Nợ TK 911"
    },
    {
      "code": "50",
      "name_vi": "15. Tổng lợi nhuận kế toán trước thuế (50 = 30 + 40)",
      "amount": 99000000,
      "source": "50 = 30 + 40"
    },
    {
      "code": "51",
      "name_vi": "16. Chi phí thuế TNDN hiện hành",
      "amount": 24000000,
      "source": "Phát sinh Có TK 8211 đối ứng Nợ TK 911"
    },
    {
      "code": "60",
      "name_vi": "18. Lợi nhuận sau thuế thu nhập doanh nghiệp (60 = 50 - 51 - 52)",
      "amount": 75000000,
      "source": "60 = 50 - (51 + 52)"
    }
  ],
  "unmapped": [],
  "reviewed": "2026-11-11",
  "disclaimer": "Draft statements from the trial balance you sent; review by an accountant is required before filing."
}

Ứng dụng

  • Lập dự thảo báo cáo năm từ file xuất của phần mềm kế toán
  • Chuyển phần mềm kế toán nhỏ từ mẫu TT 200 sang TT 99
  • Kiểm tra bảng cân đối của khách hàng trước khi kiểm toán
  • Lập bảng cân đối quản trị hằng tháng

Hỏi đáp

TT 99/2025 có thay TT 200/2014 không?

Có, cho năm tài chính bắt đầu từ 01/01/2026. B01-DN bổ sung chỉ tiêu tài sản sinh học (150, 230), tài sản ngắn hạn khác chuyển sang mã 160; mã số chỉ tiêu ở đây theo mẫu của TT 99.

Vì sao 131, 331 không bù trừ?

TT 99 yêu cầu lấy tổng số dư Nợ chi tiết theo từng khách hàng vào phải thu và tổng số dư Có vào người mua trả trước. Hãy gửi cả closing_debit và closing_credit của tài khoản (cộng theo từng đối tượng).

Có hỗ trợ mẫu DN nhỏ (TT 133) không?

Chưa: hiện chỉ B01-DN và B02-DN theo TT 99 cho doanh nghiệp hoạt động liên tục. Chưa lập báo cáo lưu chuyển tiền tệ và thuyết minh.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →