Skip to main content

Hi,

DPO is the average number of days a company takes to pay its suppliers.

Here is the logic I found in the process cockpit. Why do we need to multiply the "BSEG"."WRBTR field here as we need only the days of difference ?

 

SUM(

   CASE

       WHEN ISNULL("BSEG"."AUGDT")=1

           THEN 0.0

       ELSE DATEDIFF(dd, ROUND_DAY("BKPF"."BUDAT"), ROUND_DAY("BSEG"."AUGDT")) * "BSEG"."WRBTR"

   END

)

/

SUM(

   CASE

       WHEN ISNULL("BSEG"."AUGDT")=1

           THEN 0.0

       ELSE "BSEG"."WRBTR"

   END

)

AFAIK BESEG.WRBTR has the amount of the order

So the ratio is a monetaty one: days*value / total value....

 

it seems.

 

hth


AFAIK BESEG.WRBTR has the amount of the order

So the ratio is a monetaty one: days*value / total value....

 

it seems.

 

hth

Thanks for the reply Guillermo!

My question is , just the  DATEDIFF(dd, ROUND_DAY("BKPF"."BUDAT"), ROUND_DAY("BSEG"."AUGDT") is enought, right? Why do we need to multiply with value and then divide by the value again?

 

Thanks in advance!


Thanks for the reply Guillermo!

My question is , just the  DATEDIFF(dd, ROUND_DAY("BKPF"."BUDAT"), ROUND_DAY("BSEG"."AUGDT") is enought, right? Why do we need to multiply with value and then divide by the value again?

 

Thanks in advance!

Well, I am a financials guy, but, AFIAK, DPO is not the average number of days, it is a financial ratio. And the DPO formula is AccountsPayable X Number of days / Cost of Goods Sold

 

For example: https://www.investopedia.com/terms/d/dpo.asp#toc-formula-for-days-payable-outstanding-dpo

 

 

So you need to inlcude the monetary value of the transactions. Said that, I am not sure that SUM("BSEG"."WRBTR") it is the Cost of Goods Sold

 

HTH

 


Reply