Two problems here and they are the same problem. Prices typed fresh into every quote drift, and scope that changes in a phone call does not appear on the invoice. Both are fixed by writing it down once in a place the other servers can read.
Set a SKU: DEV-HOUR, senior development hour, 90 EUR. And DESIGN-HOUR at 75 EUR.
Paste this into Claude with the server connected.
sku_set on the catalogue server. lines_resolve is what the quote and the
invoice call to turn a code and a quantity into a priced line, and it is free on every tier, along
with price_list_text and every other text answer. Withholding resolution would withhold
the one thing the sibling servers came for.
Free is 25 SKUs, the one standard price tier, and unlimited rate cards. Pro adds price tiers, so trade and wholesale are a second column rather than a second catalogue, plus the A4 price list PDF and a report of which rows a later row already replaces.
One behaviour worth knowing: sku_delete is free on every tier, and a code that has
already priced a line, or that a rate card points at, is refused by name with the number of times it
was used and the last resolution id. A code printed on a document you sent somebody is a fact about
that document, not a row you can quietly remove.
Raise a work order for Acme: 12 DEV-HOUR and 4 DESIGN-HOUR, scheduled Thursday.
Paste this into Claude with the server connected.
The work-order server prices the job the way the invoice will. Free holds five open work orders, which is a one-van trade, with 200 lines each on every tier. The cap counts open jobs rather than jobs ever raised, so finishing one frees its slot. The text completion report is free, because handing the customer what was done is the thing the job was for.
Raise a change order against that job: 6 more DEV-HOUR, reason client added a second language.
Paste this into Claude with the server connected.
The change-order server holds it as a document against the original quote or work order, with the
reason, the price delta and the client approval state. contract_value is free on every
tier and returns the running value derived from what the client actually approved, which is the
number the whole thing exists to produce.
Free is five open change orders, counted as the ones the client has not answered yet, so approving,
rejecting or voiding one frees its slot. Pro adds change_order_document, a plain-text
document with every line, its reason, the contract value before and after, and an approval block to
sign, plus change_order_invoice_payload, which hands the approved delta straight to
invoice_create with VAT at the profile rate and the rounding drift asserted to zero.
On both the work-order and change-order servers, a byte-identical document is refused before the free cap is consulted, and the refusal names the id already holding it rather than offering an upgrade. It burns neither a slot nor a document number. The adversarial test suite asserts that the refusal text does not contain the words "free tier", because a duplicate is one job filed twice far more often than it is two jobs.
All free and Pro figures on this page are from data/facts.json. Tool counts from
data/tools.json: 12 on catalogue, 12 on work-order, 11 on change-order.
lines_resolve returns the priced lines and you pass them to invoice_create. There is no hidden coupling between the stores, which is deliberate: an invoice is a record of what you charged, and a price list that changed afterwards must not be able to rewrite it.
Set the new price and the newer row is what resolves from then on. Documents already issued keep the price they were issued at, because they hold resolved lines rather than a reference. catalogue_report on Pro lists which rows a later row already replaces.
No. It exists for jobs with a site, a schedule and a sign-off, which is trades and field work. For desk work the quote is the job document and change orders attach to the quote instead.
Because the running value is the thing the change orders exist to answer, and withholding it would withhold the record rather than a convenience. The same reasoning puts trial_balance, statement_aging, loan_schedule and the petty cash reconcile on the free tier of their own servers.
All MCP servers and prices · All guides · Buy the bundle $39