{
  "slug": "stripe-subscriptions-api-supports-invoice-description-footer-and-custom-fields-2d0601f4f03d",
  "title": "Stripe Subscriptions API supports invoice description, footer, and custom_fields",
  "tools": [
    "stripe"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-06-24T00:00:00.000Z",
  "announced_at": "2026-06-24T00:00:00.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When setting details on subscription-generated invoices, set `invoice_settings.description`, `invoice_settings.footer`, and `invoice_settings.custom_fields` when creating or updating a Subscription; retrieve the Subscription to read them.",
    "examples": [
      "curl https://api.stripe.com/v1/subscriptions \\\n  -u \"<YOUR_SECRET_KEY>\" \\\n  -H \"Stripe-Version: 2026-06-24.dahlia\" \\\n  -d \"customer=<CUSTOMER_ID>\" \\\n  -d \"items[0][price]=<PRICE_ID>\" \\\n  -d \"invoice_settings[description]=<DESCRIPTION>\" \\\n  -d \"invoice_settings[footer]=<FOOTER>\" \\\n  -d \"invoice_settings[custom_fields][0][name]=<FIELD_NAME>\" \\\n  -d \"invoice_settings[custom_fields][0][value]=<FIELD_VALUE>\"",
      "curl https://api.stripe.com/v1/subscriptions/<SUBSCRIPTION_ID> \\\n  -u \"<YOUR_SECRET_KEY>\" \\\n  -H \"Stripe-Version: 2026-06-24.dahlia\" \\\n  -d \"invoice_settings[description]=<DESCRIPTION>\" \\\n  -d \"invoice_settings[footer]=<FOOTER>\" \\\n  -d \"invoice_settings[custom_fields][0][name]=<FIELD_NAME>\" \\\n  -d \"invoice_settings[custom_fields][0][value]=<FIELD_VALUE>\"",
      "curl https://api.stripe.com/v1/subscriptions/<SUBSCRIPTION_ID> \\\n  -u \"<YOUR_SECRET_KEY>\" \\\n  -H \"Stripe-Version: 2026-06-24.dahlia\""
    ],
    "gotchas": [
      "invoice_settings: Optional settings applied to all invoices for the subscription.",
      "invoice_settings.description: Added as a Subscription invoice_settings parameter; the reference details were not available in the opened documentation.",
      "invoice_settings.footer: Added as a Subscription invoice_settings parameter; the reference details were not available in the opened documentation.",
      "invoice_settings.custom_fields: Added as a Subscription invoice_settings parameter; the reference details were not available in the opened documentation."
    ]
  },
  "why_it_matters": "Set invoice details for every invoice generated by a subscription when implementing or maintaining subscription billing.",
  "before": "These fields were configurable exclusively in the Stripe Dashboard.",
  "sources": [
    "https://docs.stripe.com/changelog/dahlia/2026-06-24/invoice-description-footer-and-custom-fields",
    "https://docs.stripe.com/api/subscriptions/create?api-version=2026-06-24.dahlia",
    "https://docs.stripe.com/api/subscriptions/update?api-version=2026-06-24.dahlia",
    "https://docs.stripe.com/api/subscriptions/retrieve?api-version=2026-06-24.dahlia"
  ],
  "rank": 0.99031,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1b-tools-20261017",
    "verdict_id": "wave1b-tools-20261017:wave1b-tools-20261017-e92c987de8cd6719-0:gate",
    "evidence_hash": "605961be3c063425f45a1dfd6a026e5918cd0c88c37c5c07d737489b685f8c12"
  },
  "review": {
    "draft_hash": "c4f19391a3cfe6ee8a7c9f5469fd475fcf2f51e63db6e71a61b5ac526f2717ae",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1b-tools-20261017:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.99 >= 0.9; 2 needed) and Jev gave 0.73 (>= 0.6 needed)."
  }
}
