What Is an Accounts Payable Aging Report? In-Depth Guide and Example
Learn how to age unpaid supplier balances correctly, reconcile AP to the ledger, and connect due dates with cash planning.
<p>An accounts payable aging report is a point-in-time schedule of recorded, unpaid supplier balances grouped by supplier and days relative to each installment's due date. It shows upcoming and overdue obligations, helping finance teams manage payments, forecast cash, investigate exceptions, and reconcile Payables to the general ledger.</p> <h2>TL;DR</h2> <p>A reliable AP aging report uses remaining balances rather than original invoice values, ages each payment installment by its contractual due date, separates mutually exclusive buckets, preserves currency context, and reconciles to the applicable AP control accounts. It supports cash planning, but it is not the same as a cash forecast or days payable outstanding.</p> <h2>What Does an Accounts Payable Aging Report Show?</h2> <p>An AP aging report shows recorded supplier invoices, credit memos, and other open items that remain unpaid as of a defined date. It organizes those balances by supplier and due-date bucket so finance teams can see upcoming obligations and overdue exposure.</p> <p>A summary report shows totals by supplier. A detail report should add the invoice and installment number, invoice date, due date, payment terms, original and remaining amounts, currency, and aging bucket. Approval status, holds, discounts, PO references, planned payment dates, entities, liability accounts, and exception owners make those balances actionable.</p> <p>The report covers recorded AP transactions. Accrued expenses, unbilled receipts, missing invoices, and liabilities posted only to the general ledger may sit outside the AP aging and require separate close controls.</p> <h2>How Do AP Aging Buckets Work?</h2> <p>AP aging buckets group each open installment according to the number of days between its due date and the report's as-of date.</p> <p><strong>Days past due = As-of date - Contractual due date</strong></p> <table> <thead> <tr> <th><strong>Days Past Due</strong></th> <th><strong>Recommended Bucket</strong></th> <th><strong>Interpretation</strong></th> </tr> </thead> <tbody> <tr> <td>0 or negative</td> <td>Current</td> <td>Due today or in the future</td> </tr> <tr> <td>1 to 30</td> <td>1-30</td> <td>Up to 30 days overdue</td> </tr> <tr> <td>31 to 60</td> <td>31-60</td> <td>Between 31 and 60 days overdue</td> </tr> <tr> <td>61 to 90</td> <td>61-90</td> <td>Between 61 and 90 days overdue</td> </tr> <tr> <td>91 or more</td> <td>91+</td> <td>More than 90 days overdue</td> </tr> </tbody> </table> <p>Use 91+ after a 61-90 bucket. Labeling the last column 90+ would place day 90 in two ranges unless the preceding bucket ended at 89.</p> <h3>Worked AP aging example</h3> <p>Assume the report date is September 30 and all values are in the reporting currency.</p> <table> <thead> <tr> <th><strong>Supplier</strong></th> <th><strong>Open Installment</strong></th> <th><strong>Due Date</strong></th> <th><strong>Days Past Due</strong></th> <th><strong>Bucket</strong></th> <th><strong>Remaining Amount</strong></th> </tr> </thead> <tbody> <tr> <td>Supplier A</td> <td>INV-1041-1</td> <td>October 15</td> <td>-15</td> <td>Current</td> <td>$35,000</td> </tr> <tr> <td>Supplier B</td> <td>INV-2087-1</td> <td>September 20</td> <td>10</td> <td>1-30</td> <td>$18,500</td> </tr> <tr> <td>Supplier C</td> <td>INV-3302-2</td> <td>August 14</td> <td>47</td> <td>31-60</td> <td>$12,000</td> </tr> <tr> <td>Supplier D</td> <td>INV-4110-1</td> <td>July 15</td> <td>77</td> <td>61-90</td> <td>$7,500</td> </tr> <tr> <td>Supplier E</td> <td>INV-5048-1</td> <td>June 15</td> <td>107</td> <td>91+</td> <td>$4,000</td> </tr> </tbody> </table> <p>If an invoice has been partly paid, only its remaining amount belongs in the bucket. Show open credits and flag payment holds rather than silently excluding them from supplier exposure.</p> <h2>How Do You Create an Accounts Payable Aging Report?</h2> <p>Create the report by defining its scope, identifying open installments as of the report date, applying due-date logic, and reconciling the resulting total.</p> <table> <thead> <tr> <th><strong>Step</strong></th> <th><strong>Activity</strong></th> <th><strong>Control Check</strong></th> </tr> </thead> <tbody> <tr> <td>1. Define scope</td> <td>Select the date, entities, accounts, suppliers, and currencies</td> <td>Parameters are repeatable</td> </tr> <tr> <td>2. Extract open items</td> <td>Retrieve installments, credits, payments, and adjustments</td> <td>Reversals are treated correctly</td> </tr> <tr> <td>3. Calculate open amounts</td> <td>Determine each unpaid balance as of the selected date</td> <td>Partial activity is reflected</td> </tr> <tr> <td>4. Confirm due dates</td> <td>Use the due date derived from payment terms</td> <td>Invoice age remains separate</td> </tr> <tr> <td>5. Assign buckets</td> <td>Apply one bucket to each open amount</td> <td>No gaps or overlaps exist</td> </tr> <tr> <td>6. Add context</td> <td>Attach holds, status, disputes, discounts, and planned payments</td> <td>Exceptions remain visible</td> </tr> <tr> <td>7. Translate currency</td> <td>Retain transaction currency and apply the reporting rule</td> <td>Mixed currencies are not added</td> </tr> <tr> <td>8. Reconcile</td> <td>Compare aging with the AP trial balance and GL</td> <td>Differences are explained</td> </tr> </tbody> </table> <p>Today's amount remaining does not necessarily show what was open at an earlier month-end. Historical aging needs an as-of report, retained snapshots, or logic that reconstructs activity through the selected date.</p> <h2>How Do You Build AP Aging from Oracle Payables?</h2> <p>Oracle provides separate reports for aging, historical supplier balances, cash requirements, and reconciliation. Choosing the report that matches the question prevents valid but differently scoped totals from being treated as errors.</p> <ul> <li>The <a href="https://docs.oracle.com/en/cloud/saas/financials/26c/fappp/payables-incoice-aging-report-details.html">Payables Invoice Aging Report</a> lists unpaid invoices across four configured aging periods and can convert amounts to ledger currency.</li> <li>The <a href="https://docs.oracle.com/en/cloud/saas/financials/26d/ocuar/supplier-balance-aging-report-explained.html">Supplier Balance Aging Report</a> can be generated for a specific date. Oracle states that it considers invoices that are accounted and transferred to the general ledger, allowing its balances to align with the trial balance.</li> <li>The <a href="https://docs.oracle.com/en/cloud/saas/financials/26c/fappp/payables-cash-requirement-report-details.html">Payables Cash Requirement Report</a> forecasts payment needs using payment-process parameters such as pay-through date, payment date, approval, and validation status.</li> </ul> <p>For custom Oracle reporting, use the payment schedule as the analytical grain. AP_INVOICES_ALL supplies invoice information, while AP_PAYMENT_SCHEDULES_ALL holds installment due dates, remaining amounts, payment status, discount dates, and hold status. Payments, credits, prepayments, and holds complete the view.</p> <p>In Fusion Cloud, table names explain the model but do not imply direct database access. Reporting routes include Oracle Analytics Publisher, OTBI, extracts, APIs, and approved integrations. The Payables Invoices - Installments Real Time subject area uses payment-schedule grain.</p> <p>Oracle identifies unaccounted transactions, non-Payables journals, unposted subledger journals, filter differences, rounding, and later activity as possible reconciliation differences. See its <a href="https://docs.oracle.com/en/cloud/saas/financials/26c/fappp/considerations-for-payables-to-general-ledger-reconciliation.html">Payables-to-Ledger reconciliation guidance</a>.</p> <h2>How Do You Build AP Aging from SAP FI-AP?</h2> <p>In SAP, build aging from supplier open items, remaining amounts, and net due dates, with company-code, currency, clearing, and payment-block context.</p> <p>A practical S/4HANA model should include supplier, company code, journal reference, baseline and due dates, payment terms, currencies, open amount, clearing status, and payment-block reason.</p> <p>SAP's <a href="https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/ee6ff9b281d8448f96b4fe6c89f2bdc8/ed91c4fe7fb7479aa0dd2147808a93f1.html">Aging Analysis Cube</a> aggregates payables by net due interval and account, including company code or supplier. The <a href="https://learning.sap.com/courses/explaining-payables-invoice-processing/managing-supplier-invoices-and-line-items_e4b65dc3-036b-45c2-b73c-ff8d728442a4">Manage Supplier Line Items</a> workflow supports reviewing open line items and payment blocks.</p> <p>Extraction differs between SAP ECC and S/4HANA. Use supported Fiori, CDS, API, or reporting content appropriate to the deployed release rather than treating one legacy table combination as universal.</p> <h2>AP Aging vs. Cash Forecast vs. DPO</h2> <p>AP aging, a cash forecast, and days payable outstanding use related data but answer different questions.</p> <table> <thead> <tr> <th><strong>Measure</strong></th> <th><strong>Question It Answers</strong></th> <th><strong>Primary Basis</strong></th> </tr> </thead> <tbody> <tr> <td>AP aging</td> <td>Which recorded supplier balances are due or overdue?</td> <td>Open installment amount and due date</td> </tr> <tr> <td>Payment cash forecast</td> <td>What is likely or eligible to be paid in the forecast period?</td> <td>Approvals, holds, discounts, payment runs, and planned dates</td> </tr> <tr> <td>DPO</td> <td>How long does the organization take, on average, to pay suppliers?</td> <td>Average trade AP relative to purchases or COGS over a period</td> </tr> </tbody> </table> <p>When reliable credit-purchase data is available:</p> <p><strong>DPO = (Average trade accounts payable / Credit purchases) × Days in period</strong></p> <p>COGS is often used as a proxy when credit purchases are unavailable. Disclose and apply the method consistently. DPO is not the average age of today's open invoices.</p> <p><a href="https://www.apqc.org/Which-Accounts-Payable-Measures-Provide-Insight-Beyond-Cycle-Time-and-Match-Rate">APQC recommends</a> evaluating DPO with payment terms, on-time payments, discounts, liquidity, supplier relationships, and relevant peers. There is no universal target.</p> <p>For a wider liquidity view, see how AP aging contributes to <a href="https://splashbi.com/blog/how-to-calculate-working-capital">working-capital analysis</a>.</p> <h2>What Makes an AP Aging Report Reliable During Close?</h2> <p>A reliable report uses controlled definitions, reconciled data, transparent exceptions, and a drill path to supporting transactions.</p> <table> <thead> <tr> <th><strong>Common Error</strong></th> <th><strong>Why It Distorts the Report</strong></th> <th><strong>Control</strong></th> </tr> </thead> <tbody> <tr> <td>Aging from invoice date</td> <td>Makes valid long-term invoices appear delinquent</td> <td>Age from due date and show invoice age separately</td> </tr> <tr> <td>Using original invoice value</td> <td>Overstates exposure after partial payment</td> <td>Use the remaining installment balance</td> </tr> <tr> <td>Excluding held invoices</td> <td>Hides recorded liabilities</td> <td>Show holds as a separate status</td> </tr> <tr> <td>Combining currencies</td> <td>Produces meaningless totals</td> <td>Translate through a governed rate and date</td> </tr> <tr> <td>Ignoring credits and prepayments</td> <td>Overstates supplier balances</td> <td>Display and reconcile open credit positions</td> </tr> <tr> <td>Treating aging as proof of completeness</td> <td>Misses unrecorded invoices and accruals</td> <td>Perform cut-off and unrecorded-liability controls</td> </tr> <tr> <td>Skipping AP-to-GL reconciliation</td> <td>Leaves unexplained accounting differences</td> <td>Reconcile scope, status, period, and control accounts</td> </tr> </tbody> </table> <p>An accounts payable aging report can support an <a href="https://splashbi.com/glossary/accounts-payable-internal-audit-report">accounts payable internal audit</a>, but it does not guarantee compliance or audit readiness by itself. Reviewers still need evidence of completeness, authorization, cut-off, payment controls, and exception resolution.</p> <h2>How SplashBI Connects Oracle AP Aging Analysis</h2> <p>An AP aging report can be mathematically correct and still be difficult to use when it is a static export with no route back to the invoice, journal, payment status, or GL balance.</p> <p><a href="https://splashbi.com/solutions/finance">SplashBI Finance Solutions</a> provides Oracle reporting content across AP, AR, GL, cash flow, procurement, and period close. Documented capabilities include AP aging, payment timing, custom aging logic, role-aware access, and transaction drill paths.</p> <p>For teams that work in Excel, <a href="https://splashbi.com/products/glconnect">GL Connect</a> supports Oracle E-Business Suite, Oracle Fusion Cloud ERP, and Oracle Cloud EPM. Users can refresh reports and drill from GL balances into journal and subledger detail.</p> <p>For broader reporting context, explore <a href="https://splashbi.com/blog/what-is-general-ledger-reporting">general ledger reporting</a> and the capabilities of modern <a href="https://splashbi.com/blog/financial-reporting-software">financial reporting software</a>.</p> <h2>Turn Supplier Balances Into Controlled Payment Decisions</h2> <p>An effective accounts payable aging report does more than sort invoices into columns. It shows the correct remaining balance, explains why an item is due or blocked, reconciles to Finance, and connects contractual obligations with expected cash outflows. That combination gives Controllers, AP managers, and Treasury a shared view without confusing aging, payment forecasting, and DPO.</p>
FAQ
What is the difference between an AP aging report and an AP trial balance?
An AP aging report groups open supplier installments by due-date bucket for payment and exception management. An AP trial balance organizes accounted, unpaid or partially paid invoices by supplier and liability account to support reconciliation with the general ledger. Their totals may differ when scope or accounting status differs.
Should AP aging use the invoice date or due date?
Use the contractual due date when measuring whether an invoice is overdue. Invoice-date aging measures how long the document has existed and can be useful for process analysis, but it may classify invoices as old even when they remain within agreed payment terms.
Why does the AP aging report not match the general ledger?
Common causes include unaccounted invoices, payments not transferred or posted, manual journals in AP control accounts, different as-of dates, currency conversion, excluded entities or accounts, intercompany filters, rounding, and activity recorded after one report was prepared.
Can an accounts payable aging report be used as a cash forecast?
It is an input, not a complete forecast. Due dates show contractual obligations, while expected cash outflows also depend on approval, validation, holds, payment runs, discount decisions, bank calendars, available liquidity, and planned payment dates.
Does a higher DPO mean accounts payable is performing better?
Not necessarily. Higher DPO can preserve cash, but it may also indicate late payments, missed discounts, disputes, or supplier strain. Evaluate it against negotiated terms, on-time payment performance, industry context, liquidity strategy, and supplier criticality.