#avery0605
1 messages · Page 1 of 1 (latest)
hello! can you share the link to the guide that you're following for your implementation?
Yes, it is this one https://stripe.com/docs/tax/custom#calculate-tax
If it's worth anything, I'm using Stripe Tax to calculate tax on behalf of a Connect account, and that brought me to my question about how Stripe Tax is calculating taxes for the Connect account as I don't see any update to the Tax report after submitting multiple payments.
hrm, so there's this section in the doc that mentions
When you’re ready to take payment, create a PaymentIntent from the tax calculation result. Store the tax calculation ID in the PaymentIntent’s metadata or in your own database so you can create a tax transaction when your customer completes payment.
So in order to track it, what you need to do is to save the tax calculation id the in the PaymentIntent's metadata. However, the PaymentIntent itself doesn't have a separate tax field in it (if that's what you're asking)
and you need to create a tax record separately : https://stripe.com/docs/tax/custom#tax-transaction
i guess your question here is really - why isn't the tax being displayed in the tax report?
I feel like there are 2 parts of it. First being how is the customer being charged for Tax, as Stripe Tax isn't making the charging.
Second being how will the Connect account know how much tax have been collected?
how is the customer being charged for Tax, as Stripe Tax isn't making the charging.
Your PaymentIntent is created based on the amount calculated by stripe.tax.calculations - that's how they're being charged for tax
const calculation = await stripe.tax.calculations.create(...);
let paymentIntent;
// Update the PaymentIntent if one already exists for this cart.
if (cart.paymentIntent) {
paymentIntent = await stripe.paymentIntents.update(cart.paymentIntent, {
amount: calculation.amount_total,
metadata: {tax_calculation: calculation.id},
});
} else {
paymentIntent = await stripe.paymentIntents.create({
currency: cart.currency,
amount: calculation.amount_total,
metadata: {tax_calculation: calculation.id},
automatic_payment_methods: {enabled: true},
});
}
lets handle the ^ question first, anything that I can help clarify further about it?
Okay, what I did was: 1. create the tax transaction, 2. save its id to a PaymentIntent's meta data.
When the payment is ready to be submitted, I create the tax transaction from calculation using the same Calculation id (like shown in the guide), then submit the Payment.
Note that I didn't update the meta data again, and maybe that's why I'm asking this question lol
did you update the PaymentIntent amount?
I did not
that's another question I have. If I update the paymentIntent amount, that means Stripe fees will be calculated on top of tax, and I would need to pay a separate fees to use Stripe Tax calculator too, is this correct?
that's an interesting question which i don't know the answer to unfortunately, maybe try reaching out to Stripe Support and they'll be able to get the answer to that for you : https://support.stripe.com/contact/email
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
any other further questions about how is the customer being charged for Tax, as Stripe Tax isn't making the charging ? Otherwise, we can move on to how will the Connect account know how much tax have been collected
oh yes, how will the customer be charged?
i'm a little bit confused by this question, do you mean how you would collect the payment method and subsequently charge that?
Yes. Assuming that we don't update payment amount, the customer isn't charged for taxes through Stripe Tax right?
Yes. Assuming that we don't update payment amount, the customer isn't charged for taxes through Stripe Tax right?
yep, that's correct. If you never update the payment amount in the PaymentIntent, then the customer will never be charged for tax (assuming you don't charge them later too with a separate PaymentIntent)
you use the Payment Element to collect the payment method and charge the customer :
Yup that part I got working
I'm just worried because taxes are calculated based the where the platform is currently registered to collect taxes for, and only collecting on behalf of the Connect account.
So now we can move to the second question how will the Connect account know how much tax have been collected
what / how do you expect your Connect account to see it - are you expecting some kind of report? for them to see it in the PaymentIntent? Or....? Also, what type of connected accounts are you using - Standard / Custom / Express?
Yes, some kind of report to show up on their Connect account (because I'm not linking their Stripe account number to any tax creation/finalizing ops). Seeing it in the PaymentIntent would be perfect.
I think the test account is Standard
are you creating direct charges? if you're not sure, can you share the PaymentIntent id? I can take a look
Here's one py_1NfDG9RiEbMGNa7FBTEOHEJM
actually, based off that example payment, you have custom accounts, and that's a destination charge
a custom account has no Stripe Dashboard so you'll need to build your own Dashboard
ahh
What would be your advice if the platform (my app) is handling all the interactions with Stripe, and we need to collect taxes for our users?
advice regarding....?
To go about charging
destination charges is correct for custom accounts, what you're doing is also fine as it is
everything you're doing is correct thus far based off what you've described (except that you're not updating the PaymentIntent amount after calculating tax)
because you have to build your own Dashboard, how you display tax is also within your own control
but can you automate building the Dashboard for all Connect accounts?
you'll need to be more specific - automate that , what is that?
corrected, sorry
no worries!
Hi @vast hemlock I'm taking over
No, there's no automation available in Dashboard, but you can manage accounts through Stripe APIs https://stripe.com/docs/api/accounts#accounts
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
to be clear though, i'm not entirely sure what you mean by "automate building the Dashboard" - building the Dashboard is something you code and design on your own. It's not something Stripe can "automate" for you. We have a beta for some Connect components which you can use when building your own Dashboard (but you'll have to reach out to see if you can be included in the beta) : https://stripe.com/docs/connect/get-started-connect-embedded-components
I recently learned that the functionality to add tax registration for a Connect account through code is still in beta. Do you guys know if this is going to be available soon?
Hi @vast hemlock are you talking about https://stripe.com/docs/tax/connect ?
If so, there's a form at the bottom of the page for you to request access for this beta.
Yes, I did that but haven't heard back