Reseller purchase orders and quote requests: how it works
1. What it is
Two features that work together:
- Quote requests bring buyers to resellers. A buyer who cannot pay by card asks one of our resellers for a
purchase-order quote, either from inside SAMS or, with no account, from the public quote page that the product sites
link to. The reseller follows up and quotes on their own paper.
- Purchase-order billing is how the reseller then sells. The reseller raises a PO to us, we switch their customer on
straight away, and we bill the reseller, not the customer, for our share of a 12-month term, quarterly in advance on
net 30.
Purchase orders sit beside the card path resellers already had:
- Card: the customer pays us by card through Stripe; list price; the reseller's share is 30% of each payment, sent to
them by Stripe; the customer gets access when the card payment clears; the plan's cadence, charged automatically;
needs Stripe Connect.
- Purchase order: the reseller pays us by invoice; list price less the reseller's discount code if they have one; the
reseller keeps 30% by paying us only our 70%; the customer gets access immediately; 12-month term, four quarterly
invoices; no Stripe Connect needed.
Purchase orders matter because government and enterprise buyers often cannot pay by card, and the reseller is the one
holding the procurement relationship.
2. The money, worked through
One customer, one annual content package, a $500 discount code:
- Annual list price: $1,500
- Reseller's discount code: -$500
- Net annual price (what the reseller builds their own quote around): $1,000
- We invoice the reseller, 70%: $700 a year, $175 a quarter
- The reseller keeps, 30%: $300 a year, $75 a quarter
Rules that always hold:
- The discount comes off once, before the 70/30 split.
- The net price is frozen for the term, even if the code expires partway through.
- The four quarters sum exactly to the annual figure; any odd cent goes to a quarter, never lost to rounding.
- The full year is owed even if the customer leaves partway through.
- Only Stripe or our finance team can mark a quarter paid. A reseller never can.
- A late reseller never costs their customer access. A reseller who defaults is a collections matter; the remedy is to
move the customer to billing us directly.
- A quote request carries no price. Pricing happens only when the reseller orders.
3. Who does what
- Buyer: requests a quote (in app or public page), approves handover if they have an account.
- Reseller: follows up, quotes on own paper, places the PO order in their portal, pays quarterly invoices, renews each
year with a new PO.
- SAMS: routes the request, hands over or sets up the client, prices the order, activates the customer, issues
quarters, tracks payment, ends access if not renewed.
- Stripe: sends invoices to the reseller, reports paid, void, refunded.
- MoxyWolf finance: sets discount codes, records check and wire payments.
4. Quote requests
4.1 Where a buyer asks
In SAMS: Request a quote beside the purchase button on a paid plan card, and in the Marketplace's subscribe dialog. For
an owner or admin of an organization that buys directly from us (not one a reseller already manages). Shown when the
plan's purchase button is live, so never beside a plan the organization already pays for by card. The buyer is
identified by their sign-in.
Public quote page: sams.opencontrols.ai/quote, linked as "Paying by purchase order? Request a quote" from every paid
plan on stigviewer.com: /pricing, /upgrade, /features, the sign-up modal and Plan Details. Anyone can ask, no account
needed. Shown when the plan is paid and not a trial. The buyer confirms their email from a link we send.
The buyer chooses the reseller, the plan, and gives contact name, email, organization, and optionally phone, quantity,
timeframe and notes. A free plan or the STIGViewer trial needs no quote and is never offered one.
How it ends when won: handover (the buyer's existing organization becomes the reseller's managed customer) for in-app
requests, or set up as client (the reseller creates a new managed customer from the request) for public ones.
4.2 Which resellers are offered
Every reseller organization that has accepted the Partner Agreement and has at least one owner or admin (they are the
ones emailed and able to act), for every product, listed by name in alphabetical order. A published partner listing's
display name is used where there is one.
Price agreements are no longer a condition: they are optional discount codes. Stripe Connect is not a condition either.
As of Nov 10, 2026, five resellers are offered for quotes: MoxyWolf, OceanWolf LLC, Open Controls, SECRED KNOWLEDGE INC.
and Strike Graph.
4.3 In SAMS: request, handover, and card plans moving to the reseller
1. The buyer requests a quote. The reseller's owners and admins are emailed and the request appears on their portal's
Quote requests page. The buyer gets a confirmation at their account email. While open, the buyer can withdraw it
from the plan card.
2. If the reseller wins, they send a handover link (good for 14 days) to the buyer organization's owners. Only an owner
(not an admin) can approve, because it changes who controls purchasing. An expired link returns the request to open
so the reseller can send another. If the buyer declines, nothing changes.
3. On approval, the organization becomes reseller-owned. Users, data and settings stay. The buyer's other open requests
are closed. The request shows Converted in the portal with Place order, which opens the cart on that customer with
the quoted plan added.
4. Card plans the buyer pays us for move to the reseller at renewal: they are set not to renew, the buyer keeps the
period already paid for, and the card is never charged again. When the period ends the subscription is detached
rather than cancelled, and access and tokens carry on for 30 days while the reseller places the PO that takes it
over. No order in those 30 days and access ends, and the reseller is told. A card plan the buyer had already
cancelled is not moved. A failing card payment, or a checkout half done, blocks approval until the buyer sorts it
out.
4.4 Public page: request, email confirmation, set up as client
1. The visitor fills in the /quote form and passes the check. The request is held as Unverified and a confirm link is
emailed (good for 48 hours).
2. Nothing reaches a reseller until the buyer confirms their email. The link opens a page with a Confirm button, and
only the button confirms.
3. Once confirmed, the request is Open: the reseller is emailed and the buyer gets a confirmation.
4. If the reseller wins, Set up as client opens New Client with the organization name, admin name and admin email
filled in. Creating the client links the request and marks it Converted in one step, then adds the quoted plan to
the new client's cart.
5. Limits: 5 requests a day per IP address and 3 per email address. Asking again for the same email, plan and reseller
replaces an unconfirmed request. A duplicate of an open request gets the same "check your email" answer, so the form
cannot reveal who has asked.
A visitor who is already signed in to SAMS is told that asking from their organization's plans page instead lets the
reseller take over their existing organization.
4.5 Request statuses
- Unverified: Public page only: sent but the email not yet confirmed. Never shown to a reseller.
- Open: With the reseller. One open request per plan per reseller per buyer.
- Handover sent: In-app only: the link is out and the buyer's owners can approve or decline.
- Converted: Won: handed over (in app) or set up as a client (public). Shows Place order.
- Closed: Closed by the reseller, with an optional note. The buyer is not notified.
- Withdrawn: Withdrawn by the buyer, or an unconfirmed public request that was replaced.
In-app requests are limited to 10 a day per user.
5. The life of an order
5.1 Placing it
From the reseller portal:
- + New Client to create the customer and order in one go, or
- New Order (on the dashboard, Clients list, Orders page and each client's page) for a customer the reseller already
manages, or
- Place order on a converted quote request, or Set up as client for a public one, which open the cart on that customer
with the quoted plan added.
The reseller adds the product, enters the customer owner's name and email, then under "Or bill by purchase order" enters
their PO number and, optionally, a discount code, and clicks "Provision now and invoice me". Viewers see the orders but
cannot place them.
SAMS then:
1. Checks the reseller may order this way: purchase-order billing is switched on, the reseller has accepted the Partner
Agreement, and there is an owner or admin email to send invoices to. Stripe Connect is not required for a purchase
order. Card checkout in the portal still shows "complete Stripe onboarding", and commission payouts still need
Connect.
2. Checks the customer is not already subscribed, and is not still on a card subscription that has not ended (even one
set to cancel). A card plan moving to this reseller after a handover can be ordered once its card period has ended;
until then the cart says from which date.
3. Prices the order. A discount code that does not validate holds the order, with nothing provisioned and nothing
invoiced. It never quietly falls back to list price, because the reseller has already quoted their customer the
discounted figure.
4. Schedules four quarters and invoices quarter 1 at once through Stripe.
5. Switches the customer on and sends the customer owner their invitation. For a moving card plan, the purchase order
takes over the existing subscription.
Two people submitting the same order, a double click, or a retry, bills once: each order is claimed before anything
reaches Stripe.
5.2 Each quarter
- Scheduled: Not invoiced yet. It goes out the day its quarter starts.
- Invoiced: Sent to the reseller, waiting for payment.
- Paid: Paid through Stripe, or recorded by finance for a check or wire.
- Overdue: Past its due date unpaid. The reseller's owners and admins, and our platform admins, are emailed once. The
customer shows as Past Due in the reseller's portal but keeps access.
- Uncollectible: Marked uncollectible in Stripe. Still owed and still overdue, but no more reminders. A later payment
still settles it.
- Void: No longer owed: finance voided the invoice in Stripe, or refunded it in full. Never re-billed. Shown as
Waived.
A partial refund changes nothing in SAMS and is left to finance.
5.3 Paying
- Through Stripe: the reseller pays from the invoice email's link. Stripe tells SAMS, and the quarter shows Paid with
Stripe's own payment time.
- By check or wire: finance records it in Admin > Partner Receivables with the check number or wire reference once the
money is matched in the bank. SAMS stores who recorded it and the reference, and marks the Stripe invoice paid out
of band so Stripe stops reminding the reseller and it cannot be paid twice.
5.4 End of term and renewal
A purchase order commits funds for one term, so nothing renews by itself.
- 60 days before the end, Renew appears on the order. 30 days before, a reminder email goes out.
- A renewal is a new order backed by a new PO, placed from the order's Renew button. It starts the day the old term
ends, keeps the customer's existing subscription, and is priced at today's list, less a discount code only if it is
valid today. Nothing is invoiced until the new term starts; renewed during grace, its first quarter goes out at
once. An order renews only once.
- If not renewed by term end, there is a 30-day grace period with access continuing. If still not renewed in grace,
access ends and the reseller is told.
- Ending access is not a billing event. Quarters still unpaid when access ends remain owed, and a reseller who renewed
but pays late does not cost their customer access.
6. The screens
For buyers:
- Plan cards and the Marketplace subscribe dialog (in SAMS): Request a quote, the request form, and the buyer's open
requests with Withdraw.
- Handover page: an owner approves or declines, with what moves to the reseller and when.
- Public quote page (/quote) and confirm page: no sign-in. If quotes are not available for the product, the page says
so and points to Contact.
- Product sites (stigviewer.com): the "Request a quote" link on paid plans.
For resellers (Reseller Portal):
- New Client and New Order: the cart, with the purchase-order section.
- Quote requests: open and settled requests with the buyer's details. Send or resend a handover link, Set up as
client, Place order, or Close with a note.
- Orders: every order, its pricing, each quarter with its status and Stripe invoice, where the term stands, Renew, and
New Order.
- Clients: shows a customer as Past Due while a quarter is overdue.
- Settings: reachable even while reseller setup or Stripe Connect is unfinished, for API keys and members.
For MoxyWolf (Admin):
- Price Agreements: create, edit and revoke reseller discount codes. A code's pricing is fixed once created; its end
date, notes and renewal treatment can change.
- Partner Receivables: every quarter still owed across resellers, with outstanding and past-due totals, Record payment
for checks and wires, and the most recent payments recorded by hand.
In Stripe (finance): void an invoice to waive a quarter, or mark it uncollectible to stop the reminders.
7. Partners and resellers
Not every partner is a reseller. In SAMS an organization counts as a partner if it is a reseller organization, is on the
free OpenControls partner plan, has a partner listing (categories saas, reseller, consultant, content), or has accepted
the Partner Agreement. Only reseller organizations that have accepted the agreement take part in quotes and purchase
orders.
As of Nov 10, 2026, of 16 reseller organizations, 6 have accepted the agreement (the five offered for quotes, plus one
with no members). PolicyCo, Senteon and Synopsys are partners on the partner plan without being resellers.
8. Where it stands
Purchase-order billing is live in production since Nov 10, 2026. The public quote page loads for STIGViewer, RegGenome
and OpenControls Complete, and stigviewer.com links to it from every paid plan.
No purchase orders have been placed in production yet, and no quote requests have come in. The first real orders will
prove the flow end to end.
Per reseller, before their first PO: the organization is a reseller, an owner has accepted the Partner Agreement, a
discount code exists if one was agreed, and the owner's email is where their accounts payable wants invoices. Stripe
Connect is needed only for card checkout and commission payouts.
Once orders flow: finance watches Partner Receivables, and someone watches the daily job that issues quarters and moves
terms along.