Glossary

Stripe Payout Method

A Stripe payout method is the destination an outbound movement of money is sent to. The phrase covers two different things in Stripe’s API: a field on the classic payout object that holds the ID of a financial account, and a separate PayoutMethod object in Stripe’s money management API that represents a bank account, card or crypto wallet.

Also called: payout_method, PayoutMethod, payout destination, where a Stripe payout is sent

Definition

Every outbound movement of money needs somewhere to go, and in Stripe that somewhere is called a payout method. The trouble is that Stripe uses the phrase for two different things, and they live in different parts of the API.

The first is a field on the ordinary payout object, the one that fires payout dot paid when Stripe pays you. Stripe defines that field as the ID of the v2 financial account the funds are sent to. It is nullable, and on a normal payout to a bank account it is empty. When it is populated, it means this payout went into a Stripe financial account rather than out to your bank.

The second is a standalone object in Stripe’s money management API, written as v2 money management payout method. It has its own ID, its own type, and its own record of whether it is usable. This is the object that outbound payments and outbound transfers are sent to.

Those are not two names for one thing. They are two different objects that share a phrase, and the reason it matters for bookkeeping is that they answer different questions. The field on the payout object answers "where did this money end up", which decides which account a record lands in. The money management object answers "can money be sent here at all", which decides whether a record exists.

If you are reading this because a payout landed somewhere unexpected, you want the first one. If you are reading this because a payment to a vendor never happened, you want the second.

Key points

  • +A payout method is the destination an outbound movement of money is sent to, and Stripe uses the phrase for two distinct things.
  • +On the classic payout object, the payout method field holds the ID of the v2 financial account the funds were sent to, and is empty on an ordinary payout to a bank account.
  • +That same payout object separately carries a destination, which is the ID of the bank account or card, a type of either bank account or card, and a method of either standard or instant.
  • +In Stripe’s money management API, a payout method is its own object whose type is a bank account, a card or a crypto wallet.
  • +That object carries a usage status with two independent axes, one for sending money to other people and one for sending money to yourself.
  • +A payout method can be eligible for one of those and permanently invalid for the other. Stripe gives credit cards for transfers as its own example.
  • +Payout methods can be archived and unarchived rather than deleted, and a bank account carries its own archived flag.
  • +Acodei uses the financial account case: when a payout went to a financial account you mapped, the QuickBooks Transfer is pointed at that mapped account instead of your default deposit account.

Four fields on one object, all of them about where

The classic payout object is where most people meet this, and it carries four separate fields that all sound like they answer the same question. They do not, and telling them apart saves a lot of time.

The destination is the ID of the bank account or card the payout is sent to. This is the one that matches what you see in your Stripe dashboard under payout settings, and it is the one most failure codes are really about.

The type is either a bank account or a card, describing what that destination is.

The method is either standard or instant, describing how fast it travels rather than where it goes. Stripe notes that instant is supported for payouts to debit cards and bank accounts in certain countries.

The payout method is the odd one out, and it is the field this page exists to explain. Stripe defines it as the ID of the v2 financial account the funds are sent to. So it is not a method in the sense that the method field is, and it is not a payout method in the sense the money management API uses. It is a pointer that is either empty, meaning this payout behaved normally, or populated, meaning this payout went into a financial account.

That single distinction has a direct bookkeeping consequence, because a payout into a financial account is money moving between two balances you own, while a payout to your bank is money arriving in your bank. Same event name, two different meanings.

The object that decides whether money can move at all

The other payout method is a real object, and it belongs to the money management side of Stripe rather than to the payments balance.

Its type is one of three things: a bank account, a card, or a crypto wallet. When it is a bank account, Stripe attaches the bank name, the country, the last four digits, the routing number, the currencies that account supports, the delivery options that are enabled on it, and whether the account is a checking account. It also carries its own archived flag, which is how a payout method is retired without being deleted. Stripe exposes archive and unarchive as explicit operations for that reason.

The object also records the payout speeds available for that specific destination, either instant or standard, which is where you find out that a given bank account cannot receive an instant payout before you promise somebody one.

The field that matters most, though, is the usage status, and it is more interesting than a single usable flag.

Usage status has two axes, and they disagree on purpose

Stripe does not record one eligibility for a payout method. It records two, because there are two different things you might do with a destination and they have different requirements.

The payments axis covers sending funds to recipients, which is what an outbound payment does when you pay a vendor or a contractor. The transfers axis covers sending funds to yourself, which is what an outbound transfer does when you move your own money out to your own bank.

Each axis carries one of three values. Eligible means the destination has met all the necessary requirements. Requires action means it needs to meet more requirements, or somebody needs to do something, before it can be used. Invalid means it can never support that flow, and Stripe gives credit cards for transfers as the example: a card is not a thing you can transfer your own balance into, so no amount of verification will change that answer.

That three-way split is the part worth remembering, because two of the three look identical from the outside. A movement that did not happen because the destination requires action is waiting on a task somebody can complete. A movement that did not happen because the destination is invalid for that flow is waiting on nothing, and will never happen. Retrying it, or waiting another day, accomplishes the same amount in both cases, which is nothing, but only one of them has a fix.

There is also a setup intent recorded on the object when one is active, which is the mechanism by which a destination that requires action gets verified.

What a blocked payout method does to your books

The accounting consequence of all this is quieter than an error, which is what makes it worth understanding.

When a payout method is not eligible for the flow you are trying to use, the money does not move. No outbound payment, no outbound transfer, nothing posted anywhere. And because bookkeeping software records movements of money, nothing arrives in QuickBooks either. There is no failed record to investigate and no error in your books, because the thing that would have produced a record never happened.

So the symptom is an absence. A vendor says they were not paid. A transfer you expected to see in your bank never arrived. Your financial account balance is higher than your forecast said it would be. None of those show up as a problem in QuickBooks, because QuickBooks is faithfully recording a world in which that payment was never made.

That is the practical reason to know this object exists. When something did not post and you cannot find an error anywhere, check whether the destination was ever able to receive it. The answer is on the payout method, not in the sync.

One scoping note that saves a wasted search. The money management payout method object belongs to Stripe’s newer money management and global payouts stack, and Stripe lists global payouts as available in the United Kingdom and the United States. If you are a business taking payments and receiving ordinary payouts to your bank, you may never encounter this object at all. The field on the payout object is the one you are more likely to meet.

Where a payout method changes what Acodei writes

Acodei uses the payout object’s financial account pointer, and it changes one specific thing: which QuickBooks account a payout lands in.

Normally a payout is recorded against the deposit bank account you assigned in Account Mapping, which is set for each Stripe account and for each currency if you are on multicurrency. If the payout went to a Stripe financial account you have mapped, the Transfer’s destination becomes that mapped QuickBooks account instead of the default deposit account.

That is the whole behaviour, and it is worth being precise about why it matters. It is the same Stripe event either way. What differs is the account on the receiving end, and therefore which balance on your balance sheet goes up. A payout into a financial account has not reached your bank, so recording it against your bank account would show cash you cannot spend sitting in an account it is not in. The shape a payout takes in QuickBooks otherwise depends on your holding account type, and that, along with the full payout treatment, is covered on the payout entry rather than repeated here.

A financial account can hold more than one currency, and Acodei’s documented setup gives each currency its own QuickBooks holding account, so which mapped account receives the Transfer depends on the currency as well as on the financial account.

Two prerequisites sit underneath this. Stripe gates financial account features and has to enable them for your account, so many Stripe users will never see a populated payout method field. And Acodei checks automatically whether a financial account exists when a Stripe account is connected, revealing the Financial Account section on the Account Mapping page only when one is found.

On the money management object, Acodei’s documentation covers what it records when an outbound payment or an outbound transfer succeeds. It does not describe the eligibility states of a payout method, so treat a destination that never moved as something to resolve on the Stripe side first. There is nothing for a sync to record until the money moves.

Which QuickBooks account each Stripe balance and destination maps to is decided when you connect Stripe to QuickBooks and set up Account Mapping.

Want to see this on your own Stripe data?

Start a free trial

Frequently asked questions

What is a Stripe payout method?

It is the destination an outbound movement of money is sent to. Stripe uses the phrase for two things: a field on the classic payout object holding the ID of the financial account the funds went to, and a separate object in Stripe’s money management API representing a bank account, card or crypto wallet.

What is the difference between a payout method and a payout destination?

On the classic payout object they are different fields. The destination is the ID of the bank account or card the payout is sent to. The payout method is the ID of the financial account the funds were sent to, and it is empty on an ordinary payout to a bank. A payout carries both, and they are answering different questions.

Why did my Stripe payout not arrive in my bank account?

One possibility is that it was never aimed there. If the payout object carries a payout method, the funds went into a Stripe financial account rather than out to your bank, which is money moving between two balances you own. Check the payout method field before assuming a bank failure.

What does usage status mean on a payout method?

It records whether the destination has met the requirements for outbound money movement, on two separate axes. One covers sending funds to recipients and the other covers sending funds to yourself. Each is eligible, requires action, or invalid, and a destination can be eligible on one axis and invalid on the other.

What is the difference between requires action and invalid?

Requires action means more requirements have to be met before the destination can be used, so there is something to do. Invalid means the destination can never support that flow at all. Stripe gives credit cards for transfers as the example. Only one of the two has a fix, and neither improves by retrying.

Does a blocked payout method create a record in QuickBooks?

No, and that is what makes it hard to spot. If the destination cannot receive the movement, no money moves, so there is nothing for a sync to record. The symptom is an absence rather than an error: a vendor who was not paid, or a transfer that never showed up, with nothing wrong visible in your books.

How does a payout method affect which QuickBooks account a payout lands in?

When the payout went to a Stripe financial account you have mapped, Acodei points the QuickBooks Transfer at that mapped account instead of your default deposit bank account. Which mapped account receives it also depends on currency, since each currency in a financial account gets its own QuickBooks holding account.

Can a Stripe payout method be deleted?

Stripe exposes archive and unarchive rather than deletion, and a payout method’s bank account carries its own archived flag. Archiving retires a destination without removing the history of what was sent to it, which is the behaviour you want for anything your books already reference.

What customers say about running Stripe through Acodei

Stripe Verified Partner BadgeQuickBooks Intuit Badge
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.