Passing online payment fees on to your client
When a client pays an invoice online, Stripe (and, depending on your plan, Harvest) charges a small processing fee. Until now, that fee always came out of your end of the payment. With this update, you can choose to have your client cover the fee at checkout, so the amount that lands in your account matches the invoice total.
You can also choose whether the fee shows up on the invoice itself or stays at checkout only.
You'll find the new controls in the Get Paid step when you're creating or editing an invoice, in a section called Pass fees on to client.
Turning the feature on
The first time you enable it on any invoice, you'll be asked to read a short statement and accept responsibility for compliance. Some regions have laws about surcharging customers for card or bank fees, and it's up to you to make sure adding the fee is allowed where you operate.
Once you've accepted the statement, two toggles become available:
- Charge online payment fee to client: adds the fee to what your client pays at checkout.
- Show the fee on the invoice: controls whether the fee appears as a line item on the invoice document itself, or only at checkout.
Why the fees you see are estimates
In the Get Paid step, Harvest shows a per-method preview of the fee that would apply to the invoice. Example: "Stripe 2.9% + $0.30 + Harvest 0.5% = $4.20 on this invoice".
These numbers are estimates. The amount your client is actually charged at checkout, and the amount Stripe actually deducts, can differ by a small amount because:
- Stripe's exact fee depends on the card brand, the card's country of issue, currency conversion, and whether the transaction is treated as domestic or international. We use the standard rate for your country and currency.
- Bank-transfer and direct-debit fees can vary slightly with the amount due.
The estimate is meant to give you and your client a clear, fair amount up front. Small differences between the estimate and the final fee are normal and anyway your client still pays the estimated amount you and they were shown.
Showing the fee on the invoice (or not)
Once you've turned on Charge online payment fee to client, you can decide whether your client sees the fee on the invoice itself, or only when they go to pay online.
Option 1: Show the fee on the invoice
When this is on:
- The fee appears as its own line on the invoice document, the PDF, and the email right alongside any taxes or discounts.
- The invoice total reflects the gross amount (your original total + the fee). That gross is what the client owes and what shows up everywhere — in the email, on the invoice page, in your reports, and in QuickBooks or Xero if the invoice is synced.
- Your client knows the full amount before they pick a payment method.
Because the fee is part of the invoice total, your client must know before they receive the invoice which payment method they'll use. For that reason, this option is only available when exactly one online payment method is enabled on the invoice.
Option 2: Don't show the fee on the invoice
When this is off (the default):
- The invoice document, PDF, and email show your original total, with no fee line.
- When your client opens the pay-online page and picks a payment method, the fee for that method is added on top, and the page makes the new total clear before they confirm the payment.
- Your reports, QuickBooks, and Xero see only the base invoice amount. The fee passes through Stripe but isn't recorded as a separate line item on the Harvest invoice.
Why fees are only computed for the first online payment
Once a client makes their first online payment toward an invoice, whether they pay in full or only partially, Harvest locks the fee settings on that invoice. From that point on:
- The toggles for charging and showing the fee are read-only.
- The fee already calculated and applied (if Show the fee on the invoice was on) stays exactly as it was when the first payment was made.
- If the invoice is paid in installments, follow-up online payments are still charged a fee at checkout, but the invoice itself isn't recalculated.
We do this on purpose, to keep things simple and predictable. A client paying $1,000 in two installments shouldn't see two different fee amounts on the same invoice depending on when each piece is paid, and you shouldn't have an invoice total that shifts after part of it is already paid.
If your client switches to paying you manually (a check or a bank transfer outside Stripe), that doesn't lock the settings, since manual payments aren't run through Stripe and don't carry the fee. You can still flip Show the fee on the invoice off in that case to drop the fee from the invoice total and close it out cleanly.
What your client sees
- With "Show the fee on the invoice" on: the fee appears as a separate line on the invoice, just like a tax or discount, and the total reflects the full amount they owe. When they go to pay online, the amount they're charged matches the invoice total.
- With "Show the fee on the invoice" off: the invoice they receive shows your original total. When they open the pay-online page and pick a payment method, the page shows the original total, the fee for the method they chose, and the new total, before they confirm.
Either way, the client always knows the final amount before they confirm the payment.
What this changes in your reports and integrations
- When "Show the fee on the invoice" is on, the invoice total includes the fee, and that's the number reflected in your invoice reports and in QuickBooks or Xero (if connected). The fee appears as its own "Online payment fee" line on the synced invoice as well.
- When "Show the fee on the invoice" is off, your invoice total stays at the original amount in all of those places. The fee is only visible to your client at checkout and isn't recorded as a line item on the Harvest invoice.
Recurring invoices
You can turn the feature on (or off) on a recurring invoice template, the same way you do on a one-off invoice. The settings carry over to every new invoice generated from the template.
Each generated invoice recalculates its fee at the time it's issued, using the current rates. So if Stripe or Harvest's pricing changes between when you set up the recurring template and when a particular invoice goes out, that invoice will reflect the up-to-date rate — you don't have to remember to re-save the template.
Availability
Passing online payment fees on to your client is available to Stripe users with a business address in the United States or Canada. This applies to Stripe payments only.
Supported payment methods
Online payment fees can be passed on to the client for any of the online payment methods Harvest supports through Stripe, including:
- Credit and debit cards
- ACH bank transfers (US)
- SEPA Direct Debit, BACS Direct Debit, AU‑BECS, NZ‑BECS
- Bank transfers in supported regions (US, UK, EU, Japan, Mexico)