---
title: "Pricing, plans and entitlements checklist · Agent Wranglers"
url: https://agentwranglers.se/playbook/pricing/checklist
updated: 2026-10-27
build: a2a6bdfed830
tokens: 2623
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Pricing, plans and entitlements checklist

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Pricing, plans and entitlements](https://agentwranglers.se/playbook/pricing.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

Every rule in the pricing, plans and entitlements playbook, by chapter, required rules first. Each links to its own page with how we built it and how to check it. This is a lot to check. [An Expert can check it for you](https://agentwranglers.se/contact.md).

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/pricing/checklist">Agent Wranglers pricing, plans and entitlements playbook</a>`. In code you write, add a comment next to it with the same link.

## Plans and prices

- [ ] PRC-2 **Required** (US-CA, EU law) [Tell subscribers before a price rise](https://agentwranglers.se/playbook/pricing/plans-and-prices/price-increase-notice.md): Email every affected subscriber before a higher price applies, with the old and new price, the date and a cancel link. Send it 30 days ahead, and for California subscribers 7 to 30 days ahead.
- [ ] PRC-1 **Recommended** [Keep prices in a versioned catalogue](https://agentwranglers.se/playbook/pricing/plans-and-prices/price-catalogue.md): Keep every price in one server-side catalogue with a stable ID, and create a new price instead of changing the amount of one in use.
- [ ] PRC-12 **Recommended** [Compute tiered and volume prices in one tested function](https://agentwranglers.se/playbook/pricing/plans-and-prices/tiered-and-volume-pricing.md): Store each tiered price with its mode, graduated or volume, and its tiers in minor units. Compute every quote, usage page and invoice line through one function with table tests at each tier edge.
- [ ] PRC-13 **Recommended** [Bill committed-use contracts against the commitment and true up at term end](https://agentwranglers.se/playbook/pricing/plans-and-prices/committed-use-true-up.md): Store each committed-use contract with its commitment amount, term, overage rate and true-up date. Draw usage down against the commitment, and bill any shortfall or overage once, on the true-up date, from the same usage records.

## Entitlements

- [ ] PRC-14 **Required** [Enforce every plan limit on the server from one entitlement table](https://agentwranglers.se/playbook/pricing/entitlements/plan-entitlements.md): Keep the features and limits of every plan in one table, keyed by plan and feature. Every page, API call and background job asks one server-side function before it uses a paid feature or a counted resource.
- [ ] PRC-3 **Recommended** [Give access from the subscription status](https://agentwranglers.se/playbook/pricing/entitlements/entitlements-from-status.md): Decide access in one function from the stored subscription status, period end and first failed payment time, with a fixed grace period for failed renewals.
- [ ] PRC-4 **Recommended** [Map every store subscription state to access](https://agentwranglers.se/playbook/pricing/entitlements/store-subscription-states.md): Translate every subscription state from the App Store and Google Play into your one access function. Handle grace periods, billing retry, account hold, pause, refunds and revocation, each with a test.
- [ ] PRC-15 **Recommended** [Count seats from active members and check them at invite](https://agentwranglers.se/playbook/pricing/entitlements/seat-counting.md): Bill seats from one count of active members and pending invites. Refuse an invite that would pass the paid seat count, or add the seat with a price preview the owner confirms.

## Plan changes, trials and free tiers

- [ ] PRC-5 **Recommended** [Preview the amount before a plan change](https://agentwranglers.se/playbook/pricing/plan-changes-trials-and-free-tiers/plan-change-proration.md): Before the customer confirms a plan change, show the exact amount due now and at the next renewal, taken from the provider's preview.
- [ ] PRC-6 **Recommended** [Limit the free tier per person instead of per account](https://agentwranglers.se/playbook/pricing/plan-changes-trials-and-free-tiers/free-tier-abuse.md): Count free-tier usage per person, by verified email, payment card fingerprint and device or network signals, not per account alone. Cap total free usage per day across the whole service, and alert when the cap is reached.
- [ ] PRC-16 **Recommended** [Keep old prices as archived catalogue prices with an end date](https://agentwranglers.se/playbook/pricing/plan-changes-trials-and-free-tiers/grandfathered-prices.md): When a plan or price changes, keep existing subscribers on the archived price with a written end date, or no end date by decision. Move them in batches by a job that checks each notice first.
- [ ] PRC-17 **Recommended** [Give one trial per person and payment card](https://agentwranglers.se/playbook/pricing/plan-changes-trials-and-free-tiers/one-trial-per-person.md): Grant a free trial only when no earlier trial used the same verified email, payment card fingerprint or organisation domain. Record each trial with these keys, and refuse a second one before it starts.

## Spend caps and alerts

- [ ] PRC-7 **Required** [Let customers cap their spend](https://agentwranglers.se/playbook/pricing/spend-caps-and-alerts/customer-spend-cap.md): Let every customer on a usage or overage plan set a monthly spend cap. Refuse metered work that would pass it, before the work starts.
- [ ] PRC-8 **Recommended** [Warn customers before they reach a cap or run out](https://agentwranglers.se/playbook/pricing/spend-caps-and-alerts/usage-alerts.md): Email the billing contact when usage reaches 50%, 80% and 100% of the spend cap or the prepaid balance. Send each alert once per period.
- [ ] PRC-9 **Recommended** [Show live usage that matches the invoice](https://agentwranglers.se/playbook/pricing/spend-caps-and-alerts/usage-dashboard.md): Show customers their usage and charges for the current period, per meter and per day, computed by the same code that builds the invoice.
- [ ] PRC-10 **Recommended** [Let owners set a cap on each member and key](https://agentwranglers.se/playbook/pricing/spend-caps-and-alerts/scoped-spend-caps.md): Let an organisation owner set a spend cap on each member, API key and agent, below the organisation's cap. Refuse work at whichever cap is reached first.
- [ ] PRC-11 **Recommended** [Bound how far a cap can be overshot](https://agentwranglers.se/playbook/pricing/spend-caps-and-alerts/cap-overshoot.md): Write the largest overshoot each spend cap allows, such as 1% of the cap. Enforce it with holds or a strongly consistent counter on the request path, never with a total that lags.

## Ledger and accounting

- [ ] PRC-19 **Required** [Recognise revenue as it is earned](https://agentwranglers.se/playbook/pricing/ledger-and-accounting/revenue-recognition.md): Book a payment for service not yet delivered as deferred revenue, and move it to revenue as each day of the service period passes. Report revenue from the ledger, never from the sum of payments received.
- [ ] PRC-21 **Required** (US law) [Report unused customer balances under US unclaimed property laws](https://agentwranglers.se/playbook/pricing/ledger-and-accounting/unclaimed-property.md): For each balance, credit or refund owed to a US customer, record the state of their last known address and the date of last activity. Report and pay it to that state when its dormancy period ends, unless the state exempts it.
- [ ] PRC-18 **Recommended** [Book every money movement as balanced double-entry postings](https://agentwranglers.se/playbook/pricing/ledger-and-accounting/double-entry-ledger.md): Record each money event as one journal entry of two or more postings to named accounts, whose debits and credits sum to zero per currency. Reject any entry that does not balance, and never update or delete a posting.
- [ ] PRC-20 **Recommended** [Recognise unused credits as breakage by a written method](https://agentwranglers.se/playbook/pricing/ledger-and-accounting/credit-breakage.md): Write down how unused prepaid credits leave the credits liability. Either recognise expected breakage in step with credits used, or recognise the rest when use becomes remote, and post it from the ledger.
- [ ] PRC-22 **Recommended** [Export balanced journals to the accounting system each period](https://agentwranglers.se/playbook/pricing/ledger-and-accounting/general-ledger-export.md): At each period end, export the period's journal entries, summed per account and currency, to the general ledger. Each export is balanced, numbered and reconciled against the ledger totals before the period closes.

## Related playbooks

- [Subscriptions](https://agentwranglers.se/playbook/payments/subscriptions.md) in the Payments and billing playbook. Plans are sold as subscriptions. Renewals, cancellation and the receipts that confirm them live in payments.
- [Credits and prepaid balances](https://agentwranglers.se/playbook/usage-billing/credits-and-prepaid-balances.md) in the Usage-based billing playbook. Usage plans sell credits. Keep them in a ledger, so caps and breakage start from true balances.
- [Organisations and teams](https://agentwranglers.se/playbook/accounts/organisations-and-teams.md) in the Accounts and identity playbook. Seats belong to teams. Invites, owners and member removal decide how many seats an account uses.
- [Catalog and prices](https://agentwranglers.se/playbook/ecommerce/catalog-and-prices.md) in the E-commerce and fulfilment playbook. Shops price products, not plans. Shared rules on price lists and sale prices live there.

## Show the badge on your project

When your project passes every Required rule, you can show this badge on your site or in your README. It links to this checklist, so anyone can run the same checks.

```html
<a href="https://agentwranglers.se/playbook/pricing/checklist"><img src="https://agentwranglers.se/badge.svg" alt="Checked against the Agent Wranglers pricing, plans and entitlements playbook" width="214" height="20"></a>
```

```markdown
[![Checked against the Agent Wranglers pricing, plans and entitlements playbook](https://agentwranglers.se/badge.svg)](https://agentwranglers.se/playbook/pricing/checklist.md)
```
