Businesses often rely on the daily PHP/USD rates published by the Bankers Association of the Philippines (BAP) for various financial decisions, from investment valuations to foreign exchange operations. Starting in June 2021, BAP began making their historical exchange rate data available through public Google Sheets, including not only daily rates but also trading volumes.

While the move to publish historical data is a step toward transparency, their choice of format—Google Sheets—is notably out of touch with modern standards. Instead of offering a proper API endpoint for structured, automated access, BAP expects users to manually work with spreadsheets. This approach is inefficient and reflects a backward mentality that’s not commensurate with the needs of 21st-century data users. For a major financial industry player with such national relevance, adopting more developer-friendly, programmatic access methods is long overdue.

To assess the quality of the published data, I consolidated all available sheets and performed a thorough analysis. Here are some of the most glaring issues I found:

Unexplicable Data

An entry dated 2019-09-13 appears under the February sheet of the 2019 workbook:

This item doesn’t belong in February and causes duplication for September 13, 2019, with completely different balances. It is unclear which entry is valid.

Unusually High Number

On May 20, 2021, the opening rate is recorded as 478.855—far outside the plausible range. It’s likely a typographical error and should be 47.855:

Duplicate Data for Adjacent Dates

Some rows across adjacent dates have exactly the same values across all key fields, including:

  • Open
  • High
  • Low
  • Close
  • AM/PM Weighted Averages and Volumes
  • Total Volume
  • Settlement

This could indicate copy-paste or data rollover errors.

High is Less than Low

The High value should logically always be greater than or equal to the Low. However, there are rows where this is violated:

Open Outside of High and Low

The Open price should fall within the range of the High and Low, but some rows show it falling outside:

Close Outside of High and Low

Similarly, Close should also fall within the daily high-low range, yet some entries show otherwise:


These data issues show that BAP needs to improve validation and correct existing errors before publishing. Additionally, providing a proper, well-documented, and publicly available API endpoint is essential to enable reliable, automated access and support modern financial workflows. Addressing these will greatly enhance data accuracy and usability.