{
  "schemaVersion": "1.0",
  "entityFamily": "sub-modules",
  "entityType": "DefinedTerm",
  "entityId": "sub-modules:150",
  "canonicalUrl": "https://babadook.tech/sub-modules/b2b-portal",
  "machineBaseUrl": "https://babadook.tech/ai/sub-modules/b2b-portal",
  "name": "B2B Portal",
  "aliases": [],
  "summary": "Your best reps are drowning in order status calls — let buyers serve themselves.",
  "description": [
    "The most expensive customer service is the kind that shouldn't exist: 'where's my order,' 'what's my price,' 'am I over my limit.' B2B Portal answers all three without a human — contract catalogs, ATP-backed dates, credit checks, and tracking on buyer self-service, with sales freed for selling instead of status updates."
  ],
  "sections": [
    {
      "id": "portal-order-lifecycle-30186666-bbeb-40dd-806d-cc720234b8f3",
      "heading": "Portal order lifecycle",
      "body": [
        "Each stage below moves a buyer from browsing to delivered without sales touching the order — unless the gates say otherwise."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: stages"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "browse-and-quote-1",
          "heading": "Browse and Quote",
          "body": [
            "Buyers see their catalog with contract prices, availability hints from ATP, and terms. Quotes lock pricing with expiry and convert cleanly to orders."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "approve-2",
          "heading": "Approve",
          "body": [
            "Account approval chains route orders above thresholds with credit checks enforced. Holds name the cause — limit, terms, or ATP — with release paths."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "fulfill-and-track-3",
          "heading": "Fulfill and Track",
          "body": [
            "Approved orders reserve stock, schedule fulfillment, and expose tracking with proof of delivery chained back. Invoices cite the order evidence throughout."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "30186666-bbeb-40dd-806d-cc720234b8f3"
    },
    {
      "id": "portal-guarantees-40c898c5-a4ac-4714-a6e9-7ff5540be046",
      "heading": "Portal guarantees",
      "body": [],
      "specifications": [
        {
          "label": "Terms honored",
          "value": "Contract prices and payment terms resolved per buyer per line",
          "group": "spec Items"
        },
        {
          "label": "Credit enforced",
          "value": "Limits checked pre-commit with holds naming the cause",
          "group": "spec Items"
        },
        {
          "label": "ATP admitted",
          "value": "Portal orders pass the same feasibility gates as direct sales",
          "group": "spec Items"
        },
        {
          "label": "section",
          "value": "capabilities",
          "group": "data View"
        }
      ],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "product_specification",
      "sourceBlockId": "40c898c5-a4ac-4714-a6e9-7ff5540be046"
    },
    {
      "id": "portal-by-buyer-type-6dc03739-dd8f-4e86-8413-ca23fac54453",
      "heading": "Portal by buyer type",
      "body": [
        "Self-service bends per buyer — same terms and gates, different ordering stakes."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "data-viz-1",
          "heading": "data Viz",
          "body": [],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: industries"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "distributors-1",
          "heading": "Distributors",
          "body": [
            "Volume tiers with contract pricing, blanket orders with scheduled releases, and credit facilities sized to throughput. Releases admit through ATP per shipment."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "contractors-and-trades-2",
          "heading": "Contractors and Trades",
          "body": [
            "Job-based ordering with cost-code allocation, approval chains per foreman, and delivery windows matched to site schedules."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "institutional-buyers-3",
          "heading": "Institutional Buyers",
          "body": [
            "Catalog-constrained purchasing with budget checks, multi-approver chains, and receiving workflows that close the loop to the original requisition."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "content_block",
      "sourceBlockId": "6dc03739-dd8f-4e86-8413-ca23fac54453"
    },
    {
      "id": "b2b-portal-questions-fb9b2e7e-7d04-4730-b228-2cc95ac619e0",
      "heading": "B2B Portal questions",
      "body": [],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [
        {
          "id": "section-1-1",
          "heading": "Section 1",
          "body": [
            "Can buyers see each other's pricing?",
            "No. Catalogs, prices, and terms resolve per authenticated buyer with tenant isolation enforced at the row level."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-2-2",
          "heading": "Section 2",
          "body": [
            "What happens over the credit limit?",
            "The order holds with the cause named and routes to the account authority. Partial approval and split fulfillment stay available where policy permits."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "section-3-3",
          "heading": "Section 3",
          "body": [
            "Won't self-service cannibalize our sales team?",
            "It cannibalizes their status-update workload, not their relationships. Reps graduate from order-takers to account growers with the portal handling the routine."
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        },
        {
          "id": "data-view-1",
          "heading": "data View",
          "body": [
            "section: faqs"
          ],
          "specifications": [],
          "relationships": [],
          "media": [],
          "children": [],
          "sourceBlockType": "unsupported"
        }
      ],
      "sourceBlockType": "faq_section",
      "sourceBlockId": "fb9b2e7e-7d04-4730-b228-2cc95ac619e0"
    },
    {
      "id": "content-section-5",
      "heading": "content section",
      "body": [
        "value: Each portal order carries the buyer, the terms, the credit decision, and the ATP verdict — self-service with the same discipline as assisted sales."
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": [],
      "sourceBlockType": "content_section"
    },
    {
      "id": "section-6",
      "heading": "Section 6",
      "body": [
        "Customer-specific catalogs with contract pricing"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-7",
      "heading": "Section 7",
      "body": [
        "Credit limits with hold and release workflows"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-8",
      "heading": "Section 8",
      "body": [
        "Order templates and approval chains per account"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-9",
      "heading": "Section 9",
      "body": [
        "Quotes that convert to orders without re-entry"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-10",
      "heading": "Section 10",
      "body": [
        "Delivery tracking with proof chained to the order"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    },
    {
      "id": "section-11",
      "heading": "Section 11",
      "body": [
        "Service items and subscriptions alongside goods"
      ],
      "specifications": [],
      "relationships": [],
      "media": [],
      "children": []
    }
  ],
  "specifications": [],
  "claims": [],
  "relationships": [
    {
      "type": "products",
      "targets": [
        {
          "id": "12",
          "family": "products",
          "name": "XRP",
          "slug": "xrp",
          "canonicalUrl": "https://babadook.tech/products/xrp",
          "relationship": "products"
        }
      ]
    },
    {
      "type": "modules",
      "targets": [
        {
          "id": "124",
          "family": "modules",
          "name": "CRM",
          "slug": "crm",
          "canonicalUrl": "https://babadook.tech/modules/crm",
          "relationship": "modules"
        }
      ]
    }
  ],
  "authors": [],
  "media": [],
  "regulatoryContext": {
    "exportControlAndLicensingReviewRequired": false
  },
  "language": "en",
  "receipt": {
    "sourceBlockCount": 25,
    "projectedBlockCount": 25,
    "sourceValueCount": 36,
    "projectedValueCount": 42,
    "sourceRelationshipCount": 2,
    "projectedRelationshipCount": 2,
    "sourceClaimCount": 0,
    "projectedClaimCount": 0,
    "unknownBlockTypes": [],
    "omittedFields": [],
    "missingValuePaths": [],
    "invalidClaims": [],
    "complete": true
  },
  "contentHash": "4bed0c4579d984b626643014e4b9a86bab01d6eb06717517dedfedcd3cedb05c"
}