Accounts Receivable With Aging
Last updated
Last updated
Quoted from Investopedia:
Accounts receivable aging is a periodic report that categorizes a company's accounts receivable according to the length of time an invoice has been outstanding. It is used as a gauge to determine the financial health and reliability of a company's customers.
If the accounts receivable aging shows a company's receivables are being collected much more slowly than normal, this is a warning sign that business may be slowing down or that the company is taking on greater credit risk in its sales practices.
Accounts receivable aging, as a management tool, can indicate that certain customers are becoming credit risks. It can be used to help determine whether the company should keep doing business with customers who are chronically late payers.
Accounts receivable aging has columns that are typically broken into date ranges of 30 days each and shows the total receivables that are currently due, as well as those that are past due for each 30-day time period.
Có nhiều cách để tạo báo cáo các khoản phải thu, tùy thuộc vào phần mềm kế toán mà bạn đang sử dụng. Ví dụ, bạn có thể tập hợp các bút toán liên quan đến các tài khoản phải thu nhóm theo đối tượng khách hàng, và lấy tổng số tiền ghi Nợ và tổng số tiền ghi Có của từng đối tượng đó. Tổng nợ là khoản tiền phải thu, tổng có là khoản tiền đã trả. Phần chênh lệch là số tiền còn lại phải thu.
Trong ứng dụng với gói Dedicated Server này, chúng ta sẽ dùng một phương pháp khác, rất hiệu quả và mạnh mẽ, để làm báo cáo khoản phải thu: phương pháp đối trừ.
Giả sử bạn đã hạch toán bút toán bán hàng và sau đó thu tiền vào sổ nhật ký chung trước đó. Bạn có thể đấi trừ hai bút toán này cho nhau bằng cách đánh dấu hai bút toán này trong sổ nhật ký chung như sau:
Ghi ký tự chữ A vào cột allocation của hai dòng bút toán này trong sổ cái bảng laatransaction.
Tạo ra một số duy nhất và ghi vào cột allocatoinref của hai bút toán này trong sổ cái. Số này là mã đối trừ của bút toán đối trừ.
Khi đó, để trích xuất ra các khoản còn phải thu, bạn chỉ cần lọc lấy ra các bút toán liên quan đến các tài khoản phải thu chưa được đối trừ.
Làm thế nào để đánh dấu hai bút toán là đối trừ?
Đi vào menu Truy vấn ==> Nhật ký bạn sẽ thấy tất cả các dòng bút toán xuất hiện như sau:
Bạn cần tìm cặp bút toán thu tiền/phải thu và đối trừ chúng, có các cách như sau:
Cách 1: tìm theo số tiền. Bạn nhập chính xác số tiền của bút toán cần đối trừ vào dòng tìm kiếm, sau đó đánh dấu chọn cặp bút toán đối trừ, bấm nút đối trừ. Cột A của các dòng đã đối trừ sẽ xuất hiện chữ "A".
Cách 2: tìm theo số bút toán. Bạn nhập các số bút toán cần đối trừ và cách nhau dấu phảy (,) ví dụ: cần đối trừ số bút toán 207 và 2, nhập vào ô tìm kiếm 207,2
. Sau đó đánh dấu chọn cặp bút toán đối trừ và bấm nút đối trừ
Cuộn sang phải để tìm cột allocationref, bạn sẽ thấy mã đối trừ đã được tạo cho hai dòng bút toán đã được đối trừ với nhau này.
Giả sử bạn đã hạch toán bút toán bán hàng vào sổ nhật ký chung trước đó, nhưng chưa hạch toán bút toán thu tiền. Bạn có thể tạo bút toán thu tiền tự động đối trừ với bút toán trước như sau:
Định nghĩa các tài khoản cần theo dõi khoản phải thu bằng cách đi vào menu Kế Toán Sổ Cái ==> Tài Khoản, chọn các tài khoản phải thu và đánh dấu loại tài khoản là Phải Thu (D - viết tắt của từ Debtor).
Đi vào menu Truy vấn ==> Phải Thu bạn sẽ thấy tất cả các dòng bút toán của các tài khoản phải thu. Lọc chọn lấy giao dịch bán hàng trước đó :
Nhấn vào biểu tương $ để tạo bút toán thu tiền:
Nhấn vào biểu tượng Run để chạy bút toán đối trừ. Kiểm tra, bổ xung các thông tin khác nếu cần, và nhấn biểu tượng Save để lưu bút toán vào sổ cái
Quy lại menu Truy vấn ==> Nhật ký bạn sẽ thấy một bút toán mới được tạo ra, đối trừ với bút toán bán hàng. Trong giao diện truy vấn các khoản phải thu, sẽ không còn xuất hiện bút toán bán hàng này nữa.
We will use the VAS_LA dataset from the Income Statement created in the previous chapter. If you don't already have one, go back to the last chapter and make one. Then, we will make a report template that uses this dataset.
Take a closer look at the VAS_LA dataset. It has the customer's codes in the addresscode field, but we need more information than just the codes - we need to get the customer's full names and addresses to make the report easier to understand.
Such details are available in the csaddress table. Let's add them to the VAS_LA dataset.
Create VAS_NAD dataset: Go to Report Setup > Data Set and click the + icon to create a new dataset.
Name the new dataset as VAS_NAD, select the default connection, then click on the button Add Table and choose the csaddress table.
Embed VAS_NAD dataset into VAS_LA dataset: theo hướng dẫn trong phần Dataset/Nhu Liệu để nối nhu liệu VAS_NAD vào VAS_LA. Dùng cột addresscode trong hai bộ nhu liệu làm cột giá trị chung.
That's it for the dataset preparation. Imagine the new VAS_LA dataset as a table with all the information of the journal entries. Each row in the table will have additional columns with information about the address code (addresscode), which could be for both customers or suppliers, such as their name and address, vat name, tax code…
Go to Report Setup > Data View and click on the plus sign to add a new report.
Enter VAS_AR in the report code box. Then on the data source lookup box, select VAS_LA dataset, then save it.
We need a report of accounts receivable that only shows the unpaid sales. The sales are journal entries that post to accounts 1311 to 1319 in our sample data. It might be different for your data.
Finally, the field allocation in the LA dataset will be used to make sure that the sales are unpaid - if the field allocation has a value “A” then the sale is paid, whereas if it is empty the sale is unpaid.
To add report variables, click the edit icon:
Drag the accountcode from the left panel into the filter grid above. The From Value and To Value cells will be used as report variables when the report is run.
Drag the journaltype into the filter grid and set it to be HDBR.
Drag the allocation into the filter grid and set it to be not equal A.
Now, let's drag the necessary fields for Account Receivable report on left into the output grid:
transactiondate for transaction date.
transactionref for transaction reference.
addresscode for address code.
invoiceno for invoice number.
invoicedate for invoice date.
duedate for due date.
amount for amount
address1 under VAS_NAD for customer name.
address2 under VAS_NAD for customer address
When you run the report, the underlying dataset will look similarly to this:
The next step is to collect the data needed for the Accounts Receivable Aging report.
Remove the REPORT_NAME sheet and replace it with this new, fancy accounts receivable form. Make sure that this form is the first sheet in the Excel workbook: AR - Presentation
Look at this presentation, we need to extract a list of all the customer codes and their names. We will use the <#Lookup> tag-function to get the debtor name for each addresscode. We will also create a tag-name <#Customer> in the configuration sheet:
Cell M16: Customer
Cell N16: <#Report.addresscode>
and a tag-function <#Name(code)>:
Cell M17: Name(code)
Cell N17: <#Lookup(Report;addresscode;<#code>;address1)>
Let’s explain:
Cell M16 defines a tag-name <#Customer> and it takes the value in the field addresscode of the current record in the Report dataset.
Cell M17 defines a tag-function <#Name> which takes one input parameter, named code.
Cell N17 is the body of the tag-function: it searches the dataset Report for a row with the addresscode that matches a value given by the parameter “code”, and returns the value in the address1 column. Just like how the Excel VLOOKUP function works.
Next, we need to show all the records from the dataset Report in the Accounts Receivable Aging sheet (also known as the presentation sheet). To do this, we will use the band and Excel named range. You should now be familiar with these concepts. Go to the Excel menu Formulas, click on Name Manager, and create a named range called __Report__ using the entire row 6 from the presentation sheet, like this:
Enter the tag-name <#Customer> in the D6 cell and the tag-function <#Name(<#Customer>)> in the cell E6 of the presentation sheet.
Now let's explain our formulas:
We defined a named range called __Report__, and attached it to the entire sixth row with 'Accounts Receivable Aging'!$6:$6
The band __Report__ will look in the configuration sheet for a dataset with the same name to use as its dataset. That’s the Report dataset defined in cell A10 of the <#Config> sheet.
On the presentation sheet, the band __Report__ will look at each row in the Report dataset, inserting a new row in the presentation sheet for each record, and provide the reference to the current record for formulas in that row.
Remember, how we defined the tag-name <#Customer> in the configuration sheet and its usage in the presentation sheet:
So the tag name <#Customer> will take the value in the field addresscode from the row’s current record of the Report dataset, And so, row 6 will have the first address code, which is 57636, row 7 will have SUNRISE, so on and so forth, to the last row.
Upload this report template, save and run it. You should get this:
For your convenience, this report template can be downloaded from here: AR - I1
Finally, we will complete all of the other details.
Go to the following cells and enter these tags:
Cell B6: <#Report.invoicedate>
Cell C6: <#Report.invoiceno>
Cell G6: <#Report.amount>
Cell H6: <#Report.duedate>
We want to work out how old the outstanding amounts are by subtracting the due date from the current date. Cells J6 to M6 show the current outstanding amount, and how many days overdue they are if they are more than 1, 30, 60 and 90 days old.
Go to the following cells and enter these tags:
Cell I3 =TODAY()
Cell I6: =IF(H6<$I$3,G6,0)
Cell J6: =IF(AND($I$3-$H6>=1,$I$3-$H6<=30),$I6,"")
Cell K6: =IF(AND($I$3-$H6>=31,$I$3-$H6<=60),$I6,"")
Cell L6: =IF(AND($I$3-$H6>=61,$I$3-$H6<=90),$I6,"")
Cell M6: =IF(AND($H6>=0,$I$3-$H6>=91),$I6,"")
The other cells are just normal excel formulas.
For your convenience, you can download a complete report template from here: Accounts Receivable Report - 2
That’s all for data preparation. Upload this report template, and save it.
Run the report you have worked hard on and you should see the results of your work:
We are going to check the accuracy of this report. Let's take a look at the second record, which shows an amount of 706,332,000:
Go to Ledger Accounting > Inquiry > Journal Inquiry and type 706332000 into the search box. If needed, click on the refresh icon. Your view should look like this:
On February 28th, 2020, the sale was recorded in journal 98. On 2020/09/22, the payment for the sale was settled in journal 473. To link the payment to the sale, select the checkboxes for the two journal lines with the account code 1311 and click the match amount icon. This will link the two journal lines together and give them the same allocation reference number.
Now, re-run the report. The invoice number 0000015 should no longer show up in the report.
Congratulations! You have worked hard and now you are one of the pioneers to be part of the KNOWINS power user community.