- Problem
- Checking hourly cloud usage, contract discounts, and mid-month seat proration in spreadsheets.
- Approach
- SQL and Python data pipeline comparing BigQuery usage against accounting drafts with exact math.
- Outcome
- Clean bills go out on time; expired promos and unlinked project IDs are caught before invoicing.
| Customer / Project | Usage & Contract Calc | ERP Draft Invoice | Status |
|---|---|---|---|
| gcp-prod-retail-01 (ID 8841) | 1,420 compute hrs · 12% promo | Unchecked draft | Raw Export Unchecked |
| workspace-seat-sync-id99 | 240 base seats + 15 mid-month | Unchecked draft | Raw Export Unchecked |
Requires checking if the 12% discount is still active this month.
| Customer / Project | Usage & Contract Calc | ERP Draft Invoice | Status |
|---|---|---|---|
| PT Retail Digital (gcp-prod-retail-01) | Net Contract: Rp 64.200.000 (-12%) | Draft INV/0412: Rp 64.200.000 | Verified Ready to Bill |
| PT Kreasi Media (workspace-seat-id99) | 240 seats + 15 prorated (14d) | Draft INV/0419: Rp 31.450.000 | Proration OK Ready to Bill |
Billing ID, discount window, and draft invoice total match.
| Customer / Project | Usage & Contract Calc | ERP Draft Invoice | Status |
|---|---|---|---|
| PT Logistik Utama (Sub-project B) | Expected: Rp 28.900.000 | Draft ERP: Rp 25.432.000 (-12%) | Expired Promo Hold: Expired Promo |
| Project "sinar-abdi-dev" (No ID) | Name similar to "PT Sinar Abadi" | Usage Rp 4.120.000 held | Unlinked ID Hold: Bind ID |
12% promo expired last month, but ERP draft still deducted it.