Chuyển tới nội dung chính

Xử Lý Ngoại Lệ Bán Hàng (O2C Exceptions)

Sứ Mệnh Của Bài Học

Trong quy trình Bán hàng thu tiền (O2C), một khi hàng hóa đã ra khỏi cửa kho và hóa đơn đã phát hành, việc thu hồi hoặc sửa chữa sai sót trở nên vô cùng phức tạp về mặt pháp lý và kế toán.

Hàng bị trả lại, khách hàng đòi bớt số lẻ, hoặc khách hàng vừa mua hàng vừa cung cấp dịch vụ cho bạn... Việc xử lý không khéo léo sẽ dẫn đến rác sổ công nợ. Bài học này trang bị cho bạn các công cụ xử lý "sạn" trong O2C một cách chuyên nghiệp.


1. Khách Trả Lại Hàng (Sales Return / Credit Note)

Hàng hóa bán ra bị khách hàng trả lại (do lỗi, quá đát, móp méo) là nỗi ác mộng của mọi kế toán. Trong ERPNext, việc xử lý được phân chia rạch ròi thành 2 mảng: Vật lý (Kho) và Tài chính (Công nợ).

Kịch Bản 1: Khách Trả Hàng Khi Chưa Xuất Hóa Đơn

  • Tài xế vừa chở hàng đến siêu thị WinMart, siêu thị kiểm tra thấy móp 2 thùng và trả lại ngay cho tài xế mang về. Kế toán công ty chưa kịp xuất hóa đơn đỏ.
  • Xử lý: Mở Phiếu giao hàng cũ (Delivery Note), bấm nút Create Return. Hệ thống tự sinh một Phiếu giao hàng âm (-2 thùng).
  • Hạch toán Sổ Kho: Hàng tự động cộng ngược vào kho. Nợ 156 (Tăng kho) / Có 632 (Giảm giá vốn).

Kịch Bản 2: Khách Trả Hàng Khi Đã Xuất Hóa Đơn (Hàng bán bị trả lại)

  • WinMart đã nhận hàng và Hóa đơn tài chính. Một tháng sau, họ phát hiện 2 thùng hết đát và xuất một Hóa đơn trả hàng gửi lại cho Vicore.
  • Xử lý:
    1. Mở Phiếu giao hàng (Delivery Note), tạo Phiếu xuất trả (-2 thùng) để lấy hàng vật lý cất lại vào kho rác.
    2. Mở Hóa đơn bán hàng (Sales Invoice), bấm nút Create Return (Tạo Credit Note - Hóa đơn giảm trừ). ERP sẽ sinh ra một hóa đơn có tổng tiền âm.
  • Hạch toán Credit Note (Chuẩn VAS):
    • Nợ 5212 (Hàng bán bị trả lại - Giảm trừ doanh thu) hoặc Nợ 511.
    • Nợ 33311 (Giảm thuế VAT đầu ra phải nộp).
    • Có 131 (Giảm khoản phải thu của khách hàng WinMart).

2. Chiết Khấu Hóa Đơn (Sales Invoice Discount)

Có những trường hợp Sales không cấu hình Pricing Rule từ trước, mà đến phút cuối chuẩn bị xuất hóa đơn, Giám đốc đồng ý "bớt số lẻ" cho khách hàng để chốt hợp đồng (Ví dụ: Đơn hàng 1.050.000đ, chốt thu 1.000.000đ chẵn).

Không được phép vào đổi đơn giá của Sản phẩm, vì sẽ làm sai lệch lịch sử giá chuẩn.

Cách xử lý bằng "Additional Discount" (Chiết khấu bổ sung):

  • Trên form Hóa đơn (Sales Invoice), kéo xuống mục Additional Discount.
  • Nhập số tiền cần giảm là 50.000đ.
  • Chỉ định tài khoản Discount Account. Ở đây, Kế toán sẽ trỏ vào tài khoản Chi phí bán hàng (641) hoặc Chiết khấu thương mại (5211).
  • Kết quả: Tổng tiền thanh toán (Grand Total) giảm xuống còn 1.000.000đ. Phần 50.000đ bị bớt đi được tính là Chi phí của doanh nghiệp, minh bạch 100% trên báo cáo.

3. Phạt Vi Phạm Hợp Đồng (Penalty Charges)

Khách hàng trả tiền quá hạn 3 tháng so với hợp đồng. Công ty quyết định tính thêm 5.000.000đ tiền lãi trả chậm. Khoản này không liên quan đến doanh thu bán hàng hóa thông thường, mà thuộc về Doanh thu hoạt động tài chính (TK 515) hoặc Thu nhập khác (TK 711).

Cách xử lý:

  • Cách 1 (Nhanh): Kế toán tạo một Hóa đơn (Sales Invoice) mới. Ở phần Item, thay vì chọn Sản phẩm, Kế toán chọn một Item giả lập tên là "Phạt trả chậm", đã được gán sẵn tài khoản doanh thu 515.
  • Cách 2: Ghi thẳng vào Bảng phụ phí (Taxes and Charges) trên hóa đơn cũ bằng cách thêm dòng Thu phụ, trỏ vào tài khoản 515. Khoản này sẽ làm tăng tổng tiền phải thu (Nợ 131 / Có 515).

4. Cấn Trừ Công Nợ Bù Trừ 3 Bên (Payment Reconciliation)

Đây là nghiệp vụ cực kỳ phổ biến tại Việt Nam. Tình huống: Công ty Viettel là khách hàng mua Nước giải khát của bạn (Họ nợ bạn 100 triệu tiền hàng). Đồng thời, bạn lại thuê kênh truyền dẫn Internet của Viettel (Bạn nợ Viettel 60 triệu). Cuối quý, thay vì Viettel chuyển bạn 100tr, và bạn chuyển lại 60tr... hai bên ký "Biên bản bù trừ công nợ". Viettel chỉ cần chuyển cho bạn 40 triệu.

Nếu kế toán không xử lý đúng trong ERP, hóa đơn bán 100tr và hóa đơn mua 60tr sẽ mãi mãi treo ở trạng thái Unpaid (Chưa thanh toán) làm rác báo cáo tuổi nợ.

Tuyệt chiêu xử lý trong ERPNext (Sử dụng Journal Entry):

  1. Lập phiếu Kế toán tổng hợp (Journal Entry):
    • Tạo một Journal Entry với loại Journal.
    • Dòng 1: Chọn Khách hàng Viettel -> Ghi Có 131 (Giảm nợ phải thu) số tiền 60.000.000đ.
    • Dòng 2: Chọn Nhà cung cấp Viettel -> Ghi Nợ 331 (Giảm nợ phải trả) số tiền 60.000.000đ.
    • Bấm Submit. Tổng sổ cái đã triệt tiêu được 60 triệu nợ cho cả 2 bên.
  2. Khớp nợ (Payment Reconciliation):
    • Sổ cái đã đúng, nhưng Hóa đơn vẫn báo Unpaid. Bạn phải mở công cụ Payment Reconciliation (Đối trừ thanh toán).
    • Công cụ này giống như trò chơi nối chữ: Cột bên trái hiện ra Hóa đơn chưa thanh toán. Cột bên phải hiện ra khoản tiền 60tr trong Journal Entry.
    • Bạn chỉ cần tick chọn 2 bên và bấm Reconcile (Đối chiếu).
    • Lập tức, Hóa đơn mua 60tr của Viettel chuyển thành Paid. Hóa đơn bán 100tr chuyển thành Partially Paid (Đã thanh toán 60tr, còn nợ 40tr). Cuối cùng, khi thu 40tr tiền mặt, bạn làm Phiếu thu (Payment Entry) bình thường.

Bằng các kỹ năng xử lý ngoại lệ này, nhân sự kế toán chứng minh được sự khác biệt giữa "người nhập liệu" và "chuyên gia vận hành ERP".