Glossary

Stripe Minimum Charge Amount

The Stripe minimum charge amount is the smallest non-zero payment Stripe will process, 0.50 USD in the United States, set per currency and measured in your payout bank account’s settlement currency, so the Stripe fee never exceeds the charge itself.

14-day free trial · card required · cancel anytime

Definition

Stripe will not process a payment below a floor. Its currency documentation states the reason directly: Stripe “enforces a minimum payment amount for all charges to make sure the Stripe fee doesn’t exceed your charge.” On US standard pricing of 2.9% + 30¢, a 0.50 USD charge costs about 0.31 USD in fees and leaves 0.19 USD. Anything much smaller would cost more to process than it brings in.

The floor is not one number. Stripe publishes a minimum per currency, from 0.30 GBP to 175.00 HUF, and the one that applies depends on the currency your payout bank account settles in, not only the currency the customer sees. A charge that has to be converted must clear the minimum of your default settlement currency after conversion.

The minimum shows up in two different ways. A direct API charge below it is rejected with an error. An invoice below it is not rejected at all: Stripe marks it paid without collecting anything and carries the amount forward to the customer’s next invoice. The second one is the case that catches bookkeepers out.

Key points

  • +The US minimum is 0.50 USD. Other examples from Stripe’s list: 0.50 EUR, 0.30 GBP, 0.50 CAD, 0.50 AUD, 2.50 DKK, 15.00 CZK, 175.00 HUF and 10 MXN.
  • +The applicable minimum follows your payout bank account’s settlement currency. Converted charges must meet the settlement currency’s minimum after conversion.
  • +Subscriptions can produce zero-amount charges for coupons and free trials, but any non-zero amount is still subject to the minimum.
  • +Some payment methods are exceptions. Stripe names iDEAL, which allows amount values as low as 1.
  • +A charge below the minimum fails with amount_too_small. A charge amount that breaks the minimum or maximum rules can also return invalid_charge_amount.
  • +An invoice whose amount due is below the minimum is marked paid with no payment, and the amount moves to the customer’s invoice balance as a debit for the next invoice.
  • +That invoice fires invoice.paid but no invoice.payment_succeeded event.

Minimum charge amounts by currency

Stripe’s currencies page lists the minimum for each settlement currency. The two-decimal currencies most Stripe users meet are 0.50 USD, 0.50 EUR, 0.30 GBP, 0.50 CAD, 0.50 AUD, 0.50 NZD, 0.50 CHF and 0.50 SGD. Several are noticeably higher in face value because the currency unit is smaller: 2.00 AED, 2.50 DKK, 3.00 NOK, 3.00 SEK, 2.00 PLN, 2.00 RON, 4.00 HKD, 2.00 MYR, 15.00 CZK and 175.00 HUF. A few are whole units: 10 MXN and 10 THB.

The list is Stripe’s published table at the time of writing and it changes occasionally. If a small-ticket product sits close to the line, check the current table on Stripe’s currencies page rather than a copy of it.

Why your settlement currency sets the floor

The minimum is tied to the currency Stripe pays out in. Stripe says the minimum “depends on the payout bank account settlement currency.” With one bank account, the minimum applies to charges in that account’s currency. Charges that need conversion into your default settlement currency must meet that currency’s minimum after conversion.

Stripe’s own example uses an account with GBP and USD bank accounts and GBP as the default. A USD charge settles in USD and is measured against the USD minimum. Any non-USD charge converts to GBP and has to clear 0.30 GBP once converted. So a seller with a USD payout account charging 0.45 EUR is not asking whether 0.45 EUR beats 0.50 EUR. They are asking whether 0.45 EUR, converted, reaches 0.50 USD.

This is why the same price can work for one account and fail for another. It depends on the bank account behind the Stripe balance, not just the checkout.

What happens to an invoice below the minimum

Direct charges fail loudly. Invoices do something quieter. Stripe’s invoicing overview says that if an open invoice’s amount due “is less than the minimum chargeable amount, the invoice automatically transitions to paid status and Stripe debits the amount from the customer’s credit balance.”

The customer balance documentation fills in the rest. The amount owed moves to the customer’s invoice balance as a debit, recorded as a customer balance transaction of type invoice_too_small, and is added to the amount due on the next invoice issued to that customer. Stripe notes this only happens for customers without a cash balance. For customers who pay by bank transfer and hold a cash balance, Stripe says a too-small invoice can’t be finalized with that cash balance.

The common way to hit this is usage billing. A metered subscription with a quiet month produces an invoice for 0.38 USD. Stripe marks it paid, no card is charged, and next month’s invoice is 0.38 USD larger than its own usage.

The events reflect it. Stripe sends invoice.paid when the invoice transitions to paid, but invoice.payment_succeeded only when an invoice-related PaymentIntent completes. A too-small invoice produces the first and not the second, and an integration listening only for payment_succeeded never hears about it.

What the minimum means for your books

For a rejected charge there is nothing to record. No money moved, no fee was taken, and nothing reaches a payout.

The too-small invoice is different, because Stripe calls it paid when no cash arrived. In accounting terms the sale happened and the customer still owes the money. The amount has moved from one invoice to the customer’s running balance, and it is collected as part of a later invoice. If QuickBooks shows a payment against the small invoice, nothing in your Stripe balance or payouts will match it, and your clearing account drifts by that amount until the next invoice pays.

A clean treatment keeps the small invoice open in QuickBooks, or otherwise in Accounts Receivable, until the later invoice that includes the carried amount is paid. Then the receivable clears against real cash. Small amounts make this easy to ignore, which is exactly how a year of 30-cent carries turns into a reconciliation difference no one can explain.

The fee side matters too. On a 0.50 USD sale at 2.9% + 30¢, the fee is more than 60% of the charge. Businesses with very small average tickets usually find that processing fees, not the minimum itself, are the real constraint, and batch small amounts into one larger charge or invoice.

The maximum charge amount

The ceiling is a digit limit rather than a price. For most card payments the amount field supports 12 digits in minor units. Cartes Bancaires allows 10 digits, and American Express 9 digits in most currencies. Card networks can impose tighter limits depending on currency and region.

For non-card payment methods, most currencies are limited to 8 digits, a maximum of 999,999.99. A charge above the ceiling fails with amount_too_large. Invoices have a mirror of the small-invoice rule: Stripe’s customer balance types include invoice_too_large, where an invoice above the maximum is debited to the invoice balance and added to the next invoice instead.

Frequently asked questions

What is the minimum amount you can charge with Stripe?

In the United States it is 0.50 USD. Other currencies have their own minimums, such as 0.50 EUR, 0.30 GBP and 0.50 CAD. The minimum that applies depends on your payout bank account’s settlement currency, and charges that are converted must meet that currency’s minimum after conversion.

Why does Stripe have a minimum charge amount?

Stripe says it enforces the minimum “to make sure the Stripe fee doesn’t exceed your charge.” At US standard pricing of 2.9% + 30¢, the fixed 30 cents alone would wipe out a very small payment. Even at the 0.50 USD minimum, about 0.31 USD of a 0.50 USD charge goes to fees.

What error does Stripe return for a charge that is too small?

amount_too_small, which Stripe describes as “The specified amount is less than the minimum amount allowed.” A request can also fail with invalid_charge_amount, which covers amounts that are not a positive integer in the smallest currency unit or that fall outside the minimum and maximum limits.

What happens to a Stripe invoice below the minimum charge amount?

Stripe marks it paid without charging anything and moves the amount to the customer’s invoice balance as a debit, which is added to the next invoice. You receive invoice.paid but not invoice.payment_succeeded. This applies to customers without a cash balance.

How should a sub-minimum Stripe invoice be recorded in QuickBooks?

As a sale the customer has not paid yet. Stripe shows the invoice as paid, but no money reached your Stripe balance, so recording a payment against it leaves your clearing account out of step with Stripe. Keep the amount in Accounts Receivable until the later invoice that carries it is paid.

What customers say about running Stripe through Acodei

Stripe Verified Partner BadgeIntuit QuickBooks
★★★★★
“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
RyanOwner at Indie Music Academy
★★★★★
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
AndresCo-founder and CEO at Kanguro Collections and Reinsurance

Related reading

More glossary terms

See the full glossary

Ready to try Acodei?

Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.

14-day free trial · card required · cancel anytime