Every entry shows its arithmetic. Money moves only when you press.
A plan says what it pays. The ledger keeps the sum behind every entry, writes a refund beside the sale it undoes, and never recalculates its past. Paying is a preview, a decision, and a file.

A plan says what it pays, in a sentence
A percentage or a flat amount. Once, or on every renewal for a set number of months or for as long as the customer pays. With conditions, a priority, and a lower rate when a discount code was used, if you want one.
- Percentage or flat, one-time or recurring, for as long as you choose
- On Shopify and BigCommerce, limited to collections, products, variants or SKUs
- A partner can be given their own rate on a rule
- The highest-priority plan whose conditions match wins

Nothing is ever recomputed to be explained
Every entry stores the arithmetic that produced it, literally “20% of USD 299.00”. A refund writes a reversal beside the original, taking back the refund's share. Yen stay yen.
- History is never edited: not a commission, not an attribution, not a raw event
- Money is integer minor units plus a currency, everywhere. Never a float
- Every total is per currency. Nothing adds euros to dollars

Approved by you, or by a plan after a holding period
Approve commission singly or in bulk, or let a plan approve each one by itself once a holding period has passed. Either way, some entries wait for a person, and the ledger says why.
- Waits for a person when a review is open on the partner
- Waits when the sale was only reported by a browser, or by a provider that signs nothing
- Waits when the partner is suspended or the workspace is read-only
- Partners see the same arithmetic for their own earnings

A recruiter earns on top, never out of the recruit
A partner who brings in another partner can earn a share of what the recruit earns, paid by you on top. The recruit's own commission is never reduced.
- A share for a set number of months, on the recruit's first sales, or for as long as both stay
- Two tiers at most: nobody earns from their recruit's recruits
- Shares already earned keep the rate they were earned at

See who is owed, and who can't be paid, before anything is committed
The payout preview lists who is owed, who cannot be paid, and exactly why: no payout details on file, below the minimum. Nothing is committed until you say so.
- A batch is built in one transaction and approved by a person
- Each payout is marked paid with a reference
- A payment the bank sends back is recorded as returned

Pay from a file, or from your own PayPal balance
Refficks builds the files in each platform's own layout: a general CSV, PayPal's Payouts upload, Wise's batch template. Or it sends approved PayPal payouts from your own balance, on a button you press.
- PayPal and Wise files built from the approved payouts, ready to upload
- A payout in neither file is paid from the general file, and the screen says which
- PayPal payouts sent from your own balance, one press per batch

Four things that never move money
Money moves only when a person presses for it.
No timer moves money
A PayPal payout, a store credit, a gift certificate: each on a named button, one press per decision, never twice.
Payout details are never shown
Encrypted at rest and shown on no screen, to anyone, including the partner who typed them. Each time they leave, it is recorded.
Automations can't touch money
They can email, tag, move a partner along or ask you. They cannot approve, pay or reverse. Ever.
Neither can the AI
It can summarise a payout run before it is created. It has no way to approve, reverse or pay a commission.
Tax, without pretending to file it for you
Forms in the portal
Partners give a W-9, W-8BEN or W-8BEN-E in their own portal.
A 1099-NEC year
The merchant gets the year with an audited export and files it themselves.
Self-billed invoices
UK and EU merchants can issue them once a partner accepts. DAC7 is not built.
Every entry shows its arithmetic
A ledger you can read, a refund that reverses itself, and a payout that waits for you.