{
  "product": "Specification (reference)",
  "title": "Subscription Billing",
  "summary": "Recurring charges, plan changes and the proration nobody gets right first time.",
  "category": "commerce",
  "entries": [
    {
      "path": [
        "AI",
        "Plans",
        "Plans with interval, price and currency"
      ],
      "value": "monthly, yearly",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Plans",
        "Tiered, per-seat and usage-based pricing"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Plans",
        "Trial period with or without a card"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Lifecycle",
        "Subscribe, pause, resume, cancel"
      ],
      "value": "",
      "status": "yes",
      "note": "cancel at period end or immediately"
    },
    {
      "path": [
        "AI",
        "Lifecycle",
        "Upgrade and downgrade mid-period"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Lifecycle",
        "Proration on plan change"
      ],
      "value": "",
      "status": "yes",
      "note": "credit for unused time, stated formula"
    },
    {
      "path": [
        "AI",
        "Billing",
        "Invoice generated per period with line items"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Billing",
        "Taxes applied by customer location"
      ],
      "value": "",
      "status": "yes",
      "note": "VAT/GST registration handled"
    },
    {
      "path": [
        "AI",
        "Billing",
        "Credits, refunds and partial refunds"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Dunning",
        "Retry schedule on failed payment"
      ],
      "value": "",
      "status": "yes",
      "note": "bounded, with backoff"
    },
    {
      "path": [
        "AI",
        "Dunning",
        "Customer notified before and after each attempt"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Dunning",
        "Grace period then downgrade or suspension"
      ],
      "value": "",
      "status": "yes",
      "note": "stated, not silent"
    },
    {
      "path": [
        "AI",
        "Metering",
        "Usage recorded and aggregated per period"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Metering",
        "Overage handling and caps"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Records",
        "Immutable invoice history"
      ],
      "value": "",
      "status": "yes",
      "note": "never rewritten after issue"
    },
    {
      "path": [
        "AI",
        "Records",
        "Revenue recognised per period, not per payment"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Portal",
        "Customer sees plan, next charge and payment method"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Portal",
        "Self-service upgrade, downgrade and cancel"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Portal",
        "Invoice download as PDF"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    }
  ]
}
