Cả hai cách đều có thể thành chi phí được trừ khi tính thuế thu nhập doanh nghiệp, miễn là khoản chi có thật, phục vụ dự án, có chứng từ đúng loại và thanh toán đúng cách. Khác nhau ở chỗ ai giữ nghĩa vụ thuế: trả cho cá nhân thì công ty là bên khấu trừ thuế thu nhập cá nhân và tự lập bộ chứng từ; trả cho công ty gia công thì bên kia lập hoá đơn và tự lo thuế của họ.
Nhiều công ty phần mềm nhỏ trả cho lập trình viên tự do bằng chuyển khoản kèm một tin nhắn “đã nhận”, đến khi quyết toán mới gom hợp đồng. Đó là chỗ khoản chi hay bị loại nhất. Bài này đặt hai cách cạnh nhau, với cùng một phần việc giả định, để thấy chi phí và công sức hồ sơ khác nhau ở đâu.
Hai cách thuê, hai bộ nghĩa vụ
| Tiêu chí | Cá nhân lập trình viên tự do | Công ty gia công phần mềm |
|---|---|---|
| Hợp đồng | Hợp đồng dịch vụ với cá nhân | Hợp đồng gia công, phát triển phần mềm với doanh nghiệp |
| Chứng từ chi phí | Hợp đồng, biên bản nghiệm thu, chứng từ chi trả, chứng từ khấu trừ thuế | Hợp đồng, biên bản nghiệm thu, hoá đơn của bên gia công, chứng từ chi trả |
| Thuế thu nhập của người nhận | Công ty khấu trừ tại nguồn khi trả | Bên gia công tự kê khai |
| Thuế GTGT | Không có hoá đơn GTGT đầu vào | Tuỳ loại dịch vụ và cách tính thuế của bên gia công |
| Quyền sở hữu mã nguồn | Phải ghi rõ trong hợp đồng | Phải ghi rõ trong hợp đồng |
Dòng cuối không phải chuyện thuế nhưng liên quan trực tiếp: nếu hợp đồng không ghi mã nguồn thuộc về ai, khi bị hỏi “khoản chi này tạo ra cái gì cho công ty”, doanh nghiệp khó chứng minh khoản chi phục vụ hoạt động của mình.
Cách thứ nhất: trả cho lập trình viên tự do
Đây là cách linh hoạt nhất cho dự án ngắn. Để khoản chi đứng vững, cần đủ bốn thứ:
- Hợp đồng dịch vụ ghi phạm vi công việc cụ thể (chức năng nào, giao diện nào), mốc bàn giao, đơn giá, số tiền, quyền sở hữu sản phẩm, thông tin định danh của người nhận.
- Biên bản nghiệm thu từng mốc, ghi rõ hạng mục đã bàn giao. Kèm dấu vết kỹ thuật như lịch sử cập nhật mã nguồn trên kho mã của công ty, phiếu công việc đã đóng.
- Khấu trừ thuế thu nhập cá nhân: nếu không ký hợp đồng lao động, hoặc hợp đồng dưới 3 tháng, và mỗi lần trả từ 2 triệu đồng trở lên thì công ty khấu trừ 10% trước khi trả, trừ khi người nhận đủ điều kiện làm bản cam kết theo mẫu tại thông tư hiện hành. Cấp chứng từ khấu trừ cho người nhận.
- Chuyển khoản vào tài khoản đứng tên chính người ký hợp đồng. Trả vào tài khoản người thân của lập trình viên là chỗ hay bị hỏi.
Lưu ý bản chất: nếu một người làm liên tục nhiều tháng, theo giờ giấc công ty đặt, dùng máy của công ty và chịu quản lý như nhân viên, thì đó là quan hệ lao động. Ký hợp đồng dịch vụ để tránh bảo hiểm xã hội là rủi ro, không phải phương án.
Cách thứ hai: thuê công ty gia công
Phù hợp khi phần việc lớn, cần nhiều người, hoặc cần bảo hành dài. Hồ sơ gọn hơn về phía thuế thu nhập cá nhân vì công ty không phải khấu trừ gì, nhưng có ba chỗ phải kiểm:
- Tư cách bên gia công. Tra mã số thuế trên trang tra cứu thông tin người nộp thuế trước khi ký. Hoá đơn của đơn vị đang ngừng hoạt động hoặc không hoạt động tại địa chỉ đăng ký dễ kéo theo việc bị đề nghị giải trình.
- Hoá đơn đúng nội dung. Hoá đơn ghi tên dịch vụ khớp hợp đồng (phát triển phân hệ, kiểm thử, bảo trì), không ghi chung chung “dịch vụ tư vấn”.
- Thanh toán không dùng tiền mặt. Chuyển khoản từ tài khoản công ty sang tài khoản bên gia công theo từng đợt hợp đồng.
Việc dịch vụ phần mềm có chịu thuế giá trị gia tăng hay không, thuế suất bao nhiêu, phụ thuộc loại dịch vụ và danh mục tại Luật Thuế GTGT 48/2024/QH15 cùng văn bản hướng dẫn. Đừng tự suy từ hoá đơn của một nhà cung cấp khác; hỏi bên gia công căn cứ họ đang áp dụng.
Ví dụ giả định: một phân hệ, hai cách trả
Giả sử một công ty phần mềm cần làm phân hệ báo cáo cho khách, ngân sách 120 triệu đồng, chia ba mốc bàn giao 40 triệu đồng.
| Khoản | Ba lập trình viên tự do | Một công ty gia công |
|---|---|---|
| Hợp đồng | 3 hợp đồng dịch vụ, mỗi người một phần | 1 hợp đồng |
| Số lần chi | 9 lần (3 người × 3 mốc) | 3 lần |
| Thuế TNCN công ty khấu trừ | 10% × 120 triệu = 12 triệu (nếu không ai làm cam kết) | Không |
| Tiền về tay người làm | 108 triệu | 120 triệu cộng thuế GTGT nếu có, theo hoá đơn |
| Chi phí được trừ của công ty | 120 triệu (gồm cả phần thuế đã khấu trừ và nộp thay) | 120 triệu theo hoá đơn |
| Việc hằng quý | Kê khai khấu trừ, cấp chứng từ khấu trừ, quyết toán TNCN cuối năm | Lưu hoá đơn, đối chiếu thanh toán |
Chi phí được trừ bằng nhau nếu hồ sơ đủ. Khác ở khối lượng việc giấy tờ và ai chịu trách nhiệm phần thuế của người làm. Nhiều công ty chọn cá nhân vì rẻ hơn trên báo giá, rồi quên rằng 12 triệu khấu trừ là việc công ty phải kê khai, không phải khoản “được bớt”.
Những chỗ khoản chi hay bị loại
- Chỉ có tin nhắn và ảnh chuyển khoản, không có hợp đồng, không có nghiệm thu.
- Hợp đồng ký lùi ngày vào mùa quyết toán, nội dung chung chung, không khớp với mốc chuyển tiền.
- Không khấu trừ thuế TNCN dù mỗi lần trả trên 2 triệu đồng và người nhận không làm cam kết. Ngoài việc bị truy thu phần khấu trừ, khoản chi dễ bị đặt câu hỏi về tính có thật.
- Trả cho người không có thông tin định danh (chỉ biết tên tài khoản mạng). Không cấp được chứng từ khấu trừ, không chứng minh được người nhận.
- Hoá đơn công ty gia công ghi “tư vấn” trong khi hợp đồng là phát triển phần mềm.
- Chi cho sản phẩm không dùng vào dự án nào: phân hệ làm thử rồi bỏ nhưng không có biên bản đánh giá hay quyết định dừng.
Chọn cách nào cho hợp
Không có cách luôn tốt hơn. Vài gợi ý thực tế:
- Việc nhỏ, ngắn, một người làm được: cá nhân tự do, nhưng dùng một mẫu hợp đồng và mẫu nghiệm thu cố định cho mọi người.
- Việc lớn, nhiều người, cần bảo hành: công ty gia công, kiểm mã số thuế trước khi ký.
- Người làm lâu dài, gần như nhân viên: cân nhắc hợp đồng lao động để tránh tranh chấp về bản chất quan hệ.
Dù chọn cách nào, nên có một quy trình nội bộ thống nhất: ai được quyền đặt việc cho người ngoài, ai ký nghiệm thu, kế toán nhận bộ hồ sơ gì trước khi chuyển tiền. Quy trình này giúp mọi khoản chi có cùng một dạng chứng từ, dễ đối chiếu khi quyết toán.
Phần khấu trừ thuế khi trả cho cá nhân được giải thích chi tiết hơn ở danh mục khấu trừ 10% thu nhập vãng lai.
Tự kiểm tra ở đâu
Trước khi ký với công ty gia công, tra trang tra cứu thông tin người nộp thuế để xem trạng thái mã số thuế. Sau mỗi quý, mở tài khoản thuế điện tử kiểm tra tờ khai khấu trừ thuế thu nhập cá nhân đã nộp có khớp tổng tiền trả cho cá nhân trong sổ. Với hoá đơn của bên gia công, tra trên cổng hoá đơn điện tử để chắc hoá đơn đã có mã và đúng thông tin người mua. Chỗ nào chưa rõ về cách áp thuế cho dịch vụ cụ thể, hỏi cơ quan thuế quản lý bằng văn bản và lưu câu trả lời.
Câu hỏi thường gặp
Lập trình viên tự do ở tỉnh khác, chỉ làm việc qua mạng thì hồ sơ có khác không?
Không khác về nguyên tắc. Hợp đồng có thể ký bằng chữ ký điện tử hoặc gửi bản giấy qua bưu điện; biên bản nghiệm thu và dấu vết công việc trên kho mã là bằng chứng quan trọng hơn chuyện gặp trực tiếp.
Người làm tự do yêu cầu nhận đủ tiền, không muốn bị trừ 10% thì sao?
Nếu đủ điều kiện, người đó làm bản cam kết theo mẫu và công ty không khấu trừ. Nếu không đủ điều kiện mà vẫn muốn nhận đủ, hai bên phải thoả thuận giá trước thuế cao hơn để sau khấu trừ còn đúng số mong muốn; không được bỏ qua việc khấu trừ.
Trả bằng tiền mặt cho lập trình viên có được không?
Khoản chi vẫn cần chứng từ chi và chữ ký người nhận. Điều kiện thanh toán không dùng tiền mặt đối với chi phí được trừ có ngưỡng theo văn bản hướng dẫn Luật Thuế TNDN 67/2025/QH15 hiện hành; chuyển khoản vào tài khoản chính chủ vẫn là cách an toàn nhất.
Công ty gia công là hộ kinh doanh thì sao?
Hộ kinh doanh có thể lập hoá đơn theo cách tính thuế của hộ. Khoản chi vẫn được trừ nếu có hoá đơn hợp lệ, hợp đồng, nghiệm thu và thanh toán đúng.
Sản phẩm làm xong nhưng khách huỷ dự án thì khoản chi có bị loại không?
Chi phí đã phát sinh cho một dự án thật, có hợp đồng với khách và biên bản huỷ, vẫn là chi phí phục vụ kinh doanh. Giữ lại thư từ, biên bản làm việc với khách để giải thích khi bị hỏi.
Có cần đăng ký người làm tự do với cơ quan thuế trước không?
Công ty không phải đăng ký riêng, nhưng cần thông tin định danh của người nhận để kê khai khấu trừ. Từ 1/7/2025 số định danh cá nhân được dùng thay mã số thuế cá nhân.