{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sanity",
    "name": "Sanity",
    "category": "developer-tools",
    "description": "Content infrastructure with organization billing and PDF invoices.",
    "status": "researched",
    "website": "https://www.sanity.io",
    "invoiceHelpUrl": "https://www.sanity.io/pricing",
    "accessMethods": [
      "vendor_portal",
      "email_forward",
      "manual_upload"
    ],
    "authentication": {
      "oauth": false,
      "apiToken": false,
      "browserSession": true,
      "requiredRole": "Organization administrator or billing manager."
    },
    "capabilities": {
      "accountDiscovery": {
        "supported": false,
        "notes": "No public workflow for discovering every account from billing data is documented."
      },
      "billingHistory": {
        "supported": true,
        "notes": "Billing records are documented at Manage → Organization → Billing."
      },
      "invoiceMetadata": {
        "supported": "unknown",
        "notes": "The public source does not specify a consistent invoice-metadata view."
      },
      "invoicePdf": {
        "supported": true,
        "notes": "The documented workflow provides PDF invoice."
      },
      "creditNotes": {
        "supported": "unknown",
        "notes": "Credit-note availability is not confirmed by the reviewed source."
      },
      "lineItems": {
        "supported": "unknown",
        "notes": "Line-item availability is not confirmed by the reviewed source."
      },
      "usage": {
        "supported": "unknown",
        "notes": "A usage export is not confirmed by the reviewed source."
      },
      "subscriptions": {
        "supported": "unknown",
        "notes": "Subscription detail is not confirmed by the reviewed source."
      },
      "paymentMethod": {
        "supported": "unknown",
        "notes": "Payment-method visibility is not confirmed by the reviewed source."
      }
    },
    "billing": {
      "cadence": [
        "plan-dependent"
      ],
      "invoiceLocation": "Manage → Organization → Billing",
      "emailedAutomatically": "unknown",
      "currencies": [],
      "documentTypes": [
        "invoice"
      ]
    },
    "billproof": {
      "retrieval": false,
      "normalization": true,
      "transactionMatching": true,
      "connectionAvailable": false,
      "limitations": [
        "Billproof does not currently have a direct Sanity billing connection.",
        "Retrieval requires an authorized user to download or forward the document."
      ]
    },
    "normalizedFields": [
      "vendor_name",
      "invoice_number",
      "invoice_date",
      "billing_period",
      "subtotal",
      "tax",
      "total",
      "currency",
      "payment_method",
      "account_id"
    ],
    "commonCardDescriptors": [],
    "researchedAt": "2026-10-16",
    "lastVerifiedAt": "2026-10-16",
    "sources": [
      {
        "title": "Sanity: official billing help",
        "url": "https://www.sanity.io/pricing",
        "type": "official"
      },
      {
        "title": "Costs reporting and billing distinction",
        "url": "https://www.sanity.io/docs/changelog/c334edef-d8c5-43e8-be5c-b0fd5dc4c2e3",
        "type": "official"
      }
    ],
    "guide": {
      "quickAnswer": "Select the organization in Manage and open Billing for invoice PDFs; use Open Customer Portal for recent records if needed.",
      "requiredRole": "Organization administrator or billing manager.",
      "steps": [
        "Open Sanity Manage and select the organization, not a project.",
        "Open Billing and find the previous invoice.",
        "Download its PDF; if recent invoices are missing, choose Open Customer Portal."
      ],
      "historyLocation": "Manage → Organization → Billing",
      "missingInvoice": "Check the organization billing role and customer portal before requesting a missing invoice.",
      "formats": [
        "PDF invoice"
      ],
      "commonProblems": [
        "The Costs view excludes some credits, discounts and adjustments, so it can differ from the final invoice."
      ],
      "matchingTips": [
        "Match the finalized PDF total and retain the organization's project allocation separately."
      ]
    },
    "statusLabel": "Billing guide available",
    "cta": "Request this integration",
    "manualGuide": "https://billproof.io/guides/find-sanity-invoices",
    "urls": {
      "html": "https://billproof.io/integrations/sanity",
      "json": "https://billproof.io/api/public/vendors/sanity.json",
      "capabilities": "https://billproof.io/api/public/vendors/sanity/capabilities.json"
    }
  }
}
