Days of Accounts Payable Outstanding
Calculate the days payables outstanding, an efficiency ratio that measures the number of days it takes a company to pay its suppliers.
The days payables outstanding (DPO) ratio is used to assess how efficiently a company manages its accounts payable. It calculates the average number of days it takes for a company to pay its suppliers after receiving an invoice. A higher DPO ratio indicates that the company is taking longer to pay its suppliers, which may have implications for its relationships with suppliers.
The formula is as follows:
\[\text{Days Payables Outstanding} = (\text{Average Accounts Payable} / \text{Cost of Goods Sold}) \cdot \text{Days}\]Also known as: DPO, days payable outstanding.
Days of Accounts Payable Outstanding in Python
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_days_of_accounts_payable_outstanding as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(["AAPL", "TSLA"], api_key="FINANCIAL_MODELING_PREP_KEY")
dpo_ratios = toolkit.ratios.get_days_of_accounts_payable_outstanding()
Which returns:
| 2021 | 2022 | 2023 | 2024 | 2025 | |
|---|---|---|---|---|---|
| AAPL | 83.1683 | 97.0504 | 108.003 | 114.15 | 114.657 |
| TSLA | 72.951 | 76.1207 | 68.4805 | 61.1935 | 60.6784 |
Parameters
The function accepts the following parameters:
- days (int, optional): The number of days to use for the calculation. Defaults to 365.
- rounding (int, optional): The number of decimals to round the results to. Defaults to 4.
- growth (bool, optional): Whether to calculate the growth of the ratios. Defaults to False.
- lag (int | str, optional): The lag to use for the growth calculation. Defaults to 1.
- standardize (bool, optional): Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.
- trailing (int): Defines whether to select a trailing period. E.g. when selecting 4 with quarterly data, the TTM is calculated.