Lead distribution that ends with the invoice
Who gets this one, at what price, and what does the month add up to per partner. That is the half that usually falls back to a spreadsheet. Rehearse the routing before anything leaves, deliver it, take it back when a buyer is entitled to, and let the month close itself.
- Rehearse a routing decision before a single lead moves
- Four kinds of cap, time windows, duplicate checks, three strategies
- ZUGFeRD and XRechnung out of the box, four tax cases
- Your buyers get their own portal, so returns stop arriving by mail
The tools were never the problem
Getting a qualified record out of the CRM and into the routing tool meant the field names had to match on both sides. Keeping them matched was a manual job nobody owned, and you found out it had drifted when a partner received a lead with an empty postcode.
We ran a lead generation business on six of them. This is the part that cost us the most and showed up on no invoice.
- You pay per seam
- Every tool in the chain has its own subscription, and the one feature you actually needed is usually one price tier up.
- A field is not one change
- Add it in one place and it has to be added in the others. Miss one and nothing fails loudly: it fails the next time somebody filters on it.
- Someone else's release is your outage
- An API changes, a mapping stops matching, a webhook starts returning something new. You hear about it from the person who was waiting.
Forty partners, one month, one run
A qualified record goes to the partner your rules pick, at the price that holds for them. It comes back if they are entitled to and the deadline has not passed. At the end of the period one document per partner comes out of the same rows, with a credit note for everything returned. No export, no second spreadsheet, no recalculation.
- The price sits on the contract, not the product. A fixed amount per record, or a rate times a number on it.
- A return is a process, not an argument. A deadline, a reason from your list, a credit note on the next document.
- Four tax cases. Domestic, reverse charge inside the EU, export and exempt.
- Partners ask themselves. Their leads, their returns and their invoices, under your brand.
| Document | Partner | Period | State | Amount |
|---|---|---|---|---|
| 2026-0184 | Nordkontor Vertrieb GmbH | 52 × 40 € | paid | 2.080,00 € |
| 2026-0185 | Rheinwerk Süd GmbH | 31 × 120 € | open | 3.720,00 € |
| 2026-0186 | Vialux Solar B.V. | 44 × 95 € | overdue | 4.180,00 € |
| preview | Alpsol Handels GmbH | 61 × 250 € | preview | 15.250,00 € |
A preview still changes. An invoice carries a number and does not.
Rules with teeth, in the order that decides
A distribution profile is a list of participating partners, each with rules, and the order of the list is part of the rule. Three strategies decide what the order means: the first match, everyone who fits, or whoever has had the least this month.
- Three strategies. Waterfall, everyone who fits, and balance by volume.
- Four kinds of cap. Day, week, month and total, shown side by side, not just the tightest.
- Time windows. A partner who does not work Saturdays does not get Saturday leads.
- Duplicate checks. By email or phone, over a window you set, across partners or per partner.
See the decision before it happens
The dry run puts a real record through rule by rule and lists every partner with the reason they did or did not get it. It uses the same function the real run uses, without the write path, so it cannot drift from what actually happens.
- Every reason named. Daily cap reached, duplicate, outside window, someone came first.
- Nothing sent, nothing written. The run says so on the result, in the result.
- The same code as the real run. A second implementation would eventually answer differently.
- A delivery log you can hand over. Every attempt, its key, its response, its retry.
2 leads returned inside the deadline, credited at −€76.00. The paid invoice stays paid.
- 09:14:02504no answer, retry in 5 minutes
- 09:19:02504no answer, retry in 15 minutes
- 09:34:02200accepted
Idempotency-Key: 8f3a…c210
Out of your system and into theirs
A partner takes leads the way they already work: a webhook with your payload shape, or an email with the fields laid out. Every attempt carries an idempotency key, so a retry cannot become a second lead on their side.
- Webhook or email. Per participation, with your own payload shape and headers.
- Retried at 5, 15 and 60 minutes. Then it stops and says so, rather than retrying forever.
- An idempotency key on every attempt. Your buyer can safely take the same call twice.
- Returns with a deadline. A buyer may send a lead back inside the window, and only then.
The month that used to be a spreadsheet
Pay per lead at a fixed price, or a rate times a number on the record. Prices sit on the participation or the rule, so a negotiated contract overrides the house rate. At the end of the period the run produces one invoice per partner, in their tax case, with a credit note for anything returned inside the deadline.
- Gapless numbering. A number series that survives an audit, per account.
- Four tax cases. Domestic, reverse charge inside the EU, third country, small business.
- ZUGFeRD and XRechnung. PDF/A-3 and the XML, from one generator, not two exports.
- Credit notes settle themselves. A return inside the deadline lands on the next invoice.
- 44 records, September
- 4.180,00 €
- Returned inside the deadline, 2 records
- −190,00 €
Fifteen articles on routing, delivery and billing
The dry run, goodwill returns, partner access, the invoice run and e-invoicing. This is the deepest part of the help, because it is the deepest part of the product.
15 articles, written against the product and shown inside it too.
What Distribution costs
Buy just this, without the CRM: your leads are in the account either way, and routing reads them there. You pay for how many leads you send out in a month. The buyer portal and the monthly invoicing are in all three tiers, because sending leads out without billing for them is half a job.
- 50 leads a month
- Partner portal
- Invoicing
- 200 leads a month
- Partner portal
- Invoicing
- Analytics
- 1,000 leads a month
- Partner portal
- Invoicing
- Analytics
Questions people ask
If the answer you need is not here, the help center has the long version.
- What makes this a lead distribution platform and not just a routing rule?
- A rule sends a lead somewhere. A platform also answers what happened afterwards: which partners were eligible and why the rest were not, what the lead cost, whether it came back inside the deadline, and what each partner owes at the end of the month. The last part is the reason this module exists, and it is the part people are still doing in a spreadsheet.
- Do you support ping post?
- No. Leads are posted straight to the partners a profile selects, and the selection happens in your account rather than as an auction among buyers. Three strategies decide it: the first match, everyone who fits, or whoever has had the least this month. If your business model needs buyers to bid on each lead, this is not the tool for it.
- Can my partners send a lead back?
- Yes, from their own portal and only inside the deadline you set. The return carries a reason from a list you define, and it produces a credit note rather than changing an invoice that has already been paid.
- What happens when no partner matches?
- Nothing is delivered and the run records why: no participation, no matching rule, a duplicate, or a price that could not be computed. A record deliberately does not fall through to the next partner when the price is missing, because a lead sold at the wrong price is worse than a lead not sold.
- Do I need a separate invoicing tool?
- No. Invoicing is part of the distribution module: numbering, tax cases, credit notes and e-invoicing in both German formats. It is one of the reasons the module exists.
- Can I see what a change to the rules would do before I make it?
- That is what the dry run is for. It runs a real record through the current rules and shows the decision per partner with its reason, without sending or writing anything.
Bring the month with the most returns
Show us the spreadsheet you use to work out what each partner owes you. That is the demo we would rather give.