AR 模組雖然不是我負責的,但是跟 OM 模組息息相關,多少還是要了解一下囉。

當訂單模組做完出貨動作 ( Ship Confirm ) 之後,系統會把資料拋轉到 AR 模組的 Interface,再由 AR User 執行 Autoinvoice 把資料真正轉入 AR 模組。AR 的 Transaction 會有兩個重要的日期:AR Transaction Date 與 GL Date。在做 Autoinvoice 時,系統會幫 User 先決定一個 Default Value,如果 User 一時不察,轉入的日期就可能不是他真正期望的。舉例來說:

目前 Interface 有以下資料

Delivery Number Actual Shipping Date
1000 2008-01-07
1001 2008-01-05
1002 2008-01-02
1003 2008-01-10

此時執行 Autoinvoice,這四筆的 AR Transaction Date 都會等同於各自的 Actual Shipping Date,但是 GL Date 就不一定了,如果是將這四筆包在同一次的 Autoinvoice 轉入 AR,那系統會自動將這四筆的 GL Date 帶入 "2008-01-02",原因是,這一包裡面最早的日期就是 "2008-01-02"。

這個情況詳細發生的原因還不是很確定,也有可能是因為資料在 Interface 時,User 沒有維護 GL Date 有關,要等 Interface 有資料之後才能測試。

https://metalink.oracle.com/metalink/plsql/f?p=130:14:6901207646735683383::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,220251.1,1,1,1,helvetica#q17
https://metalink.oracle.com/metalink/plsql/f?p=130:14:6901207646735683383::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,29288.1,1,1,1,helvetica

Q: How does the GL date get derived?

A:
For invoices without Rules:

AutoInvoice first uses the GL date in the interface table (RA_INTERFACE_LINES_ALL), if one exists.

If one does not exist then it is derived as follows:

If the Derive Date box is checked for your batch source (Menu: Setup>Transactions>Sources, query your batch source, alternate region Accounting), AutoInvoice first uses the ship date in the interface table. If the ship date does not exist, AutoInvoice uses the sales order date. If the sales order date does not exist, AutoInvoice uses the date entered in the Submit Request window when AutoInvoice was run.

If the Derive Date box is not checked for your batch source, AutoInvoice uses the date entered in the Submit Request window when AutoInvoice was run.

For Invoices with Rules:

AutoInvoice first uses the GL date in the interface table (RA_INTERFACE_LINES_ALL), if one exists.

If the Invoicing Rule is 'Bill In Advance', AutoInvoice uses the Rule Start Date for the GL date.

If the Invoicing Rule is 'Bill in Arrears' and the invoice line has an accounting rule of type 'Accounting, Fixed Duration' and a period of 'Specific Date', AutoInvoice computes an end date using the earliest accounting rule date.

For all other Accounting rules, AutoInvoice computes an ending date for each invoice line, and then takes the earliest date of these lines and uses it as the GL date of the invoice.

If your invoice does not use a fixed rule accounting duration and the rule start date is not provided in the interface table, GL date is derived as follows:

If the Derive Date box is checked in batch source options, AutoInvoice first uses the ship date. If the ship date does not exist, AutoInvoice uses the sales order date. If the sales order date does not exist, AutoInvoice uses the date entered in the Submit Request window.

If the Derive Date box is not checked, AutoInvoice uses the date entered in the Submit Request window.

這個問題在目前有新的發現,GL Date 的抓取規則有點問題,如果 User Run Autoinvoice 時,是整包 ( 多筆 ) 去跑的話,那全部 AR 的 GL Date 都會變成第一筆 AR 的 GL Date,問了很多有 Oracle AR 經驗的人,也去 Metalink、Oracle 論壇 等等找過,也都沒人問過類似的問題,原因可能 Autoinvoice 不會這樣去 Run,看來是需要 Log TAR 了

Aloz 發表在 痞客邦 留言(1) 人氣()