Revenue Recognition IFRS 15
Ghi nhận doanh thu chuẩn quốc tế (5 bước)
Mô hình 5 bước ghi nhận doanh thu — Identify → POs → Price → Allocate → Recognize
Allocated POi = TxPrice × SSPi / ΣSSP
Recognize: Point-in-time → ghi nhận đủ tại tháng giao · Over-time → pro-rata theo thời gian thực hiện
Tool này là công cụ tham khảo giáo dục dựa trên IFRS 15 Revenue from Contracts with Customers tại thời điểm cập nhật. Quy định pháp luật có thể thay đổi — vui lòng kiểm tra lại tại nguồn chính thức hoặc tham vấn kế toán/luật sư/đại lý thuế có chứng chỉ trước khi áp dụng vào tờ khai, hợp đồng, báo cáo thực tế. Webchốt không phải đại lý thuế, không phải công ty kiểm toán, không phải đơn vị tư vấn pháp lý — kết quả tool chỉ mang tính ước tính, không thay thế tư vấn chuyên môn. Trong phạm vi pháp luật cho phép, Webchốt không chịu bất kỳ trách nhiệm nào (trực tiếp, gián tiếp, hậu quả) phát sinh từ việc dùng kết quả tool.
- IFRS 15 — IASB & FASB joint project, effective 1/1/2018
- ASC 606 (US GAAP equivalent)
- TT 200/2014/TT-BTC đang hài hoà theo IFRS 15
- 5-step model: Identify contract → POs → Price → Allocate → Recognize
Hướng dẫn revenue ifrs 15
Công cụ này áp dụng mô hình 5 bước (5-step model) của IFRS 15 để trả lời câu hỏi: với một hợp đồng bán nhiều thứ gộp chung (ví dụ vừa bán license phần mềm, vừa triển khai, vừa hỗ trợ kỹ thuật), doanh thu ghi nhận bao nhiêu ở mỗi tháng — chứ không phải ghi nhận toàn bộ giá trị hợp đồng ngay khi ký hoặc khi thu tiền.
Ba con số đầu ra chính: Transaction Price (giá giao dịch, sau khi trừ phần biến động và quy đổi tài chính nếu có), Σ SSP (tổng giá bán độc lập ước tính của từng nghĩa vụ thực hiện — Performance Obligation, viết tắt PO) dùng làm mẫu số để phân bổ, và doanh thu ghi nhận trong năm đầu tiên (Year 1).
Khác với cách làm cũ là ghi nhận doanh thu theo hoá đơn xuất ra, IFRS 15 buộc kế toán phải tách hợp đồng thành từng PO riêng biệt, phân bổ giá theo tỷ lệ SSP, rồi ghi nhận từng phần theo đúng thời điểm/khoảng thời gian hoàn thành nghĩa vụ đó — công cụ này tự động hoá đúng trình tự đó, kết quả vẫn cần đối chiếu với hợp đồng thật và chính sách ghi nhận doanh thu đã được kiểm toán chấp thuận.
Mô hình 5 bước IFRS 15
| Bước | Tên bước | Việc phải làm |
|---|---|---|
| 1 | Identify Contract | Xác nhận hợp đồng có thực thi pháp lý, các bên có nghĩa vụ ràng buộc |
| 2 | Identify Performance Obligations (POs) | Tách hợp đồng thành các nghĩa vụ thực hiện riêng biệt (ví dụ license, triển khai, hỗ trợ) |
| 3 | Determine Transaction Price | Xác định giá giao dịch: trừ phần biến động (variable consideration), quy đổi nếu có cấu phần tài chính đáng kể |
| 4 | Allocate Price | Phân bổ Transaction Price cho từng PO theo tỷ lệ Standalone Selling Price (SSP) |
| 5 | Recognize Revenue | Ghi nhận doanh thu: point-in-time (đủ tại thời điểm hoàn thành) hoặc over-time (theo tiến độ) |
Công thức Transaction Price và phân bổ theo SSP
Transaction Price = Contract Value × (1 − Variable%); nếu hợp đồng có cấu phần tài chính đáng kể (significant financing component — ví dụ khách trả chậm nhiều năm), số này còn được chiết khấu thêm theo lãi suất và thời hạn hợp đồng.
Mỗi PO được phân bổ = Transaction Price × (SSP của PO đó ÷ tổng SSP của toàn bộ PO). Đây là lý do phải ước tính đúng SSP từng PO — SSP sai sẽ làm lệch doanh thu phân bổ cho từng phần, dù tổng doanh thu hợp đồng không đổi.
Point-in-time và Over-time khác nhau thế nào
- Point-in-time: PO được ghi nhận đủ 100% giá trị đã phân bổ vào đúng tháng giao hàng/hoàn tất — ví dụ giao license phần mềm xong là ghi hết doanh thu license.
- Over-time: PO được chia đều cho số tháng thực hiện (giá trị phân bổ ÷ số tháng), ghi nhận dần theo tiến độ — ví dụ gói hỗ trợ kỹ thuật 12 tháng thì mỗi tháng ghi nhận 1/12 giá trị đã phân bổ.
- Một hợp đồng có thể vừa có PO point-in-time vừa có PO over-time — lịch ghi nhận doanh thu theo tháng là tổng cộng của tất cả các PO đó.
Ví dụ: hợp đồng phần mềm 1.000.000.000 đ, 12 tháng, không biến động giá, không có cấu phần tài chính
- Transaction Price (không trừ gì, không quy đổi): 1.000.000.000 đ
- PO 1 — License 600.000.000, point-in-time tháng 1: ghi nhận 600.000.000 đ tại tháng 1
- PO 2 — Triển khai 200.000.000, over-time 6 tháng: 33.333.333 đ/tháng, tháng 1–6
- PO 3 — Hỗ trợ 200.000.000, over-time 12 tháng: 16.666.667 đ/tháng, tháng 1–12
- Doanh thu tháng 1 (600.000.000 + 33.333.333 + 16.666.667): 650.000.000 đ
- Doanh thu tháng 2–6, mỗi tháng (33.333.333 + 16.666.667): 50.000.000 đ
- Doanh thu tháng 7–12, mỗi tháng (chỉ còn hỗ trợ): 16.666.667 đ
- Tổng doanh thu Year 1: 1.000.000.000 đ
Đây đúng bằng 3 PO mặc định khi mở công cụ. Tổng doanh thu 12 tháng luôn bằng Transaction Price vì Σ SSP đúng bằng giá trị hợp đồng ở ví dụ này — nếu Σ SSP khác Transaction Price, tỷ lệ phân bổ sẽ chia đều phần chênh lệch cho các PO.
Lỗi thường gặp khi tính tay
- Ghi nhận toàn bộ doanh thu hợp đồng ngay khi xuất hoá đơn hoặc thu tiền — IFRS 15 yêu cầu tách PO và ghi nhận theo tiến độ/thời điểm hoàn thành nghĩa vụ, không theo dòng tiền hay hoá đơn.
- Không tách hợp đồng gộp (bundle) thành từng PO riêng — ví dụ ghi hết doanh thu license + triển khai + hỗ trợ vào một lần khi ký hợp đồng, làm lợi nhuận kỳ đầu bị thổi phồng.
- Ước tính SSP dựa trên giá niêm yết trên hợp đồng thay vì giá bán độc lập thực tế của từng cấu phần — nếu doanh nghiệp chưa từng bán riêng lẻ một PO, phải ước tính SSP bằng phương pháp phù hợp (chi phí cộng lãi, giá thị trường tương đương…), không lấy đại một con số trên hợp đồng.
- Quên chiết khấu Transaction Price khi hợp đồng có cấu phần tài chính đáng kể (khách trả rất chậm hoặc rất sớm so với tiến độ giao hàng) — bỏ qua bước này làm doanh thu bị ghi nhận sai giá trị thời gian của tiền.
- Ghi nhận PO over-time theo đường thẳng dù công việc thực tế không hoàn thành đều — cần đánh giá lại phương pháp đo lường tiến độ (ví dụ theo chi phí phát sinh, theo mốc hoàn thành) nếu tiến độ thực tế không tuyến tính.
Bạn có thắc mắc về Revenue IFRS 15?
IFRS 15 dùng mô hình mấy bước?+
IFRS 15 dùng mô hình 5 bước: (1) Xác định hợp đồng. (2) Xác định Performance Obligations (POs). (3) Xác định Transaction Price. (4) Phân bổ Price cho POs. (5) Ghi nhận doanh thu khi PO completed.
Khi nào ghi nhận doanh thu over time vs at point in time?+
Over time: khách hàng đồng thời nhận lợi ích, hoặc tài sản KH kiểm soát được tạo ra, hoặc tài sản không có alternative use + có quyền thanh toán. Còn lại = at point in time.
Performance Obligation (PO) là gì?+
Là một cam kết riêng biệt trong hợp đồng để chuyển giao hàng hoá hoặc dịch vụ cho khách hàng. Một hợp đồng có thể có nhiều PO — ví dụ vừa bán license phần mềm, vừa triển khai, vừa hỗ trợ kỹ thuật là 3 PO khác nhau.
Standalone Selling Price (SSP) là gì và ước tính thế nào?+
Là giá bán độc lập của một PO nếu bán riêng lẻ, không kèm các PO khác. Nếu chưa từng bán riêng, ước tính bằng phương pháp chi phí cộng lãi biên hợp lý, hoặc tham chiếu giá thị trường của sản phẩm/dịch vụ tương đương.
Point-in-time và over-time khác nhau ở đâu?+
Point-in-time ghi nhận đủ 100% giá trị PO tại đúng thời điểm hoàn thành (ví dụ giao hàng xong). Over-time chia đều giá trị PO theo tiến độ thực hiện (ví dụ gói hỗ trợ 12 tháng ghi nhận 1/12 mỗi tháng).
Significant financing component là gì?+
Là cấu phần tài chính đáng kể phát sinh khi thời điểm thanh toán lệch nhiều so với thời điểm giao hàng (khách trả rất chậm hoặc rất sớm). Khi đó Transaction Price phải chiết khấu lại theo giá trị thời gian của tiền.
Vì sao không ghi nhận hết doanh thu ngay khi ký hợp đồng?+
Vì IFRS 15 yêu cầu ghi nhận doanh thu theo tiến độ hoàn thành từng Performance Obligation, không theo thời điểm ký hợp đồng hay xuất hoá đơn — tránh thổi phồng lợi nhuận kỳ đầu của hợp đồng dài hạn.
IFRS 15 và ASC 606 có giống nhau không?+
Có — đây là kết quả của dự án hội tụ chuẩn mực chung giữa IASB và FASB, cùng dùng mô hình 5 bước. ASC 606 là phiên bản áp dụng theo chuẩn mực kế toán Mỹ (US GAAP), về bản chất tương đương IFRS 15.
Web cho doanh nghiệp của bạn?
Webchốt là studio thiết kế web Next.js. Tools miễn phí. Service chuyên nghiệp khi cần.
