Subscription to Paginated Report - pagination

I have created a paginated report and set up a subscription for excel extract to be emailed to me every day at 8 am. The subscription works for day 1 then the next day I get an error message saying that I need to update the subscription.

Related

Stripe subscription set billing date as first of each month

I'm using Stripe Checkout flow to collect the users' payment details and automatically collect the subscription. I have also implemented webhooks to listen to checkout.session.completed so that I can edit the subscription. What I want is as follows:
Say, the user registers on January 15th. I'm using metered billing, so the user pays $0.00 on the first invoice.
In webhooks, I apply a trial period of 7 days to the subscription like so stripe.subscriptions.update([id], {trial_end: [seven_days_into_future]}). So the billing anchor date on the subscription becomes the 22nd of each month.
However, I would like to set the billing anchor date as the first day of each month. So I would like the user to receive the first invoice for January 22-31 (prorated), and then get invoices for full calendar months onwards.
How do I achieve that?
I cannot set the billing_cycle_anchor to the desired date because it accepts only now and unchanged values...
If you're working with already created subscriptions, then you'll need to add trial periods to shift the billing_cycle_anchor:
https://stripe.com/docs/billing/subscriptions/billing-cycle#using-a-trial-to-change-the-billing-cycle
If you know exactly how you want to structure your trial and billing_cycle_anchor at the time the subscription is being created, then you can future-date the billing_cycle_anchor during creation:
https://stripe.com/docs/billing/subscriptions/billing-cycle#new-subscriptions

Finish a Stripe subscription at year end

I am having difficulties creating a custom subscription system using Stripe. My product has a yearly billed price.
The first time the user subscribes can be any date (let's say June 18th).
I want my subscriptions to end at 31 december of the current year, no matter the time the user subscribed.
After the sub ends, it renews automatically at 31 december for the new year (with the yearly billed price).
I tried using subscription schedules and it works fine but the user cannot cancel his plan and gets automatically chargee for the new sub cycle.
Has anyone faced a similar problem and if so, what was your solution?

Is there a way to a pull a report of upcoming charges in Stripe?

I have a Stripe account and all my customers pay me through it, I have a monthly subscription, recurring payment, everything was set up. What I need is a way to forecast or project the upcoming charges for next month based on the recurring payments or subscriptions. Stripe is not providing that report so I was wondering if there is a way to pull this data and know what to expect to get paid for the next month.
Stripe can't provide you with a report on potential income as it's impossible to know if all your subscriptions' invoices will be paid on time.
If you want to get a rough estimate you could list all your active subscriptions and tally up the monthly amount of each Price linked to those subscriptions.
You can export a CSV of all active subscriptions by going to https://dashboard.stripe.com/subscriptions. I then imported it into Google Sheets, filtered out the subscriptions that are canceling. I then filtered for subscriptions with a Current Period End of today to the end of the month. So for example: with today being June 9, I filtered for subscriptions from June 9 - June 30. What's left is my expected subscription charges for the rest of the month. "Expected" being the keyword here because any of those subscribers could cancel at any time.

Stripe Start Date

How do you set the start date for a subscription? Many of our customers began using our service a few days before we could collect their payment information so we'd like to charge them for these additional days.
This is not something that the Subscriptions API supports today. You would need to charge your customer the full amount and then put them on a trial period until their next billing date.
The flow would look like this:
Create a Customer with the card token
Create an invoice item for the plan amount
Create a subscription and set them on a trial period until their next billing date using trial_end
The last step will create an invoice for the trial, automatically pull the pending invoice item into the invoice and charge the customer for that amount. Then, they won't be charged until the date you set in trial_end and each month moving forward on that date.

Stripe - possible for zero quantity subscription

I have a subscription plan on stripe, and use this for per seat pricing.
The specific use case is:
Customer has previously paid and so has customer id and subscription id in the database
They remove all of their users one month
The next month they add a user again
I want the end date to have been updated to the end of the current month when the bill period rolls over, so that I don't display a message saying they didn't pay for previous bill period.
In the stripe subscription object, can I set the quantity for the subscription to 0, meaning the customer won't get billed?
If I do this, will the webhook for invoice.payment_succeeded still be called? This allows me to update information in the database.
Is there a different webhook I should be using for this?
Yes if you will set quantity of subscription to 0 then still a zero dollar invoice still come in payment_succeeded webhook and will update the invoice.

Resources