Ở Việt Nam, hóa đơn không phải là giấy tờ hành chính — nó là một sự kiện pháp lý. Theo chế độ hóa đơn điện tử xây dựng trên Nghị định 123/2020/NĐ-CP và các văn bản kế nhiệm, hóa đơn được phát hành điện tử, mang mã của cơ quan thuế (với hầu hết người bán), và được kiểm tra ngay khi nộp. Với một shop e-commerce hàng chục đơn mỗi ngày, phát hành thủ công trong MISA AMIS là một giờ gõ phím hằng ngày với hậu quả pháp lý cho từng lỗi đánh máy. Việc tự động hóa có hình dạng đơn giản — đơn hàng vào, hóa đơn ra — nhưng sự tuân thủ nằm ở chi tiết, và chi tiết chính là nơi chúng ta dành cả bài viết này.
Khi nào người bán B2C phải xuất hóa đơn
Hướng đi của chế độ này luôn nhất quán: nhiều giao dịch phải xuất hóa đơn hơn, sớm hơn, với ít ngoại lệ hơn. Trong thực tế, người bán B2C nên thiết kế theo hướng xuất hóa đơn cho mọi đơn hàng thay vì tranh luận ngưỡng cho từng giao dịch. Người mua không cung cấp mã số thuế vẫn nhận một hóa đơn hợp lệ — mã số thuế người mua là tùy chọn với B2C, trong khi thông tin bên bán, các dòng hàng và VAT của bạn luôn phải chính xác tuyệt đối. Xây "xuất hóa đơn cho tất cả" từ ngày đầu cũng có nghĩa là khi thanh tra thuế đến, họ thấy một dãy hóa đơn đầy đủ, liền mạch thay vì những khoảng trống bạn phải giải trình.
Ánh xạ đơn hàng Shopify sang hóa đơn AMIS
Pipeline lắng nghe webhook đơn hàng Shopify và dựng payload hóa đơn từ một ánh xạ tất định:
- Các dòng hàng. Mỗi dòng hàng Shopify trở thành một dòng hóa đơn: tên hàng (tiếng Việt, lấy từ dữ liệu gốc danh mục của bạn — không phải tiêu đề marketing), đơn vị tính, số lượng, đơn giá và thuế suất VAT. Phí vận chuyển thu của khách là một dòng riêng với cách xử lý VAT riêng.
- Thuế suất VAT. Hầu hết hàng hóa ở mức 10%, với mức giảm 8% áp dụng cho các nhóm đủ điều kiện trong các giai đoạn giảm VAT. Thuế suất là thuộc tính của sản phẩm trong dữ liệu gốc, do kế toán của bạn rà soát — không bao giờ để pipeline suy đoán theo từng đơn, và tuyệt đối không để AI đoán từ tên sản phẩm.
- Khối thông tin người mua. Tên và địa chỉ từ đơn hàng; mã số thuế chỉ khi người mua cung cấp (mua hàng doanh nghiệp). Kiểm tra định dạng trước khi nộp — mã số thuế sai định dạng là nguyên nhân từ chối hàng đầu.
- Thời điểm. Xuất khi giao hàng hay khi thanh toán? Với COD, giao hàng và thanh toán trùng nhau, nên webhook đã giao từ tích hợp hãng vận chuyển của bạn là điểm kích hoạt tự nhiên. Với đơn trả trước, xuất khi hoàn tất đơn. Chọn một chính sách cùng kế toán của bạn và mã hóa nó một lần.
Làm tròn VND: sự lệch số không bao giờ dừng
Shopify tính tổng theo cách của nó; hóa đơn Việt Nam ghi bằng VND chẵn với quy ước làm tròn riêng theo từng dòng và theo tổng. Chiết khấu chia trên nhiều dòng còn làm tệ hơn. Nếu bạn sao chép số của Shopify một cách ngây thơ, một số hóa đơn sẽ lệch với đơn hàng vài trăm đồng — đủ để trượt kiểm tra hợp lệ hoặc làm phiền một kiểm toán viên.
Hàng đợi xem xét khi hóa đơn bị từ chối
Việc nộp sẽ bị từ chối: mã số thuế người mua sai định dạng, tên đơn vị tính không qua được kiểm tra, thuế suất VAT không khớp, vấn đề ký hiệu/số thứ tự. Hợp đồng của pipeline phải là:
- Kiểm tra trước mọi thứ có thể kiểm tra cục bộ — định dạng, trường bắt buộc, số học — để phần lớn lỗi không bao giờ đến bước nộp.
- Xếp hóa đơn bị từ chối cho người thật. Một hóa đơn bị từ chối vào hàng đợi xem xét với đơn hàng, payload và lý do từ chối đặt cạnh nhau. Ai đó sửa dữ liệu và nộp lại bằng một cú nhấp.
- Không bao giờ âm thầm bỏ qua một thất bại. Một hóa đơn thiếu là một rủi ro tuân thủ sẽ nổi lên nhiều tháng sau, trong một cuộc thanh tra, không còn ngữ cảnh nào. Hàng đợi phải được thiết kế theo nguyên tắc hộp thư trống: các mục chưa xử lý leo thang hằng ngày cho đến khi được giải quyết.
Hoàn trả và hoàn tiền: cạm bẫy hóa đơn điều chỉnh
Phần mà hầu hết hệ thống tự động quên: trong chế độ này bạn không thể đơn giản xóa lịch sử. Một lượt hoàn trả hoặc hoàn tiền cho hóa đơn đã phát hành đòi hỏi một hóa đơn điều chỉnh hoặc một hóa đơn thay thế, được liên kết chính thức với bản gốc. Nếu pipeline của bạn xuất hóa đơn tự động nhưng xử lý hàng hoàn thủ công, sổ sách của bạn sẽ lệch trong vòng một tháng.
Hãy tự động hóa mối liên kết: một webhook hoàn tiền Shopify tra cứu hóa đơn gốc, xác định thay đổi là một phần (điều chỉnh) hay toàn bộ (thay thế), sinh chứng từ đính chính tham chiếu các định danh của hóa đơn gốc, và đưa nó qua cùng hàng đợi xem xét. Lưu liên kết theo cả hai chiều — gốc → các bản đính chính, đính chính → gốc — vì chuỗi đó chính xác là thứ kiểm toán viên sẽ yêu cầu xem.
Lưu trữ, tra cứu và nhịp điệu hằng ngày
Hóa đơn đã phát hành phải được lưu giữ và truy xuất được trong nhiều năm. Hãy giữ bản sao riêng của mọi XML/PDF đã phát hành cùng lịch sử trạng thái của nó, độc lập với cổng của nhà cung cấp, đánh khóa theo mã đơn hàng — để "gửi tôi hóa đơn của đơn #4821" là một lượt tra cứu, không phải một dự án khảo cổ. Một bản tổng kết hằng ngày khép vòng lặp: hóa đơn đã phát hành, bị từ chối, đã đính chính, và bất kỳ khoảng cách nào giữa số đơn đã giao và số hóa đơn đã xuất. Con số cuối cùng đó phải bằng không, và khi không phải vậy, bạn muốn biết ngay hôm nay — đây là tầng tài chính của hệ thống tự động hóa trọn gói, và nó ghép cặp với đối soát COD tự động để khép trọn vòng tiền.
MISA AMIS là lựa chọn phổ biến nhất và tích hợp tốt, nhưng không phải con đường duy nhất — nếu bạn đang cân nhắc các phương án thay thế hoặc cần một phương án dự phòng, hãy đọc bài viết song hành của chúng tôi về xCyber và các nhà cung cấp hóa đơn điện tử khác.