InvoiceNinja calculates surcharge right, but Stripe does not.

(Self hosted)

Hi there!

I’m running v4.2.2 FYI.

I am using the Stripe payment option and I enabled fees so that the customer has to pay the invoice amount + $0.30 + 2.9% as that is Stripe’s payment processing fee. Whenever they pay for an invoice, InvoiceNinja calculates the fee correctly, but then gives the total including the surcharge to Stripe and Stripe charges me a fee off of the whole total.

For example, I make an invoice for $150.
Invoice Ninja adds a surcharge for $4.65 (the proper amount it should)
Stripe then accepts the payment as $154.65 total and charges me a fee of $4.78 leaving me with a net of $149.87.

I would obviously like this to be fixed so that I am not at a net loss.

Thanks so much! IN has made my life so much easier!

Sorry, I don’t think we’ll be able to fix this.

Stripe (along with most other gateways) doesn’t support breaking out the invoice amount from the fee amount in the charge. As a workaround you may want to increase the fee percentage slightly.

clarkmurrick, this is the reason why ‘surcharges’ are not called ‘transaction fees’. Surcharges should be used for additional items such as, for instance, ‘bubble wrap + packaging’.

The behavior you described is exactly as it should be, and it is not wrong. You’re asking Stripe to charge the customer for $154.65, they deduct 2.9% + $0.30 from that, so you’re left with $149.87. So as Hillel pointed out, all you need to do is use a higher percentage. 3% will do, you’ll never end up with exactly $150 but that should cover your costs.

Or, you could simply consider that cost when setting your price, and not explicitly pass this on to your customers. Maybe, I don’t know… charge $160…? After all, Stripe’s fees are part of your ‘cost of doing business’, they should - at least in my view - already be a part of your cost structure.

Also, don’t forget to check your laws. In some parts of the world it is explicitly forbidden to pass on those charges separately.

Thank you so much for the reply! That clears up all the misconceptions for me.