Tài liệu · Công cụ hóa đơn tự do
Tính tổng hóa đơn chính xác: Làm tròn, thuế và dấu phẩy động
· Cách thức hoạt động
hóa đơn javascript xác nhận
Sự không khớp một xu giữa hóa đơn của bạn và hệ thống của khách hàng thường xuất phát từ nơi diễn ra việc làm tròn chứ không phải do tỷ giá sai. Bài đăng này giải thích làm tròn cấp dòng so với làm tròn cấp tổng, lý do máy tính nhận được 0.1 + 0.2 sai và cách kiểm tra số học của bất kỳ trình tạo nào.
Giảm một xu - truy vấn về các khoản phải trả có thể ngăn cản một hóa đơn hoàn hảo
Sự không khớp một đơn vị nhỏ là đủ để hai hệ thống không đồng ý ngay cả khi số lượng, giá cả và tỷ giá có vẻ giống hệt nhau. Nguyên nhân có thể là do thứ tự tính toán, cách làm tròn khác hoặc cơ sở tính thuế khác. Giải quyết bằng cách so sánh từng phương pháp thay vì thay đổi tổng số cuối cùng theo cách thủ công.
Trường hợp làm tròn xảy ra - tính thuế trên mỗi dòng và tính tổng, so với tính tổng trước và tính thuế một lần và tại sao kết quả lại khác nhau
Mô hình đã vận chuyển làm tròn tổng từng dòng từ đơn giá nhân với số lượng, áp dụng và làm tròn các khoản giảm giá theo dòng, tính tổng các dòng, áp dụng mức giảm giá tổng thể, phân bổ khoản giảm giá đó cho các dòng chịu thuế, sau đó tính thuế trên cơ sở chịu thuế được chiết khấu. Một hệ thống đánh thuế từng dòng một cách độc lập có thể khác nhau.
Tại sao 0.1 + 0.2 không phải là 0.3 trong JavaScript — dấu phẩy động nhị phân và trường hợp tính theo toàn bộ đơn vị phụ
JavaScript số nhị phân không thể biểu thị chính xác mọi số thập phân, đó là lý do tại sao phép so sánh trực tiếp 0.1 cộng với 0.2 khiến mọi người ngạc nhiên. Mô-đun tiền phân tích văn bản thập phân thành toàn bộ đơn vị nhỏ và sử dụng số học hợp lý BigInt để nhân, chia và tỷ lệ phần trăm thay vì mang phân số nhị phân qua tổng số.
Các chế độ làm tròn - làm tròn một nửa, chẵn một nửa và cắt ngắn, cũng như lý do lựa chọn phải nhất quán trong toàn bộ tài liệu
Mô-đun này hỗ trợ các chế độ nửa lên, nửa chẵn, lên và xuống, với nửa lên là mặc định của tài liệu. Tính nhất quán rất quan trọng vì sự ràng buộc được xử lý khác nhau ở giai đoạn sản xuất, chiết khấu hoặc thuế sẽ thay đổi các đầu vào sau này. Các bài kiểm tra thể hiện mối quan hệ tích cực và tiêu cực thay vì giả định một hướng từ một ví dụ thân thiện.
Các loại tiền tệ có 0 hoặc 3 số thập phân - tại sao đồng yên và một số loại tiền tệ vùng Vịnh phá vỡ các giả định được xây dựng bằng xu
Đề cương đề cập đến các loại tiền tệ có ba số thập phân, nhưng sổ đăng ký hiện tại chỉ chứa các loại tiền tệ có đơn vị 0 phụ và các loại tiền tệ có hai đơn vị phụ. Việc triển khai vẫn lấy được độ chính xác từ siêu dữ liệu tiền tệ thay vì giả định xu, do đó, toàn bộ đơn vị tiền tệ không có được vị trí thập phân nhân tạo.
Ví dụ hoạt động - ba mặt hàng được lập hóa đơn với mức thuế khó hiểu, được tính theo cả hai cách, với phần chênh lệch được giải thích
Đối với ba số tiền dòng bất tiện, hãy so sánh tổng phụ, chiết khấu dòng, chiết khấu hóa đơn, cơ sở chịu thuế, thuế và tổng số được hiển thị của công cụ với các giai đoạn của khách hàng. Không chỉ so sánh con số cuối cùng: giai đoạn đầu tiên khác biệt sẽ xác định xem tranh chấp là phân tích cú pháp, làm tròn, phân bổ hay lựa chọn cơ sở tính thuế.
Điều này không bao gồm những gì — tỷ giá nào áp dụng cho bạn hoặc cách hệ thống của khách hàng của bạn xử lý; đồng ý phương pháp nếu nó quan trọng
Số học không thể quyết định tỷ lệ nào được áp dụng, liệu một dòng có bị đánh thuế hợp pháp hay không hoặc hệ thống kế toán khác làm tròn như thế nào. Công cụ này yêu cầu xác nhận thuế và chỉ thực hiện một tỷ lệ cho mỗi tài liệu. Thỏa thuận về phương pháp vẫn là một câu hỏi kinh doanh và tuân thủ bên ngoài máy tính.
Rút ra - kiểm tra tổng số theo phương pháp mà khách hàng của bạn mong đợi, sau đó để Công cụ hóa đơn dành cho người làm nghề tự do tạo ra PDF rõ ràng
Giữ giá dưới dạng văn bản thập phân đã nhập, chọn một chế độ làm tròn và so sánh chuỗi tính toán đầy đủ khi hệ thống không đồng ý. Công cụ hóa đơn dành cho người làm nghề tự do cung cấp số học đơn vị nhỏ xác định và PDF có thể đọc được, nhưng nó không làm cho phương pháp khác của khách hàng trở nên không chính xác theo định nghĩa.