@agorio/plugin-procurement
v0.1.0
Published
B2B procurement plugin for Agorio SDK — PO# tracking, vendor management, and expense categorization for AI shopping agents
Maintainers
Readme
@agorio/plugin-procurement
B2B procurement tooling for Agorio AI shopping agents.
- PO# tracking — assign a purchase-order number to every cart, optionally gate
submit_paymenton its presence - Vendor management — resolve merchant domain → vendor record (payment terms, tax category, preferred-supplier flag)
- Expense categorization — tag carts with one of your configured expense categories
- Audit-friendly events — emits a
procurement_completedevent on successful checkout so the@agorio/plugin-audit-trailpicks up PO# + vendor + category for free
npm install @agorio/sdk @agorio/plugin-procurementimport { ShoppingAgent } from '@agorio/sdk';
import { createProcurementPlugin } from '@agorio/plugin-procurement';
const procurement = createProcurementPlugin({
vendors: [
{ id: 'acme', name: 'Acme Office Supplies', domain: 'acme.com', paymentTerms: 'NET-30', taxCategory: 'office', preferred: true },
{ id: 'staples', name: 'Staples', domain: 'staples.com', paymentTerms: 'NET-15', taxCategory: 'office' },
],
expenseCategories: ['office-supplies', 'it-equipment', 'furniture'],
poNumberPrefix: 'PO-2026',
poNumberStrategy: 'sequential',
requirePoOnCheckout: true,
});
const agent = new ShoppingAgent({ llm, plugins: [procurement] });Configuration
| Key | Type | Description |
| ---------------------- | -------------------------------------- | --- |
| vendors | VendorConfig[] | Known vendors, indexed by domain. |
| expenseCategories | string[] | Allowed values for categorize_expense. |
| poNumberPrefix | string | Optional prefix on generated PO numbers (default 'PO'). |
| poNumberStrategy | 'sequential' \| 'uuid' \| () => string | How to generate PO numbers (default 'sequential'). |
| requirePoOnCheckout | boolean | Block submit_payment if the current cart has no PO# (default false). |
Tools exposed to the LLM
assign_po_number—{ }→{ poNumber }lookup_vendor—{ domain }→{ vendor }(or{ error })categorize_expense—{ category }→{ assigned: true, category }
License
MIT — same as the rest of Agorio's plugins.
