Glossary

Stripe Merchant of Record

The merchant of record is the legal entity responsible for a transaction, and in a Stripe Connect integration it is either the platform or the connected account, decided by the charge type and the on_behalf_of parameter rather than by anything the customer sees.

Also called: merchant of record, MoR, Stripe MoR, Connect merchant of record, seller of record

Definition

Most Stripe concepts describe a mechanism. This one describes a liability, and it is assigned by settings that look purely technical.

Stripe defines the merchant of record as "the legal entity responsible for facilitating the sale of products to a customer that handles any applicable regulations and liabilities, including sales taxes", and adds that "in a Connect integration, it can be the platform or a connected account". The shorter version Stripe gives is the one worth memorising: "The MoR is the entity with legal responsibility for a transaction."

The reason it matters outside a compliance review is that the MoR is the seller. Stripe: "Think of the MoR as the party that receives a customer’s payment, appears on the statement or receipt, and bears responsibility for the purchased goods or services. The MoR is also liable for any disputes or refunds related to the purchase."

That is not a role you assign in a settings page. It follows from how you create the charge, which means a platform can change who the legal seller is by changing an API call, and can do it without noticing.

Key points

  • +Stripe defines the MoR as the entity with legal responsibility for a transaction: it can be the platform or a connected account.
  • +Direct charges make the connected account the MoR. Indirect charges make the platform the MoR unless `on_behalf_of` is set.
  • +With `on_behalf_of`, the connected account is the MoR, but the platform still covers losses if that account’s balance goes negative.
  • +For most SaaS platforms the connected accounts are the MoRs; for most marketplaces the platform is.
  • +A SaaS platform that uses destination charges makes itself the MoR for those transactions.
  • +Card networks enforce MoR rules, and Stripe warns that violations "can result in significant fines for your platform and for Stripe".

Three rows decide it, and only three

Stripe publishes the mapping as a short list, and it is worth reading as a decision table rather than as prose. Configure the charge type and, where appropriate, the `on_behalf_of` setting for each transaction, based on who the MoR should be:

- **Direct charges:** "The merchant of record is the connected account." - **Indirect charges using the `on_behalf_of` parameter:** "The merchant of record is the connected account." Stripe attaches a condition to this one, covered in the next section. - **Indirect charges without using the `on_behalf_of` parameter:** "The merchant of record is the platform."

So the default for an indirect charge is that your platform is the legal seller. Destination charges and separate charges and transfers are both indirect, which means a platform that never sets `on_behalf_of` is the merchant of record for every sale its connected accounts make, whether or not anyone intended that.

There is also a hard prerequisite on newer accounts. Stripe: "For a connected account created using the Accounts v2 API to be the MoR, it must have the `merchant` configuration. Otherwise, payments will fail." That is a failure at charge time rather than a silent misassignment, which makes it the friendlier of the two ways to get this wrong.

The line in the table that is not symmetrical

The second row carries a qualifier that changes what "the connected account is the MoR" is worth to a platform. Stripe, in full: "The merchant of record is the connected account. However, if a connected account’s balance becomes negative, your platform is ultimately responsible for covering any losses."

Read those two sentences together and the arrangement is clearer than either alone. `on_behalf_of` moves the legal seller position to the connected account. It does not move the financial backstop, which stays with the platform. A platform using indirect charges with `on_behalf_of` has assigned the liability that card networks care about while keeping the one its bank account cares about.

That asymmetry is the reason the parameter is worth understanding on its own terms. Stripe’s own glossary entry for it describes `on_behalf_of` as "a parameter that allows a Connect platform to create an indirect payment where the connected account is the merchant of record (MoR)", which ties the two concepts together explicitly. What that parameter separately changes about settlement country, fee schedule and branding is covered in the Stripe on_behalf_of entry linked below.

The default you picked at onboarding, and the one you may have overridden since

Stripe ties the MoR to the business model you declared. "When you onboard your platform and decide whether to operate as a SaaS platform or as a marketplace, you also define the MoR for your transactions: for most SaaS platforms, connected accounts are the MoRs, and for most marketplaces, the platform is the MoR." If you onboard as a marketplace, Stripe asks you to acknowledge the responsibilities that come with it.

The warning worth pinning to that is about what happens afterwards. Stripe: "Some integrations use non-standard charge types. For example, a SaaS platform might use destination charges for certain transactions. For those transactions, the MoR is the SaaS platform, not the connected account."

This is the practical trap. A SaaS platform whose whole model assumes its customers are the sellers can reassign the seller role to itself for a subset of transactions by choosing a convenient charge type, for reasons that are usually about funds flow rather than about liability. Stripe’s instruction in that case is not to avoid it but to be honest about it: "If you use non-standard charges, you need to make sure that every transaction clearly identifies the MoR to the customer."

Worth auditing by charge type rather than by intent, because the intent lives in a design document and the charge type lives in the API call.

What the customer has to be told

The MoR rules are not satisfied by getting the API right. Stripe is explicit that the customer-facing surface has to match: "The customer-facing website, payment flow, and terms of service must clearly identify that party, whether it’s your platform or a connected account. The customer needs to understand that any transaction is with the MoR, and only with the MoR."

Stripe’s illustration is a storefront that carries a SaaS platform’s logo: "The page must make clear that purchases through the website are with the connected account’s business, and that the SaaS platform has no responsibility for fulfilling those purchases." The same logic extends to multiparty customer service, where "if a third party provides customer service, the customer must understand who has responsibility for providing the service", and to returns, where the customer must understand who is responsible for any refund.

Statement descriptors are where this becomes concrete, because Stripe fills them from the MoR by default. For non-card payments, "if you don’t specify the statement descriptor, Stripe uses the MoR’s statement descriptor". For a dynamic card descriptor, Stripe "sets the statement descriptor by appending '* ' (an asterisk and a space) and the suffix to the MoR’s statement descriptor prefix", falling back to the first several characters of the MoR’s statement descriptor when no prefix is defined. For a static one, Stripe simply uses the MoR’s descriptor, and you cannot specify a static descriptor when you create a payment.

So the descriptor is a readout of who Stripe thinks the seller is. If a cardholder is seeing a name that surprises you, that is worth treating as evidence about the charge type rather than as a formatting problem.

Why a bookkeeper should care about a compliance field

The MoR question and the revenue question are the same question asked by two departments.

Stripe’s description of the role is that the MoR receives the customer’s payment, appears on the receipt, bears responsibility for the goods or services, and is liable for disputes and refunds. Those are the attributes that normally decide which entity books a sale as its own revenue, and which entity books the cost of a refund.

This does not resolve itself into a single accounting answer, because the presentation question (gross or net, platform or connected account) depends on the specific arrangement and on the standards you report under. It is a conversation to have with your accountant. What the Connect configuration gives you is the input to that conversation, and the useful discipline is to make sure the input is accurate before the volume gets large: run the charge-type audit, confirm whether `on_behalf_of` is set, and check that the answer matches what your revenue policy assumes.

One adjacent case is worth separating out, because it uses the same words for a different arrangement. Under Stripe Managed Payments, Stripe itself is the merchant of record and Connect is not supported at all, which makes it a different question from the platform-versus-connected-account one on this page. The accounting consequences of that arrangement are covered separately in our writeup on Stripe Managed Payments, linked below.

Frequently asked questions

What is the merchant of record in Stripe?

Stripe defines it as "the legal entity responsible for facilitating the sale of products to a customer that handles any applicable regulations and liabilities, including sales taxes", and notes that "in a Connect integration, it can be the platform or a connected account". Stripe also describes the MoR as the party that receives the payment, appears on the statement or receipt, bears responsibility for the goods or services, and is liable for disputes and refunds.

Who is the merchant of record on a direct charge?

The connected account. Stripe states it without qualification for direct charges, which is why direct charges are the standard pattern for a platform whose customers are genuinely the sellers.

Does on_behalf_of change the merchant of record?

Yes. On an indirect charge, setting `on_behalf_of` makes the connected account the merchant of record, and without it the platform is. Stripe describes the parameter as one "that allows a Connect platform to create an indirect payment where the connected account is the merchant of record (MoR)". One thing it does not move: "if a connected account’s balance becomes negative, your platform is ultimately responsible for covering any losses".

Can a SaaS platform accidentally become the merchant of record?

Yes, and Stripe names the case directly. "A SaaS platform might use destination charges for certain transactions. For those transactions, the MoR is the SaaS platform, not the connected account." Because the choice is made per charge, an audit by charge type is more reliable than an assumption based on how the platform was onboarded.

What happens if the merchant of record is not clearly identified?

Stripe warns that "the card networks enforce MoR rules, and violations can result in significant fines for your platform and for Stripe". The requirement covers the customer-facing website, payment flow and terms of service, not just the API configuration, and Stripe advises defining your statement descriptor to identify the same entity so the transaction and the checkout agree.

Whose statement descriptor does the customer see?

The merchant of record’s, unless you override it. Stripe uses the MoR’s statement descriptor when you do not specify one on a non-card payment, appends a dynamic suffix to the MoR’s prefix on card payments, and uses the MoR’s descriptor outright for static ones. An unexpected name on a cardholder’s statement usually points at the charge type rather than at a descriptor setting.

Is the merchant of record the same as the settlement merchant?

They are closely related and Stripe uses overlapping language for them. The Connect documentation describes `on_behalf_of` as how you make the connected account the business of record for the payment, and the billing documentation calls the same thing making it the settlement merchant, while the merchant-of-record page describes `on_behalf_of` as creating an indirect payment where the connected account is the MoR. In practice they answer the same question about which entity the transaction legally belongs to.

Does the merchant of record decide whose revenue the sale is?

It is the main input to that decision, not the whole of it. The MoR receives the payment, appears on the receipt, and carries responsibility for the goods and for refunds, which are the facts an accountant works from. How that is presented in your books still depends on your arrangement and your reporting standards, so it is a question to settle with your accountant before volume makes it expensive to revisit.

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.