Lập trình viên Node.js freelance ở quận 7 và bài toán hóa đơn điện tử với khách Singapore
Từ ban biên tập InvoiceFlow — đăng ngày 1 tháng 6 năm 2026 — đọc 9 phút
Buổi tối thứ Sáu, 11 giờ đêm. Nguyễn Minh Tuấn, 28 tuổi, ngồi trong căn phòng thuê ở chung cư The Gold View, quận 7, TP.HCM, màn hình máy tính sáng trưng. Anh không code. Anh đang vật lộn với một file Excel — danh sách dự án, số tiền, ngày thanh toán — cố gắng ghép lại thành một cái gì đó có thể gọi là "hóa đơn" để gửi cho khách hàng ở Singapore vào sáng thứ Hai.
Tháng đó anh nhận được hơn 1.900 USD từ hai dự án: một hệ thống API cho công ty fintech ở Marina Bay, một ứng dụng nội bộ React cho startup logistics Jurong East. Quy ra tiền Việt theo tỷ giá Vietcombank lúc đó, xấp xỉ 47 triệu đồng. Không tệ với một người 28 tuổi không cần ra khỏi nhà.
Nhưng vấn đề không phải là tiền. Vấn đề là giấy tờ.
Nghị định 123/2020 và cái bẫy mà nhiều freelancer không biết mình đang rơi vào
Kể từ ngày 1 tháng 7 năm 2022, tất cả doanh nghiệp và hộ kinh doanh có doanh thu từ 1 tỷ đồng/năm trở lên bắt buộc phải sử dụng hóa đơn điện tử theo Nghị định 123/2020/NĐ-CP và Thông tư 78/2021/TT-BTC. Với doanh thu 45–50 triệu đồng/tháng, tức khoảng 540–600 triệu đồng/năm, Tuấn tạm thời chưa bắt buộc. Nhưng khi thu nhập vượt ngưỡng — điều không còn xa — anh sẽ cần đăng ký hóa đơn điện tử với Tổng cục Thuế.
Anh biết điều này. Anh cũng biết rằng ngay cả bây giờ, việc không có hóa đơn hợp lệ có thể gây vấn đề khi kê khai thuế thu nhập cá nhân hàng năm. Khách hàng nước ngoài thì không cần hóa đơn theo luật Việt Nam — họ không ở đây để nộp thuế VAT Việt Nam. Nhưng họ cần invoice — tức là chứng từ tài chính chứng minh họ đã trả tiền cho dịch vụ gì, với công ty/cá nhân nào, địa chỉ là đâu, mã số thuế là gì.
Vấn đề của Tuấn không phải là pháp lý. Vấn đề là thực tế: anh không có cách nào nhanh để tạo ra một cái invoice trông chuyên nghiệp, bằng tiếng Anh, có đủ thông tin mà một công ty Singapore cần để hoàn thiện sổ sách của họ.
Ba tháng dùng Word, hai lần gửi sai
Ban đầu Tuấn dùng Microsoft Word. Anh tải một template invoice tiếng Anh từ Google về, điền tay từng ô: tên khách hàng, địa chỉ, mô tả dịch vụ, số tiền, ngày đến hạn. Mỗi lần mất khoảng 25–30 phút. Với hai dự án/tháng thì tạm chấp nhận được. Nhưng khi số dự án tăng lên ba, bốn, rồi năm — cộng với các dự án nhỏ theo giờ — thì việc điền Word bắt đầu trở thành cơn ác mộng.
Tháng thứ hai, anh gửi nhầm số tiền cho một khách: ghi 850 USD thay vì 950 USD vì copy-paste từ tháng trước quên sửa. Khách hàng không phàn nàn — họ trả đúng 850 USD như hóa đơn. Tuấn chỉ phát hiện ra khi đối chiếu lại ba tuần sau. Chênh lệch 100 USD, tương đương hơn 2,5 triệu đồng, bay mất vì một lỗi copy-paste.
Tháng thứ ba, anh thử dùng Google Sheets với công thức tự động. Phức tạp hơn, nhưng tốt hơn một chút. Cho đến khi một khách Singapore yêu cầu hóa đơn phải có dòng "Payment Terms: Net 30" và "Purchase Order Reference" — những thứ template Google Sheets của anh không có sẵn ô. Anh phải sửa tay, phá vỡ công thức, mất thêm một giờ để khắc phục.
Tổng cộng, Tuấn ước tính anh dành khoảng 6–8 tiếng mỗi tháng chỉ để xử lý hóa đơn. Với mức thu nhập của anh, đó là giá trị khoảng 3–4 triệu đồng bị lãng phí vào công việc hành chính — thay vì viết thêm code.
Cuộc trò chuyện trong cộng đồng Vietnam Freelance Tech
Tuấn gia nhập group Facebook "Vietnam Freelance Tech" từ hồi mới ra trường. Đó là nơi anh tìm được dự án đầu tiên, học được nhiều về cách đàm phán hợp đồng với khách nước ngoài. Một tối anh đăng bài hỏi: "Mọi người dùng gì để tạo invoice tiếng Anh gửi khách nước ngoài? Word thì mất công quá mà FreshBooks thì tốn tiền."
Câu trả lời đổ vào trong vài giờ. Nhiều người gợi ý các công cụ trả phí: Invoice Ninja, Wave Accounting, Zoho Invoice. Nhưng một thành viên nhắn tin riêng: "Mày thử InvoiceFlow chưa? App Android, miễn phí, có sẵn template tiếng Anh, xuất PDF ngay trên điện thoại." Tuấn tải về ngay tối hôm đó.
Lần đầu dùng InvoiceFlow: 8 phút cho hóa đơn đầu tiên
Tuấn mở app lúc 11 giờ tối trên chiếc Samsung Galaxy S24. Anh tạo hồ sơ doanh nghiệp: tên freelancer, địa chỉ quận 7, mã số thuế cá nhân (MST TNCN). App cho phép chọn ngôn ngữ hóa đơn — anh chọn tiếng Anh cho khách nước ngoài. Tạo khách hàng mới: tên công ty Singapore, địa chỉ, email. Thêm dịch vụ: "Node.js API Development — 40 hours × $23.75/hr". Chọn tiền tệ USD. Đặt payment terms Net 30. Nhấn xuất PDF.
Tám phút. Hóa đơn hiện ra, trông sạch sẽ và chuyên nghiệp hơn bất cứ thứ gì anh từng tự làm trong Word. Đủ thông tin: số hóa đơn tự động tăng dần, ngày phát hành, ngày đến hạn, mô tả dịch vụ chi tiết, tổng tiền, thông tin ngân hàng để chuyển khoản.
Anh gửi PDF cho khách Singapore. Phản hồi đến vào sáng hôm sau: "Looks good, will process payment." Không hỏi thêm gì. Không yêu cầu chỉnh sửa.
Sáu tháng sau: hệ thống hoạt động trơn tru
Sau nửa năm dùng InvoiceFlow đều đặn, Tuấn chia sẻ cách anh tổ chức công việc:
Cơ sở dữ liệu khách hàng: Anh đã lưu thông tin đầy đủ của 8 khách hàng thường xuyên vào app — tên công ty, địa chỉ, email, múi giờ, ngôn ngữ hóa đơn ưa thích. Mỗi lần tạo hóa đơn mới, chỉ cần chọn tên từ danh sách, tất cả thông tin khách tự điền vào. Tiết kiệm 5 phút mỗi hóa đơn.
Cơ sở dữ liệu dịch vụ: Các gói dịch vụ thường xuyên — "Node.js Backend Development (hourly)", "React Frontend Sprint (fixed)", "API Integration & Testing", "Code Review & Consulting" — đã được lưu sẵn với mức giá mặc định. Khi tạo hóa đơn, chỉ cần chọn dịch vụ và điều chỉnh số giờ hoặc số tiền nếu cần.
Theo dõi thu nhập USD: App hiển thị tổng doanh thu theo tháng, theo khách hàng, theo loại dịch vụ. Tuấn dùng tính năng này để biết khách nào đang chiếm bao nhiêu phần trăm doanh thu — thông tin quan trọng để quyết định có nên nhận thêm khách mới hay tập trung sâu hơn vào các mối quan hệ hiện tại.
Xuất PDF offline: Khi đang ở quán cà phê Lotte Mart quận 7 mà wifi chập chờn, anh vẫn xuất được hóa đơn bình thường. App hoạt động hoàn toàn offline — không cần đăng nhập server, không lo mất dữ liệu khi đứt mạng.
Câu hỏi về thuế mà Tuấn phải tự trả lời
Một điều Tuấn nhấn mạnh: InvoiceFlow giúp anh tạo hóa đơn nhanh và chuyên nghiệp, nhưng nó không thay thế tư vấn thuế. Với thu nhập từ khách nước ngoài, anh phải tự tìm hiểu và sau đó tham khảo kế toán:
Với thu nhập freelance từ nước ngoài chuyển về Việt Nam, anh kê khai thuế TNCN theo biểu thuế lũy tiến 5%–35%. Ở mức thu nhập hiện tại (khoảng 540 triệu VND/năm sau khi trừ chi phí), thuế suất thực tế của anh rơi vào khoảng 20–25% sau khi trừ các khoản giảm trừ gia cảnh và chi phí. Đây là điều anh không lường trước khi mới bắt đầu freelance — nhiều người nghĩ nhận tiền từ nước ngoài thì "trốn thuế được" nhưng thực tế không phải vậy.
Về hóa đơn GTGT: với khách nước ngoài, dịch vụ xuất khẩu áp thuế suất 0% GTGT theo điều 9 Thông tư 219/2013/TT-BTC (sửa đổi bởi Thông tư 130/2016/TT-BTC). Điều này có nghĩa là anh không phải thu VAT từ khách nước ngoài, nhưng vẫn phải ghi rõ trên hóa đơn nếu muốn được khấu trừ chi phí đầu vào (nếu có đăng ký kinh doanh và nộp thuế GTGT).
Hiện tại Tuấn vẫn hoạt động với tư cách cá nhân, chưa đăng ký hộ kinh doanh hay công ty. Khi doanh thu vượt 1 tỷ đồng/năm, anh sẽ phải quyết định: đăng ký hộ kinh doanh (đơn giản hơn) hay thành lập công ty TNHH MTV (chuyên nghiệp hơn, chi phí cao hơn).
Bài học từ 6 tháng dùng InvoiceFlow
Tuấn tổng kết lại những gì đã thay đổi:
Thời gian xử lý hóa đơn giảm từ 6–8 tiếng/tháng xuống còn dưới 1 tiếng. Không còn lỗi copy-paste gây mất tiền. Khách hàng Singapore và Malaysia nhận được hóa đơn chuyên nghiệp, không bao giờ phàn nàn về định dạng. Anh có thể xem lại lịch sử thanh toán của từng khách bất cứ lúc nào — điều rất quan trọng khi cần xác nhận "tháng trước mày trả chưa?" mà không phải lục email.
Điều quan trọng hơn, theo Tuấn: "Khi hóa đơn trông chuyên nghiệp, khách hàng nước ngoài cảm thấy họ đang làm việc với một người nghiêm túc, không phải một sinh viên làm thêm. Đó là lý do tôi được mời vào những dự án giá cao hơn."
Anh đã tăng rate từ 20 USD/giờ lên 25 USD/giờ sau sáu tháng — không phải vì InvoiceFlow trực tiếp tạo ra điều đó, nhưng việc có hệ thống hành chính gọn gàng cho anh sự tự tin để negotiate như một professional.
Khuyến nghị cho lập trình viên freelance Việt Nam nhận dự án nước ngoài
Dựa trên kinh nghiệm của Tuấn và nhiều freelancer khác, đây là những bước cụ thể:
Bước 1 — Tìm hiểu nghĩa vụ thuế của bạn: Liên hệ Chi cục Thuế quận/huyện nơi bạn cư trú để được tư vấn về kê khai thuế TNCN cho thu nhập từ nước ngoài. Đừng đợi đến khi bị phát hiện mới giải quyết.
Bước 2 — Lưu chứng từ: Giữ lại tất cả email xác nhận chuyển tiền từ Payoneer/Wise/TransferWise. Đây là bằng chứng thu nhập khi kê khai thuế.
Bước 3 — Tạo hệ thống hóa đơn ngay từ đầu: Ngay cả khi khách nước ngoài không yêu cầu hóa đơn Việt Nam, hãy tạo invoice bằng InvoiceFlow cho mỗi lần thanh toán. Sau này khi cần kê khai thuế hoặc làm việc với ngân hàng (mở tài khoản doanh nghiệp, vay vốn), bạn đã có hồ sơ giao dịch đầy đủ.
Bước 4 — Cân nhắc đăng ký hộ kinh doanh: Khi thu nhập ổn định trên 30 triệu/tháng, đăng ký hộ kinh doanh và mã số thuế doanh nghiệp sẽ giúp bạn được khách hàng nước ngoài coi trọng hơn — họ có thể đưa bạn vào danh sách nhà cung cấp chính thức.
Tuấn hôm nay
Gần một năm sau buổi tối vật lộn với Excel đó, Tuấn đang quản lý 6 khách hàng thường xuyên, doanh thu trung bình 52–55 triệu VND/tháng. Anh dành buổi tối thứ Sáu để review code, không phải để điền hóa đơn. Anh đang cân nhắc thành lập công ty TNHH MTV để có thể đăng ký là nhà cung cấp dịch vụ IT cho các tập đoàn nước ngoài có văn phòng tại TP.HCM — những hợp đồng có giá trị cao hơn nhiều.
Còn InvoiceFlow? "Nó không phải phần mềm kế toán. Nó không tự kê khai thuế cho mày. Nhưng nó giải quyết đúng cái vấn đề mà mày gặp mỗi tháng: tạo ra một cái invoice chuyên nghiệp, nhanh, không sai số — và gửi được ngay cho khách. Với freelancer thì đó là tất cả những gì mày cần."
Nếu bạn đang là lập trình viên freelance nhận dự án từ nước ngoài và vẫn đang tạo hóa đơn bằng Word hoặc Google Sheets, hãy thử InvoiceFlow. Miễn phí, không cần đăng ký tài khoản, hoạt động offline. Mười phút thử nghiệm có thể tiết kiệm cho bạn nhiều giờ mỗi tháng — và giúp bạn trông chuyên nghiệp hơn trong mắt khách hàng nước ngoài.
Tải InvoiceFlow miễn phí trên Google Play — không quảng cáo, không phí ẩn, không cần tài khoản.