The Oracle E-Business Suite (EBS) R12, Payables (AP) Module is a core financial application that automates supplier invoicing, payment processing, and liability tracking. It manages the full invoice life cycle such as recording, matching with Purchase Orders (PO's) and paying vendors to ensure accurate, timely, and compliant.
Below are real-world SQL queries commonly used.
1) Invoice Details with Supplier Info
Purpose: This query retrieves invoice details along
with supplier name.
SELECT
ai.invoice_num,
ai.invoice_date,
ai.invoice_amount,
ai.amount_paid,
ai.payment_status_flag,
aps.vendor_name,
aps.segment1 AS vendor_number
FROM ap_invoices_all ai
JOIN ap_suppliers aps
ON ai.vendor_id = aps.vendor_id
ORDER
BY ai.invoice_date DESC;
2) Invoice with Payment Details
Purpose: This query shows invoice payments
including check number and payment date.
SELECT
ai.invoice_num,
ai.invoice_date,
ai.invoice_amount,
ac.check_number,
ac.check_date,
ac.amount AS paid_amount
FROM ap_invoices_all ai
JOIN ap_invoice_payments_all aip
ON ai.invoice_id = aip.invoice_id
JOIN ap_checks_all ac
ON aip.check_id = ac.check_id
ORDER
BY ac.check_date DESC;
Purpose: This query identifies invoices
that are not fully paid.
SELECT
ai.invoice_num,
ai.invoice_date,
ai.invoice_amount,
ai.amount_paid,
(ai.invoice_amount - NVL(ai.amount_paid,0))
AS balance_amount,
aps.vendor_name
FROM ap_invoices_all ai
JOIN ap_suppliers aps
ON ai.vendor_id = aps.vendor_id
WHERE ai.payment_status_flag <> 'Y'
ORDER
BY ai.invoice_date;
4) Supplier Site Details
Purpose: This query retrieves supplier
site and address information.
SELECT
aps.vendor_name,
assa.vendor_site_code,
assa.address_line1,
assa.city,
assa.country
FROM ap_suppliers aps
JOIN ap_supplier_sites_all assa
ON aps.vendor_id = assa.vendor_id;

5) Unpaid Invoices against Purchase Orders
Purpose: This query links invoices with
Purchase Orders and shows unpaid amounts.
SELECT
ai.invoice_num,
ai.invoice_date,
aps.vendor_name,
ai.invoice_amount,
ai.amount_paid,
(ai.invoice_amount - NVL(ai.amount_paid,0))
AS unpaid_amount,
ai.payment_status_flag,
poh.segment1 AS po_number,
poh.creation_date AS po_date,
aid.amount AS line_amount
FROM ap_invoices_all ai
JOIN ap_suppliers aps
ON ai.vendor_id = aps.vendor_id
JOIN ap_invoice_distributions_all aid
ON ai.invoice_id = aid.invoice_id
JOIN po_distributions_all pod
ON aid.po_distribution_id =
pod.po_distribution_id
JOIN po_headers_all poh
ON pod.po_header_id = poh.po_header_id
WHERE ai.payment_status_flag = 'N'
AND NVL(ai.cancelled_date, SYSDATE+1) >
SYSDATE
ORDER BY ai.invoice_date;
Conclusion:
These queries provide practical insights into invoice processing, payment status, and Purchase Order (PO) matching, helping professionals better analyze and troubleshoot Oracle Payables data.




Comments
Post a Comment