BPN P&L Automation
Automated profit & loss across over 200 podcasts.
Summary
A financial automation platform that ingests revenue and cost data for over 200 podcasts, reconciles bills, and produces auditable P&L statements — replacing days of manual spreadsheet work.
The Problem
A podcast network’s finances arrive from many vendors in incompatible formats. Producing accurate, auditable per-show P&L by hand does not scale past 200 shows and invites costly errors.
Approach
- Built multi-source ingestion for ad-campaign performance data.
- Integrated QuickBooks via OAuth 2.0 (read/write) for two-way financial sync, and Wise for international payments.
- Added bill reconciliation, audit logging, and generated PDF P&L statements.
- Documented the surface with an OpenAPI 3.0 spec for maintainability.
Architecture
- 01NestJS backend with Prisma over Neon serverless PostgreSQL.
- 02Next.js frontend (shadcn/ui, React Query).
- 03AWS for async processing — ECS, Lambda, and SQS decoupling ingestion from reconciliation.
- 04QuickBooks OAuth 2.0 integration with audit logging on every financial mutation.
Key Tradeoffs
SQS between ingestion and reconciliation
Vendor feeds are spiky and unreliable; a queue isolates failures so one bad feed can’t corrupt a reconciliation run.
Neon serverless Postgres
Financial runs are bursty and monthly; serverless scaling fit the workload better than an always-on cluster.
Stack
Outcome
Days of manual finance work per cycle reduced to an auditable, repeatable pipeline across over 200 shows.