How I Built an Automated Financial Reporting System for Global Game Platforms

This article details the end‑to‑end design and implementation of a custom tool—named “Crystal Palace”—that automates financial reporting across App Store, Google Play, Facebook and Amazon, turning a tedious manual reconciliation process into a scalable, data‑driven solution for game publishers.

YooTech Youzu Tech Team
YooTech Youzu Tech Team
YooTech Youzu Tech Team
How I Built an Automated Financial Reporting System for Global Game Platforms

Background

In my previous role I was responsible for managing developer accounts used for overseas game distribution, which included monthly billing reconciliation and generating financial reports for each game. The four major platforms—App Store, Google Play, Facebook and Amazon—required manual extraction of data, a process that was labor‑intensive, error‑prone, and difficult to scale.

Quantifying Business Needs

The core pain points were the massive data volume and the inefficiency of manual Excel‑based reconciliation. The requirements were distilled as follows:

For Finance: Deliver a processed report for every channel and account each month, and provide the corresponding invoices when needed.

For Operations: Enable self‑service download of channel‑specific reports for each game.

Extensions: Automatically calculate bad‑debt (refunds plus any exchange‑rate loss) per game/channel and provide trend analysis to support decision‑making.

Productizing the Requirements

Based on my deep understanding of the business, I abstracted the core needs into a product logic and framework, illustrated in the following diagram.

Underlying Logic Flow

The foundation of any automation is the ability to automatically fetch source data. After reviewing the developer documentation of the four platforms, the feasible approaches were identified:

App Store: Apple provides both a legacy program and a newer API, but only for detailed reports; a direct bulk download endpoint is missing. ( Guide )

Google Play: Google offers a comprehensive set of developer tools, including the Cloud Storage gsutil utility, which can be leveraged for automated data retrieval. ( gsutil Docs )

Facebook: Facebook’s API allows report extraction, though historical data is limited to a certain time window. ( Facebook Docs )

Amazon: Amazon provides a straightforward sales‑reporting API for Appstore developers. ( Amazon Blog )

Product Planning Insights

Key considerations during planning included:

Designing the system to be extensible for additional channels beyond the initial four.

Allowing operations teams to download reports per game and per channel independently.

Ensuring clear communication of bad‑debt calculations with finance, as inaccuracies could lead to significant discrepancies.

To aid developers, a snippet of pseudo‑code illustrating the bad‑debt calculation logic was provided (shown in the image below).

Conclusion

The “Crystal Palace” project emerged from the frustration of manual reconciliation, delivering a tool that automates data collection, processing, and reporting across major game distribution platforms, ultimately turning a tedious task into a productivity‑boosting asset.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

AutomationProduct ManagementData Integrationgame publishingfinancial reporting
YooTech Youzu Tech Team
Written by

YooTech Youzu Tech Team

Official tech account of Youzu Network, sharing insights and discussions on technology, research, and product.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.