We have custom triggers that are auditing ap_invoices_all and ap_invoice_distributions_all to capture who validated the invoices, who re-validated and who paid them.
Based on the documentation from mos they document the following. Since I want to capture when the invoice is validated I put a condition that if the flag is changed to A we capture that as a validated invoice. Some cases it never progresses to A but instead to T. I am not sure how to re-produce this case of T (tested but never validated) as I have created many invoices in our test system with the same holds, for the same vendor, same invoice type etc and validate them but the match status flag goes to A never T.
I know I could re-build the auditing and rely on some other flag or maybe on ap_invoices_v to determine validation but what we have in place is working great with this one exception so I would rather not start from scratch.
Can somebody just let me know what scenarios can cause this flag to go to T? That would help me a great deal. Here are the My oracle support details on this flag
*+<Moderator Edit - deleted MOS Doc 301806.1 content - pl do not post such content - it is a violation of your Support agreement>+*
if you want the MATCH_STATUS_FLAG = T, which means the Invoice status should be in "Needs Revalidation" status.... there are multiple test cases possible to make it happen, i would tell you the simple case ...
Create an Invoice for 100 $ at header level , enter line level detail for 100$, at the distribution level enter details for 50$ (any amount less than 100$) .. now that distribution does not match the Invoice header and Line levle total, system will place DIST VARIANCE and LINE VARIANCE hold which in turn makes the Invoice move to NEEDS REVALIDATION status i.e. otherwise match_status_flag = T
Try it out ...
Thank you, I was able to get the match_status_flag to go to T but it wasn't quit what I was looking for since as soon as I correct the discrepancy and re-validate the match_status_flag changes to A. This is different than the special cases we are seeing in production where invoices that have already been validated (and paid) have the flag of T.
I am trying to sort out how I can end up with the match_status_flag of T but already validated invoice. Does anybody know if this is normal that a validated and paid invoices should have this flag set to T?
this is not normal ..however it is possible ... Can you check the configuration for the profile option "Allow Adjustments to Paid Invoice" set for your payables responsibility .. if this is set to YES, then your system allows modifications to the Invoices even after they are accounted and paid ...
I guess that should be causing the issue ...
For performing a test case in your Test/Supt environment, make sure the above profile option is enabled and create an Invoice, validate it and make payment to it ... now again query back the invoice and insert a new line and distribution ... this would make the invoice change to NEEDS REVALIDATION status i.e. match_status_flag = T .. and also placing LINE variance / DIST variance hold ...