Heroku May 2026 — invoice delta memo
Prepared: 2026-06-03 UTC
Scope: Heroku May 2026 invoice — actual $216.62 vs. prior session-memory estimate ~$185
Companion doc: docs/business/bookkeeper/2026-05-reconciliation.md
What the $216.62 was
Heroku bills on a metered-monthly basis, issuing the invoice at or shortly after month-end. The May invoice arrived in Gmail on 2026-06-01 14:18 UTC (after the 2026-05-31 period-end close).
Invoice #112208633 — $216.62 total
- Account:
kris@moosequest.net - Billing period: May 01, 2026 — June 01, 2026
- Credit on invoice: $0.00
Invoice line items (from Gmail body — authoritative)
| Charge category | Amount |
|---|---|
| Application dynos | $50.96 |
| Add-on services | $165.66 |
| Subtotal | $216.62 |
| Credits | ($0.00) |
| Total charged | $216.62 |
The Heroku billing email does NOT itemize by app or addon — only by these two top-level
categories. The full per-app/per-addon breakdown lives only at the dashboard:
https://dashboard.heroku.com/invoices/2026/05. Operator action OA-1 stands: paste the
dashboard's per-app table back here so the ledger can carry per-app allocations.
Shape of the breakdown (interpretation, not authoritative)
- Application dynos ($50.96) is approximately equal to 2× Standard-1X dynos (~$50) or a Standard-2X dyno (~$50). On a multi-app setup this strongly suggests most apps are on Eco/Basic ($7) and only one app runs a Standard tier.
- Add-on services ($165.66) is dominated by Postgres. A single Standard-0 Postgres is $50/mo; three Standard-0 Postgres adds up to $150, leaving ~$15 for everything else (Papertrail, Heroku Redis if any, Postmark addon if attached, etc.).
This is consistent with the operator's Heroku app roster (raxx-api-{prod,staging}, raxx-console-{prod,staging}, raxx-velvet-{prod,staging}, raxx-queue-prod) where 3 of those provisioned Standard-0 Postgres per the Raptor migration decision 2026-05-10.
⚠ Security finding: operator home address on Heroku billing record
The invoice's Billed to: block on Heroku's side lists the operator's
personal residential address (street + zip — redacted in this record per
feedback_never_publish_operator_home_address; verbatim text remains on Heroku's invoice email
in Gmail for audit purposes).
The same home street address the PII scanner just locked out of this repository (PR #3199 removed it from getraxx.com footer; PR #3201 dropped to "Pennsylvania, USA" only; PR #3202 landed the CI scanner). Heroku still has the home address stored on their side.
Operator action recommended: log into Heroku Dashboard → Account → Billing → Address →
update to the Northwest Registered Agent address (502 W 7th St, Ste 100, Erie, PA 16502-1333)
per feedback_never_publish_operator_home_address policy. Heroku displays this address on
every invoice; left as-is, the home address keeps appearing on financial records.
Where it lands in the chart of accounts
| Field | Value |
|---|---|
| Category | Internet & Hosting |
| Basis | docs/finance/vendor-conventions.md — "Heroku |
| Deductible | yes (ordinary and necessary business infrastructure cost) |
| Project allocation | Raxx product |
| Entity | MooseQuest LLC (invoice date post-formation 2026-05-21; see CPA question in main reconciliation re: pre/post-formation split for the billing period) |
| Schedule C line | 27a (Other expenses — Internet & Hosting) |
This categorization is consistent with every prior Heroku row in the ledger. No category drift. No re-derivation required.
Why the estimate was off by $31
The ~$185 session-memory estimate predated the Standard-0 Postgres provisioning on
2026-05-10 (per project_raptor_postgres_migration_decision). Standard-0 Postgres is
$50/month. Because this was provisioned mid-month, the May invoice reflects:
- ~21/31 days of Standard-0 Postgres at the Standard-0 daily rate (~$34 prorated for May)
plus whatever the prior Basic-tier Postgres charged for the first 9 days
The $31 delta is arithmetically plausible as a mid-month Standard-0 Postgres proration. Going forward, Heroku is a ~$200+/month line item, not a ~$185/month figure.
Going-forward note — FLAG_HEROKU_BILLING_COLLECTOR
The operator is enabling FLAG_HEROKU_BILLING_COLLECTOR=1 and FLAG_BILLING_THRESHOLD_ALERTS=1
on prod. Once active, the system will:
- Automatically pull Heroku invoices into the ledger pipeline.
- Alert when the monthly Heroku total crosses the threshold (operator to set the threshold value; suggest $200 as the new baseline, alerting at $250+ as an anomaly gate).
This means the June 2026 close should be the first month where Heroku spend is captured automatically and the bookkeeper doesn't carry an estimate into month-end.
Baseline to use from June 2026 forward: update the Subscriptions tab Heroku row from
~$185/mo (estimate) to $216.62/mo (May 2026 actual). The actual baseline may shift month
to month as dynos scale, but $216.62 is the first concrete data point post-Postgres-migration.
Candidate cuts (3)
These are observations only. No changes recommended without operator review. The bookkeeper does not authorize cost-cutting; this is a list of items worth Kristerpher eyeballing.
Cut candidate 1 — raxx-velvet-staging Standard-0 Postgres
If staging Velvet has not been actively used in 2+ weeks, a Standard-0 Postgres at $50/mo on the staging app is the largest single staging line item. Downgrading to a Basic Postgres ($9/mo) would save ~$41/mo ($492/yr). Before doing this: confirm that Velvet's staging DB can tolerate the Basic tier's connection count limits; Basic Postgres has a 20-connection cap that could cause test failures if Velvet staging runs any load tests.
Action needed: check heroku pg:info -a raxx-velvet-staging and confirm whether the
DB is idle or actively used. If idle, downgrade. If used, keep and remove this flag.
Cut candidate 2 — raxx-console-staging Standard-1X or higher dyno
If the staging console is only used for internal smoke tests, a Standard-1X dyno ($25/mo) is a meaningful cost when Basic ($7/mo) is sufficient for a low-traffic internal surface. Saving: ~$18/mo ($216/yr). Not urgent but worth checking dyno type.
Action needed: heroku ps -a raxx-console-staging — if Standard tier, evaluate
downgrade to Basic for the staging console.
Cut candidate 3 — Review add-ons for all staging apps
Papertrail (logging) and similar add-ons on staging apps often default to paid tiers when apps are created. If staging logging isn't actively monitored, stripping add-ons from staging saves incremental costs. Estimate: $5–$15/mo depending on what's attached.
Action needed: heroku addons -a <each-staging-app> — verify any paid-tier add-ons
on staging aren't being used and could be replaced with free tiers.
CPA review flag
Estimate→actual delta: +$31.62
This is below any materiality threshold for a Schedule C business expense, but it is documented here for the CPA's awareness. The cause is the mid-month Standard-0 Postgres provisioning (not a billing error, not a price increase). No further CPA action needed on the delta itself. The pre/post-formation split question (LLC formed 2026-05-21; Heroku invoice covers full month from May 01 – June 01) is the more material CPA item and is listed as CPA question #1 in the main reconciliation doc.
Drive filing
This delta memo should be uploaded to Drive at:
MooseQuest > Finance > Expenses > 2026 > 2026-05
Filename:
2026-05-31_Heroku_delta_memo.pdf
Drive upload is pending a Drive-MCP-enabled session (same blocker as the invoice PDF upload).