What the stock count reconciler costs
This is the post with the numbers. The stock count reconciler costs about $2.20 a month to run at typical small-business volume — around 2,000 SKUs counted each month, of which only a few percent come back as variances worth a model call. Here is exactly where those dollars go, why the reconciliation itself is essentially free, what scales with volume and what stays flat, and what the bill looks like at ten times the count size. The short version: the arithmetic costs nothing, the cause suggestion is a fraction of a cent per gap, and the biggest single line is a Secrets Manager secret.
Key takeaways
- About $2.20/month at typical SMB volume — around 2,000 SKUs counted, of which a few percent are variances.
- The single biggest line is one Secrets Manager secret at $0.40/month. The reconciliation itself is free.
- Bedrock costs track variances, not SKUs — only material gaps get a cause call.
- No always-on compute, no NAT Gateway, no API Gateway. Fixed cost is essentially the one secret.
- At ten times the volume — around 20,000 SKUs a month — the bill lands around $13.
The bill at SMB volume
Take a realistic small business: around 2,000 SKUs counted across the month, in a handful of sessions. Say 6% of counted lines come back as variances and clear the materiality tolerance — about 120 material gaps that each earn one Bedrock call. Here’s where the $2.20 goes.
| Component | What it does at this volume | ~ Monthly |
|---|---|---|
| Secrets Manager | One secret (the system-of-record sync credential) | $0.40 |
| Bedrock (Haiku 4.5) | ~120 cause calls + one monthly summary | $0.85 |
| Lambda | capture, variance, cause, approve, sweeps — all short, arm64 | $0.25 |
| DynamoDB (on-demand) | stkr-inventory, stkr-counts, stkr-adjustments | $0.15 |
| SES | Manager notifications + monthly summary email | $0.05 |
| S3 | Uploaded count sheets and scanner exports | $0.05 |
| SQS + DLQ, EventBridge, CloudWatch, Budgets | Queue, events + Scheduler, 7-day logs, the budget alarm | $0.45 |
| Total | ~$2.20 |
Where the dollars actually go
Secrets Manager (the biggest fixed line). One secret holds the credential the sync uses to read your system of record. At $0.40 a month it is, oddly, the largest single item on the bill at SMB volume — which tells you how little everything else costs.
Bedrock (the variable line). One Haiku 4.5 call per material variance turns a small evidence bundle into a likely cause: a few hundred input tokens, a sentence out, a fraction of a cent each. At ~120 variances that’s well under a dollar. The monthly summary adds one larger call — a narrative of what was caught and the split of causes — for a couple of cents. Crucially, this line tracks variances, not SKUs: count 2,000 clean lines and the model never fires.
Lambda. The capture, variance, cause, approve, and sweep functions are all short and arm64. The variance engine — the one that does the actual reconciling — is the cheapest of the lot: it reads a few rows, does arithmetic, writes an outcome. Well under a dollar at this volume.
DynamoDB on-demand. Three small tables. A read per counted line, a write per variance, a write per adjustment, plus the audit rows. Pennies a month.
S3, SES, and the plumbing. Count sheets and scanner exports are tiny; a few hundred MB is effectively free. SES is $0.10 per thousand messages, so the manager notifications cost cents. SQS with its dead-letter queue, EventBridge events and Scheduler, 7-day CloudWatch Logs, and the AWS Budgets alarm round out the last bucket — all negligible at this scale.
What doesn’t cost money
- API Gateway. Replaced by Lambda Function URLs for the approve/reject buttons.
- NAT Gateway. Nothing is in a VPC. No NAT, no $32/month minimum.
- Always-on compute. No EC2, no Fargate. Everything is event- or schedule-driven.
- A Knowledge Base. Inventory and counts are structured rows — deterministic lookup beats vector search here. No embeddings, no Knowledge Base.
- Models on the maths. The variance arithmetic is plain Python. Bedrock fires only to suggest a cause and to write the monthly summary.
How the cost scales
The only line that really grows is Bedrock, and it grows with variances rather than SKUs. Count ten times as much — 20,000 SKUs — and if the variance rate holds you get ~1,200 cause calls, which is why the bill lands around $13 rather than at twenty-some dollars: the fixed secret, the Lambdas, and the storage barely move. A business with a high variance rate pays a little more (more gaps to explain); one with tidy stock and a sensible tolerance pays less. Either way the reconciliation itself never becomes the cost.
Set an AWS Budgets alarm at $20/month so anything unusual pages you before the bill matters. The reconciler’s normal-volume cost stays well under that ceiling — and a single piece of shrinkage caught and dated, instead of written off six months later, usually pays for a year of running it.
All posts