Skip to content
Guide10 min read · updated 2026-09-26By Stefan Köhn

How to Manage Lead Buyers and Partners at Scale in 2026

The cost of a lead buyer is measured in questions per month, not in leads per month. What a partner record has to carry, what a buyer may safely change themselves, and where that boundary has to be drawn.

With five buyers you hold the whole operation in your head. You know what each one wants, roughly how many they can absorb, and who pays late. The thing that breaks as that number grows is not your routing rules. It is that you have become the interface.

Every question a buyer cannot answer without you is an interruption: where is last week's list, was that one a duplicate, can you resend the March invoice, how many have I had this month, can you change my endpoint. Five buyers asking that occasionally is a conversation. Thirty buyers asking it is your job.

The cost of a partner is measured in questions per month, not leads per month. Self-service is the only thing that changes that number, and it is not a convenience feature: it is a permissions problem. Hand a buyer a settings screen without deciding exactly what they may change, and their first save quietly deletes half of the rule you configured. This page is mostly about where that line goes and why.


Where the manual approach actually breaks

  • Around ten to fifteen partners, caps start being missed, because enforcing four periods per partner from memory is not a thing people do.
  • Around twenty, the wrong lead types reach the wrong buyers often enough to damage a relationship.
  • Around thirty, month-end reconciliation becomes a multi-day job, and the spreadsheet that does it disagrees with the delivery log.
  • Past fifty, onboarding a new buyer is itself a project, and whatever you did for buyer 12 is not what you did for buyer 44.

None of those is a volume problem. All of them are a variety problem: partners differ from each other in more ways than you can hold.


What a partner record has to carry

The mistake worth avoiding at the start: treating a partner as one flat set of settings. A partner is an identity, and their participations are the agreements. The same buyer may take two lead types on entirely different terms.

Lives on the partner, onceLives on each participation
Company, address, tax identifiersWhich leads qualify, as conditions over your own fields
Contacts and portal loginsCaps for day, week, month and total
Invoice details and billing preferencesThe price, whether fixed per lead or a rate times a field
What they are allowed to change themselvesDelivery channels and their endpoints or addresses
Whether they are active or retiredTime window and calendar blocks, in their timezone
The return deadline for this agreement

Two of those rows are the ones people collapse by accident.

The return deadline is not a partner property. Fourteen days may be agreed for one lead type and seven for another, with the same buyer taking both. Resolve it from narrow to wide: the specific return reason, then the participation, then the distribution, then a sensible default such as seven days.

Nor is the right to self-serve a single switch. A partner's address exists once, so the right to edit it exists once. Their filters exist per participation, because the same buyer might well pick their own regions for one product and leave the other to you.


The portal, and the boundary inside it

A buyer portal replaces the five questions above, and that is the easy half. It should let a buyer see and export their own leads with timestamps and field values, see delivery state and duplicates, count what they have had in the current period, download every invoice, and return a lead inside the deadline.

The half that decides whether it works is what a buyer may change. Four rules, each of which exists because the alternative failed:

A buyer may filter only on the fields they actually receive

It is tempting to offer the whole entity in the filter dropdown. Do not: it hands a third party the structure of your data model, "Internal note" included. Offering a field they are not delivered is worse in a quieter way, because they can set a condition whose effect they will never be able to see. Operational data, such as source, UTM parameters and internal assignment, stays out for the same reason: it belongs to your business, not to the delivery.

What you configured has to survive their save

This is the one that bites. Your rule contains conditions the buyer is not allowed to see. Their settings form contains the conditions they are allowed to edit. If saving the form replaces the rule, their very first save throws away everything they could not see. The fix is a merge rather than a replace: your conditions sit in their own groups, are shown to the buyer as set by you, and are written back unchanged. Build the merge before you ship the form, not after the first incident.

Pausing has to actually pause the right thing

A buyer on holiday needs a switch that stops deliveries to them without stopping your intake. Their leads keep arriving and keep being routed to everyone else; they simply stop qualifying. A pause that halts ingestion, or that only hides the partner in a list while deliveries continue, is worse than no pause at all.

An administrator looking in must not be able to act

Support needs to see exactly what the buyer sees, which means an impersonation or preview mode. In that mode, returns, pausing and profile changes have to be blocked. A return recorded against a buyer that was in fact triggered by your own administrator is a receipt that lies, and you will be relying on those receipts in a billing dispute.

Two smaller decisions that pay for themselves:

Resolve access on every request, not at login. A buyer whose access you withdrew should not be able to keep working in a tab they already had open, and a retired partner's logins should lapse with the partner rather than needing to be revoked one at a time.

Put your brand on the portal, not theirs. A buyer who takes leads from three sellers otherwise logs into three identical grey portals titled "Partner portal" and cannot tell whose is whose.

One delivery
every attempt, with its answer
Rheinwerk Süd GmbHWebhookdelivered120,00 €
  1. 09:14:02504no answer, retry in 5 minutes
  2. 09:19:02504no answer, retry in 15 minutes
  3. 09:34:02200accepted

Idempotency-Key: 8f3a…c210


Returns, which is where trust is actually won or lost

One rule matters more than the rest: the same action has the same consequence regardless of which channel it arrives through. Inside the deadline, a return takes effect immediately whether the buyer clicked a link in the delivery email or used the portal.

The failure mode here is specific and common. A system grows a portal, the portal gets a polite "request a return" form that files a ticket somewhere, and the old email link keeps cancelling instantly. Now the same action has two meanings, and the slower one is served to the buyer who integrated with you properly. That is exactly backwards.

Decide also what a return does downstream: whether the lead is offered to the next partner in the waterfall, and what happens to the money. If the period is still open, the line simply disappears from the draft and there is nothing to explain. If the invoice has been issued, it needs a credit note. And if it has already been paid, the original stays paid, because that is what happened and the money did move, while the correction stands open as a refund you owe. That last case is the one that gets forgotten.


The four numbers worth watching per partner

MetricWhat it tells youWhere the number comes from
Delivery success rateWhether their endpoint is healthyDelivered against failed deliveries, per partner, per period
Return rateWhether they are getting leads that fitReturns against deliveries, by reason
Revenue per partnerWho is actually worth volumeThe billing run, per partner
Days to paymentWho is financing themselves with your leadsInvoice due date against the date it was marked paid

Use these to set priority, and be willing to act on them: a buyer with a high return rate usually needs tighter conditions rather than a discount, and a buyer who pays at ninety days is a lender you did not agree to.

What we give you here, precisely

A delivery list filtered by period, partner, result and search, with totals for the filtered set and for the whole period so the two can be compared. Invoices carry sent, paid and dunned states. What we do not have is a per-partner scorecard that computes these four for you: today they are a filter away rather than a number on a dashboard. If you want the ranking, you currently build it from the list.

Billing
September, one document per partner
DocumentPartnerPeriodStateAmount
2026-0184Nordkontor Vertrieb GmbH52 × 40 €paid2.080,00 €
2026-0185Rheinwerk Süd GmbH31 × 120 €open3.720,00 €
2026-0186Vialux Solar B.V.44 × 95 €overdue4.180,00 €
previewAlpsol Handels GmbH61 × 250 €preview15.250,00 €

A preview still changes. An invoice carries a number and does not.


Onboarding, as a repeatable list

The twenty-fifth onboarding should not be improvised. Six steps cover it:

  1. Identity and billing. Company, address, tax identifiers, invoice recipient, payment terms.
  2. The agreement, per lead type. Conditions, caps for all four periods, price, exclusivity.
  3. Delivery. Endpoint and field mapping, or an address, or both, plus whichever authentication their side requires.
  4. Availability. Time window in their timezone, calendar blocks, and what happens to a lead that arrives outside it: skip to the next partner, or hold it until the window opens.
  5. Rights. What they may change themselves: contact details, invoice details, their own conditions, their own pause. Set this deliberately per partner.
  6. Rehearse before you go live. Not a test lead through the live pipeline, which pollutes your data and their system. A rehearsal that takes a real lead and shows which partners would be chosen and, for each one that would not, the exact condition, cap, window or duplicate rule that stopped it.

Step 6 is the one that changes the conversation with a new buyer. Instead of "we will see what comes through", you can show them precisely which of their own criteria will exclude what, before anything is sent.


One thing to keep manual

Dunning. It is tempting to automate, and the cost of automating it is that the second reminder goes out to the buyer you spoke to on the phone yesterday. When you chase depends on the relationship, and the relationship is not in the database. Automate the counting, the invoice and the sending; keep the decision to chase in a human hand.



How this page was written

The design rules in the portal section are read off our own implementation and the decisions recorded with it, which is why each one is stated together with the failure it exists to prevent rather than as a feature. The earlier version of this page listed four per-partner metrics as though a dashboard computed them; it does not, and the box above now says exactly what you get instead.

If something here is out of date or wrong, tell us and we will correct it.

Bring the month you would rather not talk about

Set up your own entity, your own fields and one routing rule, and see what it does with a record you put through it.