Skip to content

Automation  ·  Finance

How to build partner payouts

Payouts are worked out in a spreadsheet at quarter end, partners dispute a third of them, and the arguments take a month. How to calculate what each partner is owed from the deal and the cash, the prompts that build it, and how to make the statement the end of the conversation.

Built with Tray Headless

  1. System Salesforce
  2. Step Invoice paid?
  3. Step Rate at the time
  4. Step Statement to partner
  5. System NetSuite
Also Impartner

A payout is calculated when the deal's invoice is paid, from the partner's rate at the time, and shown to the partner before it is paid.

The short answer

What are partner payouts?

Partner payouts have four parts: an earning event tied to cash rather than the signature, usually the customer's invoice being paid; the partner's rate taken from their agreement and tier as they stood when the deal was registered, not as they stand today; a statement each partner can see in the portal before anything is paid, line by line back to the deal; and the payment raised in the finance system with the statement attached. What causes most disputes is the rate. A partner promoted a tier mid-quarter, paid on the old rate for some deals and the new one for others, with nobody able to say which applied when.

Stage 6 of 6: Pay partners. Part of Partner integrations, end to end : every stage, the systems it runs on and the guide that builds it.

What matters here

  • Pay on cash, not on signature. A deal that never pays shouldn't cost you a payout to claw back.
  • Use the rate as it stood when the deal was registered. Today's tier applied to last quarter's deals is a dispute.
  • Show the statement before you pay. A partner who can check it first rarely disputes it after.
  • Tie every line to a deal and an invoice. A payout that can't be traced will be negotiated.
  • Handle credits and refunds on the next statement, visibly. A silent clawback ends partnerships.

Who this is for

You run partner operations or finance for a partner program. Payouts are calculated in a spreadsheet from CRM exports and the accounting system, and every quarter brings disputes.

How it works in practice

From a partner's deal closing to the partner being paid what they can see they earned.

  1. 1

    A partner deal closes

    A registered or referred deal, linked to its partner and its registration.

  2. 2

    The invoice is paid

    In the finance system. This is the earning event, so a deal that never pays never earns.

  3. 3

    The payout is calculated

    From the partner's rate and tier on the registration date, against the amount collected.

  4. 4

    The partner sees the statement

    In the portal, line by line, with a window to question any line before payment.

  5. 5

    The payment is raised

    As a vendor bill in the finance system, with the statement attached.

  6. 6

    Credits and refunds adjust the next statement

    As their own lines, with the deal and the reason, never netted off silently.

What partner payouts are made of

Four parts. The second is where most disputes start.

Cash as the earning event

The customer's invoice paid, read from the finance system, not the deal closing in the CRM.

The rate at the time

The partner's tier and rate from their agreement as they stood on the registration date, kept with each payout line.

A statement first

Each partner's lines in the portal before payment, with a few days to question one and a reason required.

Payment with the evidence

A vendor bill in the finance system per partner per period, with every line traceable to a deal and an invoice.

The Tray Headless prompts

Paste these into Claude Code or Codex with the Tray Headless plugin installed. Each stage runs on its own. The systems named in them are the worked example rather than a requirement, and every prompt says so.

Once per project, run /tray-workflows:set-workspace to pick the workspace these build in. Point it at a sandbox first.

  1. 1

    Write down what earns a payout

    Before any code, because the rule is the program.

    Headless skills build-workflow

    Use build-workflow. The systems in play are Salesforce, NetSuite,
    Impartner, Slack and Snowflake, or whatever we run in those seats.
    Before you plan anything, tell me which are already authenticated.
    
    Write the payout rule down with me before building. My starting
    position:
    
      A payout is earned when the customer's invoice for the deal is paid
      The rate is the partner's rate for their tier on the date the deal
      was registered or referred
      Multi-year deals pay on each year's invoice as it is paid
      A refund or credit reverses the matching share on the next
      statement, as its own line
    
    Tell me where each fact lives, in which system.
  2. 2

    Calculate on cash, at the rate at the time

    Today's tier applied to last quarter's deals is a dispute.

    Headless skills build-workflow tray-gotchas

    Use build-workflow and tray-gotchas. When an invoice is paid in
    NetSuite, find its Salesforce opportunity and check whether it has a
    partner registration or referral.
    
    If it does, find the partner's tier and rate on the registration date
    from the tier history, never the current value, and calculate the
    payout on the amount collected.
    
    Record each payout line with the deal, the invoice, the amount
    collected, the rate and the date it applied from. Never change a line
    once a partner has seen it. Corrections are new lines.
  3. 3

    Show the statement before paying

    A partner who checks it first rarely disputes it after.

    At the end of each period, publish each partner's statement in
    Impartner: every line with the customer, the deal, the amount
    collected, the rate and the payout.
    
    Give partners five working days to question a line, with a reason.
    Send each question to the partner manager in Slack with the line's
    record. Answer from the record, and if the record is wrong, add a
    correcting line rather than editing the old one.
  4. 4

    Raise the payment and report

    Every payment carries its evidence.

    After the question window, raise one vendor bill per partner in
    NetSuite for the period's total, with the statement attached and the
    partner as the vendor.
    
    Land every line in Snowflake. Report per period: payouts by partner,
    lines questioned and why, corrections made, and the average days from
    invoice paid to partner paid.

    Lines questioned per period is the number that shows whether the rule is clear. It should fall every quarter.

What it connects to

The deal is in the CRM, the cash is in finance, and the partner sees it in the portal.

Salesforce

Link each paid invoice to its deal and registration, and read the partner's tier history.

Reads

NetSuite

Start the calculation when an invoice is paid, and raise the partner's vendor bill for the period.

Reads and writes

Impartner

Publish each partner's statement before payment, and take questions on any line.

Reads and writes

Slack

Send a partner's question on a line to their partner manager, with the record.

Writes

Snowflake

Keep every payout line, so payouts and disputes by partner are a query.

Writes

Same build, other stacks

The design does not change if you run something else in one of these seats. The same prompts build it against Microsoft Dynamics 365, SAP S/4HANA, Google BigQuery, Microsoft Teams, HubSpot or Oracle.

Connections in this build

Field mapping, templates and common problems for each pairing: NetSuite + Salesforce, Impartner + Salesforce and Salesforce + Slack.

Named systems are the ones most teams run, not the only ones that work. Each is an authentication in your Tray workspace, referenced by name, so the workflow never holds a credential. Where we have a connector page, the name links to it.

Running it in production

This pays money to other companies. Every line will be checked by someone.

It runs on every paid invoice

Payouts build up through the period, so the statement is ready on the last day rather than three weeks later.

Lines are never edited

Corrections are new lines with a reason, so the statement a partner saw is always the statement on file.

Credentials stay in the workspace

A credential that raises vendor bills is sensitive. It lives in your workspace, scoped and separately rotatable.

Finance owns the rule

The payout rule and the rate table open in Tray Build, so a program change is reviewed where it is made.

Questions people ask

Should partners be paid on signature or on cash?

On cash, for most programs. A deal that never pays shouldn't cost a payout you then have to claw back.

Which rate applies when a partner changes tier?

The rate on the date the deal was registered or referred. Keep a tier history so it can be looked up, and say so in the program rules.

How do you cut payout disputes?

Show each partner the statement before paying, line by line back to the deal and invoice, with a window to question any line. Most disputes are settled before payment that way.

How are refunds handled?

As their own line on the next statement, with the deal and the reason. Never net a refund off silently.

Last reviewed October 2026.