Thứ Sáu, 11 tháng 3, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 8 - Nợ phải thu Accounts Receivable

James Perry, Richard Newmark


Chương 8
Qui trình bán hàng - thu tiền


Nợ phải thu Accounts Receivable


Không như doanh thu, không có trường Accounts Receivable (nợ phải thu) trong cơ sở dữ liệu. Nợ phải thu đơn thuần là khác biệt thời gian giữa các biến cố bán hàng và những biến cố thâu ngân liên quan. Vì thế, nợ phải thu có thể được xác định bằng cách tính tổng doanh thu các đợt bán rồi trừ đi tổng những lần thâu ngân liên quan đến các đợt bán đó. Vì phép tính hàng ngang (nghĩa là, tổng doanh thu – tổng các lần thâu ngân) không thể dùng kết quả của hàm gộp trong cùng câu truy vấn (chẳng hạn tổng doanh thu, tổng các lần thâu ngân), phép tính nợ phải thu sẽ cần 3 câu truy vấn: tổng doanh thu, tổng các lần thâu ngân liên quan đến các đợt bán, và tổng doanh thu trừ tổng các lần thâu ngân.

Loại ràng buộc thời gian nào bạn cần để tính các hạng mục trong bảng cân đối (balance sheet) như nợ phải thu? Nhớ rằng bảng cân đối sẽ báo cáo các cân đối kế toán của tài sản, nợ phải trả, và nguồn vốn tại một thời điểm xác định. Bạn phải tính tổng doanh thu và các lần thâu ngân liên quan từ lúc thành lập công ty cho đến thời điểm của bảng cân đối. Vì thế, các truy vấn liên quan đến bảng cân đối chỉ có ràng buộc về thời điểm kết thúc.

BÀI TẬP 8.46: DÙNG CÁC TRUY VẤN ĐỂ TÍNH NỢ PHẢI THU – TỔNG DOANH THU VÀ TỔNG NHỮNG LẦN THÂU NGÂN LIÊN QUAN ĐẾN CÁC ĐỢT BÁN

Hãy tạo câu truy vấn đầu tiên bằng cách sao chép qrySales và hiệu chỉnh các tiêu chuẩn về thời gian.

1. Kích qrySales1-Sales trong Navigation Pane, nhấn Ctrl+C, nhấn Ctrl+V, gõ qryAccRec1-SumOfSales (AccRec là viết tắt của Accounts Receivable, nợ phải thu) trong hộp thoại Paste As để đặt tên cho câu truy vấn vừa sao chép, rồi kích OK.

2. Mở qryAccRec1-SumOfSalesDesign View. Trong ô Criteria của ShippingDate, thay biểu thức hiện thời bằng <=[End of Period Date] (nhỏ hơn hay bằng thời điểm cuối kỳ).

3. Lưu. Kiểm thử câu truy vấn. Kích Run trong nhóm Results. Dùng 2/29/2012 cho thời điểm cuối kỳ, tức thời điểm của bảng cân đối. Tổng doanh thu đến thời điểm cuối kỳ sẽ là $67,301.90. Đóng câu truy vấn.

Hãy tạo câu truy vấn thứ hai để tính tổng những lần thâu ngân liên quan đến các đợt bán. Mặc dù bạn sẽ không dùng bất kỳ trường nào từ tblSale, phép nối nội (inner join, là phép nối mặc định, sẽ bao gồm các dòng ở đó các trường nối từ 2 bảng bằng nhau) giữa tblSale tblCashReceipt đảm bảo rằng chỉ những lần thâu ngân liên quan đến các đợt bán được tính tổng. Mặc dù hiện nay có vẻ vô dụng khi hạn chế những lần thâu ngân chỉ liên quan đến các đợt bán vì những lần thâu ngân mà Pipefitters có ở chương này đều từ các thương vụ, điều này sẽ cần thiết khi làm việc với hệ kế toán hoàn chỉnh có bao gồm những lần thâu ngân từ các biến cố khác. Bạn sẽ làm việc với một hệ thông tin kế toán hoàn chỉnh ở Chương 12.

4. Tạo một Query Design mới từ dải CREATE. Kích kép tblSale tblCashReceipt trong hộp thoại Show Table, đóng hộp thoại.

5. Kích kép CashReceiptAmount CashReceiptDate từ danh sách trường của tblCashReceipt.

6. Kích Totals trong nhóm Show/Hide.

7. Đổi ô Total cho CashReceiptAmount thành Sum.

8. Mở Property Sheet từ nhóm Show/Hide. Gõ Cash Receipts làm phụ đề Caption cho tổng những lần thâu ngân. Đóng Property Sheet.

9. Đổi ô Total cho CashReceiptDate thành Where. Trong ô Criteria, gõ <=[End of Period Date].

10. Lưu câu truy vấn với tên qryAccRec2-SumOfCR.

11. Kiểm thử câu truy vấn. Kích Run trong nhóm Results. Dùng 2/29/2012 cho thời điểm của bảng cân đối. tổng những lần thâu ngân liên quan đến các đợt bán sẽ là $41,201.05.

BÀI TẬP 8.47: DÙNG CÁC TRUY VẤN ĐỂ TÍNH NỢ PHẢI THU

Câu truy vấn thứ ba và cũng là cuối cùng sẽ dùng kết quả của 2 truy vấn trước để tính nợ phải thu. Nó tương tự với truy vấn thứ hai ở Bài tập 8.41, ngoại trừ là sẽ không dùng phép nối ngoại (outer join).

1. Tạo một Query Design mới từ dải CREATE. Trong hộp thoại Show Table, kích Queries tab, kích kép qryAccRec1-SumOfSalesqryAccRec2-SumOfCR. Đóng hộp thoại. Các trường trong 2 câu truy vấn này độc lập với nhau và không cần nối. Nếu chúng cần được nối thì bạn sẽ cần thêm một trường chung trong từng câu truy vấn để cung cấp một cách nối chúng.

2. Kích kép SumOfSaleAmount từ qryAccRec1-SumOfSales và SumOfCashReceiptAmount từ qryAccRec2-SumOfCR.

3. Lưu câu truy vấn với tên qryAccRec3-AccountsReceivable.

4. Kích trường trống đầu tiên trên Criteria Pane. Kích Builder trong nhóm Query Setup. Nhập AccountsReceivable: [SumOfSaleAmount]-Nz([SumOfCashReceiptAmount],0). Nếu không có lần thâu ngân nào ở chu kỳ được chỉ định trong câu truy vấn, hàm Nz sẽ thay giá trị rống null bằng tham biến thứ hai, là 0, để tính toán có kết quả hợp lệ.

5. Mở Property Sheet từ nhóm Show/Hide. Gõ Accounts Receivable làm phụ đề Caption cho trường vừa tạo, AccountsReceivable.

6. Lưu câu truy vấn. Kiểm thử hàm Nz bằng cách thi hành câu truy vấn và dùng 1/27/2012 là thời điểm của bảng cân đối. Kết quả sẽ là $14,615.31 (xem Hình 8.51).

Hình 8.51 Các tập hợp động của qryAccRec3-AccountsReceivable.

7. Bây giờ chạy lại câu truy vấn dùng 2/29/2012 là thời điểm của bảng cân đối. Kết quả sẽ là $26,100.85. Để ý rằng doanh thu và thâu ngân ở Hình 8.51 khớp với kết quả từ các truy vấn đơn lẻ.

Tại sao hộp thoại thời điểm cuối kỳ End of Period Date lại xuất hiện trong qryAccRec3-AccountsReceivable? Mặc dù bạn không dùng tham biến thời điểm trong truy vấn này nhưng bạn đã dùng kết quả từ các truy vấn có chứa tham biến thời điểm. Nếu thế thì tại sao hộp thoại End of Period Date chỉ xuất hiện một lần? Vì bạn đã dùng cùng tên tham biến trong các truy vấn nên bạn chỉ cần một tham biến, vì thế thời điểm nhập vào được dùng cho cả 2 truy vấn. Vấn đề này thậm chí trở nên quan trọng hơn khi tạo một báo cáo tài chính và bảng cân đối hoàn chỉnh trong Chương 12 để đảm bảo rằng mọi hạng mục trong báo cáo tài chính được tính bằng việc dùng cùng một thời điểm.

Không có nhận xét nào:

Đăng nhận xét