Bootstrapwarebootstrapware

Bootstrapware RFQ

Add RFQs to your SaaS. Compare quotes. Keep your workflow.

Embed requests for quote for goods, services, or both. Your server names the buyer and the invited suppliers. Choose BYO storage at $9.99 or Hosted records at $19.99. Free for local and test. No seat charge.

Free local · BYO $9.99 / mo · Hosted $19.99 / mo. Workspace pricing. No seat charge.

RFQ comparison of three supplier quotes for branded boxes, including a partial offer and an alternative material.

Try it

Same widget. Local data only.

This is the real @bootstrapware/rfq package with createLocalAdapter. The goods seed is 200 branded boxes plus inserts from three synthetic suppliers. Persona switching is a demo simulation. Nothing is sent to Bootstrapware.

Persona switching is a demo simulation, not authentication. 200 branded boxes and inserts. Local adapter only.

Loading the seeded request…

How it works

Create. Invite. Compare. Record intent.

Requester surface for the closed goods request of 200 branded boxes and inserts.

01

Requester

Draft lines, invite host-owned suppliers, publish, and close. Invitations are access grants. No email is sent.

North Pack supplier surface showing the goods invitation and submitted quote note.

02

Supplier

Open the invitation, price or no-bid each line, attach a host file reference, and submit a revision.

Comparison matrix of three supplier quotes, including a partial offer and an alternative material.

03

Comparison

Align quotes on stable line ids. Partial and alternative offers stay labeled. Selection is intent only.

Where the records live

Config is hosted. Transaction bodies depend on the mode.

BYO keeps RFQ records on your backend. Hosted stores structured workflow state on Bootstrapware. Attachment bytes stay on the host. MCP never receives titles, quotes, or files.
Dark host theme of the RFQ comparison for 200 branded boxes and inserts.

BYO / local

  • RFQ records stay on your systems, or in this browser for local mode
  • You implement the RfqAdapter contract
  • We host published app configuration only
  • Live config fetch needs BYO or Hosted

Hosted ($19.99)

  • Structured RFQ, quote, clarification, and decision records stored on Bootstrapware
  • Attachment bytes stay on the host. References are scoped metadata
  • Cancel: freeze writes, export 30 days, then delete Hosted rows
  • Hosted to BYO keeps the rows and does not start that clock

Capabilities

The quote workflow, already built.

Goods and services in one request

A line can be goods (quantity, unit, specification, lead time) or a service (deliverables, hours or a fixed project, assumptions). There is no automatic quality score and no implied cheapest-offer winner.

Three surfaces, one adapter

RfqRequester, RfqSupplier, and RfqComparison share scope, actor, and adapter. Local, BYO, and Hosted use the same RfqAdapter contract.

Private supplier work

A supplier sees their drafts, submissions, and private clarification. They do not see other suppliers, bid counts, prices, shortlist, or buyer notes.

Comparison without a fake total

The matrix shows coverage, known amount, lead time, and partial or alternative offers. Missing data is not zero. Selection needs acknowledgment when the offer is not equivalent.

Selection is intent

Recording a selection does not create a purchase order, contract, or payment. Your host callbacks do the next step.

Files stay on the host

Both paid modes persist opaque attachment references. Bootstrapware does not fetch arbitrary URLs or store file bytes.

Full feature reference

Install

One package. Three typed surfaces.

Publishable keys may appear in the browser. Secret keys stay on the server that mints the author token. Install with pnpm add @bootstrapware/rfq.
pnpm add @bootstrapware/rfq
"use client";

import { RfqRequester, createLocalAdapter } from "@bootstrapware/rfq";
import "@bootstrapware/rfq/styles.css";

<RfqRequester
  scope={{ appId: "rqa_local", tenantKey: workspace.id }}
  actor={{ id: session.user.id, permissions: ["buyer_read", "buyer_edit"] }}
  adapter={createLocalAdapter({ storageKey: "demo-rfq" })}
/>

FAQ

Does Bootstrapware log my buyers or suppliers in?

No. Your server reads its session, checks buyer or supplier membership, and mints an author token. RFQ does not run a separate end-user login.

What is the difference between BYO and Hosted?

BYO ($9.99) hosts app config only. RFQs, quotes, clarifications, and decisions stay on your backend. Hosted ($19.99) stores that structured workflow state on Bootstrapware. Attachment bytes stay on the host in both paid modes. Local adapters stay free.

Does selecting a quote create an order?

No. Selection records intent. It does not legally accept a contract, generate a purchase order, or move money.

Is this a supplier marketplace?

No. You already have supplier identities. RFQ publishes a request to host-selected suppliers. There is no discovery marketplace, KYC, escrow, or commission.

Do you send invitation email?

No. Publishing grants access on the record. Your app sends messages if you want them. The widget distinguishes access granted from email delivered.

Will an AI coding agent be able to integrate this?

Yes. One package, typed surfaces, AGENTS.md, and MCP tools that configure apps only. MCP never receives titles, quotes, prices, supplier lists, or file bytes.

Add RFQs without building a procurement platform.

Add RFQs to your SaaS · Bootstrapware