A partner earns through a hidden discount on what they sell. This guide is how
that works, for the staff who configure it and the partners who spend it.
A bundle is not a plan
A plan is the entitlement source of truth: it answers “what may this
organization do”. A bundle answers “what did someone buy” — a number of
seats, at a price, conferring a plan.
They are separate on purpose. If they were one thing, repricing what you sell
would rewrite what existing customers may do, and changing a feature would
move a price. Keeping them apart means a bundle can be repriced every year
without touching a single entitlement.
Each bundle implies a per-seat rate — a 10-seat bundle at $10,000 is
$1,000 a seat. That number is what a top-up a year later is priced against, so
an institution buying more capacity pays what it agreed rather than today’s
list price.
The money, in one worked example
A partner sells a 10-seat bundle at $10,000 a year with a 20% margin:
| The institution is charged | $10,000 |
| The partner earns | $2,000 |
| dfrds recognises | $8,000 |
The institution pays the list price. The margin comes out of what dfrds
receives, not off what the customer is charged. That is what makes it hidden —
there is only ever one price, so there is nothing for the customer to compare
against and no discount for them to discover.
dfrds bills the institution and owes the partner their share. The institution’s
billing relationship is with us, which is what makes renewals, seat top-ups and
support work normally.
Two caps, and the narrower always wins
- The partner’s overall cap (
max_discount_percenton their record) is the
ceiling across everything they sell. - The per-bundle cap is set when you authorise them for that bundle.
A partner may take the lower of the two. Raising one without the other can
never widen what they may do, which matters when two people are editing terms
in different consoles.
A partner who posts a larger percentage than their cap is refused, not
silently clamped. Selling at a different rate than someone typed is worse than
saying no.
Every sale is a snapshot
When a sale is recorded, all of it is frozen: the bundle’s name and price, the
seat count, the percentage, both shares. Nothing is recomputed later.
This is why you can reprice a bundle, lower a partner’s cap, or revoke their
authorisation entirely without any of it disturbing a historical invoice. A
sale from last year still says what it said last year.
Earned means paid
A sale starts awaiting payment. It becomes earned when the money
actually arrives. A partner is not owed a share of an invoice the institution
never paid, and their dashboard says which is which rather than adding them
together.
What a partner sees on their dashboard is what they have accrued. The
statement of account is separate, and monthly.
How you get paid
dfrds bills the institution in full and pays you your share; you never invoice
the institution and never handle its money. That is why there is only ever one
price on the customer’s side, and why your share cannot be discovered from it.
- A statement per month, issued on the 2nd. Every sale you made in a
calendar month, with the share owed on each, frozen from the sale’s own
record: repricing a bundle later cannot move it. It is at
Partner → Statements, printable, with a CSV for your own books. Each line
also says whether the institution has paid its invoice yet. - Payout by bank transfer. dfrds transfers your share and records the bank
reference on the statement, so what you see in your account and what you see
in the console carry the same reference. - The open month runs on the dashboard. The Earnings panel shows the sales
of the month in progress, what has been issued and is awaiting payout, and
what has been paid on statements so far.
Ending a partnership
Ending stops new sales. It does not touch sales already recorded, the
institutions already sold to, or what those institutions may do. An ended
partner keeps read access to their own earnings.
Where to configure it
| To do this | Go here | You need |
|---|---|---|
| Create or reprice a bundle | Admin → Bundles | discounts_manage |
| Authorise a partner for a bundle, and cap their margin | Admin → Bundles → the bundle | discounts_manage |
| Set a partner’s overall ceiling | Admin → Partners | partners_manage |
| Sell a bundle | Partner console → Earnings | Being that partner |