Thành tiền và số lượng

Thành tiền khách trả là gốc của mỗi dòng. Quy tắc số lượng và làm tròn theo từng nhóm thuế suất.

Khách trả bao nhiêu thì hóa đơn ghi đúng bấy nhiêu. NexERP không tự làm lệch thành tiền.

Mọi con số tiền là số nguyên đồng, làm tròn lên từ 0,5 (HALF-UP).

Thuế suất KKKNT, KCT, 0

  • quantity có thể bỏ trống. Khi đó quantity = amount / unit_price, làm tròn 6 chữ số lẻ.

  • Nếu gửi quantity, nó có tối đa 6 chữ số lẻ. quantity × unit_price làm tròn đến đồng phải bằng đúng amount.

  • Lệch 1 đồng cũng bị từ chối với mã line.amount_anchor_mismatch. Không có dung sai.

  • Đơn giá từ 1.000.000 đồng trở lên mà số lượng có phần lẻ thì bị từ chối với mã line.amount_anchor_scale. Sai số của 6 chữ số lẻ khi đơn giá lớn có thể làm lệch đồng.

Ví dụ: "3.742515" lít × 26.720 đồng = 100.000,0008 đồng, làm tròn thành 100.000 đồng, khớp amount.

Thuế suất 5, 8, 10

  • Bắt buộc gửi quantity, tối đa 4 chữ số lẻ.

  • quantity × unit_price phải bằng đúng amount, không làm tròn.

  • Vi phạm một trong hai điều trên thì bị từ chối với mã line.amount_anchor_taxable_unsupported.

  • unit_price là giá đã gồm thuế. NexERP tách thuế ngược theo từng đơn vị. Thuế của dòng là phần còn lại, nên tiền hàng cộng thuế luôn bằng đúng amount.

Lưu ý

  • quantity luôn là chuỗi trong JSON, ví dụ "3.742515". Lý do: số JSON hay bị đọc thành số thực nhị phân và sai ở chữ số cuối.

  • Bán theo số tiền ("đổ 100.000 đồng") với dòng KKKNT, KCT, 0 thì bỏ trống quantity và chỉ gửi amount.