Skip to main content

Processing fees

Card and bank payments cost a processing fee. On a card payment the restaurant pays a 2.9% + 30¢ fee on top by default, and Clipp can switch that so the supplier absorbs it. A bank (ACH) payment never charges the restaurant: the supplier bears the bank fee. Whatever part of the processor's real fee the restaurant didn't cover lands in the supplier's books as an expense. Cash, check and other hand-recorded payments have no fee.

A shorter summary is on the Invoices page Processing fees.

Who uses it​

  • Restaurants see the fee at checkout and on their copy of the invoice.
  • Suppliers see the fee they bore as an expense in Bookkeeping.
  • Clipp decides who pays the card fee for each supplier; suppliers can't change it themselves.

How it works​

MethodFee added for the restaurantWho decidesSupplier's books
Card (Stripe)2.9% + $0.30 of the amount owed, as a Credit Card Processing Fee lineDefault: the restaurant pays. Clipp can set the supplier to absorb it.An expense for whatever the real Stripe fee exceeds the restaurant's fee
Bank (ACH) (Stripe)NoneFixedAn expense for Stripe's whole bank fee, booked when the payment clears
Cash, check, Other…None—None

The card fee setting​

There's no screen for it. Clipp support switches a supplier to "absorbs the card fee" in the supplier's settings. With the supplier absorbing:

  • the checkout has no fee line, and the restaurant pays exactly the balance;
  • the pay link's note "Credit card payments will include a 2.9% + 30¢ processing fee, applied by the payment provider." is hidden;
  • the whole Stripe fee becomes the supplier's expense.

The setting changes nothing for bank, cash or check payments.

When the fee is booked​

  • Card: once Stripe reports its real fee, usually moments after the payment. Clipp checks again each time Stripe updates the charge, until it has the figure. Dated the day Stripe settled it.
  • Bank: once, when the payment clears. Nothing is booked while it's Processing (PFP-008, PFP-009, PFP-010).

The expense is named Order Transaction Processing Fees, "Processing fees for order {Invoice}", in Other Expense – Transaction Processing Fees, and lands in the same account as the payment. It can be expanded into Payment provider fee and Base platform fee lines (PFP-011, PFP-012).

Calculations​

The card fee​

Card fee = amount owed × 2.9% + $0.30, rounded half-up to the cent. "Amount owed" is the balance being paid, after earlier payments and refunds.

Owed× 2.9%+ $0.30FeeCharged
$100.002.9003.200$3.20$103.20
$60.001.7402.040$2.04$62.04
$25.000.7251.025$1.03 (half-up, not $1.02)$26.03
$15.000.4350.735$0.74$15.74

The invoice records the payment without the fee: $100.00 on the $103.20 charge.

What the supplier bears on a card payment​

Supplier's fee = Stripe's real fee − the fee the restaurant paid (never below zero).

The restaurant's fee is 2.9% of the invoice, but Stripe charges its rate on the whole charge, the fee included. So even when the restaurant pays the fee, a few cents are left over. Assuming Stripe's standard 2.9% + 30¢ (verify: each account's actual rate varies):

$100.00 by cardRestaurant pays (default)Supplier absorbs
Restaurant charged$103.20$100.00
Stripe's fee103.20 × 2.9% + 0.30 = $3.29100 × 2.9% + 0.30 = $3.20
Restaurant's fee$3.20$0.00
Supplier's expense$0.09$3.20
Payment recorded$100.00$100.00
Supplier receives$99.91$96.80

With a 1% Clipp platform fee on top (see below), the default case becomes: Stripe takes $3.29 + $1.00 = $4.29, the supplier's expense is $4.29 − $3.20 = $1.09 (lines: Payment provider fee $0.09, Base platform fee $1.00), and the supplier receives $98.91.

A bank payment​

$100.00 by bank. Stripe's bank fee, assumed at 0.8% = $0.80 (verify), is booked as the supplier's expense on the day the payment clears. The restaurant pays $100.00 and the supplier receives $99.20.

Clipp platform fee​

Clipp can take a percentage of each card and bank payment as a platform fee, set per supplier by Clipp, with no screen. It's worked out on the order amount, never on the card fee: 1% of a $100.00 invoice is $1.00 whether or not the restaurant paid $3.20 on top. It's part of the supplier's processing fee expense, as the Base platform fee line.

Where it shows up​

  • Stripe checkout: a Credit Card Processing Fee line.
  • Pay link: the 2.9% + 30¢ note under Pay with Card, unless the supplier absorbs. The pay buttons show the amount before the fee.
  • Statement page: the same note, always (see Known limitations).
  • Invoice PDF: neither copy shows the card fee the restaurant paid (see Known limitations).
  • Bookkeeping: the supplier's fee expense. See Bookkeeping effects.

Permissions​

Nobody in the supplier's team can change who pays the card fee, or the platform fee. Both are set by Clipp.

Decisions​

  • The restaurant pays the card fee unless Clipp sets the supplier to absorb it. Some suppliers wanted to absorb fees; the default keeps existing behaviour. (#2068, #2071)
  • The supplier's share of the fee is its own expense, in a dedicated category. It reports apart from the sale. (#2075)
  • Bank fees are booked from Stripe's real figure, on the day the payment clears, along with the bank payment's income. Suppliers were overstating their earnings on bank payments. (#2143, #2568)
  • A card fee is never lost when Stripe's events arrive out of order. (#2144)
  • Clipp's revenue share is a percentage of the order amount, not of the fee, and only Clipp can set it. (#2113)

Specs​

processing-fee-passthrough.feature
# prefix: PFP
Feature: Payment Processing Fee Passthrough
Suppliers normally pass the card (Stripe) processing fee on to the customer at
checkout. A supplier may instead choose to absorb the card fee — the customer is
charged only the balance owed, and the supplier receives less. Absorbing the fee
is configurable for card payments only; other methods are unaffected. PayPal
always charges its convenience fee to the customer and is not configurable.

Whatever part of the processor's fee the customer does not cover is the supplier's
expense and is recorded in their accounting. Bank (ACH) payments never carry a
customer fee, so the supplier bears the whole amount — recorded once the payment
settles, since that is when the processor's charge becomes known.

QA setup note:
The absorb setting has no supplier-facing UI. Toggle it via the
`upsertSupplierSettings` mutation with `skipSurchargeCollection: { card: <bool> }`:

- `card: false` (the default, and the behavior when the setting is absent) →
the customer pays the card fee.
- `card: true` → the supplier absorbs the card fee.

Background:
Given a restaurant owes a balance on an order

Rule: The card processing fee is added to the customer's payment by default

Scenario: PFP-001 customer pays the card processing fee when the supplier has not opted to absorb it
Given the supplier has not chosen to absorb the card processing fee
When the restaurant pays the balance by card
Then the processing fee is added to the amount the restaurant pays
And the invoice shows the processing fee as a separate charge

Rule: A supplier can absorb the card processing fee instead of charging the customer

Scenario: PFP-002 customer is not charged the card processing fee when the supplier absorbs it
Given the supplier has chosen to absorb the card processing fee
When the restaurant pays the balance by card
Then no processing fee is added to the amount the restaurant pays
And the recorded payment equals the balance owed
And the invoice does not show any processing fee

Rule: The processor's fee borne by the supplier is recorded as an expense

Scenario: PFP-006 the supplier-borne card processing fee is recorded as an Other Expense, including when absorbed
Given the restaurant pays a card balance
When the payment is recorded
Then the part of the processor's fee not covered by the customer's fee payment is recorded in the supplier's accounting
And it is recorded as an expense in the dedicated "Other Expense – Transaction Processing Fees" category, separate from the payment income
And it is recorded even when the supplier has chosen to absorb the card fee (the full fee is then the supplier's expense)
And no expense is recorded when the customer's fee payment fully covers the processor's fee

Rule: The processor's fee on a bank payment is recorded once the payment settles

Scenario: PFP-008 the bank payment processing fee is recorded as an expense at settlement
Given the restaurant pays a balance by ACH
And the customer was never charged a processing fee for it
When the bank payment settles
Then the whole processor's fee is recorded in the supplier's accounting as an expense
And it is recorded in the same "Other Expense – Transaction Processing Fees" category used for card
And it is dated the day the payment settled, not the day it was submitted

Scenario: PFP-009 no expense is recorded while a bank payment is still in flight
Given the restaurant has paid a balance by ACH
When the bank payment has not settled yet
Then no processing fee expense is recorded for it

Scenario: PFP-010 a settled bank payment records its fee only once
Given a settled ACH payment whose processing fee has been recorded
When the settlement is processed again
Then the processing fee expense is not recorded a second time

Rule: The supplier sees one fee amount; its parts stay internal

Scenario: PFP-011 the recorded fee is the total the supplier was charged
Given a supplier on a contract with a platform fee
When a payment's processing fee is recorded
Then the expense is the total charged, covering both the processor's fee and Clipp's platform fee
And the supplier is never shown how that total splits between the two

Scenario: PFP-012 the split is kept for Clipp's own reporting
When a payment's processing fee is recorded
Then the processor's charge and Clipp's platform fee are stored separately against the payment
And they are not published on the API the supplier reads

Rule: Payment methods that never carry a card processing fee are unaffected

Scenario Outline: PFP-004 the absorb setting has no effect on fee-free payment methods
Given the restaurant pays the balance by <method>
When the payment is completed
Then no processing fee is added to the amount the restaurant pays, regardless of the supplier's absorb setting

Examples:
| method |
| ACH |
| cash |
| check |

Rule: PayPal always charges its convenience fee to the customer

Scenario: PFP-007 the PayPal convenience fee is always added and is not configurable
Given the restaurant pays the balance by PayPal
When the restaurant pays the balance
Then the convenience fee is added to the amount the restaurant pays
And the absorb setting has no effect on the PayPal convenience fee

Rule: Customers are only warned about a fee they will actually be charged

Scenario Outline: PFP-005 the card fee disclaimer matches whether the customer will be charged
Given the supplier has <absorb setting> for the card processing fee
When the restaurant reviews payment options for card
Then the processing fee disclaimer is <visibility>

Examples:
| absorb setting | visibility |
| chosen to absorb | hidden |
| not chosen to absorb | shown |

Known limitations​

  • No screen for who pays the card fee. Changing it takes a request to Clipp.
  • The fee isn't grossed up, so a supplier always bears about 2.9% of the restaurant's fee: $0.09 on $100 (intended? see Questions).
  • The statement page always shows the card fee note, even when the supplier absorbs it.
  • The invoice PDF doesn't show the card fee the restaurant paid. The restaurant's copy used to list it; a restaurant comparing the PDF with its card statement sees a difference of the fee (verify the PDF).
  • A fee that Clipp fails to book on a bank payment isn't retried automatically.
  • The mobile app's fee text may not follow the absorb setting (verify; left as a follow-up in #2068).

FAQ​

Why did the customer pay $103.20 for a $100 invoice? By default the customer pays the 2.9% + 30¢ card fee. See The card fee.

The customer paid the fee, so why is there a $0.09 processing fee in my books? Stripe charges its rate on the full $103.20, not $100. The difference is yours. See What the supplier bears.

Can I stop charging my customers the card fee? Yes, but there's no button: ask Clipp support to set you to absorb card fees.

Is there a fee for bank payments? Not for the customer. Stripe's bank fee is booked as your expense when the payment clears.

Why isn't the processing fee in Bookkeeping yet? For a bank payment, it's booked only when the payment clears. For a card payment, it appears once Stripe reports it, normally within moments.