Commercial operations is the discipline of turning an intention — to buy something, or to sell something — into a record a third party can check. What was asked for, what was offered, what was compared, who decided, what was ordered, what arrived, what was billed. The work has two ends and one spine. A purchase manager and a salesperson sit on opposite sides of the same five documents, and their failures are mirror images: the comparison that hides a term, the approval that follows the order, the match run against a version of the order that nobody actually issued.
This piece sets out the job, the record that carries it, the six ways the work fails, the decisions an agent may not take at either end, and a measured month: 187 paid calls, $1.309. It also corrects a price that has circulated for this call, because the correction changes every total built on it.
The job
The job exists wherever one organisation asks another to supply something and has to account for the result. A request becomes a quotation; quotations become a comparison; the comparison becomes a decision; the decision becomes an order; the order is checked against what arrives and what is invoiced. On the sell side the same sequence runs in the other direction, with the seller producing the document the buyer compares and receiving the order the buyer issues.
What makes it a discipline rather than a clerical task is that each document constrains the next. A quotation that does not state its validity period cannot be compared, because one supplier’s price may expire a week before another’s. A comparison drawn on unit price alone cannot support an approval, because the cheapest unit price is frequently attached to the longest lead time or the least favourable delivery term. An order that does not restate the terms it accepts cannot support a match, because the match has nothing to test the invoice against. Every step is cheap on its own and expensive when the one before it was done badly.
The output of the work is not a purchase. It is a file: the record of a decision, in a form that survives the departure of the person who made it. That distinction sets the standard. A file that only the buyer can read is a personal note. A file that a new colleague, an auditor or a counterparty can read — and that answers, without a conversation, why this supplier at this price on these terms — is the artefact the job is paid to produce.
Two roles in the studio’s catalogue do this work, one at each end. The purchase manager reads a supplier quote or an internal request in whatever form it arrives and turns it into a comparison on one basis, an approval record, a purchase order and, at delivery, a three-way match. The sales role reads what an account already holds — the buyer’s brief, the email thread, the price list, the terms sheet — and drafts against it: a proposal tailored to that buyer, a comparison table that sets the offer beside the alternatives the buyer has named, a follow-up thread and outbound letters. Both act through a mailbox the client owns. Neither can pay. Neither can approve. Those two refusals are the subject of a later section and the reason the roles are usable at all.
One record, two readers
The reason to treat these as one subject rather than two is that they are one subject. The seller’s proposal is the buyer’s quotation. The buyer’s purchase order is the seller’s order confirmation. The match the purchase manager runs against a delivery is the same test the seller runs against a remittance. The documents are the same documents read from opposite sides of a table, and what differs is not the paperwork but the interest each side has in it.
Table 1 sets the five stages out in both directions, with the one thing each stage must carry if the next is to be possible.
Table 1. The five stages of the record, seen from each end, and the property that makes each stage usable downstream.
| Stage | Buy side — purchase manager | Sell side — sales | What the stage must carry |
|---|---|---|---|
| Quote | The supplier’s quotation, in whatever layout it arrives | The proposal, which is the seller’s quotation | Line items, units, currency, validity, delivery term, and what is expressly excluded |
| Comparison | Three quotations placed on one basis | The offer set beside the alternatives the buyer named | The basis of comparison, stated; the differences that matter, marked |
| Approval | The client’s authority to commit money | The customer’s authority to accept the offer | Who decided, on what evidence, within what limit and on what date |
| Order | The purchase order, issued | The sales order, accepted and countersigned | Quantities, prices and dates as issued — not as later amended |
| Match | Order against delivery against invoice | Order against shipment against amount remitted | The tolerance applied, the variance found, and who cleared it |
Two asymmetries are worth stating because they explain most of the friction in the work. The first is timing: the buyer compares before committing, and the seller drafts before knowing whether a comparison will ever happen, so the seller’s documents must survive being read by a party who owes them nothing. The second is information: the buyer usually holds the requirement in its own words, and the seller holds the price list, the terms and the delivery capability. Neither side holds both, and the record is the only place they meet.
A single shared basis is therefore the whole of the method. The seller who writes a proposal against the buyer’s requirements, in the buyer’s order, is doing the same work as the purchase manager who re-lays three quotations into one table. Each is reducing two or more documents to a common structure so that a comparison is possible at all. Where that reduction is skipped — where the proposal answers the requirements the seller wished had been asked, or the comparison is a stack of three PDFs stapled in price order — the decision that follows is a guess wearing a signature.
The buy side: quote to match
A purchase cycle begins with a requirement and ends with a cleared invoice. Five steps carry it, and each has a characteristic failure.
The quote. Quotations arrive as PDFs, as spreadsheets, as photographs of a printed page, as a paragraph in an email. The first job is extraction: line items, units of measure, currency, validity, delivery term, and the conditions attached. The parts of a quotation that decide a purchase are rarely the ones in bold. A price quoted ex-works and a price quoted delivered are not comparable figures, and the difference is a sentence in the footer.
The comparison. Three quotations become one table on one basis: the same line items, converted to the same units, with the same delivery term stated, and the differences that matter marked. Comparison is where the judgement in the job sits, because the basis itself is a choice. Compare on landed cost and a distant supplier loses; compare on lead time and a cheap one does; compare on total cost of ownership over the life of the item and both may lose to a supplier quoting a service contract. The record must state which basis was used, or the comparison cannot be defended later by anyone who was not in the room.
The approval. An approval record is not a rubber stamp on a comparison; it is a decision with an owner. It carries what was requested, what was compared, what was decided, by whom, within what authority and when. The purchase manager prepares that case. A person decides it. This is the step an agent must not take, and the reason is structural rather than moral: authority to spend is delegated to people by name, and an agent that records its own decision has produced a file that cannot evidence anything except that the agent ran.
The order. The purchase order restates the accepted terms precisely enough that a supplier can be held to them: item, quantity, unit price, currency, delivery date, delivery point, payment terms, and the quotation it accepts. It is issued, not drafted twice — the version that leaves is the version that is matched against, which is why an amended order must be a new document with its own date.
The match. When the goods and the invoice arrive, three documents are tested against each other: the order as issued, the delivery as received, and the invoice as submitted. The test is arithmetic with a tolerance: quantity within a stated percentage, price to the ordered figure, terms to the agreed terms. A variance inside the tolerance is cleared; a variance outside it is a query, and the query has an owner and a date. Two-way matching — invoice against order, with no receipt — is the most common shortcut in the work and the one that pays for a supplier’s mistake out of the buyer’s margin.
The cycle is small at the level of any one order and large in aggregate, which is why the record pays for itself. A buyer who cannot show why a supplier was chosen cannot defend the choice when the price moves, the delivery slips or an auditor asks. The file is the defence, and it is built one cycle at a time by people who will not be there when it is needed.
The sell side: lead to pipeline
The sell side runs the same five stages against a document flow that points outward. The mirror is exact at the level of structure and much less exact at the level of information, because the seller drafts before the buyer has committed to anything.
The lead. A lead arrives as a brief, a request for proposal, an email thread, a call note. The first job is again extraction, but of a different kind: the requirements that bind, the alternatives the buyer is already considering, the constraints the buyer has stated (a budget, a delivery window, an incumbent contract), and the questions the buyer has asked that the record cannot yet answer. The gap list is not a weakness in the draft; it is the most useful thing in it.
The proposal. A proposal is a quotation written against a named requirement. Its quality is decided by whether a buyer can find, for each requirement, the sentence of the offer that answers it and the term that qualifies it. A proposal that describes the product instead of answering the brief is a brochure with a price on it, and it will be compared against a competitor who did the reading.
The comparison the buyer will run. The seller’s own comparison table is not a courtesy; it is an act of pre-emption. Setting the offer beside the alternatives the buyer has already named, field by field, with the gap in each stated, is what a well-prepared seller does — because the buyer will build that table anyway, and it is better to have shaped its fields than to be a row in someone else’s.
The follow-up. Follow-up is where most of the record is lost. A thread that carries the proposal forward in the account’s own register, referring to the documents by name and date, is a record. A sequence of nudges that says “just checking in” is not, and it teaches the buyer that nothing in the thread requires an answer.
The pipeline. A pipeline is a forecast built from records, and it is honest only when each stage is defined by evidence rather than by optimism. A stage entered because a proposal was sent is not the same as a stage entered because a proposal was accepted in writing. Where the definition is a feeling, the forecast is a fiction with a number attached, and the seller’s own credibility pays for it at the next review.
The reason the sell side belongs in a piece about commercial operations rather than in a piece about marketing is that the seller’s documents become the buyer’s inputs. The proposal is the quotation the purchase manager compares. The terms the seller states become the terms the buyer’s order accepts. The delivery date the seller commits to becomes the date the match tests. A seller who cannot state terms precisely is not merely a poor marketer; they are manufacturing defects two steps upstream in someone else’s control process.
The artefacts
Seven artefacts carry the work across both roles, and Table 2 lists each with the reader it is written for. Each has one job. Where an artefact is asked to serve two readers it serves neither, and the file thickens without getting stronger.
Table 2. The seven artefacts, the reader each is written for, and what it must contain to be usable.
| Artefact | Reader | What it must contain |
|---|---|---|
| Normalised quote comparison | The approver | Every quotation on one basis, the basis named, and each material difference marked |
| Approval record | The approver and the auditor | What was requested, compared and decided; by whom; within what authority; on what date |
| Purchase order | The supplier | Item, quantity, unit price, currency, delivery date and point, payment terms, quotation accepted |
| Three-way match | The accounts function | Order, receipt and invoice line by line, the tolerance applied, each variance and its owner |
| Supplier file | The buyer | Terms, lead times, contacts, and the history of what was bought and at what price |
| Tailored proposal | The buyer | Each requirement restated, the offer against it, the terms as supplied, every gap marked |
| Comparison table for the buyer | The buyer and the seller | The offer beside the named alternatives, field by field, with the gap in each stated |
The comparison is the artefact that earns the buy side, and the proposal is the artefact that earns the sell side: both are the point at which a document set becomes a decision. The approval record and the three-way match are the artefacts that protect it afterwards, and they are the two most often produced retrospectively — which is to say, produced as fiction. A record assembled after the decision can evidence the decision was documented; it cannot evidence that it was taken on the documentation.
The gaps matter as much as the contents. A proposal whose requirement list is complete but whose price list is silent on one line should carry that line as an open question, not as a plausible number, for the reason set out below: a number a buyer reads as an offer becomes one the moment it is sent.
Six ways this work fails
The failure modes are few and they recur across industries, sizes and systems. Six are worth naming, because each is recognisable in the file after the fact and preventable before it.
1. The comparison on unit price alone. Three quotations, one column each, the lowest highlighted. The failure is not the arithmetic but the basis: lead time, minimum order quantity, delivery term, currency risk, warranty and payment terms have all been excluded from a decision that will be judged on them. The tell is a comparison table with no basis statement and no column for anything but price.
2. The retrospective approval. The order went out on Tuesday; the approval record is dated Thursday, or carries Tuesday’s date. Either way, the control has become a record of what happened rather than a condition of it, and the file now evidences the opposite of what it claims. The tell is an approval whose timestamp precedes the comparison it supposedly rests on, or a comparison whose three quotations all arrived after the decision.
3. The match run against the amended order. A supplier confirms with a substituted item, the order is amended quietly, and the invoice is matched against the amended version. Nothing looks wrong, because the document being tested has been changed to agree with the result. The tell is a match with no variance at all across a period in which prices moved, or an order history in which the issued version is missing.
4. The two-way match dressed as three-way. Invoice against order, with no receipt. The delivery is assumed rather than evidenced, so a short delivery, a substituted item or goods that never arrived are all reconciled as if they had. It is the most common shortcut in the work and the cheapest to fix, because the receipt usually exists — in a warehouse system, in a delivery note, in an email.
5. The pipeline built on stages rather than evidence. A forecast in which a stage is entered because an activity happened, not because a document exists. The failure compounds: the same discipline that inflates this month’s forecast sets the expectation for next month’s, and the seller who inherits the number spends the quarter explaining it. The tell is a stage definition nobody can test against a document.
6. The proposal that commits a number no document supports. A price, a discount, a delivery date or a warranty term that appears in a draft and traces to nothing — not to the price list, not to the quotation, not to the contract. This is the most expensive failure in the list, because it converts a drafting error into a commercial commitment at the moment of sending, and the cost of honouring it exceeds the value of the sale in most small deals.
Beyond the six, there is a quieter one that is not a moment but an omission: the supplier file that is never read again. Terms change, lead times move, a supplier’s performance deteriorates over three cycles, and none of it enters the next comparison because the comparison starts from a fresh set of quotations and a memory. A file that is written and not consulted is a cost with no benefit — the mirror of the pipeline that is consulted and not written.
What the agent may not decide
Both roles are built so that the agent prepares and a person decides. The boundaries are enforced by what the workspace can reach rather than by instruction, which is what makes them worth relying on. Five are structural.
It cannot pay. Neither role has a payment rail that reaches a counterparty. The wallet in the workspace settles the calls the agent makes; it does not settle a supplier’s invoice or a customer’s remittance. The order, the approval case and the match are prepared, and the money moves in the client’s own process under the client’s own controls.
It cannot approve its own order. The approval record carries a person’s named decision. Where nothing has been approved, there is no order to issue. This is the boundary that makes the buy side a control rather than a convenience, and it is stated on the role rather than left to configuration.
It cannot originate a figure. Every number in a proposal, a comparison or an order traces to a document the client supplied — a price list, a quotation, a contract, a term sheet. Where the source is silent, the draft carries a marked gap and an open question. An agent that estimates a delivery date has created a commitment; the role is built so that none originates inside it.
It cannot send outside its mandate. Sending is a separate permission from drafting. The mailbox is allow-listed to named domains, the template must be approved, and a reply to a supplier or a buyer the client has not authorised is out of scope. A counterparty the agent cannot reach from the connected address is out of scope entirely: no second address, no alternative channel, no improvised workaround. That is what keeps the record complete.
It cannot clear a variance above the tolerance. The match reports. A discrepancy inside the agreed tolerance is cleared by rule; one outside it becomes a query with an owner. The agent does not decide whether a short delivery is acceptable, because that decision is a commercial one and belongs to the buyer who accepted the tolerance.
Two further limits are worth stating plainly, because they are frequently assumed away. The agent cannot be the counterparty’s record: it keeps the client’s file, and its view of a dispute is the client’s view. And it cannot certify that a delivery happened. Evidence of receipt is a document from a warehouse, a carrier or a person at the door, and no reading of an invoice creates one. The sales role carries a third of its own: it cannot follow a buyer onto a channel it has no connector for. The studio lists that gap as a gap — the WhatsApp connector is not built — and where a buyer works over that channel, the thread is prepared as a handover note for a person to carry across.
The cost of a month, measured
Prices here are read from the live 402 challenge in front of the call, not from a catalogue. On Base, on 31 October 2026, outside the weekday peak windows, deepseek-v4-flash answers an unpaid chat completion with an exact amount of 7000 — $0.00700 — and a metered upto ceiling of 9550, $0.00955. The same request to qwen-flash on the same day returns 8750, $0.00875.
That second figure matters, because it is the price that has been quoted for the first. The figure that circulates for a DeepSeek drafting call is $0.00875, and that number is Qwen flash’s exact rate on Base: the two are separate services at separate prices, and pricing one at the other’s rate overstates any total built on it by 25 per cent. The correction is not a matter of rounding. In a worked month of 187 calls, $0.00875 gives $1.63625 and $0.00700 gives $1.309.
Table 3. A month of both roles, priced at the measured Base rate of $0.00700 a call.
| Line | Unit price | Calls | Cost |
|---|---|---|---|
DeepSeek deepseek-v4-flash — buy side: three quote reads a cycle, comparison, approval record, order and match |
$0.00700 | 140 | $0.98000 |
DeepSeek deepseek-v4-flash — sell side: proposal and follow-up a cycle, plus re-qualification |
$0.00700 | 47 | $0.32900 |
| Total | $0.00700 | 187 | $1.30900 |
The counts are a planning assumption, stated so that they can be argued with: twenty purchase cycles in the month, seven paid calls each — three supplier quotations read, one comparison, one approval record, one order and one match — and on the sell side twenty proposals at two calls each, one to draft and one to carry forward, with seven re-qualifications. The price is not an assumption. It is the amount in the challenge.
The arithmetic is short. 187 calls at $0.00700 is $1.30900, which is $0.06545 a working day across twenty working days and $15.708 over twelve months at the same pace. At the metered ceiling of $0.00955 the same 187 calls cost $1.78585 — $0.47685, or 36 per cent, more — because a ceiling is what an agent authorises, not what it spends. The opening balance credited to a workspace, 0.50 USDC, is seventy-one calls at this rate: about seven and a half working days at the pace above, or ten purchase cycles at seven calls each with one call to spare.
The role pages price their own volumes and give a useful check on all of this. The purchase manager’s page assumes sixty cycles a month at 300 calls and $2.10; the sales page assumes twenty proposals, forty messages and ten letters at 180 calls and $1.26. Both are the same $0.00700 applied to a larger count. Where this piece and a role page differ, it is in the number of cycles, never in the rate.
A second model is worth pricing rather than asserting. The 40 calls in the month that carry the most consequence — twenty approval records and twenty three-way matches — re-run on Qwen flash as a second reader at $0.00875 cost $0.35000, taking the month to $1.65900 and the year to $19.908. That is 27 per cent again on the model cost, for a check on a fifth of the calls and on the two stages where an error is expensive. Whether it is worth it is a judgement about the consequence of a wrong match, not about the price of the call.
A second service would change it again. The sales role lists an optional market-context service at $0.256125 a call; four calls in a month cost $1.0245 — nearly eighty per cent again on top of the model spend for a month of context. It is pending review and not callable today, so nothing in Table 3 contains it.
Those two lines reconstruct the total that has circulated for this month’s work, and it is worth doing the arithmetic in public because it is the only way to see what the error was. 187 calls at $0.00875 is $1.63625; four calls at $0.256125 is $1.0245; the sum is $2.66075, and twelve months at that pace is $31.929. At DeepSeek’s measured rate the same construction — the same 187 calls, the same four calls — is $2.3335 for the month and $28.002 for the year. The gap between $31.929 and $28.002 is the whole cost of pricing one service at another’s rate.
What the figure leaves out
The document parts carry no published per-call price, and this piece prices none of them. Extraction, the document engine, the report renderer, the data table and the invoice renderer run inside the workspace rather than over the wire, so there is no 402 challenge to read and no amount to measure. In the month above they handle 187 items — every paid call reads or renders at least one document — and they appear in the arithmetic as nothing at all.
The same applies to the mailbox. Quotes arrive and orders leave under an allow-list, and the connection carries no published per-call price.
That is an omission, not a saving. The total in Table 3 understates the work by everything the workspace does besides calling the model, and the honest reading of $1.309 is that it is a floor for the model calls, not a price for the function. Where a supplier publishes no per-call price, the correct entry is not an estimate; it is the statement that no price exists.
The largest cost in the month is absent from the table entirely. Reading a requirement, choosing the basis of comparison, judging whether a variance is acceptable, deciding to buy, and carrying a negotiation are a person’s hours, and this publication has no measurement of them. Nor does the figure include the cost of being wrong: a proposal that commits an unsupported price, an order matched against an amended version, a pipeline that promised what the quarter could not deliver. Those costs do not scale with the number of calls, which is precisely why they dominate the economics of the work.
When this is the wrong instrument
Six cases where the work is real and this instrument is not the way to do it, and a seventh where the arithmetic settles it rather than a principle.
When there is one supplier and a fixed price. A comparison needs alternatives. Where a part is sole-sourced, a framework agreement fixes the price and the volume is committed, the buy side has almost nothing to compare and the file is a filing exercise. The order and the match still matter; the comparison, which is where the agent earns its keep, does not exist.
When the volume is a handful of orders a month. Below a certain frequency, a person with a mailbox and a spreadsheet is faster and cheaper than any tool, and the cost of setting up the workspace exceeds the cost of the calls many times over. The threshold is a judgement, but the direction is not: this is a volume instrument.
When delivery is a service with milestones. The three-way match tests quantities and prices against a delivery. Where what is being bought is a service — a project, a retainer, a piece of work judged on quality — acceptance is a person’s judgement of whether the milestone was met, and no line-by-line comparison substitutes for it. The record can still hold the decision; it cannot make it.
When the requirement is not written down. The method reads the document before it drafts anything. A buyer with no requirement on paper, no price list and no terms sheet gives the agent nothing to draft against, and its output will be correct, generic and useless. The first job is to write those documents, with the people who do the work.
When an ERP already enforces the control. Where a system of record holds approved suppliers, agreed prices, enforced tolerances and an audit trail, adding a second control layer duplicates it and creates two versions of the truth. The agent is worth adding where the control does not exist, or where the documents arrive outside the system — which is most small and mid-sized operations, and almost no large ones.
When the buyer wants a counterparty rather than a file. Negotiation is a relationship, and a supplier’s willingness to hold a price through a difficult quarter is not a document. The agent prepares the case for a negotiation and records its outcome; it does not sit opposite anyone, and a buyer who needs the relationship to be the mechanism should not mistake a well-drafted file for one.
The seventh case is arithmetic. Where the value of the transaction is small and the cycle is rare, the model cost is not the constraint and the hours are: $0.049 of calls for a seven-call purchase cycle does not justify teaching anyone a new tool. The figure is a floor on the drafting, not a business case for the function.
What we measured and what we did not
The prices in this piece were measured, not listed. Both amounts were read from the 402 challenge returned by an unpaid request on Base on 31 October 2026, a Saturday and therefore outside DeepSeek’s weekday peak windows of 01:00–04:00 and 06:00–10:00 UTC: 7000 for deepseek-v4-flash under exact, with an upto ceiling of 9550, and 8750 for qwen-flash under exact. The model identifier is the one the services publish; the endpoint is POST /v1/chat/completions on each.
The copy that preceded this piece priced the DeepSeek call at $0.00875, which is Qwen flash’s exact rate on Base and belongs to a different service. Every figure derived from it has been restated here at $0.00700, and the construction that produced the old monthly and annual totals is shown above so that the correction can be checked rather than taken on trust.
The call counts are planning assumptions and are labelled as such in Table 3: twenty purchase cycles at seven calls, twenty proposals at two, seven re-qualifications. They are not observations of a real engagement, and they will be wrong for any particular month. The document parts and the mailbox are not priced because no published per-call price exists for them, which is a different statement from a price of zero.
What this piece did not do is as important as what it did. It ran no purchase cycle and no sale against a live organisation, and it describes no supplier, no customer and no case study, because it has none. It holds no figure for the accuracy of quote extraction across layouts, no conversion rate from proposal to order, and no time-to-complete for any stage, because none has been measured. The five stages, the seven artefacts and the six failure modes are the discipline as it is practised and as the two roles are specified; a reader who needs to rely on one of the refusals should test it, as with any specification.
Amounts move, and a table is a snapshot. The same call costs different amounts on different chains — the DeepSeek challenge carried 6000 on Arbitrum, 5000 on Polygon, 2000 on Avalanche and 3000000 on Ethereum in the same response — and the ceiling moves with the max_tokens an agent authorises. The challenge in front of the call is the price. Where a figure here is wrong, it will be corrected and the correction stated, in the manner of every piece on this site.
Where this goes
- The buy side: studio.x402.press/roles/purchase_manager — the agent, its parts, what it refuses and its running cost
- The sell side: studio.x402.press/roles/sales — the proposal, the follow-up and the mailbox it sends from
- The service they buy: x402.press/services/deepseek/ — the canonical price, seven chains
- The review: x402.review/2026/10/31/deepseek-review/ — the measured handshake and what it does not promise
- The catalogue: studio.x402.press — fifteen roles we can be asked for, and the chooser that starts from the job
The clusters in this family
- Three quotes, one table
- Quotes that are not like-for-like
- Purchase order and invoice matching
- Approval limits and segregation of duties
- Supplier approval checks
- Following up a lead without losing it
- The proposal that closes
- CRM hygiene for small teams
- Discovery questions for B2B
- Pipeline review template
Method note
Prices read from the live 402 handshake on Base on 31 October 2026, a Saturday and outside DeepSeek’s weekday peak windows. DeepSeek deepseek-v4-flash is $0.00700 under exact and $0.00955 under upto at the max_tokens tested; Qwen qwen-flash is $0.00875 under exact. The $0.00875 that circulated for the DeepSeek call is Qwen’s rate and is not used for DeepSeek anywhere in this piece; the totals that depended on it are restated. Call counts are planning assumptions, stated in Table 3 and repeated in the arithmetic. No supplier, customer, engagement or conversion rate is described, because none was observed. Commercial terms are given as the two roles specify them, not as tested against a real supplier file.
x402.review is written and edited by N.P. Vincent. The publication is connected to x402.press, which sells the services reviewed here; that interest is disclosed on every piece that touches a service, and it is stated here rather than left to inference.
Filed under Jobs · Tags: procurement, approvals, purchase-order, x402, cost