New to Attio?Get 10% off when you sign up through Craftt.Try Attio free →
← All case studies

Every supplier tender is written by the CRM. Not one of them sends itself.

Multiprint is a UK flexible packaging business. Nick does not own a factory: he takes a brief from a brand, tenders it to manufacturing partners, and sells the result back with his own quote. He came from seven years on Salesforce, called it labour-intensive, and wanted the new business to be AI-first from launch. We built the Attio workspace around the tender itself: a form that becomes a deal, an RFQ, and a spec; a supplier sheet that writes itself into Gmail drafts; supplier replies read back into Attio; and quotes that go out through Xero.

Paid build

Engagement

11

Objects in the model

7

Claude agents live

25

RFQs in the workspace

38

Supplier responses logged

0

Supplier drafts auto-sent

The problem.

Nick was launching alone at the end of August. His contacts were cleaned and graded in Google Sheets, with things like the whole address in one field. He had set up some objects in Attio himself and was not sure they were right. His plan was around ten deals a month to start, with the hope of a hundred once the process could carry it.

The work in a packaging brokerage is the tender. After a discovery call, the spec goes out to several manufacturers as an Excel sheet, because not every supplier uses Google. Each one fills in their prices in their own way. The best reply becomes a customer quote with a price per thousand, setup costs, and several volume options. Done by hand, ten tenders a week is a job. A hundred a month is a second hire.

And one rule sits over all of it. The manufacturers are the same factories the customer could approach directly. A tender sheet that names the brand or the design hands the supplier the lead.

Objectives.

  • Model the whole broker workflow in Attio, lead to reorder, with suppliers kept strictly apart from clients.
  • Turn one internal form into a deal, an RFQ and a product spec, so nothing is typed twice.
  • Draft the supplier tender automatically, with no brand or customer anywhere on it, and leave the send to Nick.
  • Read supplier replies back into Attio so they can be compared, and fix the currency rate the moment a price lands.
  • Send the customer quote from Xero, on Multiprint's own template, linked back to the RFQ behind it.
  • Give Nick delivery KPIs he can actually report on, not a stage history he can only look at one record at a time.

The data model.

Eleven objects. Six are Multiprint's own, two are the Xero mirror, and the standard three carry clients and contacts. The idea the model turns on is that a request to suppliers and a quote to a customer are different records, because they are different conversations.

Deals

One enquiry or order, with its own project ID generated from the form submission, so a webhook retry can never mint a second one. A repeat order is a new deal linked to the previous one, never an edit to the deal that already shipped.

Suppliers

The manufacturing partners. Kept off Companies on purpose, because they work differently and must never be reported on as clients.

Product SKUs

One record per spec: format, dimensions, material structure, print, finish, special requirements, and how many designs share it. At Closed Won the spec fans out into one coded record per design.

RFQs

The request to suppliers. Up to four volume options against one spec, versioned, with a link to the RFQ it amends when the spec changes, and a Send to supplier checkbox that starts the tender.

RFQ Responses

One supplier's price at one volume, with the quoted currency and the rate to sterling stamped the moment it lands.

Quote Lines

The customer-side maths: supplier cost, tax, duty and freight per thousand, landed cost, price and margin, with where every number came from.

Production Jobs

One job per order in production, with artwork approval, payment, ship and delivery dates, agreed tolerance and what was actually measured.

Xero Quotes and Invoices

Mirror objects kept in sync with Xero by the integration, so the quote and the invoice sit on the same record as the deal that produced them.

Companies and People

Clients, their buyers, and the contacts at each supplier. A Lead Inbox on People is where new enquiries land and get graded.

One RFQ, from form to supplier inbox.

The tender is the job, so this is the chain we spent the most time on. Every step writes to Attio, and the last step is always a human.

The form becomes the records

Nick fills one Fillout form after the discovery call. An Attio workflow turns the submission into a company, a person, a deal, an RFQ and a product spec, all linked. New project, requote and repeat order run down one path, and only the project ID differs.

The tender sheet builds itself

Ticking Send to supplier on the RFQ fires a Claude routine on Multiprint's own subscription. It builds the Excel sheet suppliers already know: a spec tab, a pricing tab with only the yellow cells unlocked, and volume columns running lowest to highest.

One draft per supplier, never sent

Each supplier on the RFQ gets its own sheet and its own Gmail draft, never copied to each other. The sheet carries the RFQ reference in place of the design name, so no brand or customer leaves the building. Nick reads the draft and clicks send.

Replies come back through Drive

Claude cannot read a Gmail attachment, so a supplier's filled sheet goes into a shared Drive folder. An hourly routine reads it and writes one RFQ Response per spec per volume. A price with no stated basis is declined and reported, never guessed.

Currency fixed on arrival

Suppliers quote in dollars, euros or pounds, and Multiprint quotes in sterling for 30 days. The rate is stamped on the response the moment it lands, so a swing inside the validity window cannot move a price already sent. A failed rate lookup stays blank, never 1:1.

The quote goes out through Xero

The customer never sees a spreadsheet. A won response becomes a draft quote in Attio, Nick checks it, and our Attio to Xero integration creates the Xero quote on Multiprint's branded template, with line descriptions composed from the spec so nobody retypes them.

What we learned wiring it.

Most of the hours went into things that failed silently. These are the ones worth knowing about for anyone building the same chain.

One bad dropdown value kills the whole run

If a form answer does not match an Attio option exactly, the record write fails, and with no deal there is no RFQ, no spec and no draft. The parser now checks every select against the live options before it emits anything, and sends free text to a notes field instead of the dropdown.

A routine does not fill in a template

The record ID written into the routine's instructions as a placeholder arrived as literal text, so the tender ran against nothing. The fix was to send the ID in the body of the HTTP request, where it arrives as its own message.

The ordered quantity was never priced

The form's volume options were free text Nick was told to leave blank, so the sheet fell back to default volumes and never asked for a price on the real order. The builder now reads the total order volume first and has no fallback at all.

Fill weight is not pouch weight

Plastic Packaging Tax is charged on the weight of the packaging. The only weight field held the weight of what goes inside, which overstated the tax roughly tenfold on one job. The pouch weight is now its own field, and the supplier fills it on the sheet.

The KPI question.

Nick asked for lead time, shipping time and on-time delivery, and whether Attio's stage history could supply them. It can, one record at a time: every status change is logged with a timestamp. But no report or view can read that history, it records when someone clicked rather than when the pouch shipped, and it cannot be backdated. So the history is for diagnosis, and anything that must appear in a report is a real date on the Production Job: artwork approved, payment received, actual ship, actual delivery. Lead time, shipping time, tolerance verdicts and on-time delivery are calculated from those dates. Agreed tolerance lives on the job next to the measured result, against standard terms of ±2mm mechanical and ±10% volume.

Results.

  • Attio is the single source of truth for the business from its first month: 26 deals, 25 RFQs and 38 supplier responses logged in it so far.
  • One form submission creates the company, person, deal, RFQ and spec, linked. A repeat order becomes a new deal that points back at the one that shipped.
  • Supplier tenders are drafted per supplier with the brand kept off every sheet, filename and email. Nick had eight drafts waiting on the first live run, and none was sent without him.
  • Supplier replies are read back from Drive with the exchange rate fixed on arrival, closing the currency exposure on 30-day quotes.
  • Quotes go out through Xero on Multiprint's own template, linked back to the RFQ and the response behind them.
  • Delivery KPIs built as real dates on the Production Job, so they can be reported on, with stage history kept for diagnosis.
  • Seven live Claude agents in a private repo, running on Multiprint's own subscription. Every one drafts or recommends. None rejects, emails or closes anything on its own.
  • Still open, and said plainly: supplier replies arrive in many formats, so Nick is still keying some by hand, and the quote builder had not yet priced a live won deal when this was written.

Ready when you are.

Book a call and we will tell you honestly whether this is worth doing, or start with the free 48-hour audit and decide afterwards.