Skip to main content
Question

DPO GI - Days Payables Outstanding

  • August 9, 2026
  • 3 replies
  • 23 views

Forum|alt.badge.img

Hi, in AR Clerk default dashboard, there is a DSO (Days Sales Outstanding). Its purpose is to understand how long it takes in average for customers pay their outstanding.

On the other side, there is a default AP Clerk dashboard but I can’t find its equivalent which should be the DPO (Days Payables Outstanding). I understand AR Clerk displays something actionable, but it would be good to maintain good vendor relationship as well by understanding how long in average does it take to pay the suppliers. Has anyone built a GI for this? I am unable to find the equivalent/appropriate tables for this. Thank you in advance!

3 replies

alanconroy31
Freshman I
  • Freshman I
  • August 10, 2026

The GI behind that dashboard is using DAC projections and there isnt any AP equivalent of them so you would probably need to create a SQL view to create something similar. I would start with the APHistory table and start grouping by company & period and then joining your FinPeriod tables to that.


Forum|alt.badge.img+4
  • Jr Varsity II
  • August 10, 2026

Hi ​@MarkD ,

DSO in AR Clerk Dashboard
What Acumatica actually provides out of the box is not a traditional DSO but rather an Average Days to Pay metric, stored in the ARBalances DAC:
- ARBalances.AverageDaysToPay = PaidInvoiceDays / NumberInvoicePaid
This is a per-customer accumulator updated during document release (ARDocumentRelease.cs:9507-9508). There is no company-wide DSO widget built in.
Building a DPO Generic Inquiry
There is no built-in DPO equivalent on the AP side, and no APBalances.AverageDaysToPay field exists. However, the AP tables mirror the AR tables closely. Here's what you need:
Key DAC: APHistory

DPO Formula for Your GI
DPO = (AP Balance / Total Purchases) x Number of Days
In Acumatica terms:
DPO = (SUM(APHistory.FinYtdBalance) / SUM(APHistory.FinPtdPurchases)) x Days in Period
GI Setup Steps
1. Main table: APHistory
2. Join to: BAccount (for vendor name) and FinPeriod (for date range)
3. Conditions: Filter by the desired FinPeriodID range (e.g., trailing 12 months)
4. Results columns:
   - APHistory.FinYtdBalance (ending AP balance from the latest period)
   - SUM(APHistory.FinPtdPurchases) across your period range
   - A calculated formula column: (FinYtdBalance / SUM(FinPtdPurchases)) * [days in range]

 

Hope above helps!!


Forum|alt.badge.img
  • Author
  • Varsity I
  • August 10, 2026

Thanks ​@Rakshanda - I’ll give that a go! There is a separate tile in AR Clark dashboard though that tells you the average days to collect payment from customers based on invoices due date. A positive value that means the payment was late and negative that means they customer payment was early. The DSO on the other hand in AR Clerk default dashboard tells you that based on current open period outstanding receivables relative to credit sales activity, it is taking approximately 100 days (for example) on average to collect payment. How are they different is my question...