Custom plans (sales)¶
Enterprise deals rarely match a catalog tier. Use a custom plan plus a subscription.
Flow¶
- Negotiate flags and limits with the customer
POST /planswithkind: "custom"and the agreed grants- Create or select the subscriber
- Create a subscription to that custom plan
- Optional: overrides for time-boxed extras
{
"name": "Acme Enterprise 2026",
"kind": "custom",
"grants": [
{ "feature": "sso", "kind": "flag" },
{ "feature": "saml", "kind": "flag" },
{ "feature": "audit_log", "kind": "flag" },
{ "feature": "white_label", "kind": "flag" },
{ "feature": "csv_export", "kind": "flag" },
{ "feature": "seats", "kind": "limit", "limit": 250 }
]
}
Custom plan vs override¶
| Custom plan | Override | |
|---|---|---|
| Scope | Full package | One feature |
| Duration | Life of the deal | Often expires_at |
| Clarity | Named package sales can recognize | Surgical exception |
| Limits | Full entitled amount on the plan | Absolute replace for one key |
Rule of thumb: if sales would put it on the order form as a package → custom plan. If it’s “throw in SSO for 30 days” or “bump seats to 15 this quarter” → override.
Don’ts¶
- Don’t edit the shared Pro catalog plan for one logo
- Don’t encode the whole deal as twenty overrides
- Don’t skip creating a subscriber — checks always need
subscriber_id - Don’t treat overrides as “+N seats” — set the absolute entitled value