System Overview
Learn about the bizSupply platform, what it does, and how its plugin-based pipeline turns raw documents into structured, actionable data.
Learn about the bizSupply platform, what it does, and how its plugin-based pipeline turns raw documents into structured, actionable data.
What is bizSupply?
bizSupply is an intelligent document processing platform that helps organizations ingest, classify, extract, and aggregate information from unstructured documents at scale. Built on a plugin-based architecture with LLM-powered extraction, bizSupply turns raw documents into structured data accessible via a REST API.
Whether you are processing invoices, contracts, insurance claims, or any domain-specific document type, bizSupply provides the infrastructure to build end-to-end document processing pipelines without managing the underlying complexity.
Key Capabilities
- Multi-tenant architecture — isolated workspaces per organization with role-based access control and tenant-scoped data.
- Dynamic plugin system — extend the platform with custom Source, Classification, Extraction, and Benchmark plugins written in Python.
- Ontology-driven extraction — define exactly what data to extract using structured ontologies with typed fields and validation rules.
- Ontology Fabric — generate complete ontologies from a natural-language description using an LLM, with automatic quality scoring and optional human review.
- Purgatory quality gate — a score-based review system that auto-approves high-confidence LLM-generated entities and routes low-confidence ones to a human reviewer.
- External source integration — connect Gmail, Outlook (Microsoft 365), Google Drive, IMAP mailboxes, or custom APIs through configurable source plugins.
- In-product AI assistant (bizAssistant) — an LLM-backed streaming support chatbot built into the product. It answers product questions from the docs, reads your own documents, jobs, and sources through MCP tools, and escalates to a support ticket when it can't resolve an issue. Gated behind a feature flag for controlled rollout.
- LLM-powered processing — leverage Google Gemini and OpenAI for intelligent classification, field extraction, and data normalization.
- Secure credential management — store OAuth2, IMAP, and API-key credentials with encrypted-at-rest storage.
- REST API — full programmatic access to every platform capability, from pipeline creation to document retrieval.
- Real-time updates — monitor job progress and receive live status through Server-Sent Events (SSE).
How It Works
bizSupply processes documents through a multi-stage pipeline. Each stage is handled by a dedicated plugin type, giving you full control over every step of the workflow.
- Ingest — A Source plugin fetches documents from a connected system (Gmail, Outlook, Google Drive, an IMAP mailbox, a custom API, or direct upload). Documents are received as raw binary content with metadata.
- Store — The platform stores each document with a unique identifier, preserving the original file alongside metadata such as filename, MIME type, size, and ingestion timestamp.
- Classify — A Classification plugin analyzes the document and assigns a document type (e.g., "invoice", "purchase_order", "receipt"). Classification determines which extraction ontology to apply.
- Extract — An Extraction plugin processes the document against the matched ontology, pulling out structured fields such as vendor name, total amount, line items, and dates. LLM prompts are constructed dynamically from the ontology definition.
- Benchmark — A Benchmark plugin links related documents and scores them against your criteria — for example, connecting invoices to their parent contracts and comparing them against a target metric.
- Access — Processed documents and their extracted data are available through the REST API. Query by document ID, filter by type, search across fields, or export in bulk.
The Plugin System
Plugins are the building blocks of every bizSupply pipeline. Each plugin type handles a specific stage of document processing.
Plugins are built using the bizsupply-sdk package, which provides base classes, data models, and a CLI for scaffolding and validation:
pip install bizsupply-sdkbizSupply uses four types of plugins, each with a specific role:
| Plugin Type | Purpose | Example |
|---|---|---|
| Source | Ingest documents from external systems into bizSupply. | Fetch invoices from a Gmail inbox or pull files from Google Drive. |
| Classification | Analyze documents and assign labels. | Determine whether a PDF is an invoice, a contract, or a receipt. |
| Extraction | Pull structured data from documents based on an ontology. | Extract vendor name, invoice number, line items, and total amount. |
| Benchmark | Score documents and link related ones for comparison. | Link invoices to their parent contracts and compare prices against a target. |
Plugins execute in order: Source → Classification → Extraction → Benchmark
Core Concepts
Documents
A document is any file you process through bizSupply. Each document carries:
- Metadata — source information, dates, sender, and custom attributes.
- Labels — classification tags (e.g., "invoice", "receipt").
- Data — extracted structured fields (e.g., total, date, vendor).
- Files — the original file and its parsed text content.
Pipelines
A pipeline is a configured workflow that combines one or more plugins, one or more ontologies for extraction schemas, and optional source filters to process only specific sources.
Ontologies
An ontology defines your extraction schema — a hierarchical taxonomy of labels for classification, plus the fields to extract for each label.
Jobs
When you execute a pipeline, a job is created to track execution status, documents processed, results, and any errors.
Authentication
All API requests require a JWT Bearer token:
Authorization: Bearer <your_jwt_token>Tokens are obtained through OAuth2 login with Google or Microsoft. Programmatic clients can instead use an API key (see the MCP Server guide).
Architecture Principles
Multi-Tenancy
Every API request is scoped to a tenant. Documents, plugins, ontologies, pipelines, and credentials are fully isolated between tenants. A tenant represents an organization or workspace, and all resources are accessed through tenant-scoped API endpoints.
Plugin Isolation
Plugins execute in isolated environments with controlled access to platform services. Each plugin receives only the data it needs — a Source plugin gets credentials, a Classification plugin gets document content, and an Extraction plugin gets both content and ontology fields. Plugins cannot access other tenants' data or interfere with other plugin executions.
Scalability
bizSupply processes documents asynchronously through a job queue. Pipelines can handle thousands of documents in a single execution, with each document processed independently. The platform scales horizontally, and background tasks scale independently from request handling for cost efficiency. Jobs report progress in real time, and failed documents can be retried individually without reprocessing the entire batch.
API-First Design
Every capability in bizSupply is accessible through the REST API. The web interface, CLI tools, and MCP server all use the same API endpoints, so anything you can do in the UI can be automated programmatically. All API responses use consistent JSON structures with cursor-based pagination, filtering, and sorting support.
Next Steps
- Install the SDK →
pip install bizsupply-sdk - Learn core concepts → Key Concepts
- Build a plugin → Create a Plugin
- Process documents → Process Documents
- Define extraction schemas → Create an Ontology