How to add VAT in Stripe Checkout? - stripe-payments

I'm using Stripe Checkout to create a subscription in Stripe Billing. Checkout also auto creates the Stripe customer object.
How can I add right right VAT rate based on where the customer is based? The customer should be able to see the price both including and excluding VAT/GST both in the checkout session itself and on the invoice.
The "create subscription" API call allows you to set the field "default_tax_rates" which sounds like what I need, but the problem is that with Stripe Checkout the subscription (and the customer object) are created automatically by Stripe Checkout so I cannot explicitly pass parameters to these creation calls.
I know how to calculate the VAT rate and I don't want to integrate with another third party vendor just for tax, so I'm not looking for something like Quaderno or Taxamo.
How do people solve this problem? I'm starting to think that maybe I should have integrated with Chargebee instead of Stripe :-(

I'm having that same issue.
Stripe support informed me that Checkout does not support the legacy tax percentage or the new Tax Rates object.
Checkout charges only the exact amount.
On recommendation from stripe I will calculate the tax and charge that as a separate line item.
That way the correct amount is charged and the VAT is clearly visible to the customer.
I'm also creating subscriptions and there I will show the amount incl. VAT. and post fix the plan name with 'incl. VAT' to make it clear to the customer.
After the checkout flow completes I will try to add the Tax Rate to the invoice and subscription as 'Inclusive' using the API. I'm not sure that will work as I think, but we will see.

Check this out https://stripe.com/docs/payments/checkout/taxes
Seems like you're right about the Stripe checkout. Can't be added there.
Adding VAT as Inclusive won't help you, because Inclusive means it's already calculated into the price. Although this can be used to add the VAT to the price (in most cases it's 20%) and set the VAT as Inclusive. But this hack won't work for everybody, though.

I found this to be helpful and it works with Checkout.
https://dominik.sumer.dev/blog/stripe-checkout-eu-vat
You collect the Country and VAT number before creating the customer and checkout, and you add dynamic tax rates prepared via the API in advance.

Related

Stripe: How to hold a place the payment for A range of price

I wonder to find a solution for payment using Stripe. My clients create an event and we split the bill all members who joins the event. Let's say a football game $100 / 10 players, we hold a place until cancellation term is expired, or the game is canceled. What I am looking for solution and if it is possible to make, for the same event, instead of 10 players, 15 joined or 5 only, which means the bill from each varies from $6.60 to $20. I want these players to see that range of the pricing from $6.60 to $20 and book their spot and agree that when event occurs, they will be charged anything between. I remember that was the same solution with Uber at the beginning. Can anyone share any ideas if it is still possible to create this way, maybe they are new legislation and we need to show the total amount. Thank you for any suggestions.
You can use Stripe to save payment info and then charge your customers later:
The Setup Intents API lets you save a customer’s card without an initial payment. This is helpful if you want to onboard customers now, set them up for payments, and charge them in the future—when they’re offline.
You may also be interested in placing a hold on a card and capturing funds later, assuming the time limits work for your use case.

Stripe - Max Quantity Subscription

To clarify, this is a question for Stripe (an online payment processing app) API.
I want to limit the max quantity of a product depending on the subscription. So, lets say I have sub_id_1 and sub_id_2. I want to limit sub_id_1 product quantity to have a maximum purchase of 3 items, while sub_id_2 to have a maximum purchase of 1 item.
I do not have any code to show since it is just a API problem, but from what I get from the docs, it is possible to alter the quantity of the product in a subscription. However, I am not sure if it is possible to limit the quantity instead.
I would appreciate any kind of answers, feedbacks, or suggestions!
There is not a way to do this with Stripe's API, so you'd have to handle enforcing this limitation within your application.

Odoo12-Accounting Payment

I have an invoice with 500USD after that I have the journal entry with 500USD. While I'm doing payment I can add the amount to 800USD so on odoo it will give an option to keep open or Mark As fully paid. So I'm choosing the keep open option So as per this case odoo has to keep the invoice in an open state with 300USD remaining amount but why it should change the state to pay with the same invoice amount?
So anyone can suggest the functional thing with this case?
Yes you're right this is the default functionality of the Odoo and it is extremely cool thing in Odoo because Odoo is managing outstanding payments of our customer very effectively.
Important Point
If there is an invoice of 500USD and I registered 800USD yes it is
right thing to close the invoice 500USD because customer has paid it.
But what about the remaining 300USD. Odoo has cool feature to manage
outstanding payments. Here you can see in attached image.
I've an invoice of 125USD and I registered 200USD (200-125=65USD) then see how Odoo manage it for my important customer.

Stripe Invoice Line Item Description incorrect

I am currently working on a project that is using stripe for subscription payments.
The PRO plan has been setup on Stripe at €80,00 per month.
When the invoice appears the description on the invoice's line item is :
1x PRO (# €0,80)
I expect that it would read something like this "1x PRO (# €80,00)"
When I checked the object that has been returned from Stripe then it appears incorrectly there too.
When I checked on the stripe dashboard it looks fine..
Any idea why this is happening and what can be done to ensure that the description on the invoice line item appears properly ?
Kind regards,
Fergal.
Stripe somehow supports zero decimal currency. read the link for more reference.
You have to create a subscription by multiplying your amount by 100 as amount need to be passed in the smallest unit of currency.
All API requests expect amounts to be provided in a currency’s
smallest unit. For example, to charge $10 USD, provide an amount value
of 1000 (i.e, 1000 cents).
The issue has simply disappeared.
Perhaps the original invoice was not correctly configured.
Thanks for the feedback.

Stripe paid trial period?

How can I set a subscription plan to a certain price? I want to offer trial periods, but I don't want them to be 100% free. I want to charge say, $1 so they feel they are making a financial commitment. Free sets a bad expectation. From what it looks like, I have only the option of free. How can this be changed?
You'd still need to use a free trial period here but you'd just add a "setup fee" when you create the subscription. The easiest would be to create an invoice item just before:
https://stripe.com/docs/api#create_invoiceitem
Then create the subscription immediately after. It would automatically grab the pending invoice item and try to charge it.
Another method would be to use a one-off charge instead of the invoice item here.

Resources